Como instalar o servidor OpenLDAP para autenticação centralizada

Como instalar o servidor OpenLDAP para autenticação centralizada

Protocolo de acesso ao diretório leve (LDAP Em resumo) é um padrão de protocolos de protocolos, leve e amplamente utilizado para acessar serviços de diretório. Um serviço de diretório é uma infraestrutura de informações compartilhada para acessar, gerenciar, organizar e atualizar itens diários e recursos de rede, como usuários, grupos, dispositivos, endereços de e -mails, números de telefone, volumes e muitos outros objetos.

O LDAP O modelo de informação é baseado em entradas. Uma entrada em um diretório LDAP representa uma única unidade ou informação e é identificada exclusivamente pelo que é chamado de Nome Distinto (Dn). Cada um dos atributos da entrada tem um tipo e um ou mais valores.

Um atributo é uma informação associada a uma entrada. Os tipos são tipicamente cordas mnemônicas, como “cn”Para nome comum, ou“correspondência”Para endereço de e -mail. Cada atributo é atribuído um ou mais valores consistindo em uma lista separada por espaço.

A seguir é uma ilustração de como a informação é organizada no LDAP diretório.

Modelo de informação LDAP

Neste artigo, mostraremos como instalar e configurar Openldap servidor para autenticação centralizada em Ubuntu 16.04/18.04 e CENTOS 7.

Etapa 1: Instalando o servidor LDAP

1. Primeiro começo instalando Openldap, uma implementação de código aberto de LDAP e alguns utilitários tradicionais de gerenciamento de LDAP usando os seguintes comandos.

#yum install openldap openldap-servers #CENTOS 7 $ sudo apt install slapd ldap-utils #ubuntu 16.04/18.04 

Sobre Ubuntu, Durante a instalação do pacote, você será solicitado a inserir a senha para a entrada do administrador no diretório LDAP, definir uma senha segura e confirmá -la.

Configurar senha do Slapd Admin

Quando a instalação estiver concluída, você pode iniciar o serviço, conforme explicado a seguir.

2. Sobre CENTOS 7, execute os seguintes comandos para iniciar o Openldap Daemon do servidor, Ative-o para iniciar automaticamente na hora da inicialização e verifique se está em funcionamento e em execução (em Ubuntu O serviço deve ser iniciado automaticamente no SystemD, você pode simplesmente verificar seu status):

$ sudo SystemCtl Start Slapd $ sudo SystemCtl Ativar SLAPD $ SUDO SYSTEMCTL SLAPD 

3. Em seguida, permita solicitações para o LDAP Daemon do servidor através do firewall, como mostrado.

#firewall-cmd --add-service = ldap #CENTOS 7 $ sudo ufw permitir ldap #ubuntu 16.04/18.04 

Etapa 2: Configurando o servidor LDAP

Observação: Não é recomendável editar manualmente a configuração LDAP, você precisa adicionar as configurações em um arquivo e usar o Ldapadd ou LDAPModify comando para carregá -los no diretório LDAP, como mostrado abaixo.

4. Agora crie um usuário administrativo do OpenLDAP e atribua uma senha para esse usuário. No comando abaixo, um valor de hash é criado para a senha fornecida, anote -a, você o usará no arquivo de configuração LDAP.

$ slappasswd 
Crie Usuário Admin LDAP

5. Em seguida, crie um Ldif arquivo (LDAPROOTPASSWD.ldif) que é usado para adicionar uma entrada ao diretório LDAP.

$ sudo vim ldaprootpasswd.ldif 

Adicione o seguinte conteúdo:

dn: olcdatabase = 0 config, cn = config chanGeType: modify add: olcrootpw olcrootpw: ssha senha_created 

Explicando os pares de valor de atributo acima:

  • olcdatabase: indica um nome de instância de banco de dados específico e pode ser normalmente encontrado dentro /etc/openldap/slapd.d/cn = config.
  • cn = config: indica opções de configuração global.
  • SENHA: é a sequência de hash é obtida ao criar o usuário administrativo.

6. Em seguida, adicione a entrada LDAP correspondente especificando o URI referente ao servidor LDAP e ao arquivo acima.

$ sudo ldapadd -y externo -h ldapi: /// -f ldaprootpasswd.ldif 
Adicionar parâmetros do arquivo de senha raiz

Etapa 3: Configurando o banco de dados LDAP

7. Agora copie o arquivo de configuração de banco de dados de amostra para Slapd no /var/lib/ldap diretório e defina as permissões corretas no arquivo.

$ sudo cp/usr/share/openldap-servers/db_config.Exemplo/var/lib/ldap/db_config $ sudo chown -r ldap: ldap/var/lib/ldap/db_config $ sudo systemctl reinicialização slapd slapd slapd slapd slapd slapd 

8. Em seguida, importe alguns esquemas básicos de LDAP do /etc/openldap/esquema diretório da seguinte maneira.

