GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar y configurar OpenLDAP en CentOS / RHEL Linux

LDAP significa Protocolo ligero de acceso a directorios.

LDAP es una solución para acceder a información almacenada centralmente a través de la red. Esta información almacenada centralmente se organiza en un directorio que sigue el estándar X.500.

La información se almacena y organiza de manera jerárquica y la ventaja de este enfoque es que la información se puede agrupar en contenedores y los clientes pueden acceder a estos contenedores cuando sea necesario.

La jerarquía de OpenLDAP es casi similar a la jerarquía de DNS.

Los siguientes son los dos objetos más utilizados en OpenLDAP:

  1. cn (nombre común):se refiere a las entradas de hoja, que son objetos finales (por ejemplo, usuarios y grupos)
  2. dc (componente de dominio):hace referencia a una de las entradas de contenedor en la jerarquía LDAP. Si en una configuración, la jerarquía LDAP se asigna a una jerarquía DNS, normalmente todos los dominios DNS se denominan objetos DC.

Por ejemplo, si hay un usuario en la jerarquía sam.thegeekstuff.com, el nombre completo de este usuario se denomina cn=sam, dc=thegeekstuff, dc=com. Si notó que en el FDN (nombre completamente distinguido), se usa una coma como separador y no un punto, lo cual es común en DNS.

Al usar los diferentes tipos de entrada LDAP, puede configurar una estructura de directorio jerárquica. Esta es la razón por la cual openLDAP es tan ampliamente utilizado. Puede crear fácilmente una jerarquía openLDAP en la que se pueda hacer referencia fácilmente a los objetos en otras ubicaciones sin almacenarlos en servidores locales. Esto hace que OpenLDAP sea un directorio liviano, especialmente cuando se compara con otros servidores de directorio como Active Directory de Microsoft.

Ahora veamos cómo configurar una sola instancia de un servidor LDAP que pueden usar varios clientes en su red para la autenticación.

Instalar paquetes OpenLDAP

En CentOS y RedHat, use yum install como se muestra a continuación para instalar los paquetes relacionados con openldap.

yum install -y openldap openldap-clients openldap-servers

Debe instalar los siguientes tres paquetes:

  1. servidores openldap:este es el servidor LDAP principal
  2. openldap-clients:contiene todas las utilidades de cliente LDAP requeridas
  3. openldap:este paquete contiene las bibliotecas de soporte de LDAP

Archivos de configuración LDAP

  • config.ldif:la configuración predeterminada de LDAP se almacena en un archivo en /etc/openldap/slapd.d/cn=config.ldif que se crea en formato LDIF. Este es el formato de entrada LDAP (LDIF), un formato específico que le permite ingresar información en el directorio LDAP.
  • olcDatabase{2}bdb.ldif:también puede modificar la configuración, como la cantidad de conexiones que admite el servidor, los tiempos de espera y otras configuraciones de la base de datos en el archivo /etc/openldap/slapd.d/cn=config/olcDatabase{2 }bdb.ldif. Este es el archivo que también contiene parámetros como el usuario raíz de LDAP y el DN base.

Crear cuenta olcRootDN como administrador

Siempre se recomienda crear primero una cuenta de usuario dedicada con todos los permisos para cambiar la información en la base de datos LDAP.

Modifique el archivo olcDatabase={2}bdb.ldif y cambie la entrada olcRootDN. La siguiente es la entrada predeterminada.

# grep olcRootDN /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcRootDN: cn=Manager,dc=my-domain,dc=com

Cambie la línea anterior a un usuario administrador. En este ejemplo, el usuario "ramesh" será el olcRootDN.

olcRootDN: cn=ramesh,dc=thegeekstuff,dc=com

Crear contraseña raíz olcRootPW

Ahora use el comando slappasswd para crear un hash para la contraseña de root que desea usar. Una vez que se genera la contraseña, abra el archivo cn=config.ldif, incluya el parámetro olcRootPW y copie la contraseña codificada como se muestra a continuación.

Ejecute el siguiente comando y especifique una contraseña. Esto generará el hash para la contraseña dada.

