Apresento-lhes o WILDFIRE: um excelente servidor baseado no protocolo Jabber que lhes fornecerá a solução definitiva para comunicação instantânea na sua rede. Os recursos ficarão ainda melhores quando integrado ao Active Directory e gerenciado pelo conceituado PostgreSQL.
Kerberos é um conhecido protocolo de autenticação de rede. Atualmente as duas implementações mais difundidas são a MIT Kerberos e a Heimdal. Neste documento instalaremos a primeira que foi citada.
Depois de descarregar o arquivo em sua estação, descompacte-o com:
# tar zxvf krb5-1.4.3.tar.gz
Acesse o diretório contendo os fontes do Kerberos, digitando:
# cd krb5-1.4.3/src
Para instalar os programas você deverá executar os procedimentos descritos no artigo utilizando a conta de usuário root. Vamos então gerar o Makefile, compilar, e instalar. Execute esta seqüencia de comandos:
# ./configure --prefix=/usr --enable-dns-for-realm --enable-thread-support
# make
# checkinstall
Chegou a hora de configurá-lo. Utilizando o seu editor de texto predileto, crie o arquivo /etc/krb5.conf e edite-o, adequando às suas necessidades. Dê uma olhada no arquivo utilizando para a configuração do ambiente descrito neste artigo:
IMPORTANTE: Observe que o realm foi especificado com caracteres em maiúsculo. Este é um requisito do krb5. Caso você se esqueça e coloque em minúsculo ocorrerá um erro (que será visto mais adiante).
Vamos testar a autenticação via Kerberos, utilizando o usuário Administrator. Digite:
# kinit Administrator
Observe que o sistema já acrescentará as informações de domínio no momento em que lhe solicita que a senha seja digitada:
Password for Administrator@PLAYBOY.COM.BR:
Este teste pode ser feito com qualquer usuário do domínio, não necessariamente com o usuário Administrator. Como citado anteriormente, se o realm for informado em minúsculo no krb5.conf (playboy.com.br ao invés de PLAYBOY.COM.BR), ao ser informada a senha, o sistema retornará o seguinte erro:
kinit(v5): KDC reply did not match expectations while getting initial credentials
Durante a configuração do meu ambiente original me deparei com um problema relativamente pequeno, mas relevante: sincronismo entre as máquinas. Por padrão o Kerberos exige que haja no máximo 5 minutos de diferença entre o relógio da estação e o do servidor. Observe o parâmetro "clockskew = 300" no arquivo krb5.conf. Ele está justamente definindo o valor de 300 segundos como sendo o limite de diferença de horário entre os computadores. No momento da tentativa de autenticação, caso a diferença entre o horário das máquinas ultrapasse o estabelecido pela política do Kerberos, a mesma irá falhar, retornando o seguinte erro:
kinit(v5): Clock skew too great while getting initial credentials
Se for esse o caso, verifique as configurações de região, fuso-horário e ajustes do horário de verão.
Sugiro inclusive, na primeira vez que for tentar autenticar um usuário (utilizando kinit), informe uma senha inválida, objetivando receber a seguinte mensagem de erro:
kinit(v5): Preauthentication failed while getting initial credentials
Esta mensagem é um bom sinal, desde que tenha sido informada, propositalmente, uma senha inválida, pois indica que houve uma tentativa de autenticar o usuário mas as senhas não coincidiram. Tente novamente, agora com a senha correta: as chances de funcionar são imensas.
Em suma, o resultado de uma tentativa bem sucedida de autenticação pelo Kerberos é exatamente NADA. Isso mesmo: se ao executar o kinit (e informar a senha), o mesmo não lhe exibir nenhuma mensagem, comemore, pois até o presente momento você está indo bem, e o que se diz respeito à configuração do protocolo de autenticação está feito.
[5] Comentário enviado por marcelogpl em 27/08/2006 - 11:07h
Cara,
seu artigo está um verdadeiro Guia de Instalação.
São estas colaborações que fazem a área de T.I. forte e crescente, surgindo a mais e mais colaboradores.
[9] Comentário enviado por rbnamerico em 29/08/2006 - 11:34h
Kleber, show de bola teu artigo! muito bom mesmo, ótima linguagem! Mas eu fiquei com uma dúvida: há algum meio de fazer auditoria no que foi enviado pelos usuários? Fica algum tipo de histórico no servidor? Fui, valeu!
[10] Comentário enviado por fabiolourenco em 29/08/2006 - 13:46h
Nossa nunca vi um artigo tão bem feito e detalhado como esse, nota dez mesmo, esta tão bem explicado que nem se quer teve como existir aqueles típicos problemas que as pessoas sempre tem, compilar ou não encontrou algum arquivo e etc.
[11] Comentário enviado por leandrov em 31/08/2006 - 08:48h
Bem feito, recomendo também para os usuários de LDAP usem também o GOSA, eu sei parece um nome estranho ... mas é um programa para gerenciar usuários que roda em cima do LDAP muito bom.
Thanx
[12] Comentário enviado por Renatim em 12/10/2006 - 16:29h
eu gostaria de saber se tem como eu configurar grupos de usuarios no jabber,,, tipo,,, autenticando no Active Directory, ai quero que só os usuarios que tem são do grupo j.TI se encherguem, e os do j.financeiro so encherguem quem é do j.financeiro e quem é do j.administrativo so enchergue quem é do j.administrativo, isto tudo são grupos no Active directory que coloco pra pessoa, gostaria de saber se tem como fazer isso.
[13] Comentário enviado por silvio_soft em 30/11/2006 - 15:12h
Eu não consigo incluir usuários nos grupos! O grupos e usários estão listados, eu consigo me conectar e conversar com os contatos, mas os grupos possuem membros 0 e não consigo incluir também, o que devo fazer?
[14] Comentário enviado por malungo em 12/12/2006 - 18:12h
Excelente tutorial Kléber....agora esbarrei em um probleminha aqui...ao terminar as configurações e restartar o wildfire, recebo a seguinte mensagem: nohup: appending output to `nohup.out' ....vc se deparou com esta mensagem????
[15] Comentário enviado por fbione em 16/01/2007 - 18:06h
Caro colega, parabéns pelo tutorial, mas gostaria de tirar uma duvida, na minha organização o login padrão para acesso a rede é a matricula do funcionario, esse é o grando problema, como faço quando eu adicionar um usuario exiba o "display nome" nome completo do usuario cadastrado no AD e não o login que é a matricula.
Fabrício.
[16] Comentário enviado por fbione em 16/01/2007 - 18:13h
Uma outra dúvida é um grande furo de segurança, pois fiz a instalação com administrador de dominio, então quando editei o arquivo Wildfire.xml tava lá exibindo o usuario e a senha do usuario de dominio, caso alguem ter acesso a esse servidor, tará conhecimento esse senha importantissima. Você tem algo relativo a isso?
Obrigado. Fabrício
[17] Comentário enviado por ponciocosta em 26/01/2007 - 17:00h
Estou tendo problemas com a integração do ldap ao wildfire, fiz todas as configurações que estão descritas no site e mesmo assim o wildfire nao loga, o que ode ser????
[18] Comentário enviado por rogeriosap em 11/04/2007 - 14:16h
Muito bom este artigo, mas me deparei com um problema que não foi abordado neste artigo que é a instalação do java virtual machine e pode ser isso que esta dando estes erros.
[22] Comentário enviado por tiagotavares em 17/08/2007 - 22:31h
kl3b3r, meus parabéns pelo artigo, isso foi mais mais que uma receita de bolo, é praticamente um guia definitivo para qualquer implantação do Wildfire/Openfire.
Eu apenas tive um problema, não sei exatamamente se foi por causa de algum bug do Openfire ou se foi algo com o sistema operacional (CentOS), mas simplesmente eu tentei implantar direto integrado ao AD, e na hora de adicionar os administrador e finalizar a instalação, não funcionava! Quase fiquei louco! ele parecia reconhecer os usuários do AD mas não adicionava e nem me permitia continuar e finalizar a instalação.
Depois de tanto quebrar a cabeça e xingar usuários que não me deixavam em paz para desenvolver uma solução, só consegui meu objetivo fazendo uma instação sem integração ao AD, aí depois recomecei uma nova instalação com integração, aí sim FUNCIONOU!
Aconteceu o mesmo com alguém ae?
[26] Comentário enviado por saulo_junior em 04/12/2007 - 13:57h
o Artigo e mto bom mesmo. aqui na empresa ja usamos o Open
fire com o cliente Spark, porem estou deparando com um problema nos meus testes com o cliente neo, que e muito mais leve que o spark(o Grande problema do spark, consume mtos recursos da mkna)
mas no neo nao estou conseguindo mandar mensagens em massa para todos os usuarios de todos os grupos, so consigo para um grupo de cada vez. existe algum caminho para isso.
a versao que uso e a 1.2.1(u)
[27] Comentário enviado por kalib em 30/01/2008 - 18:46h
Beleza...amigo muito show seu artigo..mto bom mesmo..parabéns..
Apenas tenho uma dúvida..
O Wildfire permite fazer auditoria destas conversas, correto?!
Como faço para ler esses logs que foram auditados?? o.O
parabéns pelo artigo e obrigado pela excelente contribuição
[28] Comentário enviado por tecnet em 03/04/2008 - 19:59h
Kleber,
Bom artigo, mais ainda tenho uma duvida, ahi vai:
01 - Como faco auditoria com WildFire, se o usuario usa Spark ou Neos?
02 - Como faco para ver os logs das mensagens?
[29] Comentário enviado por edupopov em 18/08/2008 - 21:12h
Olha, realmente... você salvou meu dia... eu estava realmente tentando identificar exatamente a maneira mais apropriada de poder colocar minha rede em comunicação economizando a largura de banda em uma esfera global.