3.2. Configuración de SSSD para usar LDAP y requerir autenticación TLS

Complete este procedimiento para configurar su sistema Red Hat Enterprise Linux (RHEL) como un cliente OpenLDAP con la siguiente configuración de cliente:

  • El sistema RHEL autentifica a los usuarios almacenados en una base de datos de cuentas de usuario OpenLDAP.
  • El sistema RHEL utiliza el servicio System Security Services Daemon (SSSD) para recuperar los datos del usuario.
  • El sistema RHEL se comunica con el servidor OpenLDAP a través de una conexión cifrada TLS.
Nota

También puede utilizar este procedimiento para configurar su sistema RHEL como cliente de un Red Hat Directory Server.

Requisitos previos

  • El servidor OpenLDAP está instalado y configurado con la información de los usuarios.
  • Tienes permisos de root en el host que estás configurando como cliente LDAP.
  • En el host que está configurando como cliente LDAP, se ha creado el archivo /etc/sssd/sssd.conf y se ha configurado para especificar ldap como el autofs_provider y el id_provider.
  • Tiene una copia con formato PEM de la cadena de certificados de firma de la CA raíz de la autoridad de certificación que emitió el certificado del servidor OpenLDAP, almacenada en un archivo local llamado core-dirsrv.ca.pem.

Procedimiento

  1. Instale los paquetes necesarios:

    # dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
  2. Cambie el proveedor de autenticación a sssd:

    # authselect select sssd with-mkhomedir
  3. Copie el archivo core-dirsrv.ca.pem que contiene la cadena de certificados de firma de la CA raíz de la autoridad de certificación que emitió el certificado SSL/TLS del servidor OpenLDAP en la carpeta /etc/openldap/certs.

    # cp core-dirsrv.ca.pem /etc/openldap/certs
  4. Añade la URL y el sufijo de tu servidor LDAP al archivo /etc/openldap/ldap.conf:

    URI ldap://ldap-server.example.com/
    BASE dc=example,dc=com
  5. En el archivo /etc/openldap/ldap.conf, añada una línea que señale el parámetro TLS_CACERT a /etc/openldap/certs/core-dirsrv.ca.pem:

    # When no CA certificates are specified the Shared System Certificates
    # are in use. In order to have these available along with the ones specified
    # by TLS_CACERTDIR one has to include them explicitly:
    TLS_CACERT /etc/openldap/certs/core-dirsrv.ca.pem
  6. En el archivo /etc/sssd/sssd.conf, añada sus valores de entorno a los parámetros ldap_uri y ldap_search_base:

    [domain/default]
    id_provider = ldap
    autofs_provider = ldap
    auth_provider = ldap
    chpass_provider = ldap
    ldap_uri = ldap://ldap-server.example.com/
    ldap_search_base = dc=example,dc=com
    ldap_id_use_start_tls = True
    cache_credentials = True
    ldap_tls_cacertdir = /etc/openldap/certs
    ldap_tls_reqcert = allow
    
    [sssd]
    services = nss, pam, autofs
    domains = default
    
    [nss]
    homedir_substring = /home
    …
  7. En /etc/sssd/sssd.conf, especifique el requisito de autenticación TLS modificando los valores ldap_tls_cacert y ldap_tls_reqcert en la sección [domain]:

    …
    cache_credentials = True
    ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem
    ldap_tls_reqcert = hard
  8. Cambie los permisos del archivo /etc/sssd/sssd.conf:

    # chmod 600 /etc/sssd/sssd.conf
  9. Reinicie y active el servicio SSSD y el demonio oddjobd:

    # systemctl restart sssd oddjobd
    # systemctl enable sssd oddjobd
  10. (Opcional) Si su servidor LDAP utiliza los protocolos obsoletos TLS 1.0 o TLS 1.1, cambie la política criptográfica de todo el sistema en el sistema cliente al nivel LEGACY para permitir que RHEL 8 se comunique utilizando estos protocolos:

    # update-crypto-policies --set LEGACY

    Para más detalles, consulte la sección Funcionalidad obsoleta en las Notas de la versión de RHEL 8.0.

Pasos de verificación

  • Compruebe que puede recuperar los datos de los usuarios de su servidor LDAP utilizando el comando id y especificando un usuario LDAP:

    # id ldap_user
    uid=17388(ldap_user) gid=45367(sysadmins) groups=45367(sysadmins),25395(engineers),10(wheel),1202200000(admins)

El administrador del sistema puede ahora consultar a los usuarios desde LDAP utilizando el comando id. El comando devuelve un ID de usuario correcto y la pertenencia a un grupo.

Directiva no resuelta en master.adoc - include::assemblies/assembly_sssd-client-side-view.adoc[leveloffset= 1]