How to Configure LDAP Client to Connect External Authentication

LDAP (abreviação para Lightweight Directory Access Protocol) é um conjunto de protocolos padrão da indústria, amplamente utilizado para acessar serviços de diretório.

Um serviço de diretório em termos simples é uma base de dados centralizada, baseada em rede, otimizada para acesso de leitura. Ele armazena e fornece acesso a informações que devem ser compartilhadas entre aplicativos ou é altamente distribuído.

Os serviços de diretório desempenham um papel importante no desenvolvimento de aplicações intranet e Internet, ajudando-o a compartilhar informações sobre usuários, sistemas, redes, aplicativos e serviços por toda a rede.

Um caso típico de uso do LDAP é oferecer um armazenamento centralizado de nomes de usuários e senhas. Isto permite que várias aplicações (ou serviços) se conectem ao servidor LDAP para validar usuários.

Após configurar um servidor LDAP funcional, você precisará instalar bibliotecas no cliente para se conectar a ele. Neste artigo, vamos mostrar como configurar um cliente LDAP para se conectar a uma fonte externa de autenticação.

Espero que você já tenha um ambiente servidor LDAP funcionando, se não configurar um servidor LDAP para Autenticação baseada em LDAP.

Como instalar e configurar um cliente LDAP no Ubuntu e CentOS

Nos sistemas clientes, você precisará instalar alguns pacotes necessários para fazer o mecanismo de autenticação funcionar corretamente com um servidor LDAP.

Configure o Cliente LDAP no Ubuntu 16.04 e 18.04

Inicie primeiro instalando os pacotes necessários executando o seguinte comando.

$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Durante a instalação, você será solicitado a obter detalhes do seu servidor LDAP (forneça os valores de acordo com o seu ambiente). Note que o pacote ldap-auth-config que é auto-instalado faz a maioria das configurações com base nas entradas que você digitar.

Enter LDAP Server URI
Enter LDAP Server URI

Next, enter the name of the LDAP search base, you can use the components of their domain names for this purpose as shown in the screenshot.

Enter LDAP Search Base
Enter LDAP Search Base

Also choose the LDAP version to use and click Ok.

Select LDAP Version
Select LDAP Version

Now configure the option to allow you to make password utilities that use pam to behave like you would be changing local passwords and click Yes to continue..

Make Local Root Database Admin
Make Local Root Database Admin

Next, disable login requirement to the LDAP database using the next option.

Disable Login to LDAP Database
Disable Login to LDAP Database

Also define LDAP account for root and click Ok.

Define LDAP Account for Root
Define LDAP Account for Root

Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.

Enter LDAP Root Password
Enter LDAP Root Password

The results of the dialog will be stored in the file /etc/ldap.conf. Se você quiser fazer qualquer alteração, abra e edite este arquivo usando seu editor de linha de comando favorito.

Next, configure o perfil do LDAP para NSS executando.

$ sudo auth-client-config -t nss -p lac_ldap

Em seguida, configure o sistema para usar o LDAP para autenticação, atualizando as configurações do PAM. No menu, escolha LDAP e quaisquer outros mecanismos de autenticação que você precise. Agora você deve ser capaz de fazer login usando credenciais baseadas no LDAP.

$ sudo pam-auth-update
Configure PAM Authentication Mechanism
Configure PAM Authentication Mechanism

Caso você queira que o diretório home do usuário seja criado automaticamente, então você precisa realizar mais uma configuração no arquivo PAM da sessão comum.

$ sudo vim /etc/pam.d/common-session

Adicionar esta linha nele.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Guardar as alterações e fechar o ficheiro. Então reinicie o serviço NCSD (Name Service Cache Daemon) com o seguinte comando.

Note: Se você estiver usando replicação, os clientes LDAP precisarão se referir a múltiplos servidores especificados em /etc/ldap.conf. Você pode especificar todos os servidores neste formulário:

uri ldap://ldap1.example.com ldap://ldap2.example.com

Isso implica que a requisição irá se descontinuar e se o Provedor (ldap1.example.com) não responder, o Consumidor (ldap2.example.com) tentará ser alcançado para processá-lo.

Para verificar as entradas do LDAP para um determinado usuário do servidor, execute o comando getent, por exemplo.

$ getent passwd tecmint

Se o comando acima exibir detalhes do usuário especificado a partir do arquivo /etc/passwd, sua máquina cliente está agora configurada para se autenticar com o servidor LDAP, você deve ser capaz de se autenticar usando credenciais baseadas no LDAP.

Configurar Cliente LDAP no CentOS 7

Para instalar os pacotes necessários, execute o seguinte comando. Note que nesta seção, se você estiver operando o sistema como um usuário não-root administrativo, use o comando sudo para executar todos os comandos.

# yum update && yum install openldap openldap-clients nss-pam-ldapd

Next, habilite o sistema cliente a se autenticar usando LDAP. Você pode usar o utilitário authconfig, que é uma interface para configurar os recursos de autenticação do sistema.

Executar o seguinte comando e substituir example.com pelo seu domínio e dc=example,dc=com pelo seu controlador de domínio LDAP.

# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

No comando acima, a opção --enablemkhomedir cria um diretório home do usuário local na primeira conexão se não existir nenhum.

Next, teste se as entradas do LDAP para um determinado usuário do servidor, por exemplo tecmint do usuário.

$ getent passwd tecmint

O comando acima deve exibir detalhes do usuário especificado a partir do arquivo /etc/passwd, o que implica que a máquina cliente está agora configurada para se autenticar com o servidor LDAP.

Importante: Se o SELinux estiver ativado no seu sistema, você precisa adicionar uma regra para permitir a criação automática de diretórios home pelo mkhomedir.

Para mais informações, consulte a documentação apropriada do catálogo de documentos do Software OpenLDAP.

Resumo

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *