Table of Contents
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.
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 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
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
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
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
$ 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:
- 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.