Openfire integrado em uma floresta Active Directory

Integrar o Openfire ao AD é relativamente fácil. Se eu tivesse apenas 1 domínio eu estaria plenamente satisfeito, mas como fazer com que os usuários de todos os domínios da floresta se loguem em um único servidor e se enxerguem em uma única interface?

[ Hits: 37.195 ]

Por: Celso S. Faria em 11/06/2010


Introdução e cenário



Escrevo este artigo pensando nas centenas de profissionais que já estiveram na mesma situação em que estive e levo o enredo como um bate-papo para poder explicar como cheguei a solução do problema.

Explicando o cenário:

Trabalho em uma empresa que possui 6 unidades (matriz e 5 filiais) interligadas, onde já há um servidor Openfire em produção. Porém a criação de usuários e grupos está sendo feita de forma manual, o que não é nada prático quando se tem algumas centenas de usuários para administrar.

Convenhamos, se tem um problema que costuma dar dor de cabeça é a questão das senhas dos usuários, pois eles vivem esquecendo e confundindo senha de domínio com senha de sistema, senha de sistema com senha de comunicador e por aí vai.

Nada melhor do que poder integrar tudo que for possível ao controlador de domínio, unificando as senhas. Ao trocar a senha de domínio, trocam-se todas ao mesmo tempo, além de ter a vantagem de não mais precisar criar grupos e usuários manualmente, tudo fica automatizado, economizando um tempo enorme com atendimentos para trocas de senhas e manipulação de grupos e usuários em vários sistemas e softwares.

Rápida explanação da integração Openfire em um domínio

Integrar o Openfire em um domínio AD/LDAP é relativamente fácil.

Basta que na Configuração de Perfis, seja escolhida a opção Servidor de Diretórios (LDAP), na sequência especificar o tipo do servidor (no meu caso o AD), o host (que pode ser o FQDN - desde que possa ser resolvido pelo DNS - ou IP do controlador de domínio, eu utilizo por IP), a porta LDAP (389 por padrão), a base DN completa (em formato LDAP, dc=empresa,dc=com,dc=br), o DN completo do Administrador do DC (também em formato LDAP, cn=administrador,cn=users,dc=empresa,dc=com,dc=br) e por fim a senha do Administrador do domínio.

No final da configuração, indique no mínimo um usuário do AD para ser administrador do Openfire (obrigatório).

Isso é o suficiente para fazer com que o Openfire interaja com o DC, lendo a base LDAP do AD e reconhecendo grupos e usuários do domínio, podendo assim autenticá-los com suas respectivas senhas do domínio, bastando tão somente habilitar no Openfire os grupos do AD (o que é o menor dos problemas).

A instalação passo-a-passo do Openfire pode ser encontrada aqui mesmo no VOL, como os excelentes artigos do Paulo Roberto Junior e do Robinson Czelusniak (links abaixo na ordem respectiva).
Não vou entrar em detalhes sobre a instalação por não ser este o objetivo deste artigo.

    Próxima página

Páginas do artigo
   1. Introdução e cenário
   2. Explicando o problema
   3. A solução
Outros artigos deste autor

Restauração e registro do RedHat após utilização de repositórios CentOS

Servidor Apache hospedando diversos sites com e sem SSL

Integrando Nagios e Google Maps

Apache Mod_Proxy como Front-End de acesso e balanceamento de diversas aplicações web

Nagios - Configurando níveis de acesso e autenticação centralizada no Active Directory

Leitura recomendada

Fontes True Type no Slackware (sem xfstt e ttmkfdir)

VMware VCenter Converter - Convertendo Máquinas Físicas em Virtuais

Balanceamento de 3 links com redundância no Linux

Incrementando o visual do KDE 4

Traceroute com ICMP e TCP

  
Comentários
[1] Comentário enviado por gabrielsp em 11/06/2010 - 12:23h

O Openfire é uma mega-solução pra mensageria interna, elimina pela raiz os problemas com msn & cia hehe!

Mas fiquei com uma pulga sobre a segurança dessa solução proposta no seu artigo....

"[...] estou informando que a consulta deve abranger todos os domínios da floresta, que contenham .com.br em seus nomes DNS, dessa forma consigo incluir os domínios com shortnames diferentes (atente-se a esse detalhe caso os domínios não sejam padronizados). "

Acho que fica muito generalizado fazer consulta em tudo que termina com ".com.br" nos seus DNS. Acho, que deveria ter mais um subdominio pelo menos... humilde opniao =P

Posso ter falado besteira 8-)


