O Lightweight Directory Access Protocol (LDAP), ou protocolo leve de acesso a diretórios, também conhecido como RFC 1777, é um software de protocolo (de cliente e servidor) usado para acesso e gerenciamento de diretório e das informações contidas nele.
Uma das muitas vantagens que o LDAP proporciona é que as informações de uma empresa (e seus respectivos usuários) podem ser centralizadas de maneira que fiquem acessíveis de qualquer computador da rede.
A princípio a prática soa insegura, porém o LDAP é compatível com camadas SSL (Secure Sockets Layer) e TLS (Transport Layer Secirity), ou seja, os dados sigilosos e sensíveis são blindados no sistema.
Para nos aprofundarmos no tema, explicarei neste artigo o funcionamento do LDAP, como implementá-lo (usando o OpenLDAP), e como fazer a instalação do programa no sistema operacional Linux.
Entendendo o que é o LDAP
Criado no início dos anos 90 por Tim Howes, Steve Kille e Wengyik Yeong, três cientistas da computação dos Estados Unidos, o LDAP surgiu para ser uma alternativa ao Directory Access Protocol (DAP) para navegação em diretórios X.500 (conjunto de protocolos para serviços de diretório).
Em relação às soluções antecessoras, o LDAP é consideravelmente mais leve e não apresenta as falhas do padrão X.500. Além disso, ele é executado sobre o protocolo TCP/IP, fator que o possibilita organizar os elementos de rede hierarquicamente.
Em termos práticos, o LDAP cria um diretório adotando a topologia de árvore, a qual se inicia pelo diretório raiz seguido da rede corporativa, seus departamentos, equipes, funcionários etc.
Reiterando sobre o que falei no início do artigo, a centralização de informações é uma das principais vantagens do LDAP.
Considerando o exemplo de diretório acima, o administrador (ou qualquer usuário autorizado) consegue, a partir de uma consulta no banco de dados, levantar todas as informações disponíveis de um determinado funcionário, tais como:
nome;
endereço;
contato;
histórico de projetos; e
arquivos gerados.
Contudo, a solução é muito mais ampla do que isso. O LDAP é capaz de criar réplicas, adicionar servidores e espelhos (mirrors) utilizando a mesma topologia de árvore. Essa funcionalidade é interessante para empresas que têm filiais e precisam conectá-las na rede de maneira organizada.
Utilizando o OpenLDAP para implementação do LDAP
A implementação do LDAP, no entanto, requer a instalação de um software específico, assim como o Active Directory é usado em sistemas de servidores Windows. No Linux, a solução mais utilizada é o OpenLDAP — embora este seja multiplataforma.
O OpenLDAP é um software de código aberto amplamente utilizado para implementação do LDAP em servidores, mais precisamente na configuração do LDAP e disponibilização de esquemas para organizar o banco de dados.
Portanto, o OpenLDAP permite que os diretórios sejam construídos a partir de uma base de dados bem estruturada, na qual o administrador especifica quais são os atributos obrigatórios (e opcionais) para a entrada de dados.
Instalando o OpenLDAP no Linux
Neste tópico, abordarei mais especificamente os processos de instalação do OpenLDAP em três das principais distros do Linux: CentOS, Debian e Ubuntu. Vamos começar?
CentOS
Os pacotes do OpenLDAP acompanham os repositórios padrões do CentOS, cabendo ao usuário instalar os pacotes específicos: openldap; openldap-clients; e openldap-servers. Faremos isso usando o seguinte comando:
yum install opendlap opendlap-clients opendlap-servers
Após o processo, criaremos uma senha de administrador para o LDAP usando o comando slappasswd. Preencha os campos solicitados conforme o exemplo abaixo.
New password: (digite a sua senha) Re-enter new password: (redigite a senha que criou acima)
Quando confirmada a nova senha, o LDAP retornará uma versão criptografada da própria, como no exemplo:
{SSHA}dMKRjT563UhYumRS6t8/PSWIR88dy2
Mantenha a criptografia armazenada em algum bloco de notas e inicie o servidor LDAP para ativá-lo no sistema. Digite:
systemctl start slapd systemctl enable slapd
Configuração
A partir de agora faremos a configuração do LDAP no CentOS. Esta etapa se inicia pelo arquivo “olcDatabase={2}hdb.ldif”, portanto navegaremos na pasta em que ele está localizado e, em seguida, o abriremos.
cd /etc/openldap/slapd.d/cn=config vi olcDatabase={2}hdb.ldif
Agora, vamos editar duas linhas do arquivo para sincronizá-lo ao servidor e adicionaremos uma nova — onde iremos registrar a senha criptografada.
olcSuffix: dc=MeuServidor,dc=local olcRootDN: cn=Manager,dc=MeuServidor,dc=local olcRootPW:{SSHA}dMKRjT563UhYumRS6t8/PSWIR88dy2
A partir daí já podemos reiniciar o OpenLDAP para verificar se as configurações funcionaram. Para fazer isso, digite o comando slaptest -u. Contanto que a mensagem final seja “config file testing succeeded”, quaisquer erros exibidos podem ser ignorados.
Debian
Se você está utilizando o Debian Linux, instale o OpenLDAP usando o comando apt:
apt-get update apt-get install slapd ldap-utils ldapscripts
O ideal é que o sistema solicite a criação de uma senha administrativa e, depois, retorne uma série de perguntas relativas à configuração do programa, mas é possível que isso não aconteça. No caso, acione o comando dpkg-reconfigure -plow slapd após a instalação. Agora teremos de responder as seguintes perguntas:
If you enable this option, no initial configuration or database will be created for you. Omit OpenLDAP server configuration? (não)
DNS domain name: exemploldap.com
Organization name: Nome da Organização
Administrator password: (digite a senha que criou na instalação)
Database backend to use: (selecione “MDB“)
Do you want the database to be removed when slapd is purged? (não)
Move old database: (selecione “sim” apenas se houver um banco de dados preexistente)
Allow LDAPv2 protocol? (responda “não“, a menos que venha a utilizar ferramentas incompatíveis com o protocolo LDAPv3).
Traduzindo, o LDAP nos pergunta se queremos omitir a configuração do OpenLDAP; solicita o nome do domínio e da organização; pede para digitarmos a senha administrativa e selecionarmos o banco de dados.
Observação: quanto ao banco de dados “MDB”, eu sugeri a opção porque esse banco requer menos configurações.
Em seguida, ele questiona se o banco de dados pode ser removido quando o slapd for excluído, se queremos mover um banco de dados antigo e se permitimos o protocolo LDAPv2.
Ao concluir este pequeno processo, você terá à sua disposição uma base de dados configurada em nível básico, mas pronta para receber informações.
Ubuntu
Nesta seção, por fim, realizaremos a instalação do OpenLDAP no servidor Ubuntu. Vamos começar? Abra o terminal e digite o comando:
sudo apt-get update sudo apt-get upgrade sudo apt install slapd ldap-utils
Assim como nos procedimentos anteriores, o instalador solicitará a criação de uma senha administrativa. Pronto? Não apareceu nenhuma opção de configuração? Então utilize o dpkg-reconfigure.
sudo dpkg-reconfigure slapd
Quando acionado o comando, surgirão as mesmas perguntas que mencionei na instalação do Debian; evidentemente, as respostas são as mesmas. Portanto, não há diferenças significativas entre ambos os procedimentos (Ubuntu e Debian).
Com o diretório OpenLDAP devidamente instalado em sua distribuição Linux, você pode começar a trabalhar com as configurações básicas do LDAP. Você já tem ideia de como fazê-las no seu servidor?
Se as etapas mais avançadas de configurações em sistemas Linux ainda são um obstáculo para você, recomendo o acesso ao site Profissionais Linux, onde você aprende a dominá-lo de vez!