Serie RHCSA Configuración de autenticación basada en LDAP en RHEL 7 - Parte 14
- 4970
- 366
- Sr. Eduardo Menchaca
Comenzaremos este artículo describiendo algunos Ldap Conceptos básicos (qué es, donde se usa y por qué) y muestre cómo configurar un servidor LDAP y configurar un cliente para autenticarse contra él utilizando Red Hat Enterprise Linux 7 sistemas.
Serie RHCSA: Configurar la autenticación del servidor LDAP y el cliente - Parte 14Como veremos, hay varios otros posibles escenarios de aplicación, pero en esta guía nos centraremos por completo en Basado en LDAP autenticación. Además, tenga en cuenta que debido a la inmensidad del tema, solo cubriremos sus conceptos básicos aquí, pero puede consultar la documentación descrita en el resumen para obtener detalles más profundos.
Por la misma razón, notará que he decidido dejar de lado varias referencias a las páginas del hombre de las herramientas LDAP en aras de la brevedad, pero las explicaciones correspondientes están a la distancia de una punta de los dedos (hombre ldapadd, Por ejemplo).
Dicho esto, comencemos.
Nuestro entorno de prueba
Nuestro entorno de prueba consta de dos Rhel 7 cajas:
Servidor: 192.168.0.18. FQDN: rhel7.mi dominio.comunicarse Cliente: 192.168.0.20. FQDN: ldapclient.mi dominio.comunicarse
Si lo desea, puede usar la máquina instalada en la Parte 12: Automatice las instalaciones de RHEL 7 usando Kickstart como cliente.
¿Qué es LDAP??
Ldap representa Protocolo de acceso de directorio liviano y consiste en un conjunto de protocolos que permite que un cliente acceda, a través de una red, la información almacenada central (como un directorio de shells de inicio de sesión, rutas absolutas a los directorios de inicio y otra información típica del usuario del sistema, por ejemplo) que debería ser accesible Desde diferentes lugares o disponibles para una gran cantidad de usuarios finales (otro ejemplo sería un directorio de direcciones de viviendas y números de teléfono de todos los empleados en una empresa).
Mantener esa (y más) información de manera central significa que puede ser más fácilmente fácil de mantener y acceder por todos los que se les ha otorgado permisos para usarla para usarla.
El siguiente diagrama ofrece un diagrama simplificado de Ldap, y se describe a continuación con mayor detalle:
Diagrama LDAPExplicación del diagrama anterior en detalle.
- Un entrada En un directorio LDAP representa una sola unidad o información y se identifica de manera única por lo que se llama un nombre distinguido.
- Un atributo es una información asociada con una entrada (por ejemplo, direcciones, números de teléfono de contacto disponibles y direcciones de correo electrónico).
- A cada atributo se le asigna uno o más valores que consiste en una lista separada por el espacio. Un valor único por entrada se llama nombre relativo distinguido.
Dicho esto, procedamos con las instalaciones del servidor y el cliente.
Instalación y configuración de un servidor LDAP y cliente
En Rhel 7, LDAP se implementa por Abre. Para instalar el servidor y el cliente, use los siguientes comandos, respectivamente:
# Yum Update && Yum Instale OpenLDAP OpenLDAP-Clients OpenLDAP-Mervers # Yum Update && Yum Instale OpenLDAP OpenLDAP-Clients nss-pam-ldapd
Una vez que se completa la instalación, hay algunas cosas que vemos. Los siguientes pasos deben realizarse solo en el servidor, a menos que se indique explícitamente:
1. Cerciorarse Selinux no se interpone en el camino habilitando lo siguiente booleanos Persistentemente, tanto en el servidor como en el cliente:
# setseBool -p plod_ypbind = 0 authlogin_nsswitch_use_ldap = 0
Dónde PETH_YPBIND se requiere para la autenticación basada en LDAP, y authlogin_nsswitch_use_ldap puede ser necesario por algunas aplicaciones.
2. Habilitar e iniciar el servicio:
# SystemCTL Habilitar SLAPD.Servicio # SystemCTL Start Slapd.servicio
Tenga en cuenta que también puede deshabilitar, reiniciar o detener el servicio con SystemCTL también:
# SystemCTL Disable Slapd.Servicio # SystemCTL reiniciar SLAPD.Servicio # SystemCTL Stop Slapd.servicio
3. Desde el abatimiento El servicio se ejecuta como el usuario de LDAP (que puede verificar con ps -e -o pid, uname, comunicación | Grep Slapd), dicho usuario debe ser dueño del /var/lib/ldap Directorio para que el servidor pueda modificar las entradas creadas por herramientas administrativas que solo se pueden ejecutar como root (más sobre esto en un minuto).
Antes de cambiar la propiedad de este directorio de manera recursiva, copie el archivo de configuración de la base de datos de muestra para abatimiento en ello:
# cp/usr/share/openldap-servers/db_config.Ejemplo/var/lib/ldap/db_config # chown -r ldap: ldap/var/lib/ldap
4. Configure un usuario administrativo de OpenLDAP y asigne una contraseña:
# slappasswd
Como se muestra en la siguiente imagen:
Establecer contraseña de administrador de LDAPy crear un Ldif archivo (ldaprootpasswd.ldif) con los siguientes contenidos:
dn: olcdatabase = 0 config, cn = configure changeType: modificar add: olcrootpw olcrootpw: ssha contraseña
dónde:
- CONTRASEÑA ¿La cadena hash se obtuvo anteriormente?.
- CN = config indica opciones de configuración global.
- olcdatabase indica un nombre de instancia de base de datos específico y se puede encontrar típicamente dentro /etc/openldap/slapd.d/cn = config.
Refiriéndose a los antecedentes teóricos proporcionados anteriormente, el ldaprootpasswd.ldif
El archivo agregará una entrada al directorio LDAP. En esa entrada, cada línea representa un atributo: el par de valores (donde DN, ChangeType, Add y OlCrootPW son los atributos y las cadenas a la derecha de cada colon son sus valores correspondientes).
Es posible que desee tener esto en cuenta a medida que avanzamos más, y tenga en cuenta que estamos utilizando los mismos nombres comunes (CN =)
Durante el resto de este artículo, donde cada paso depende del anterior.
5. Ahora, agregue la entrada LDAP correspondiente especificando el Uri Refiriéndose al servidor LDAP, donde solo se permiten los campos de protocolo/host/puerto.
# ldapadd -h ldapi: /// -f ldaprootpasswd.ldif
La salida debe ser similar a:
Configuración LDAPe importar algunas definiciones básicas de LDAP del /etc/openldap/esquema
directorio:
# para Def en coseno.ldif nis.Ldif inetorgperson.ldif; do ldapadd -h ldapi: /// -f/etc/openldap/schema/$ def; hechoDefiniciones LDAP
6. Hacer que LDAP use su dominio en su base de datos.
Crea otro Ldif archivo, que llamaremos ldapdapdomain.ldif
, Con el siguiente contenido, reemplazar su dominio (en el componente de dominio DC =) y la contraseña según corresponda:
dn: olcdatabase = 1 monitor, cn = config gangeType: modificar reemplazar: olcaccess olcaccess: 0 a * por dn.base = "gidnumber = 0+uidnumber = 0, cn = parcred, cn = externo, cn = auth" leído por dn.base = "CN = Manager,DC = Mydomain,dc = com "leído por * ninguno Dn: olcdatabase = 2 hdb, cn = config ChangeType: modificar reemplazo: olcsuffix olcsuffix: DC = Mydomain,dc = com dn: olcdatabase = 2 hdb, cn = config ChangeType: modificar reemplazo: olcrootdn olcrootdn: cn = gerente,DC = Mydomain,dc = com dn: olcdatabase = 2 hdb, cn = config ChangeType: modificar add: olcrootpw olcrootpw: ssha contraseña dn: olcdatabase = 2 hdb, cn = configure changeType: modificar add: olcacess olcaccess: 0 a attrs = userPassword, shadowloastchange por dn = "cn = gerente,DC = Mydomain,dc = com "Escribir por Auth Auth by Self Write by * Ninguno Olcaccess: 1 a DN.base = "" por * leer olcaccess: 2 a * por dn = "cn = ganager, dc = mydomain, dc = com" Escribir por * leer
Luego cargalo de la siguiente manera:
# ldapmodify -h ldapi: /// -f ldapdomain.ldifConfiguración del dominio LDAP
7. Ahora es el momento de agregar algunas entradas a nuestro directorio LDAP. Los atributos y los valores están separados por un colon (:)
En el siguiente archivo, que nombraremos Baseldapdapdapdapdapdapdap.ldif
:
dn: dc = mydomain, dc = com objectClass: Top ObjectClass: DCObject ObjectClass: Organization O: MyDomain Com DC: MyDomain DN: CN = Manager, DC = Mydomain, DC = Com ObjectClass: OrganizationalRole CN: Manager Descripción: Directory Manager DN: OU = People, DC = MyDomain, DC = Com ObjectClass: OrganizationalUnit OU: People DN: OU = Group, DC = MyDomain, DC = Com ObjectClass: OrganizationalUnit OU: Group
Agregue las entradas al directorio LDAP:
# ldapadd -x -d cn = ganager, dc = mydomain, dc = com -w -f BaselDapdomain.ldifAgregar atributos y valores de dominio LDAP
8. Crear un usuario de LDAP llamado ldapuser (adduser ldapuser), luego cree las definiciones para un grupo LDAP en ldapgroup.ldif
.
# Adduser Ldapuser # VI LDAPGROUP.ldif
Agregar contenido siguiente.
DN: CN = Manager, OU = Group, DC = Mydomain, DC = Com ObjectClass: Top ObjectClass: PosixGroup GidNumber: 1004
dónde number es el GID en /etc/grupo para ldapuser) y cargalo:
# ldapadd -x -w -d "cn = ganager, dc = mydomain, dc = com" -f ldapgroup.ldif
9. Agregue un archivo LDIF con las definiciones para el usuario LDAPUSER (ldapuser.ldif
)
dn: uid = ldapUser, ou = personas, dc = mydomain, dc = com ObjectClass: Top ObjectClass: Cuenta ObjectClass: PosixAcCount ObjectClass: ShadowAcCount CN: LDAPUSER UID: LDAPUSER UIDNumber: 1004 GidNumber: 1004 Homedirectory: /Home /LDapuser UserPassword: Ssha fin0yqzbdudi0fpqq9uudwmjzqy28s3m loginshell: /bin /bash gecos: ldapuser shadowlastastchange: 0 shadowmax: 0 shadowwarning: 0
y cargarlo:
# ldapadd -x -d cn = ganager, dc = mydomain, dc = com -w -f ldapuser.ldifConfiguración del usuario de LDAP
Del mismo modo, puede eliminar la entrada del usuario que acaba de crear:
# ldapdelete -x -w -d cn = ganager, dc = mydomain, dc = com "uid = ldapuser, ou = personas, dc = mydomain, dc = com"
10. Permitir la comunicación a través del firewall:
# firewall-cmd --add-service = ldap
11. Por último, pero no menos importante, habilita que el cliente se autentique usando LDAP.
Para ayudarnos en este último paso, usaremos el authconfig utilidad (una interfaz para configurar los recursos de autenticación del sistema).
Usando el siguiente comando, se crea el directorio de inicio para el usuario solicitado si no existe después de la autenticación contra el servidor LDAP tiene éxito:
# authconfig --enableldap --eNablelDapauth --Dapserver = RHEL7.mi dominio.com --dapBaseedn = "dc = mydomain, dc = com" --enablemkhomedir -updateConfiguración del cliente LDAP
Resumen
En este artículo hemos explicado cómo configurar la autenticación básica en un servidor LDAP. Para configurar aún más la configuración descrita en la presente guía, consulte la configuración del Capítulo 13 - LDAP en la Guía del administrador del sistema RHEL 7, prestando especial atención a la configuración de seguridad utilizando TLS.
Siéntase libre de dejar cualquier pregunta que pueda tener utilizando el formulario de comentarios a continuación.
- « Cómo montar Google Drive en Linux usando el cliente Google Drive Ocamlfuse
- Instalación de la lámpara (Linux, Apache, Mariadb y PHP) en Fedora 22 »