Integrando Openfire 4.0 com o Active Diretory

By | 5 de fevereiro de 2016

Olá turma, neste procedimento, estarei demonstrando como integrar o Openfire 4.0 com o Active Directory. Para isso precisamos já estar com o openfire instalado, apenas será feita a configuração via interface web. Caso não tenha o openfire instalado, pode se utilizar um tutorial nosso para instalação no Ubuntu 14.04.
Pré-requisitos
•   Openfire instalado, mais não configurado
•   Domínio do Active Directory já configurado.
Neste exemplo estaremos utilizando um domínio com o nome blank.int, configurado no Windows 2012. Openfire 4.0.1 instalado no Ubuntu Server 14.04, onde teremos 3 Empresas em 3 regiões diferentes, Colatina, Aracruz e Linhares e iremos precisar configurar um serviço do openfire para essas 3 empresas, onde teremos 3 grupos com esses nomes e cada grupo terá seus usuários.

1. Preparando o Active Directory.
Primeiro iremos criar um grupo de usuários que terão acesso a aplicação. Ele deve ser do Tipo de Global de Segurança.
Usaremos o padrão G_A_OPENFIRE (GRUPO_ACESSO_OPENFIRE)

image Iremos incluir todos os grupos usuários que terão acesso ao Serviço do Openfire dentro deste grupo.imageAgora criaremos um Grupo que irá conter todos os Grupos que irão ficar disponíveis no Openfire. Ele deverá ser do tipo Universal de Segurança.
Nome: G_O_GRUPOS (G_OPENFIRE_GRUPOS)
imageNesse passo agora, precisaremos criar grupos divididos, onde ficará cada usuário, criaremos os grupos chamados Colatina, Aracruz e Linhares.
Nome: Grupos_Openfire_CIDADE
image

Inclui todos os grupos criados anteriormente dento de G_O_GRUPOS.image

Antes de proceguir, inclua os usuários dentro de cada grupo que lhe pertence.E pronto todo o processo necessário dentro do AD está concluído, partiremos agora para o Openfire.

2. Configuração do Openfire
É necessária uma instalação limpa do seu openfire, caso não tenha a instalação, pode-se utilizar o processo que expliquei em uma anteriomente. Pode ser conferido neste link.
No navegador digite
http://IP_DO_SEU_SERVIDOR:9090
Selecione o idioma de sua escolha.

imageNo campo Domínio, informe o nome hostname ou IP do servidor, os outros dois campos não precisam ser alterados, mais neles são para informar as portas de acesso a página de administração do openfire. Clique em Continuar.imageSelecione a opção “Conexão Padrão do Banco de Dados” para utilizar um banco de dados externo, nesse exemplo utilizaremos o banco criado no outro tutorial. A segunda opção o Openfire irá utilizar um banco de dados interno, como é informado na opção, é uma forma simples de configuração e rápida, porem a performance pode ser inferior ao de um banco de dados externo.imageNa próxima janela, Configurações do Banco de Dados – Conexão Padrão, segue a figura abaixo.
Iremos utilizar as mesmas configurações do procedimento utilizado no post anterior.
Atenção para os campos abaixo.
•    Predefinições do Driver de Banco de Dados: MySQL
•    Classe do Driver JDBC: com.mysql.jdbc.Driver
•    URL do banco de dados: jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true
•    Nome do Usuário: openfire
•    Senha (Cadastrada no momento da instalação do MySQL): openfire@123
•    Minimum Connections: 5
•    Maximum Connections: 25
•    Tempo de expiração da Conexão: 1.0
imageSelecione a opção Servidor de Diretórios (LDAP), para realizar a integração com o Active Directory.
imageEscolha a opção Active Directory,
Em Tipo de servidor, informe o IP do seu Domain Controller ou hostname e a porta de comunicação LDAP 389.
Para pegar o DN BASE, pode utilizar uma ferramenta chamada ADSI no Windows, nela você consegue pegar o caminho do domínio completo para jogar no openfire. Em DN Base, informe seu domínio. Ex: seudominio.com.br DC=seudominio,DC=com,DC=br
Em DN Administrador, informe a conta com permissões administrativas (Deve ser uma conta válida do Active Directory). Ex: CN=administrador,CN=users,DC=seudominio,DC=com,DC=br
Após inserir as informações clique em salvar e continuar.
Obs.: Neste tutorial utilizei o domínio BLANK.INT
Em domínio que estejam no 2012 podemos informar a conta desta maneira: nomeuser@seudominio.
O openfire não enxerga Unidades Organizacionais, apenas grupos, logo não conseguimos criar filtros por OU.
image
Podemos utilizar o botão de Testar, você receberá uma mensagem parecida com esta:imageClique em Salvar e Continuar.
Na próxima janela é onde iremos configurar o mapeamento de usuários, iremos utilizar um Filtro de pesquisa no AD. Clique em Configurações Avançadas e procure pelo campo Filtro de Usuário.
Nome de Usuário: sAMAccountName
Altere o campo Filtro de Usuário.
De: (objectClass=User) ou (objectClass=organizationalPerson)
Para:
(&(objectCategory=person)(objectClass=user)(memberOf=CN=G_A_OPENFIRE,OU=IM,OU=INT,DC=blank,DC=int))imageCom este filtro o openfire irá procurar os usuários que estão dentro do grupo Openfire do Active Directory.
E clique em Testar Conexão.
Se tudo ocorrer bem, aparecer uma tela igual a essa com um usuário aleatório que está dento daqueles grupos criados anteriormente. Você pode testar novamente clicando no “Próximo perfil Aleatório”.
imageClique em Fechar e depois Salvar e Continuar.
Na próxima janela é onde iremos configurar a sincronização dos Grupos.
Iremos utilizar o Filtro: Logo clique em Configurações Avançadas e troque o filtro padrão para:
(&(objectCategory=Group)(memberOf=CN=G_O_GRUPOS,OU=IM,OU=INT,DC=blank,DC=int))imageNovamente clique em Testar, e veja se irá encontrar um dos grupos criados no AD.imageClique em Salvar e Continuar.