$ sudo ldapadd -y externo -h ldapi: /// -f/etc/openldap/schema/cosine.ldif $ sudo ldapadd -y externo -h ldapi: /// -f/etc/openldap/schema/nis.ldif $ sudo ldapadd -y externo -h ldapi: /// -f/etc/openldap/schema/inetorgperson.ldif 

9. Agora adicione seu domínio no banco de dados LDAP e crie um arquivo chamado LdapDomain.ldif para o seu domínio.

$ sudo vim ldapDomain.ldif 

Adicione o seguinte conteúdo nele (substitua o exemplo pelo seu domínio e senha com o valor de hash obtido antes):

DN: OLCDATABASE = 1 Monitor, CN = Config ChanGetype: Modify Substitua: olcaccess olcaccess: 0 para * por dn.base = "gidNumber = 0+uidNumber = 0, cn = peercred, cn = externo, cn = auth" lido por dn.base = "cn = gerente,dc = exemplo,dc = com "leia por * nenhum dn: olcdatabase = 2 hdb, cn = config changeType: modify reply: olcSuffix olcSuffix: dc = exemplo,dc = com dn: olcdatabase = 2 hdb, cn = config changetype: modificar substituir: olcrootdn olcrootdn: cn = gerente,dc = exemplo,dc = com dn: olcdatabase = 2 hdb, cn = config chanGeType: modificar add: olcrootpw olcrrootpw: ssha senha dn: olcdatabase = 2 hdb, cn = config changetype: para attrs = userpassword, shadowlastChange por dn = "cn = gerente,dc = exemplo,dc = com "Escreva por Auth Anonymous por Self Write por * Nenhum Olcacccess: 1 para DN.base = "" Por * leia olcaccess: 2 para * por dn = "cn = gerente, dc = exemplo, dc = com" escreva por * lida 

10. Em seguida, adicione a configuração acima ao banco de dados LDAP com o seguinte comando.

$ sudo ldapmodify -y externo -h ldapi: /// -f ldapDomain.ldif 
Carregar a configuração do domínio

11. Nesta etapa, precisamos adicionar algumas entradas ao nosso LDAP diretório. Crie outro arquivo chamado BaseldapDomain.ldif com o seguinte conteúdo.

dn: dc = exemplo, dc = com objectClass: top objectClass: dcObject ObjectClass: Organização o: Exemplo com dc: Exemplo DN: cn = gerente, dc = exemplo, dc = com objectclass: organizationalRole CN: Gerenciador Descrição: Directory Manager DN: ou = pessoas, dc = exemplo, dc = com objectclass: organizacionalunidade ou: pessoas dn: ou = grupo, dc = exemplo, dc = com objectclass: organizationalunit ou: grupo 

Salve o arquivo e adicione as entradas ao diretório LDAP.

$ sudo ldapadd -y externo -x -d cn = gerente, dc = exemplo, dc = com -w -f de baseldapdomain.ldif 

12. O próximo passo é criar um usuário LDAP para exemplo, Tecmint, e defina uma senha para este usuário como segue.

$ sudo userAdd tecmint $ sudo passwd tecmint 

13. Em seguida, crie as definições para um grupo LDAP em um arquivo chamado LDAPGROUP.ldif com o seguinte conteúdo.

dn: cn = gerente, ou = grupo, dc = exemplo, dc = com objectclass: top objectclass: posixgroup gidnumber: 1005 

Na configuração acima, GidNumber é o Gid em /etc/grupo para Tecmint e adicione -o ao diretório OpenLDAP.

$ sudo ldapadd -y externo -x -w -d "cn = gerente, dc = exemplo, dc = com" -f ldapgroup.ldif 

14. Em seguida, crie outro Ldif arquivo chamado LDAPUSER.ldif e adicione as definições para o usuário Tecmint.

dn: uid = tecmint, ou = pessoas, dc = exemplo, dc = com objectClass: top objectClass: conta objectClass: posixAccount ObjectClass: ShadowAccount CN: Tecmint UID: /Tecmint UIDNumber: 1005 GidNumber: 1005 Ssha senha_here loginshell: /bin /bash gecos: tecmint shadowllastchange: 0 shadowmax: 0 shadowwarning: 0 

Em seguida, carregue a configuração no diretório LDAP.

$ ldapadd -y externo -x -d cn = gerente, dc = exemplo, dc = com -w -f ldapuser.ldif 

Depois de configurar um servidor central para autenticação, a parte final é permitir que o cliente se autentique usando o LDAP, conforme explicado neste guia:

  1. Como configurar o cliente LDAP para conectar a autenticação externa

Para obter mais informações, consulte a documentação apropriada do Catalog de documentos do Software OpenLDAP e os usuários do Ubuntu podem consultar o OpenLDAP Server Guide.

Resumo

Openldap é uma implementação de código aberto do LDAP no Linux. Neste artigo, mostramos como instalar e configurar o servidor OpenLDAP para autenticação centralizada, no Ubuntu 16.04/18.04 e CentOS 7. Se você tiver uma pergunta ou pensamento para compartilhar, não hesite em entrar em contato conosco através do formulário de comentário abaixo.