Openfire IM Server com autenticação LDAP

Home / Network / Openfire IM Server com autenticação LDAP

A comunicação instantânea dentro de uma empresa é essencial nos dias de hoje. O que acontece é que muitas vezes escolhas erradas (e às vezes caras) são tomadas na hora de escolher o software mensageiro. Muitas vezes ele é instável e não atende às necessidades estratégicas, como o Skype for Business, que peca muito pela instabilidade do serviço.

Em muitos casos, se recorre a grupos no Whatsapp e Telegram como método oficial de comunicação. Isso é ruim por vários motivos: depende exclusivamente de um link de Internet, o backup das conversas não depende de você e é necessária a inclusão do número do telefone do colega como contato (nenhum dos 2 serviços faz autenticação via LDAP, ou seja: se você tem um AD com uma base de usuários, não pode usá-la para autenticar em nenhum dos 2).

O servidor Openfire provê sistema de IM (Instant Messaging), onde o seu cliente mais famoso é o Spark (com versões para Linux e Windows).

Características principais:

  • Mensagens e contatos são salvos em bancos de dados;
  • Faz integração com LDAP Server;
  • É multi-plataforma (Linux, Windows ou MAC);
  • Funciona com Java mas ele já vem embutido no pacote de instalação;
  • Possui interface de administração web.

Instalação

A melhor versão estável do Openfire escolhida foi a 4.1.4.

O servidor utilizado foi o Red Hat Enterprise Linux 7.3.

Foi feito o download do arquivo de instalação em formato RPM da URL https://www.igniterealtime.org/downloads/ e foi instalado desta forma:

#rpm -ivh openfire-4.1.4-1.x86_64.rpm

Não é necessária a instalação de servidor Web , pois no pacote, como dependência, ele já instala o Java e o mesmo já provê o serviço.

É necessária a instalação de um servidor de banco de dados. Temos a opção de utilizar outro servidor de bancos de dados mas, para este primeiro momento, decidimos que seria utilizado o MySQL no mesmo servidor.

#wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

#rpm -ivh mysql-community-release-el7-11.noarch.rpm

#yum install mysql-community-server

Para este fim, decidimos também desabilitar o SELinux, o FirewallD e o NetworkManager:

#systemctl disable NetworkManager firewalld selinux

#systemctl stop NetworkManager firewalld selinux

Banco de dados

Criando o banco de dados openfire:

#mysql -u root -p

mysql> create database openfire;

Criando o usuário ‘root’@’<ip_do_servidor>’:

mysql>create user ‘root’@’192.168.0.103’;

mysql>set password for ‘root’@’192.168.0.103’ = password(‘123qwe.’);

Garantindo todos os privilégios no banco openfire ao usuário em questão:

mysql>grant all privileges on operfire.* to ‘root’@’192.168.0.103’;

Importante configurar o mysql para responder apenas pelo IP a ser utilizado na rede e não pelo localhost:

#vim /etc/my.cnf

Reiniciar o serviço mysql:

#systemctl restart mysqld

Alteração no DC Samba4

Para este fim, vamos usar o servidor Samba4 como AD-Server. Caso você trabalhe com o MS Active Directory, basta proceder abaixo via RSAT ou no próprio servidor, em Ferramentas Administrativas.

Importante: por conta de um pequeno bug conhecido do Openfire, você têm 2 opções: ou configura a senha do usuário que vai lá na árvore LDAP buscar a lista grupos e usuários (geralmente se usa o administrator mesmo) com todos os pré-requisitos autenticação forte que requer o AD e o Samba4 por default ou você desabilita esta autenticação forte. No caso do samba4, adicione a linha abaixo na seção [global] do smb.conf.

#vim /etc/samba/smb.conf

#systemctl restart samba-ad-dc

Configuração do DNS

Já que vamos autenticar os usuaŕios do Openfire no domínio, temos que configurar com DNS do servidor Openfire o próprio samba4, considerando que ele também seja o servidor DNS:

#vim /etc/resolv.conf

search howto.online

domain howto.online

nameserver 192.168.0.10

nameserver 192.168.0.11

Agora é só acessar o openfire pela porta 9090 no browser e seguir com a configuração:

No browser: http://192.168.0.103:9090

Obs: dc1.howto.online vamos considerar que seja o nome do servidor LDAP com a base de usuários. Se quiser trabalhar com IP também pode mas o ideal mesmo é criar um registro para este host e tratá-lo pelo FQDN mesmo.

   

Daí em diante, basta confirmar as duas últimas opções (de busca configuração de busca de usuário e grupo) e seguir para o login no Openfire já com o usuário do domínio.

No cliente, basta instalar o cliente Spark, assim que você iniciá-lo já vai surgir a opção de configuração do servidor IM. É só pôr o IP ou nome do seu servidor Openfire.

O endereço para download do Spark é este: https://www.igniterealtime.org/downloads/ .

Gostou da dica? Então assina nosso site para receber todas as nossas novidades .

Abraço!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *