Cómo instalar OpenLDAP Server para la autenticación centralizada

Cómo instalar OpenLDAP Server para la autenticación centralizada

El Protocolo ligero de acceso a directorios. ( LDAP. en resumen) es un conjunto de protocolos estándar de la industria, ligero y ampliamente utilizado para acceder a los servicios de directorio. Un servicio de directorio es una infraestructura de información compartida para acceder, administrar, organizar y actualizar elementos cotidianos y recursos de red, como usuarios, grupos, dispositivos, direcciones de correo electrónico, números de teléfono, volúmenes y muchos otros objetos.

El modelo de información LDAP. se basa en entradas. Una entrada en un directorio LDAP representa una sola unidad o información y se identifica de forma única por lo que se denomina un nombre distinguido. ( DN. . Cada uno de los atributos de la entrada tiene un tipo y uno o más valores.

Un atributo es una pieza de información asociada con una entrada. Los tipos suelen ser cadenas nemotécnicas, como “ cn. para el nombre común o “ mail. para la dirección de correo electrónico. A cada atributo se le asigna uno o más valores que consisten en una lista separada por espacios.

La siguiente es una ilustración de cómo se organiza la información en el directorio LDAP.

 Ldap Information Model Modelo de información Ldap Modelo de información Ldap

En este artículo, mostraremos cómo instalar y configurar el servidor OpenLDAP. para la autenticación centralizada en Ubuntu 16.04/18.04. y CentOS 7.

Paso 1: Instalar el servidor LDAP

freestar.config.enabled_slots.push

1.. Primero, comience instalando OpenLDAP. una implementación de código abierto de LDAP. y algunas utilidades tradicionales de administración de LDAP usando los siguientes comandos.

# yum install openldap openldap-servers #CentOS 7 $ sudo apt instale slapd ldap-utils #Ubuntu 16.04/18.04

En Ubuntu. durante la instalación del paquete, se le pedirá que ingrese la contraseña para la entrada de administrador en su directorio LDAP, establezca una contraseña segura y confirmar m it.

 Configurar Slapd Admin Password  Configurar la contraseña de administrador de Slapd Configurar la contraseña de administrador de Slapd

Cuando se complete la instalación, puede iniciar el servicio como se explica a continuación.

2.. En CentOS 7. ejecute los siguientes comandos para iniciar el demonio del servidor openldap. habilítelo para que se inicie automáticamente en el momento del arranque y verifique si está en funcionamiento (en Ubuntu. el servicio debe iniciarse automáticamente en systemd, simplemente puede verificar su estado):

$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd

3.. A continuación, permita las solicitudes al demonio del servidor LDAP. a través del firewall como se muestra.

# firewall-cmd–add-service = ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04

Paso 2: Configuración del servidor LDAP

Nota. No se recomienda editar manualmente la configuración LDAP, debe agregar las configuraciones en un archivo y usar ldapadd. o ldapmodify. para cargarlos en el directorio LDAP como se muestra a continuación.

4.. Ahora cree un usuario administrativo OpenLDAP y asigne una contraseña para ese usuario. En el siguiente comando, se crea un valor hash para la contraseña dada, anótelo, lo usará en el archivo de configuración LDAP.

$ slappasswd  Crear usuario administrador Ldap Crear usuario administrador Ldap Crear usuario administrador Ldap

5.. Luego, cree un archivo LDIF. ( ldaprootpasswd.ldif. que se utiliza para agregar una entrada al directorio LDAP.

$ sudo vim ldaprootpasswd.ldif

Agregue el siguiente contenido:

dn: olcDatabase = 0 config, cn = config changetype: modificar agregar: olcRootPW olcRootPW: SSHA PASSWO RD_CREATED

explica los pares atributo-valor anteriores:

  • olcDatabase. indica un nombre de instancia de base de datos específico y normalmente se puede encontrar dentro de /etc/openldap/slapd.d/cn=config.
  • cn = config. indica las opciones de configuración global.
  • PASSWORD. es la cadena hash obtenida al crear el usuario administrativo.

6.. Luego, agregue la entrada LDAP correspondiente especificando el URI que hace referencia al servidor ldap y el archivo anterior.

$ sudo ldapadd-Y EXTERNAL-H ldapi:///-f ldaprootpasswd.ldif Agregar parámetros desde el archivo de contraseña raíz  Agregar parámetros desde el archivo de contraseña raíz Agregar parámetros desde el archivo de contraseña raíz

Paso 3: Configurar la base de datos LDAP

7.. Ahora copie el archivo de configuración de la base de datos de muestra para slapd. en el directorio /var/lib/ldap. y establezca el permisos en el archivo.

$ sudo cp/usr/share/openldap-servers/DB_CONFIG.exampl e/var/lib/ldap/DB_CONFIG $ sudo chown-R ldap: ldap/var/lib/ldap/DB_CONFIG $ sudo systemctl restart slapd

8.. A continuación, importe algunos esquemas LDAP básicos desde el directorio /etc/openldap/schema. de la siguiente manera.

$ sudo ldapadd-Y EXTERNAL-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.. Ahora agregue su dominio en la base de datos LDAP y cree un archivo llamado ldapdomain.ldif. para su dominio.

$ sudo vim ldapdomain.ldif

Agregar el siguiente contenido en él (reemplace el ejemplo con su dominio y CONTRASEÑA con el valor hash obtenido antes):

dn: olcDatabase = 1 monitor, cn = config changetype: modificar reemplazar: olcAccess olcAccess: 0 to * by dn.base = “gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth “leído por dn.base =” cn = Manager, dc = ejemplo. dc = com “leído por * none dn: olcDatabase = 2 hdb, cn = config changetype: modificar reemplazar: olcSuffix olcSuffix: dc = ejemplo. dc = com dn: olcDatabase = 2 hdb, cn = config changetype: modificar reemplazar: olcRootDN olcRootDN: cn = Manager, dc = example. dc = com dn: olcDatabase = 2 hdb, cn = config changetype: modificar agregar: olcRootPW olcRootPW: SSHA PASSWORD dn: olcDatabase = 2 hdb, cn = config changetype: modificar agregar: olcAccess olcAccess : 0 a attrs = userPassword, shadowLastChange by dn = “cn = Manager, dc = example. dc = com” escritura por autenticación anónima por autoescritura por * none olcAccess: 1 a dn .base = “” por * leer olcAccess: 2 a * por dn = “cn = Manager, dc = ejemplo, dc = com” escribir por * leer

10.. Luego agregue el arriba con configuración a la base de datos LDAP con el siguiente comando.

$ sudo ldapmodify-Y EXTERNAL-H ldapi:///-f ldapdomain.ldif Cargar configuración de dominio  Cargar configuración de dominio Cargar configuración de dominio

11.. En este paso, necesitamos agregar algunas entradas a nuestra Directorio LDAP. Cree otro archivo llamado baseldapdomain.ldif. con el siguiente contenido.

dn: dc = example, dc = com objectClass: top objectClass: dcObject objectclass: organization o: example com dc: example dn: cn = Administrador, dc = ejemplo, dc = com objectClass: organizationRole cn: Descripción del administrador: Director de directorio dn: ou = People, dc = example, dc = com objectClass: organizationUnit ou: People dn: ou = Group, dc = example dc = com objectClass: organizationUnit ou: Group

Guarde el archivo y luego agregue las entradas al directorio LDAP.

$ sudo ldapadd-Y EXTERNAL-x-D cn = Manager, dc = example, dc = com-W-f baseldapdomain.ldif

12.. El siguiente paso es crear un usuario LDAP por ejemplo. tecmint. y establecer un contraseña para este usuario de la siguiente manera.

$ sudo useradd tecmint $ sudo passwd tecmint

13.. Luego cree las definiciones para un grupo LDAP en un archivo llamado ldapgroup.ldif con lo siguiente g contenido.

dn: cn = Manager, ou = Group, dc = example, dc = com objectClass: top objectClass: posixGroup gidNumber: 1005

En la configuración anterior, gidNumber. es el GID. en /etc/group. para tecmint. y agréguelo al directorio OpenLDAP.

$ sudo ldapadd-Y EXTERNAL-x-W-D “cn = Manager, dc = example, dc = com”-f ldapgroup.ldif

14.. A continuación, cree otro archivo LDIF. llamado ldapuser.ldif. y agregue las definiciones para el usuario tecmint.

dn: uid = tecmint, ou = People, dc = example, dc = com objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount cn: tecmint uid: tecmint uidNumber: 1005 gidNumber: 1005 homeDirectory:/home/tecmint userPassword: SSHA PASSWORD_HERE loginShell:/bin/bash gecos: tecmint shadowLastChange: 0 luego cargue la configuración en el directorio LDAP.

$ ldapadd-YE XTERNAL-x-D cn = Manager, dc = example, dc = com-W-f ldapuser.ldif

Una vez que haya configurado un servidor central para la autenticación, la parte final es permitir que el cliente se autentique usando LDAP como se explica en esta guía:

  1. Cómo configurar el cliente LDAP para conectar la autenticación externa

Para obtener más información, consulte la documentación correspondiente del catálogo de documentos del software OpenLDAP y los usuarios de Ubuntu puede consultar la guía del servidor OpenLDAP.