Nesta última janela precisaremos informar quais contas de usuários terão acesso administrativos ao console web do Openfire. Informe uma das contas configuradas anteriormente dentro do grupo Openfire criado no Active Directory. Selecione a sua conta que será o administrador e clique em continuar, não precisa ser necessariamente somente 1 usuário.imagePronto a configuração está concluída, clique no botão Loge-se no console de administração.image

3. Gerenciando usuários
Após o termino da configuração, informe o login  e senha de uma conta administrativa e clique em login.
image
Acesse a guia Usuários/Grupos. Será listada os usuários que fazem parte do grupo Openfire do Active Directory. Para incluir novos usuários, basta apenas incluir no grupo Openfire criado no Active Diretory e dentro de um dos grupos de localização. E para remover, pasta apenas remover o usuário dos grupos.
Verifique seus Usuários:
imageE Grupos:image
Pronto seu openfire está todo configurado e pronto para ser utilizado, basta logar com o seu cliente IM.

Antes de finalizarmos, iremos realizar algumas pequenas mudanças, iremos desativar as opções de Registro de conta via cliente, alteração de Senha e bloquear o Login Anônimo, pois tudo será gerenciado pelo Active Directory. Para isso navegue Configurações do Servidor > Registro & Login e Desative essas opções.image

4.Conclusão.
Com isso, ele estará dividido por Grupos dentro do Openfire. Os grupos que serão listados no openfire, devem estar dentro do grupo G_O_Openfire. Para os usuários ficarem divididos por grupos, eles deveram estar dentro de cada grupo no Active Directory, além de estarem no grupo G_A_Openfire (Grupo Acesso Openfire), nele que será definido se o usuário terá ou não acesos ao openfire. Desta forma melhoramos a segurança um pouco no openfire, definindo quem poderá ou não acessar a ferramenta. Além de utilizar filtros personalizados para que não sejam sincronizadas contas de usuários de terceiros e nem contas de computadores, problema que ocorre quando utilizamos os filtros padrões que o Openfire possui.

4 thoughts on “Integrando Openfire 4.0 com o Active Diretory

  1. Rodrigo Zan Sousa

    Bernardo,

    Muito bom o seu tutorial, estava indo bem até o momento onde da configuração de Perfis, onde alterei o campo Filtro de Usuário e recebi a mensagem abaixo:

    Status: Erro

    Nenhum usuário foi encontrado utilizando a configuração especificada. Tente mudar o DN base, filtro de usuário ou campo usuário.

    O que posso ter feito de errado?

    Reply
  2. Alessandro

    Bernardo,

    Parabéns! Estava procurando algo assim! Porém, na opção configuração de perfis, alterei o campo Filtro de Usuário, conforme mencionou, mas recebi a mesmo mensagem do colega Rodrigo…

    Status: Erro
    Nenhum usuário foi encontrado utilizando a configuração especificada. Tente mudar o DN base, filtro de usuário ou campo usuário.

    Poderia me ajudar por gentileza?

    O meu esta assim:

    (&(objectCategory=person)(objectClass=user)(memberOf=CN=Spark,CN=users,DC=meu_dominio,DC=local))

    Reply
    1. blankheet Post author

      Bom dia Alessandro, desculpe a demora para responder, recentemente troquei de empresa e não estou mais conseguindo dar tanta atenção nos últimos dias ao blog. Chegou a inserir os usuários dentro do grupo Spark? O filtro aparentemente está correto. Verifique também se o usuário que está utilizando para fazer a conexão tem permissão para fazer leitura no AD.

      Reply

Deixe uma resposta