# slappasswd
New password: SecretLDAPRootPass2015
Re-enter new password: SecretLDAPRootPass2015
{SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Tome la salida hash del comando anterior y agréguela al parámetro oclRootPW en el archivo config.ldif como se muestra a continuación.

# vi /etc/openldap/slapd.d/cn=config.ldif
olcRootPW: {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Crear nombre de dominio olcSuffix

Ahora configure el olcSuffix y configure el dominio que desea. Simplemente modifique la línea que comienza con olcSuffix en el archivo olcDatabase={2}bdb.ldif como se muestra a continuación.

# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcSuffix: dc=thegeekstuff,dc=com

Verificar los archivos de configuración

Use el comando slaptest para verificar el archivo de configuración como se muestra a continuación. Esto debería mostrar el mensaje "prueba exitosa" como se muestra a continuación.

# slaptest -u
config file testing succeeded

Es posible que reciba los siguientes mensajes durante el comando anterior, que puede ignorar por ahora.

54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif"

Iniciar el servidor LDAP

Inicie el servidor ldap como se muestra a continuación.

# service slapd start
Checking configuration files for slapd: [WARNING]
config file testing succeeded
Starting slapd:                         [  OK  ]

Verificar la búsqueda LDAP

Para verificar que el servidor ldap esté configurado correctamente, puede usar el siguiente comando y verificar que la entrada del dominio esté presente.

# ldapsearch -x -b "dc=thegeekstuff,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1

Estructura base de LDAP en base.ldif

El uso de objetos OU (unidad organizativa) puede ayudarlo a proporcionar una estructura adicional a la base de datos LDAP. Si planea agregar diferentes tipos de entradas, como usuarios, grupos, computadoras, impresoras y más al directorio LDAP, es más fácil colocar cada tipo de entrada en su propio contenedor.

Para crear estas unidades organizativas, puede crear un archivo LDIF inicial como se muestra en el siguiente ejemplo. En este ejemplo, este archivo le permite crear el contenedor base que es dc=thegeekstuff,dc=com y crea dos unidades organizativas con los nombres de usuarios y grupos en ese contenedor.

# cat base.ldif
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

Importar estructura base usando ldapadd

Ahora podemos importar la estructura base al directorio LDAP usando el comando ldapadd como se muestra a continuación.

# ldapadd -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -f base.ldif
Enter LDAP Password:
adding new entry "dc=thegeekstuff,dc=com"
adding new entry "ou=users,dc=thegeekstuff,dc=com"
adding new entry "ou=groups,dc=thegeekstuff,dc=com"

Verificar la Estructura Base utilizando ldapsearch

Para verificar que las unidades organizativas se crearon correctamente, use el siguiente comando ldapsearch.

# ldapsearch -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -b "dc=thegeekstuff,dc=com" "(objectclass=*)"
Enter LDAP Password:

El resultado del comando anterior mostrará todos los objetos en la estructura del directorio LDAP.

# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thegeekstuff.com
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
# users, thegeekstuff.com
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
# groups, thegeekstuff.com
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3

En el próximo artículo de OpenLDAP, explicaremos cómo agregar nuevos usuarios y grupos al directorio LDAP.


Linux
  1. CentOS/RHEL 7:Cómo instalar y configurar telnet

  2. Cómo instalar y configurar Samba en CentOS/RHEL

  3. CentOS / RHEL 4:Cómo instalar y configurar el servidor FTP (vsftpd)

  4. CentOS / RHEL 5:Cómo instalar y configurar el servidor vsftpd

  5. Cómo instalar y configurar telnet en RHEL/CentOS 5,6

Cómo instalar y configurar HAProxy en CentOS 8 / RHEL 8

Cómo instalar y configurar Checkmk en CentOS 8 / RHEL 8

Cómo instalar y configurar Nagios Core en CentOS 8 / RHEL 8

Cómo instalar y configurar Denyhost en Centos 7 Linux

Cómo instalar y configurar Jenkins en CentOS 8 / RHEL 8

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8