NOTA: este artigo destina-se a ser um guia inicial de implementação de um serviço de diretório com autenticação de usuário em nível de segurança para redes locais. Seu principal objetivo é apresentar os conceitos básicos e de funcionalidade para instalação e configuração do serviço
LDAP em ambientes
Linux.
Este artigo não configura um guia completo sobre o assunto e nem se propõe a tal. Informações complementares, para aprofundamento de pesquisa, poderão ser consultadas na seção de referências bibliográficas, na última página. Este artigo pode ser melhorado e expandido em novas versões por todo e qualquer indivíduo que acredite no espírito de colaboração e na partilha da informação para produção e disseminação do conhecimento.
O LDAP é um protocolo de rede que roda sobre o TCP/IP e permite organizar os recursos de uma rede (contas de usuário, computadores, arquivos, impressoras, permissões relacionadas, etc.) de forma hierárquica, através de uma árvore de diretórios. Podemos defini-lo também como um banco de dados projetado para armazenar diretórios.
Organizando informações de forma centralizada, segundo uma hierarquia definida, uma das grandes vantagens do LDAP é a facilidade em localizar essas informações dentro da árvore de diretórios, como por exemplo, nome e sobrenome de um usuário, contato telefônico, departamento onde trabalha, nível de permissão de acesso ao servidor de arquivos, etc.
Embora sua base de dados possa ser acessada remotamente, o que tecnicamente possibilita seu uso através da Internet, o LDAP é quase que exclusivamente utilizado em redes locais, sobretudo em empresas de médio e grande porte. Além disso, o LDAP é escalável, suporta replicação de servidores para backup ou balanceamento de carga, mantendo-os sincronizados, bem como a inclusão de novos servidores de forma hierárquica, partindo de um servidor raiz. Independentemente da sua complexidade, toda a estrutura de servidores e sub-servidores pode ser replicada.
Sendo um padrão aberto, o LDAP foi originalmente desenvolvido para uso em plataformas Unix, porém, atualmente há vários produtos que utilizam o protocolo em implementações para Linux e o próprio Windows. No universo GPL, uma das suítes mais utilizadas é o
OpenLDAP, um software livre e de código aberto que implementa o protocolo LDAP, atuando (em associação a um servidor Samba) como um substituto eficaz frente à soluções proprietárias como o Microsoft Active Directory, por exemplo.
Algumas das características do
OpenLDAP, são:
- Suporte a IPv4 e IPv6;
- Encriptação SSL e TLS;
- Autenticação (Digest-MD5, GSSAPI, Cyrus Sasl-Kerberos V);
- Controle de acessos;
- Replicação de base.
O OpenLDAP conta com dois arquivos de configuração principais e um front-end de acesso:
- "slapd.conf" - configuração do daemon;
- "ldap.conf" - configuração para acesso dos clientes à base;
- "ldapsearch" - utilitário em modo texto capaz de trabalhar com vários front-ends gráficos (neste caso, o JXplorer).
Instalando e Configurando o OpenLDAP
Para instalar um servidor OpenLDAP utiliza-se os seguintes comandos:
sudo apt-get update
sudo apt-get install slapd ldap-utils
O pacote "ldap-utils" contém as seguintes ferramentas:
- ldapsearch - pesquise e exiba entradas.
- ldapmodify - modifica uma entrada.
- ldapadd - adicione uma nova entrada.
- ldapdelete - remover e entrar.
- ldapmodrdn - renomeia uma entrada.
- ldappasswd - altera uma senha.
No momento da instalação, é solicitada a senha do administrador do LDAP.
Reconfiguração do sLAPD
Terminada a instalação, faz-se necessária a reconfiguração do slpad. Para isso, basta que use o seguinte comando:
sudo dpkg-reconfigure slapd
A reconfiguração do slapd implica responder questões referentes à estrutura do LDAP que se pretende construir.
Omit OpenLDAP server configuration? No
DNS domain nam:e aqui se insere o domínio da rede. Este campo servirá como referência ao atributo DN do LDAP, ou seja, será a raiz da árvore de diretórios. Será utilizado como exemplo o domínio: segredes.local.
Organization name: aqui adiciona-se o nome da organização ou empresa.
Administrator password? Pode-se usar a mesma senha definida durante a instalação.
Database backend to use? MDB (formato de banco de dados mapeado em memória mais comumente utilizado).
Remove the database when slapd is purged? No
Aqui, ao escolher a opção "Yes", caso o pacote slapd seja removido, o banco de dados e todos os arquivos de configuração associados também serão removidos.
Move old database? Yes (caso exista um banco de dados remanescente de uma instalação antiga ele será movido para dar espaço ao novo banco).
Finalizada a instalação do OpenLDAP, pode-se verificar a existência da base de dados LDAP:
ldapsearch -x -b dc=segredes,dc=local
Onde: "dc=segredes,dc=local", são os componentes de nome do domínio, neste caso, "segredes.local".