Integrando Openfire 4.0 com o Active Diretory

bernardolankheet
7 min readFeb 5, 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)

Iremos incluir todos os grupos usuários que terão acesso ao Serviço do Openfire dentro deste grupo.

Agora 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)

Nesse passo agora, precisaremos criar grupos divididos, onde ficará cada usuário, criaremos os grupos chamados Colatina, Aracruz e Linhares.
Nome: Grupos_Openfire_CIDADE.

Inclui todos os grupos criados anteriormente dento de G_O_GRUPOS.

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.

No 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.

Selecione 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.

Na 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

Selecione a opção Servidor de Diretórios (LDAP), para realizar a integração com o Active Directory.

Escolha 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.

Podemos utilizar o botão de Testar, você receberá uma mensagem parecida com esta:

Clique 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))

Com 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”.

Clique 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))

Novamente clique em Testar, e veja se irá encontrar um dos grupos criados no AD.

Clique 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.

Pronto a configuração está concluída, clique no botão Loge-se no console de administração.

3. Gerenciando usuários
Após o termino da configuração, informe o login e senha de uma conta administrativa e clique em login.

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:

E Grupos:

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.

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.

Originally published at https://www.bernardolankheet.com.br on February 5, 2016.

--

--