[2] Comentário enviado por cavanso em 12/06/2010 - 11:41h

Você tentou fazer esta integração com o Windows 2008? Tentei efetuar instalação no w2008, não tive sucesso, somente com o 2003. Alguem ja conseguiu fazer o openfire funcionar no w2008?

[3] Comentário enviado por djcelsodub em 12/06/2010 - 14:19h

kaizers2li:

Especificar o ".com.br" é a forma de indicar a floresta toda. Infelizmente não há outra forma de realizar a pesquisa senão dessa forma. Onde eu peguei a informação sobre a configuração da porta e da base DN, inclusive indica para deixar em branco a base DN para indicar a floresta, mas o openfire não aceita dessa forma.
Veja que a consulta é realizada apenas nos domínios membros da floresta e não "tudo" que termina em ".com.br" no DNS (entenda-se FQDN).


cavanso:

Ainda não testei no win2k8... mas já pensei nessa possibilidade, já que há planos na empresa em que trabalho de migrar do win2k3 para o win2k8.
Se eu conseguir tempo logo eu faço os testes e posto os resultados.

[4] Comentário enviado por Lisandro em 17/06/2010 - 07:06h

Tem coisas que a gente nem imagina...

[5] Comentário enviado por leandronett em 16/01/2012 - 17:03h

Cara você é um gênio, faz anos que venho tentando fazer isso.

Valew, brigadão...

Parabéns....

[6] Comentário enviado por valcenir-TI em 13/09/2012 - 15:21h

Tentei com o Windows Server 2008 R2 ENT; Não rolou...

Ele não mostra todos os usuários...

o que pode ser?

Tentei com os 2 filtros e nada...

(objectClass=User)

(&(objectClass=user)(objectCategory=person))

[7] Comentário enviado por djcelsodub em 13/09/2012 - 19:31h

Boa noite valcenir-TI,

Observe bem os detalhes na configuração. A base DN é exatamente como está definida na imagem, apenas adaptando ao seu ambiente.
O artigo foi escrito utilizando o Win2k3 mas hoje está em produção em Win2k8 e 100% funcional no ambiente que administro.

[8] Comentário enviado por valcenir-TI em 14/09/2012 - 08:19h

BOm dia,

djcelsodub, consegui mais foi com outro filtro em mapamento de usuário e grupo;

Para usuário: (&(|(|(&(objectclass=user)(objectcategory=person)))(objectclass=contact)))

Grupo: (objectClass=Group)

Com esse filtro listei "ALL Users"

Agora estou com outro problema:

Vou em listagem de grupos;

Compartilho com todos os usuários o Grupo, mais os menbros do grupo não aparecem na lista de usuários...

ATT. Obrigado pela ajuda;

[9] Comentário enviado por rafael_r em 24/10/2013 - 17:52h

Boa tarde Celso,

é possível integrar AD com outra base OpenLDAP?


[10] Comentário enviado por maykon.franca em 09/02/2017 - 19:34h

Boa noite, amigos,

Estou com dois problemas,

1º: Apenas os usuários do domínio PAI consegue logar utilizando o spark

2º Alguns usuários do domínio pai não aparecem e todos os usuários do domínio filho aparecem

Host: host.meudominio.com.br
Porta: 3268
DN Base: dc="meudominio",dc="com",dc="br"
DN Administrador: cn="administrador",cn="users",dc="meudomonio",dc="com",dc="br"
Obs. Seguir o procedimento a risca para evitar quaisquer problema .

Infelizmente os usuários do domínio filho não consegue logar no spark.

[11] Comentário enviado por djcelsodub em 07/05/2018 - 17:58h


[10] Comentário enviado por maykon.franca em 09/02/2017 - 19:34h

Boa noite, amigos,

Estou com dois problemas,

1º: Apenas os usuários do domínio PAI consegue logar utilizando o spark

2º Alguns usuários do domínio pai não aparecem e todos os usuários do domínio filho aparecem

Host: host.meudominio.com.br
Porta: 3268
DN Base: dc="meudominio",dc="com",dc="br"
DN Administrador: cn="administrador",cn="users",dc="meudomonio",dc="com",dc="br"
Obs. Seguir o procedimento a risca para evitar quaisquer problema .

Infelizmente os usuários do domínio filho não consegue logar no spark.



Maykon,

Altere a DN Base de dc="meudominio",dc="com",dc="br" para dc="com",dc="br"
Foi dessa forma que consegui autenticar todos os domínios.


Contribuir com comentário