abordagem e implantação do protocolo xmpp

Transcrição

abordagem e implantação do protocolo xmpp
ABORDAGEM E IMPLANTAÇÃO DO PROTOCOLO XMPP
Nilson Mori
Douglas Pires Ineia
2009
Unipar
2
ABORDAGEM E IMPLANTAÇÃO DO PROTOCOLO XMPP
Nilson Mori**
Douglas Pires Ineia*
Resumo
A utilização de comunicadores de mensagens instantâneas em redes
corporativas tem ganhado respaldo e gerado interesse pelas classes administrativas
de várias empresas, porém a falta de controle sobre as redes sociais que se utilizam
de protocolos proprietários como o MSN, ICQ ou Yahoo, para conversas particulares
desviando a atenção dos funcionários e atrapalhando o desempenhar de suas
funções acabam denegrindo a imagem deste tipo de comunicação e criando um
descontentamento por parte destas classes. Este artigo tem como foco a
apresentação, implementação e utilização do Protocolo XMPP, muito difundido entre
as comunidades pró software livre como uma solução corporativa para substituição
dos comuns meios de telecomunicações focando a integração de matriz-filial.
Palavras-chave: Servidor, Jabber,XMPP, Comunicador Instantâneo.
**Diretor da Coordenadoria de Tecnologia da Informação – Prefeitura de Guaíra
Tecnólogo em Informática
UNIPAR Universidade Paranaense Campus Guaíra
Técnico em Informática
Colegio Estadual Mendes Gonçalves
E-mail: [email protected]
*Auxiliar de Informática - UNIPAR Universidade Paranaense Campus Guaíra
*Técnico em Informática - F1 Informática
Tecnólogo em Informática
UNIPAR Universidade Paranaense Campus Guaíra
E-mail:[email protected]
3
INTRODUÇÃO
Através de aplicativos de mensagens instantâneas podemos gerenciar uma
lista de pessoas com as quais pretendemos manter em contato através do
intercâmbio de mensagens instantâneas. Além da conversa em tempo real existem
benefícios, tais como: chat rooms, transferência de arquivo, shared whiteboard para
a visualização de desenhos feitos por um interlocutor, conexão simultânea com
dispositivos de prioridades diferentes (a partir do celular e do computador dando
preferência a um para a recepção de mensagens).
Jabber / XMPP que é um conjunto de protocolos e tecnologias que permitem
o desenvolvimento de sistemas distribuídos de mensagens. Este protocolo é público,
aberto, flexível, extensível, distribuído e seguro, tão confiável que é utilizado pela
Google, seu serviço de mensagens o Google Talk.
4
História dos Comunicadores Instantâneos
Os comunicadores instantâneos (Instant Messages) são mais antigos que a
própria internet, pois os mesmos tiveram início em meados dos anos 60.
Inicialmente utilizados para envio de mensagens de impressão, logo tiveram um
grande salto na utilização para a comunicação entre usuários de um mesmo
computador (utilização entre usuários de terminais de Mainframe).
Com o desenvolvimento das redes de computadores os protocolos utilizados
por Comunicadores Instantâneos começaram a evoluírem, alguns ainda eram pontoa-ponto e alguns já se apresentavam com implementações de servidores para
disponibilização do serviço.
Curiosamente o primeiro software de comunicação instantânea não foi nem o
tão conhecido MSN Messenger ou o Lendário ICQ, mas sim um software chamado
PowWow (termo utilizado na América do Norte para reunião dos povos nativos,
evento de onde indígenas e não indígenas se reúnem para celebrar a cultura dos
povos indígenas norte-americanos) desenvolvido pela Tribal Voice empresa do
milionário John McAfee. O PowWow, foi o primeiro software com interface gráfica
pra Windows, além de implementar características encontradas nos comunicadores
contemporâneos o mesmo já trazia ideias inovadoras tais como comunicação de voz
entre os usuários, sintetizador de voz, transmissão de mensagens offline, etc.
Em 17 de novembro de 1996 quatro jovens israelenses, donos de uma
empresa chamada Mirabilis conceberam o ICQ, alterando para sempre a maneira de
se comunicar pela internet. Uma febre virtual foi à utilização deste que fora o mais
simpático dos comunicadores de tempo real de todos os tempos. Então em 22 de
Julho de 1999, a gigante Microsoft Corporation entra em cena apresentando o MSN
Messenger
atualmente
Windows
Live
Messenger,
que
obtivera
uma
quantidade
estratosférica de usuários. Tal sucesso teve como base a integração com o serviço de email
Hotmail, onde o usuário passou automaticamente a ter uma conta de MSN apartir do
momento que possui uma conta de email e aqueles que não possuem conta no hotmail
podem criar um Passaport.net passando a fazer parte da rede.
5
Em 1998 Jeremie Miller inicia o projeto Jabber que passa a ser público em
Maio de 2000, este projeto possibilita a criação de uma rede privada utilizando o
protocolo XMPP, o grande foco do projeto foi à criação de uma alternativa aos
protocolos fechados predominantes no mercado naquela época (ICQ e MSN). Um
conceito interessante apresentado neste projeto é a conceito de gateways que
permite que os usuários possam entrar nesta rede utilizando outros protocolos.
Finalmente em 24 de agosto de 2005 a Google apresenta o Google Talk,
comunicador baseado no protocolo XMPP trazendo uma popularização para o
protocolo.
Utilização de mensagens instantâneas em âmbito corporativo
Como uma grande parte dos usuários de computadores por todo o mundo
passaram a utilizar softwares de comunicação instantânea, as empresas viram uma
oportunidade de economia para os gastos com telecomunicações tanto com clientes,
como entre matriz e filiais.
Um estudo publicado em 2008 no Journal of Computer Mediated
Communication por Garrett Danziger aponta que as pessoas que usam mensagens
instantâneas no trabalho relataram menos interrupção do que os colegas que não a
fazem. A pesquisa mostrou que as mensagens instantâneas são usadas como um
substituto para outras formas mais perturbadoras de comunicação como o telefone e
conversas pessoais. Descobriu-se que as conversas são mais curtas ao usar
mensagens instantâneas do que com as outras formas de comunicação. Devido à
sua configuração original, estes softwares permitem aos usuários controlar como e
quando se comunicam com seus colegas de trabalho dando às pessoas a
capacidade para sinalizar a sua disponibilidade ou adiar as respostas para um
momento mais conveniente.
Apesar de inúmeras vantagens apresentadas pela utilização de Mensageiros
Instantâneos nas organizações empresariais, este recurso apresenta também uma
gama de riscos que podem ser apontados em ordem de importância.
6
Segurança:
Estes mecanismos têm servido a crackes como meio de distribuição de
códigos maliciosos em técnicas de phishing (uma forma de fraude eletrônica,
caracterizada por tentativas de adquirir informações sigilosas, tais como senhas e
números de cartão de crédito, ao se fazer passar como uma pessoa confiável ou
uma empresa enviando uma comunicação eletrônica oficial. Na prática do Phishing
surgem artimanhas cada vez mais sofisticadas para "pescar" (do inglês fish) as
informações sigilosas dos usuários.)
Uso Inadequado:
Sua natureza informal, imediata e ostensivamente anônima de mensagens
instantâneas torna-se uma ferramenta para diversos tipos de abusos no trabalho. O
tema do uso inadequado deste mecanismo tornou-se notícia de destaque em
outubro de 2006, quando o congressista Mark Adam Foley renunciou a sua cadeira
após admitir o envio de mensagens instantâneas de natureza sexualmente ofensiva
para menores de idade de seu microcomputador do escritório do Congresso norteamericano.
O escândalo Mark Foley serviu para alertar os riscos da utilização de
mensageiros instantâneos de forma inadequada nos locais de trabalho. Na maioria
dos países, as corporações têm uma responsabilidade legal de inibir o assédio no
ambiente de trabalho. O uso de computadores de propriedade da empresa, redes
e/ou softwares para assediar, denegrir ou propagar linguagem inadequada, cria uma
responsabilidade não só do ofensor, mas também do empregador.
Uma pesquisa feita em março de 2007 pelo provedor de segurança Akonix
Systems Inc., mostrou que 31% destes casos tinham sido realizados através de
mensagens instantâneas. Companhias agora incluem mensagens instantâneas
como parte integrante de suas políticas sobre o uso adequado de computadores,
internet, e-mail e outros ativos corporativos.
7
Roubo de Informações
Além dos problemas supra apontados existe ainda a possibilidade dos
utilizadores de Comunicadores Instantâneos vazarem informações confidenciais e
estratégicas de suas empresas, devido uma série de motivos que vão desde
insatisfação salarial até mau-caráter do próprio usuário. Este motivo gerou uma
corrida no desenvolvimento de aplicativos para controle, armazenamento e
monitoramento as Mensagens trafegantes em redes corporativas. Que mantém tal
nicho de mercado sempre aquecido, pois qualquer diretoria de uma empresa de
médio porte está preocupada com as informações que seus funcionários permutam
através deste mecanismo de comunicação.
8
O protocolo XMPP
O protocolo XMPP (Extensible Messaging and Presence Protocol), também
conhecido como Jabber é um protocolo aberto, extensível, baseado em XML, para
sistemas de mensagens instantâneas, desenvolvido originalmente por solicitação do
IETF (Internet Engineering Task Force, uma comunidade internacional de técnicos,
agências, fabricantes, fornecedores, e pesquisadores, preocupados com a evolução
da arquitetura da Internet e seu perfeito funcionamento, descrita pela RFC 3160).
Jeremie Miller iniciou o projeto Jabber em 1998. O produto principal do projeto é o
jabberd, um servidor em que os clientes XMPP se conectam para intercomunicar-se.
Este serviço pode ser usado tanto em uma rede privada, como também juntar-se à
rede XMPP global.
O XMPP (RFC3920) surgiu como alternativa aos protocolos fechados de
comunicação predominantemente utilizados em aplicações com ICQ e MSN
Messenger. Por ser um protocolo que se baseia em Licença GNU GPL (Licença
idealizada por Richard Stallman no final da década de 1980. A GPL é a licença com
maior utilização por parte de projetos de software livre, em grande parte devido à
sua adoção para o projeto GNU e o sistema operacional GNU/Linux), sua utilização
pode ser feita sem a necessidade de permissões especiais ou pagamento de
royalties.
Um conceito chave do sistema XMPP são os transportes, também conhecido
como gateways, que permite aos utilizadores acederem a redes usando outros
protocolos - tais como o AIM, o ICQ, MSN Messenger, etc. Ao contrário dos clientes
de multiprotocolo, como o Trillian ou Pidgin, XMPP fornece este acesso no nível de
servidor comunicando via serviços especiais de gateway em um computador remoto.
Qualquer utilizador XMPP pode se registrar com um destes gateways fornecendo a
informação necessária para aceder a essa rede, e pode então comunicar-se com os
utilizadores dessa rede como se fossem utilizadores de XMPP. Isto significa que
qualquer cliente que suportar inteiramente o protocolo XMPP pode ser usado para
aceder a qualquer rede em que exista um gateway, sem necessitar de código extra
no cliente.
9
Usuários podem escolher a aplicação que mais lhe convém desde que ela
compreenda o protocolo. Existem diversas aplicações que usam XMPP como Pidgin,
Miranda, Kopete, Adium, etc.
Em agosto de 2005, a empresa Google lançou o Google Talk, baseado em
XMPP, o que ajudou a popularizar o protocolo, em função da grande quantidade de
usuários deste produto. Mais tarde o protocolo continuou sendo usado nos outros
serviços de comunicação da empresa, mais precisamente, os serviços de
comunicação instantânea embutidos no Gmail e Orkut.
O protocolo XMPP tende a ganhar grande respaldo, pois as aplicações web
de tempo real para comunicação de Help Desk passaram por um aumento de
demanda, juntamente com o amadurecimento do protocolo BOSH (Streams
Bidirecionais Sobre HTTP Síncrono), acoplado com o ressurgimento de bibliotecas
Javascript. O que levará as empresas de médio porte a oferecer serviços, suporte e
consultoria através destes mecanismos embarcados em seus portais.
10
Configurando um servidor Jabber / XMPP com eBox
eBox Platform é um servidor de rede unificada que proporciona uma
administração simples e eficiente de redes de computadores para pequenas e
médias empresas. Esta plataforma auxilia no gerenciamento da infra-estrutura de
rede, como gateway de Internet, servidor de arquivos, servidor comunicações com
jabber/XMPP dentre outras funcionabilidades. Todas suas características são
integradas, automatizando as tarefas, evitando erros e economizando tempo do
administrador dos sistemas. Todos esses serviços de redes são gerenciados através
de uma interface web precisa e intuitiva, desenvolvido modularmente o eBox
Plataform pode ser utilizado apenas para os serviços necessários de situação onde
será implantado. Também é publicado sob uma licença de software livre (GPL), o
que garante a autonomia do usuário sem necessidade de pagamento de royalties
e/ou mensalidades para seu uso. Suas principais características destacam-se em
administração unificada e eficiente de serviços, automatização de tarefas e
integração de serviços.
Instalação
O Ebox plataform foi projetado para ser instalado em um computador real ou
virtualizado (EX: VMware, xen, virtualbox etc.), isso não impede que sejam instalado
a outros serviços não gerenciados através da interface web.
Ele funciona sob o sistema operacional GNU/Linux Ubuntu 8.04 Server Edtion
LTS (Long Term Support). A instalação pode ser feita de duas maneiras, adicionado
em uma instalação pré existente do Ubuntu 8.04 Server, ou através de um cd de
instalação que pode ser obtido diretamente no site do projeto.
Iremos apresentar a instalação através do cd de instalação, conforme segue.
11
EBox Platform Installer
EBox Platform Installer é baseado no instalador do Ubuntu, o processo de
instalação é muito familiar para quem está acostumado.
Tela de inicialização Installer
Depois de instalar o sistema base e reiniciar, começará a instalação da
plataforma eBox. Existem dois métodos para selecionar características do sistema.
Seleção do método de instalação
Simples:
Instala um conjunto de pacotes que reúnem uma grande variedade de
recursos, dependendo da tarefa que está a usar o servidor.
Avançado:
12
Os pacotes serão selecionados individualmente. Se um pacote depende de
outra unidade, será selecionado automaticamente.
Se a escolha é simples, a lista de perfis estará disponível.
Seleção de perfil
Gateway eBox:
E a porta de entrada para a rede local, oferecendo acesso à Internet segura e
controlada.
eBox Unified Threat Manager:
Protege a rede local de ataques externos, invasões, ameaças à segurança
interna e permite a interconexão entre redes locais seguras através da Internet ou de
rede externo.
Infra-estrutura eBox:
Administra a infra-estrutura de rede local com serviços básicos: DHCP, DNS,
NTP, HTTP, etc.
Office eBox:
E um servidor de recursos de compartilhamento para rede local: arquivos,
impressoras, calendários e contatos, autenticação e perfis de usuários e grupos, etc.
eBox Unified Communications:
Torna-se o centro de comunicações da sua organização, incluindo correio
eletrônico, mensagens instantâneas e voz sobre IP.
Podemos selecionar perfis e combinar suas funcionalidades. Além disso, a
escolha não é definitiva e você pode
necessário.
instalar e desinstalar pacotes quando
13
Módulo de seleção
Após selecionar os componentes a instalar, começa a instalação que mostra
sua situação com uma barra de progresso:
Instalação da plataforma eBox
Após a instalação, ele pede a senha para acessar a interface de
administração web da plataforma eBox:
Você precisa confirmar a senha.
14
O instalador tratará de pré-configurar alguns parâmetros importantes dentro
da configuração, primeiro, se uma das interfaces de rede está fora da rede local, ou
seja, se você for usar para se conectar a Internet. Serão Aplicadas as políticas
estritas para todo o tráfego através das interfaces de rede externa. Pode não haver
interface externa, dependendo da função de servidor.
Selecionando a interface de rede externa
Em segundo lugar, se módulo de e-mail for instalado, será solicitado para
configurar domínio virtual, por padrão como sistema principal.
15
Domínio virtual de e-mail primário
Depois de respondidas estas questões, haverá a pré-definição de cada um
dos módulos instalados pronto para uso a partir da interface web.
Progresso da configuração
Quando esse processo for concluído, uma mensagem informando como se
conectar a interface web da plataforma eBox.
16
Instalação concluída
O processo de instalação está completo e o eBox Platform System Console
aparecerá onde você pode autenticar com o usuário criado durante a instalação do
Ubuntu. A senha para plataforma eBox é exclusivo para a interface web e não tem
nada a ver com o usuário administrador desta máquina.
17
A interface web de administração
Depois de instalado eBox Platform, acessamos a interface de administração
web
através
de
um
navegador
qualquer
no
seguinte
endereço
https://ENDEREÇOIPDOSERVIDOR/EBox/
A primeira tela que aparece é para digitar a senha do usuário eBox:
Depois de autenticar, aparece a interface de administração, que é divida em três
partes fundamentais.
Tela Principal
Lado Esquerdo Menu:
18
Contém links para todos os serviços que podem ser configuradas usando
plataforma eBox, separados por categoria. Quando um serviço é selecionado neste
menu você poderá ver um menu para configurar questões específicas desse serviço.
Menu Topo:
Contém as ações para salvar as alterações no conteúdo e torná-los eficazes e
também logout.
Ativação Do Modulo Jabber
Primeiro, precisamos ativar o módulo. Para fazer isso vá para o módulo menu
modulo stats e marque a caixa de Jabber. Se não tiver habilitado o modulo usuários
e grupos, deve ser ativado anteriormente, porque o jabber depende dele.
19
Configurações Gerais do Serviço Jabber
A configuração geral do servidor é acessado através do menu de serviço
Jabber, uma vez que só precisamos configurar os seguintes parâmetros:
Nome do domínio:
Especifica o nome do servidor, isto fará com que as contas de utilizador são
da forma usuário @ domínio, onde nome de domínio qualquer nome de domínio que
nós determinamos.
Conectar a outros servidores:
Temos que marcar esta caixa se quer que os nossos clientes possam entrar
em contato com usuários de outros servidores externos. Se em vez disso, queremos
um servidor privado, apenas para a nossa rede interna, deve deixar desmarcada.
Habilitar MUC (Multi User Chat):
Habilita salas de conferências, para que existem salas onde há mais de dois
usuários. Dando possibilidade de convites, moderação e administração do espaço,
tipos de salas especializadas, entrada com senha, etc. Estas salas podem ser
criadas em caráter permanente ou temporário no servidor.
Suporte SSL:
Especifica se a comunicação com o servidor será criptografada. Nós podemos
desligá-lo, tornando-se uma exigência ou deixá-lo como opcional. Se deixá-lo como
opcional é na configuração do cliente onde você especifica se você quer usar SSL.
Para registrar os usuários no serviço Jabber / XMPP faremos diretamente na
página de edição das propriedades do usuário. Simplesmente temos que ir para o
menu usuários , e adicionar o usuário e criar uma nova conta de utilizador no
servidor Jabber, ou editar o usuário se você quiser ativar conta Jabber para alguns
dos usuários existentes.
20
Configurando uma conta de usuário no Jabber
Na figura acima, vemos uma seção chamada conta Jabber, onde podemos
selecionar se a conta esta ativada ou desativada. Também podemos especificar se o
usuário em questão deve ter privilégios de administrador no servidor Jabber
marcando a caixa. Privilégio de administrador pode ver os usuários conectados ao
servidor, enviar mensagens, configurar a mensagem exibida quando conectar
(MOTD, Message Of The Day) e enviar um aviso a todos os usuários (broadcast).
Conectando-se a um servidor Jabber/XMPP
Utilizaremos como cliente de conexão o pidgin, que é um cliente
multiprotocolo para gerenciar várias contas de uma vez. Além do Jabber / XMPP ele
suporta a muitos outros protocolos como IRC, MSN, Yahoo, e outros. Ao iniciar o
pidgin, se nós não temos nenhuma conta criada, vamos ver a janela de
gerenciamento de conta, como mostrado na foto.
21
A partir desta janela você pode adicionar contas, como modificar e apagar
contas existentes. Ao clicar no botão Adicionar janela de configuração aparece na
conta, que é dividido em dois guias de configuração básica e avançado.
Para a configuração básica do nosso próprio Jabber / XMPP, devemos
primeiro selecionar o protocolo XMPP. O nome de usuário e senha devem
corresponder aos dados de qualquer um dos usuários que ativou a conta Jabber a
partir da interface eBox. O domínio deve ser o mesmo que temos selecionado na
configuração do serviço Jabber no eBox. No campo Data colocamos o nome que
queremos mostrar os nossos contactos.
Na guia Avançado no campo Connect to Server, colocamos o domínio ou IP
do servidor. Se também definir o serviço para exigir SSL Jabber, devemos marcar as
caixas Requer SSL / TLS e Forçar SSL Legado, e alterar a porta de conexão para
5223.
Aqui está uma imagem da tela de conversação:
22
Aqui uma tela com lista de contatos:
.
23
Conclusão:
Através
deste
artigo
apresentamos
de
forma
prática
e
rápida
a
implantação de um servidor XMPP e um breve histórico da comunicação
instantânea.
o
proprietários
vigentes,
livre
devido
Protocolo
sua
desenvolvedores
e
XMPP
possuindo
é
uma
participação
uma
uma
alternativa
robustez
colaborativa
instalação
e
digna
da
configuração
aos
de
protocolos
um
software
comunidade
simples,
objetiva
de
e
segura, levada a prova todos os dias por milhares de utilizadores pelo
mundo
todo,
sendo
através
da
acesso que embarcaram esta solução.
rede
jabber
pública
ou
provedores
de
24
Bibliografia:
http://communication.howstuffworks.com/instant-messaging1.htm
http://en.wikipedia.org/wiki/Instant_messaging
http://en.wikipedia.org/wiki/PowWow_%28chat_program%29
http://pt.wikipedia.org/wiki/Pow-wow
http://pt.wikipedia.org/wiki/Msn_messenger
http://pt.wikipedia.org/wiki/Icq
http://pt.wikipedia.org/wiki/Xmpp
http://pt.wikipedia.org/wiki/Google_talk
http://pt.wikipedia.org/wiki/Phishing
http://pt.wikipedia.org/wiki/GNU_General_Public_License
http://pt.wikipedia.org/wiki/IETF
http://www.ietf.org/rfc/rfc3920.txt
http://www.rubyinside.com.br/porque-xmpp-vai-ser-importante-muito-em-breve-343
http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_protocols
http://en.wikipedia.org/wiki/Mark_Foley
http://ebox-platform.com/

Documentos relacionados

Artigo

Artigo Trabalho Prático nº 1 (Protocolo XMPP) / Comunicações de Dados os padrões mínimos de segurança, quer ao nível da transmissão de mensagens instantâneas, como também ao nível da validação de cliente...

Leia mais