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/