Cursos / Redes de Computadores / Redes de Computadores II / Aula

arrow_back Aula 08 - Autenticação e Compartilhamento de Arquivos – Parte III

Usando o LDAP para Autenticação

LDAP como Servidor de Autenticação de Usuários

Finalmente, agora vamos ver como criamos um servidor de autenticação usando o LDAP. Na verdade, o lado do servidor está pronto! Ou seja, tudo que tínhamos de fazer na máquina em que o programa slapd executa já foi feito, pois para o LDAP não interessa para que ele será usado. Todo LDAP tem uma árvore definida e objetos criados nessa árvore. A única coisa que fizemos especificamente para o serviço de autenticação foi criar os nós “pessoas”, “grupos”, e “maquinas”, e inserir os objetos nesses nós.

Portanto, a configuração do serviço de autenticação vai se concentrar nas máquinas clientes, ou seja, nas máquinas que vão autenticar os usuários remotamente usando o LDAP. A primeira coisa a fazer em cada máquina cliente é instalar os pacotes libnss-ldap e libpam-ldap, conforme mostrado a seguir.

apt-get install libnss-ldap libpam-ldap

Durante a instalação desses pacotes, será executado um programa de configuração que faz sete perguntas. Essas perguntas, e as respostas que deveriam ser dadas para nosso exemplo (texto em negrito), são mostradas a seguir.

1ª - Qual o protocolo e endereço IP do servidor LDAP? ldap://10.1.1.1/
2ª –Nó da árvore a partir do qual os usuários serão pesquisados? ou=natal,o=ufrn
3ª - Versão do protocolo LDAP a ser utilizada? 3
4ª - Tornar o usuário root local administrador do LDAP? Sim
5ª - O Diretório LDAP requer login? Não
6ª –Usuário administrador do LDAP? cn=admin,o=ufrn
7ª –Senha do usuário administrador do LDAP?coloque-a-senha-do-admin-aqui

Na verdade, quando se responde “Não” para a 5ª pergunta, a 6ª e a 7ª pergunta não deveriam ser feitas, mas, dependendo da distribuição Linux sendo utilizada, elas ainda são feitas.

Após responder as perguntas será criado o arquivo ldap.conf na pasta /etc, com o conteúdo mostrado na Figura 3. Há diversas outras linhas no arquivo que é gerado, mas elas estão todas comentadas (iniciam com #), portanto não são usadas!

Figura 3 - Arquivo /etc/ldap.conf

Caso queira refazer essa configuração, ou seja, alterar algum valor que você informou, é possível editar o arquivo manualmente. Além disso, dependendo da distribuição Linux sendo utilizada, esse arquivo pode ficar na pasta /etc/ldap ou invés da pasta /etc.

Precisamos agora criar os arquivos pam_ldap.conf e libnss-ldap.conf que ficam, ambos, na pasta /etc. Embora esses arquivos possam conter diversas informações, tudo que eles precisam para que a autenticação funcione é do mesmo conteúdo mostrado para o arquivo ldap.conf. Portanto, basta criar esses dois arquivos com o conteúdo mostrado na Figura 3.

Agora precisamos dizer ao sistema operacional que use o ldap para a autenticação. Para isso, vamos alterar o conteúdo do arquivo /etc/nsswitch.conf para solicitar que ele também use o ldap para obter as informações dos nomes dos usuários, dos grupos, e as senhas dos usuários. Isso é feito alterando o valor das três primeiras linhas do arquivo. A Figura 4 mostra o arquivo antes da alteração e depois.

Arquivo /etc/nsswitch.conf antes e depois da configuração do pacote libnss-ldap.

Para estar se sua máquina cliente está conseguindo obter as informações do LDAP, digite o comando getent, conforme mostrado a seguir, para obter informações de um usuário do LDAP. O comando mostrado obtém informações do usuário maria (assumindo que ele existe no ldap).

sudo getent passwd maria
maria:x:10001:10001:MariaSilva:/home/maria:/bin/bash

Outra forma de testar a autenticação é realizando um ssh na máquina cliente, para a própria máquina cliente, com um usuário que existe no ldap. O exemplo a seguir utiliza o usuário maria.

ssh maria@localhost

Se o login for bem sucedido é porque o cliente conseguiu autenticar no LDAP.

Versão 5.3 - Todos os Direitos reservados