Configurar la autenticación y la autorización en RHEL
Uso de SSSD, authselect y sssctl para configurar la autenticación y la autorización
Resumen
Hacer que el código abierto sea más inclusivo Copiar enlaceEnlace copiado en el portapapeles!
Red Hat se compromete a sustituir el lenguaje problemático en nuestro código, documentación y propiedades web. Estamos empezando con estos cuatro términos: maestro, esclavo, lista negra y lista blanca. Debido a la enormidad de este esfuerzo, estos cambios se implementarán gradualmente a lo largo de varias versiones próximas. Para más detalles, consulte el mensaje de nuestro CTO Chris Wright.
Proporcionar comentarios sobre la documentación de Red Hat Copiar enlaceEnlace copiado en el portapapeles!
Agradecemos su opinión sobre nuestra documentación. Por favor, díganos cómo podemos mejorarla. Para ello:
Para comentarios sencillos sobre pasajes concretos:
- Asegúrese de que está viendo la documentación en el formato Multi-page HTML. Además, asegúrese de ver el botón Feedback en la esquina superior derecha del documento.
- Utilice el cursor del ratón para resaltar la parte del texto que desea comentar.
- Haga clic en la ventana emergente Add Feedback que aparece debajo del texto resaltado.
- Siga las instrucciones mostradas.
Para enviar comentarios más complejos, cree un ticket de Bugzilla:
- Vaya al sitio web de Bugzilla.
- Como componente, utilice Documentation.
- Rellene el campo Description con su sugerencia de mejora. Incluya un enlace a la(s) parte(s) pertinente(s) de la documentación.
- Haga clic en Submit Bug.
Capítulo 1. Configuración de la autenticación de usuarios mediante authselect Copiar enlaceEnlace copiado en el portapapeles!
1.1. Para qué sirve authselect Copiar enlaceEnlace copiado en el portapapeles!
Puede utilizar la utilidad authselect para configurar la autenticación de usuarios en un host Red Hat Enterprise Linux 8.
Puede configurar la información de identidad y las fuentes y proveedores de autenticación seleccionando uno de los perfiles ya creados:
-
El perfil predeterminado
sssdhabilita el demonio de servicios de seguridad del sistema (SSSD) para los sistemas que utilizan la autenticación LDAP. -
El perfil
winbindhabilita la utilidad Winbind para sistemas directamente integrados con Microsoft Active Directory. -
El perfil
nisgarantiza la compatibilidad con los sistemas heredados de Network Information Service (NIS). -
El perfil
minimalsólo sirve a los usuarios y grupos locales directamente desde los archivos del sistema, lo que permite a los administradores eliminar los servicios de autenticación de red que ya no son necesarios.
Después de seleccionar un perfil authselect para un host determinado, el perfil se aplica a todos los usuarios que se conectan al host.
Red Hat recomienda el uso de authselect en entornos de gestión de identidades semicentralizados, por ejemplo, si su organización utiliza bases de datos LDAP, Winbind o NIS para autenticar a los usuarios que utilizan los servicios de su dominio.
No utilice authselect si su host es parte de Red Hat Enterprise Linux Identity Management (IdM). Al unir su host a un dominio IdM con el comando ipa-client-install se configura automáticamente la autenticación SSSD en su host.
Del mismo modo, no utilice authselect si su host forma parte de Active Directory a través de SSSD. Al llamar al comando realm join para unir su host a un dominio de Active Directory, se configura automáticamente la autenticación SSSD en su host.
1.1.1. Archivos y directorios que authselect modifica Copiar enlaceEnlace copiado en el portapapeles!
La utilidad authconfig, utilizada en versiones anteriores de Red Hat Enterprise Linux, creaba y modificaba muchos archivos de configuración diferentes, lo que dificultaba la resolución de problemas. Authselect simplifica las pruebas y la resolución de problemas porque sólo modifica los siguientes archivos y directorios:
|
| La biblioteca C de GNU y otras aplicaciones utilizan este archivo de configuración del conmutador de servicios de nombres (NSS) para determinar las fuentes de las que obtener información de servicios de nombres en un rango de categorías, y en qué orden. Cada categoría de información se identifica con un nombre de base de datos. |
|
| Linux-PAM (Pluggable Authentication Modules) es un sistema de módulos que se encargan de las tareas de autenticación de las aplicaciones (servicios) del sistema. La naturaleza de la autenticación es configurable dinámicamente: el administrador del sistema puede elegir cómo autenticarán a los usuarios las aplicaciones individuales que prestan servicios.
Los archivos de configuración en el directorio Entre otras cosas, estos archivos contienen información sobre:
|
|
|
Este directorio contiene perfiles de configuración para la utilidad |
1.1.2. Los proveedores de datos en /etc/nsswitch.conf Copiar enlaceEnlace copiado en el portapapeles!
El perfil por defecto sssd establece el SSSD como fuente de información mediante la creación de entradas sss en /etc/nsswitch.conf:
Esto significa que el sistema busca primero en la SSSD si se solicita información relativa a uno de esos elementos:
-
passwdpara la información del usuario -
grouppara la información del grupo de usuarios -
netgrouppara la información de NISnetgroup -
automountpara información de automontaje NFS -
servicespara obtener información sobre los servicios
Sólo si la información solicitada no se encuentra en la caché de sssd y en el servidor que proporciona la autenticación, o si sssd no se está ejecutando, el sistema busca en los archivos locales, es decir /etc/*.
Por ejemplo, si se solicita información sobre un identificador de usuario, primero se busca en la caché de sssd. Si no se encuentra allí, se consulta el archivo /etc/passwd. De forma análoga, si se solicita la afiliación a un grupo de usuarios, se busca primero en la caché sssd y sólo si no se encuentra allí, se consulta el archivo /etc/group.
En la práctica, la base de datos local files no suele consultarse. La excepción más importante es el caso del usuario root, que nunca es gestionado por sssd sino por files.
1.2. Elegir un perfil authselect Copiar enlaceEnlace copiado en el portapapeles!
Como administrador del sistema, puede seleccionar un perfil para la utilidad authselect para un host específico. El perfil se aplicará a todos los usuarios que inicien sesión en el host.
Requisitos previos
-
Necesita las credenciales de
rootpara ejecutar los comandos deauthselect
Procedimiento
Seleccione el perfil
authselectque sea apropiado para su proveedor de autenticación. Por ejemplo, para iniciar sesión en la red de una empresa que utiliza LDAP, seleccionesssd.authselect select sssd
# authselect select sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow (Opcional) Puede modificar la configuración del perfil por defecto añadiendo las siguientes opciones al comando
authselect select sssdoauthselect select winbind, por ejemplo:-
with-faillock -
with-smartcard -
with-fingerprint
-
Para ver la lista completa de opciones disponibles, consulte Sección 1.5, “Convertir sus guiones de
authconfigaauthselect” o la página de manualauthselect-migration(7).
Asegúrese de que los archivos de configuración relevantes para su perfil están configurados correctamente antes de finalizar el procedimiento authselect select. Por ejemplo, si el demonio sssd no está configurado correctamente y activo, la ejecución de authselect select da como resultado que sólo los usuarios locales puedan autenticarse, utilizando pam_unix.
Pasos de verificación
Compruebe que las entradas de
ssspara SSSD están presentes en/etc/nsswitch.conf:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Revise el contenido del archivo
/etc/pam.d/system-authpara ver las entradas depam_sss.so:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionales
-
Para ver una lista de perfiles ya hechos en
authselect, consulte Sección 1.1, “Para qué sirve authselect”. Si ajustar un perfil ya hecho añadiendo una de las opciones de la línea de comandos
authselect selectdescritas anteriormente no es suficiente para su caso de uso, puede:-
modificar un perfil ya hecho cambiando el archivo
/etc/authselect/user-nsswitch.conf. Para más detalles, consulte Sección 1.3, “Modificación de un perfil authselect ya hecho”. - crear su propio perfil personalizado. Para más detalles, consulte Sección 1.4, “Creación y despliegue de su propio perfil authselect”.
-
modificar un perfil ya hecho cambiando el archivo
1.3. Modificación de un perfil authselect ya hecho Copiar enlaceEnlace copiado en el portapapeles!
Como administrador del sistema, puede modificar uno de los perfiles por defecto para adaptarlo a sus necesidades.
Puede modificar cualquiera de los elementos del archivo /etc/authselect/user-nsswitch.conf a excepción de:
-
passwd -
group -
netgroup -
automount -
services
Si se ejecuta posteriormente authselect select profile_name , se transferirán los cambios permitidos de /etc/authselect/user-nsswitch.conf al archivo /etc/nsswitch.conf. Los cambios inaceptables son sobrescritos por la configuración del perfil por defecto.
No modifique el archivo /etc/nsswitch.conf directamente.
Procedimiento
Seleccione un perfil de
authselect, por ejemplo:authselect select sssd
# authselect select sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Edite el archivo
/etc/authselect/user-nsswitch.confcon los cambios que desee. Aplique los cambios del archivo
/etc/authselect/user-nsswitch.conf:authselect apply-changes
# authselect apply-changesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Pasos de verificación
-
Revise el archivo
/etc/nsswitch.confpara verificar que los cambios de/etc/authselect/user-nsswitch.confse han propagado allí.
Recursos adicionales
-
Para ver una lista de perfiles ya hechos en
authselect, consulte Sección 1.1, “Para qué sirve authselect”.
1.4. Creación y despliegue de su propio perfil authselect Copiar enlaceEnlace copiado en el portapapeles!
Como administrador del sistema, puede crear e implementar un perfil personalizado haciendo una copia personalizada de uno de los perfiles predeterminados.
Esto es particularmente útil si Sección 1.3, “Modificación de un perfil authselect ya hecho” no es suficiente para sus necesidades. Cuando se despliega un perfil personalizado, el perfil se aplica a todos los usuarios que inician sesión en el host dado.
Procedimiento
Cree su perfil personalizado utilizando el comando
authselect create-profile. Por ejemplo, para crear un perfil personalizado llamadouser-profilebasado en el perfil ya preparadosssdpero en el que usted mismo puede configurar los elementos del archivo/etc/nsswitch.conf:authselect create-profile user-profile -b sssd --symlink-meta --symlink-pam
# authselect create-profile user-profile -b sssd --symlink-meta --symlink-pam New profile was created at /etc/authselect/custom/user-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Incluir la opción
--symlink-pamen el comando significa que las plantillas PAM serán enlaces simbólicos a los archivos del perfil de origen en lugar de su copia; incluir la opción--symlink-metasignifica que los meta archivos, como README y REQUIREMENTS serán enlaces simbólicos a los archivos del perfil de origen en lugar de su copia. Esto asegura que todas las futuras actualizaciones de las plantillas PAM y los meta archivos en el perfil original se reflejarán también en su perfil personalizado.El comando crea una copia del archivo
/etc/nsswitch.confen el directorio/etc/authselect/custom/user-profile/.-
Configure el archivo
/etc/authselect/custom/user-profile/nsswitch.conf. Seleccione el perfil personalizado ejecutando el comando
authselect select, y añadiendocustom/name_of_the_profilecomo parámetro. Por ejemplo, para seleccionar el perfiluser-profile:authselect select custom/user-profile
# authselect select custom/user-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow La selección del perfil
user-profilepara su máquina significa que si el perfilsssdes actualizado posteriormente por Red Hat, se beneficiará de todas las actualizaciones a excepción de las realizadas en el archivo/etc/nsswitch.conf.
Ejemplo
El siguiente procedimiento muestra cómo crear un perfil basado en el perfil sssd que sólo consulta la búsqueda de la tabla estática local para los nombres de host en el archivo /etc/hosts, no en las bases de datos dns o myhostname.
Edite el archivo
/etc/nsswitch.confeditando la siguiente línea:hosts: files
hosts: filesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cree un perfil personalizado basado en
sssdque excluya los cambios en/etc/nsswitch.conf:authselect create-profile user-profile -b sssd --symlink-meta --symlink-pam
# authselect create-profile user-profile -b sssd --symlink-meta --symlink-pamCopy to Clipboard Copied! Toggle word wrap Toggle overflow Seleccione el perfil:
authselect select custom/user-profile
# authselect select custom/user-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Opcionalmente, compruebe que la selección del perfil personalizado tiene
-
crear el archivo
/etc/pam.d/system-authde acuerdo con el perfil elegidosssd dejó la configuración en el
/etc/nsswitch.confsin cambios:hosts: files
hosts: filesCopy to Clipboard Copied! Toggle word wrap Toggle overflow NotaPor el contrario, si se ejecuta
authselect selectsssd, el resultado seríahosts: files dns myhostname
hosts: files dns myhostnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
crear el archivo
Recursos adicionales
-
Para ver una lista de perfiles ya hechos en
authselect, consulte Sección 1.1, “Para qué sirve authselect”.
1.5. Convertir sus guiones de authconfig a authselect Copiar enlaceEnlace copiado en el portapapeles!
Si utilizas ipa-client-install o realm join para unirte a un dominio, puedes eliminar con seguridad cualquier llamada a authconfig en tus scripts. Si no es posible, sustituya cada llamada a authconfig por su equivalente authselect. Al hacerlo, seleccione el perfil correcto y las opciones adecuadas. Además, edite los archivos de configuración necesarios:
-
/etc/krb5.conf -
/etc/sssd/sssd.conf(para el perfilsssd) o/etc/samba/smb.conf(para el perfilwinbind)
Relación de las opciones de authconfig con los perfiles de authselect authselect ??? y Los equivalentes de las opciones de authconfig de los perfiles de authselect muestran los equivalentes de las opciones de authconfig.
| Authconfig options | Authselect profile |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Authconfig option | Authselect profile feature |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tabla 1.3, “Ejemplos de comandos authselect equivalentes a los comandos authconfig” muestra ejemplos de transformaciones de llamadas Kickstart a authconfig en llamadas Kickstart a authselect.
| authconfig command | authselect equivalent |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Capítulo 2. Entender el SSSD y sus beneficios Copiar enlaceEnlace copiado en el portapapeles!
2.1. Cómo funciona el SSSD Copiar enlaceEnlace copiado en el portapapeles!
El demonio de servicios de seguridad del sistema (SSSD) es un servicio del sistema que permite acceder a directorios remotos y mecanismos de autenticación. Puede conectar un sistema local, un SSSD client, a un sistema back-end externo, un provider, por ejemplo:
- Un directorio LDAP
- Un dominio de gestión de identidades (IdM)
- Un dominio de Active Directory (AD)
- Un reino Kerberos
El SSSD funciona en dos etapas:
- Conecta al cliente con un proveedor remoto para recuperar la información de identidad y autenticación.
- Utiliza la información de autenticación obtenida para crear una caché local de usuarios y credenciales en el cliente.
Los usuarios del sistema local pueden entonces autenticarse utilizando las cuentas de usuario almacenadas en el proveedor remoto.
SSSD no crea cuentas de usuario en el sistema local. Sin embargo, SSSD puede configurarse para crear directorios personales para los usuarios de IdM. Una vez creado, el directorio principal de un usuario de IdM y su contenido en el cliente no se eliminan cuando el usuario cierra la sesión.
Figura 2.1. Cómo funciona el SSSD
SSSD también puede proporcionar cachés para varios servicios del sistema, como Name Service Switch (NSS) o Pluggable Authentication Modules (PAM).
2.2. Ventajas del uso de la SSSD Copiar enlaceEnlace copiado en el portapapeles!
El uso del demonio de servicios de seguridad del sistema (SSSD) ofrece múltiples ventajas en cuanto a la recuperación de la identidad del usuario y la autenticación del mismo.
- Autenticación sin conexión
- SSSD mantiene opcionalmente una caché de identidades y credenciales de usuario recuperadas de proveedores remotos. En esta configuración, un usuario -siempre que se haya autenticado una vez contra el proveedor remoto al inicio de la sesión- puede autenticarse con éxito en los recursos incluso si el proveedor remoto o el cliente están desconectados.
- Una sola cuenta de usuario: mejora de la coherencia del proceso de autenticación
Con SSSD, no es necesario mantener tanto una cuenta central como una cuenta de usuario local para la autenticación sin conexión. Las condiciones son:
- En una sesión concreta, el usuario debe haberse conectado al menos una vez: el cliente debe estar conectado al proveedor remoto cuando el usuario se conecte por primera vez.
El almacenamiento en caché debe estar activado en SSSD.
Sin SSSD, los usuarios remotos suelen tener varias cuentas de usuario. Por ejemplo, para conectarse a una red privada virtual (VPN), los usuarios remotos tienen una cuenta para el sistema local y otra cuenta para el sistema VPN. En este escenario, primero hay que autenticarse en la red privada para obtener el usuario del servidor remoto y almacenar en caché las credenciales del usuario a nivel local.
Con SSSD, gracias al almacenamiento en caché y a la autenticación sin conexión, los usuarios remotos pueden conectarse a los recursos de la red simplemente autenticándose en su máquina local. SSSD mantiene entonces sus credenciales de red.
- Reducción de la carga de los proveedores de identidad y autenticación
- Al solicitar información, los clientes comprueban primero la caché local de SSSD. SSSD se pone en contacto con los proveedores remotos sólo si la información no está disponible en la caché.
2.3. Múltiples archivos de configuración de SSSD por cliente Copiar enlaceEnlace copiado en el portapapeles!
El archivo de configuración por defecto para SSSD es /etc/sssd/sssd.conf. Aparte de este archivo, SSSD puede leer su configuración de todos los archivos *.conf en el directorio /etc/sssd/conf.d/.
Esta combinación le permite utilizar el archivo /etc/sssd/sssd.conf por defecto en todos los clientes y añadir ajustes adicionales en otros archivos de configuración para ampliar la funcionalidad de forma individual por cliente.
Cómo procesa SSSD los archivos de configuración
SSSD lee los archivos de configuración en este orden:
-
El archivo principal
/etc/sssd/sssd.conf -
Otros archivos de
*.confen/etc/sssd/conf.d/, en orden alfabético
Si el mismo parámetro aparece en varios archivos de configuración, SSSD utiliza el último parámetro leído.
SSSD no lee los archivos ocultos (archivos que empiezan por .) en el directorio conf.d.
2.4. Proveedores de identidad y autenticación para SSSD Copiar enlaceEnlace copiado en el portapapeles!
Proveedores de identidad y autenticación como dominios SSSD
Los proveedores de identidad y autenticación se configuran como domains en el archivo de configuración de SSSD, /etc/sssd/sssd.conf. Los proveedores aparecen en la sección [domain/name of the domain] o [domain/default] del archivo.
Un solo dominio puede ser configurado como uno de los siguientes proveedores:
Un identity provider, que proporciona información del usuario, como el UID y el GID.
-
Especifique un dominio como el identity provider utilizando la opción
id_provideren la sección[domain/name of the domain]sección del archivo/etc/sssd/sssd.conf.
-
Especifique un dominio como el identity provider utilizando la opción
Un authentication provider, que gestiona las solicitudes de autenticación.
-
Especifique un dominio como el authentication provider utilizando la opción
auth_provideren la sección[domain/name of the domain]sección de/etc/sssd/sssd.conf.
-
Especifique un dominio como el authentication provider utilizando la opción
Un access control provider, que gestiona las solicitudes de autorización.
-
Especifique un dominio como el access control provider utilizando la opción
access_provideren la sección[domain/name of the domain]sección de/etc/sssd/sssd.conf. Por defecto, la opción se establece enpermit, que siempre permite todo el acceso. Consulte la página de manual sssd.conf(5) para más detalles.
-
Especifique un dominio como el access control provider utilizando la opción
Una combinación de estos proveedores, por ejemplo si todas las operaciones correspondientes se realizan dentro de un mismo servidor.
-
En este caso, las opciones
id_provider,auth_provider, yaccess_provideraparecen en la misma[domain/name of the domain]o[domain/default]sección de/etc/sssd/sssd.conf.
-
En este caso, las opciones
Puede configurar varios dominios para SSSD. Debe configurar al menos un dominio, de lo contrario SSSD no se iniciará.
Proveedores de proxy
Un proveedor de proxy funciona como un relé intermediario entre SSSD y los recursos que, de otro modo, SSSD no podría utilizar. Cuando se utiliza un proveedor de proxy, SSSD se conecta al servicio de proxy, y el proxy carga las bibliotecas especificadas.
Puede configurar SSSD para que utilice un proveedor de proxy con el fin de habilitarlo:
- Métodos de autenticación alternativos, como el escáner de huellas dactilares
- Sistemas heredados, como NIS
-
Una cuenta del sistema local definida en el archivo
/etc/passwdcomo proveedor de identidad y un proveedor de autenticación remoto, por ejemplo Kerberos
Combinaciones disponibles de proveedores de identidad y autenticación
Puede configurar SSSD para utilizar las siguientes combinaciones de proveedores de identidad y autenticación.
| Proveedor de identidades | Proveedor de autenticación |
|---|---|
| Gestión de identidades [a] | Gestión de la identidad |
| Directorio Activo | Directorio Activo |
| LDAP | LDAP |
| LDAP | Kerberos |
| Proxy | Proxy |
| Proxy | LDAP |
| Proxy | Kerberos |
[a]
Una extensión del tipo de proveedor LDAP.
| |
Recursos adicionales
-
Puede configurar SSSD utilizando la utilidad
authselect. Para más detalles sobre el uso deauthselect, consulte Capítulo 1, Configuración de la autenticación de usuarios mediante authselect. -
Si su host está inscrito en Identity Management (IdM) que está en un acuerdo de confianza con un bosque de Active Directory (AD), puede listar y verificar el estado de los dominios utilizando la utilidad
sssctl. Para más detalles, consulte Capítulo 6, Consulta de la información del dominio mediante SSSD. -
Puede utilizar la utilidad
sssctlpara crear informes de control de acceso y visualizar los datos de los usuarios. Para más detalles, consulte Capítulo 5, Informes sobre el acceso de los usuarios en los hosts que utilizan SSSD.
Capítulo 3. Configuración de SSSD para usar LDAP y requerir autenticación TLS Copiar enlaceEnlace copiado en el portapapeles!
3.1. Un cliente OpenLDAP que utiliza SSSD para recuperar datos de LDAP de forma encriptada Copiar enlaceEnlace copiado en el portapapeles!
El demonio de servicios de seguridad del sistema (SSSD) es un demonio que gestiona la recuperación de datos de identidad y la autenticación en un host RHEL 8. Un administrador del sistema puede configurar el SSSD en el host para utilizar una base de datos de un servidor LDAP independiente como base de datos de cuentas de usuario. Ejemplos de un servidor LDAP incluyen el servidor OpenLDAP y el Red Hat Directory Server. En este capítulo, el escenario también incluye el requisito de que la conexión con el servidor LDAP debe estar encriptada con un certificado TLS.
El método de autenticación de los objetos LDAP puede ser una contraseña Kerberos o una contraseña LDAP. Tenga en cuenta que las cuestiones de autenticación y autorización de los objetos LDAP no se abordan en este capítulo.
La configuración de SSSD con LDAP es un procedimiento complejo que requiere un alto nivel de experiencia en SSSD y LDAP. Considere utilizar una solución integrada y automatizada como Active Directory o Red Hat Identity Management (IdM) en su lugar. Para más detalles sobre IdM, consulte Planificación de la gestión de identidades.
3.2. Configuración de SSSD para usar LDAP y requerir autenticación TLS Copiar enlaceEnlace copiado en el portapapeles!
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.
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.confy se ha configurado para especificarldapcomo elautofs_providery elid_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
Instale los paquetes necesarios:
dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
# dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedirCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cambie el proveedor de autenticación a
sssd:authselect select sssd with-mkhomedir
# authselect select sssd with-mkhomedirCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copie el archivo
core-dirsrv.ca.pemque 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
# cp core-dirsrv.ca.pem /etc/openldap/certsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
URI ldap://ldap-server.example.com/ BASE dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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:
# 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.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow En el archivo
/etc/sssd/sssd.conf, añada sus valores de entorno a los parámetrosldap_uriyldap_search_base:Copy to Clipboard Copied! Toggle word wrap Toggle overflow En
/etc/sssd/sssd.conf, especifique el requisito de autenticación TLS modificando los valoresldap_tls_cacertyldap_tls_reqcerten la sección[domain]:… cache_credentials = True ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem ldap_tls_reqcert = hard …
… cache_credentials = True ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem ldap_tls_reqcert = hard …Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cambie los permisos del archivo
/etc/sssd/sssd.conf:chmod 600 /etc/sssd/sssd.conf
# chmod 600 /etc/sssd/sssd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie y active el servicio SSSD y el demonio
oddjobd:systemctl restart sssd oddjobd systemctl enable sssd oddjobd
# systemctl restart sssd oddjobd # systemctl enable sssd oddjobdCopy to Clipboard Copied! Toggle word wrap Toggle overflow (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
# update-crypto-policies --set LEGACYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
idy especificando un usuario LDAP:id ldap_user
# id ldap_user uid=17388(ldap_user) gid=45367(sysadmins) groups=45367(sysadmins),25395(engineers),10(wheel),1202200000(admins)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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]
Capítulo 4. Configuración de RHEL para utilizar AD como proveedor de autenticación Copiar enlaceEnlace copiado en el portapapeles!
4.1. Un host RHEL independiente que utiliza AD como proveedor de autenticación Copiar enlaceEnlace copiado en el portapapeles!
Como administrador del sistema, puede utilizar Active Directory (AD) como proveedor de autenticación para un host Red Hat Enterprise Linux (RHEL) sin unir el host a AD si, por ejemplo:
- No quiere conceder a los administradores de AD el control sobre la activación y desactivación del host.
- El host, que puede ser un PC corporativo, está destinado a ser utilizado sólo por un usuario de su empresa.
Aplique este procedimiento sólo en los raros casos en que se prefiera este enfoque.
Considere la posibilidad de unir el sistema a AD o a Red Hat Identity Management (IdM). Unir el host RHEL a un dominio hace que la configuración sea más fácil de gestionar. Si le preocupan las licencias de acceso de clientes relacionadas con la unión de clientes a AD directamente, considere aprovechar un servidor IdM que esté en un acuerdo de confianza con AD. Para obtener más información sobre un acuerdo de confianza IdM-AD, consulte Planificación de un acuerdo de confianza entre IdM y AD e Instalación de un acuerdo de confianza entre IdM y AD.
4.2. Configuración de un host RHEL para utilizar AD como proveedor de autenticación Copiar enlaceEnlace copiado en el portapapeles!
Realice este procedimiento para que el usuario denominado AD_user pueda iniciar sesión en el sistema rhel8_host utilizando la contraseña establecida en la base de datos de usuarios AD de Active Directory en el dominio example.com. En este ejemplo, el dominio EXAMPLE.COM Kerberos corresponde al dominio example.com.
Requisitos previos
- Tienes acceso de root a rhel8_host.
- La cuenta de usuario AD_user existe en el dominio example.com.
- El ámbito de Kerberos es EXAMPLE.COM.
-
rhel8_host no se ha unido a AD mediante el comando
realm join.
Procedimiento
Cree la cuenta de usuario AD_user localmente sin asignarle una contraseña:
useradd AD_user
# useradd AD_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow Abra el archivo
/etc/nsswitch.confpara editarlo y asegúrese de que contiene las siguientes líneas:passwd: sss files systemd group: sss files systemd shadow: files sss
passwd: sss files systemd group: sss files systemd shadow: files sssCopy to Clipboard Copied! Toggle word wrap Toggle overflow Abra el archivo
/etc/krb5.confpara editarlo y asegúrese de que contiene las siguientes secciones y elementos:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cree el archivo
/etc/sssd/sssd.confe inserte en él las siguientes secciones y líneas:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cambie los permisos del archivo
/etc/sssd/sssd.conf:chmod 600 /etc/sssd/sssd.conf
# chmod 600 /etc/sssd/sssd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Inicie el demonio de servicios del sistema de seguridad (SSSD):
systemctl start sssd
# systemctl start sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Activar SSSD:
systemctl enable sssd
# systemctl enable sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Abra el archivo
/etc/pam.d/system-authy modifíquelo para que contenga las siguientes secciones y líneas:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copie el contenido del archivo
/etc/pam.d/system-authen el archivo/etc/pam.d/password-auth. Introduzca yes para confirmar la sobreescritura del contenido actual del archivo:cp /etc/pam.d/system-auth /etc/pam.d/password-auth
# cp /etc/pam.d/system-auth /etc/pam.d/password-auth cp: overwrite '/etc/pam.d/password-auth'? yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Pasos de verificación
Solicite un ticket Kerberos (TGT) para AD_user. Introduzca la contraseña de AD_user tal y como se solicita:
kinit AD_user
# kinit AD_user Password for AD_user@EXAMPLE.COM:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Muestra el TGT obtenido:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AD_user se ha conectado con éxito a rhel8_host utilizando las credenciales del dominio Kerberos EXAMPLE.COM.
Capítulo 5. Informes sobre el acceso de los usuarios en los hosts que utilizan SSSD Copiar enlaceEnlace copiado en el portapapeles!
El Security System Services Daemon (SSSD) rastrea qué usuarios pueden o no pueden acceder a los clientes. Este capítulo describe la creación de informes de control de acceso y la visualización de los datos de los usuarios mediante la herramienta sssctl.
Requisitos previos
- Los paquetes SSSD están instalados en su entorno de red.
5.1. El comando sssctl Copiar enlaceEnlace copiado en el portapapeles!
sssctl es una herramienta de línea de comandos que utiliza Security System Services Daemon (SSSD) para recopilar información sobre:
- estado del dominio
- autenticación del usuario cliente
- el acceso de los usuarios a los clientes de un determinado dominio
- información sobre el contenido en caché
Con la herramienta sssctl, puedes:
- gestionar la caché de SSSD
- gestionar los registros
- comprobar los archivos de configuración
La herramienta sssctl sustituye a las herramientas sss_cache y sss_debuglevel.
Recursos adicionales
Para más detalles sobre
sssctl, entre:sssctl --help
# sssctl --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. Generación de informes de control de acceso mediante sssctl Copiar enlaceEnlace copiado en el portapapeles!
Puede enumerar las reglas de control de acceso aplicadas a la máquina en la que está ejecutando el informe, ya que SSSD controla qué usuarios pueden iniciar sesión en el cliente.
El informe de acceso no es preciso porque la herramienta no hace un seguimiento de los usuarios bloqueados por el Centro de Distribución de Claves (KDC).
Requisitos previos
- Debe estar conectado con privilegios de administrador
-
La página
sssctlestá disponible en los sistemas RHEL 7 y RHEL 8
Procedimiento
Para generar un informe para el dominio
idm.example.com, introduzca:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. Visualización de los detalles de la autorización del usuario utilizando sssctl Copiar enlaceEnlace copiado en el portapapeles!
El comando sssctl user-checks ayuda a depurar problemas en las aplicaciones que utilizan el demonio de servicios de seguridad del sistema (SSSD) para la búsqueda, autenticación y autorización de usuarios.
El comando sssctl user-checks [USER_NAME] muestra los datos del usuario disponibles a través del conmutador de servicio de nombres (NSS) y el respondedor InfoPipe para la interfaz D-Bus. Los datos visualizados muestran si el usuario está autorizado a iniciar sesión mediante el servicio system-auth Pluggable Authentication Module (PAM).
El comando tiene dos opciones:
-
-apara una acción PAM -
-spara un servicio PAM
Si no define las opciones -a y -s, la herramienta sssctl utiliza las opciones por defecto: -a acct -s system-auth.
Requisitos previos
- Debe estar conectado con privilegios de administrador
-
La herramienta
sssctlestá disponible en los sistemas RHEL 7 y RHEL 8
Procedimiento
Para mostrar los datos de un usuario en particular, introduzca:
sssctl user-checks -a acct -s sshd example.user
[root@client1 ~]# sssctl user-checks -a acct -s sshd example.user user: example.user action: acct service: sshd ....Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionales
Para más detalles sobre
sssctl user-checks, utilice el siguiente comando:sssctl user-checks --help
sssctl user-checks --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Capítulo 6. Consulta de la información del dominio mediante SSSD Copiar enlaceEnlace copiado en el portapapeles!
Security System Services Daemon (SSSD) puede enumerar los dominios en Identity Management (IdM), incluidos los dominios de Active Directory en la confianza entre bosques. También puede verificar el estado de cada uno de los dominios listados:
6.1. Listado de dominios con sssctl Copiar enlaceEnlace copiado en el portapapeles!
El comando sssctl domain-list ayuda a depurar problemas con la topología del dominio.
Es posible que el estado no esté disponible inmediatamente. Si el dominio no es visible, repita el comando.
Requisitos previos
- Debe estar conectado con privilegios de administrador
-
La página
sssctlestá disponible en los sistemas RHEL 7 y RHEL 8
Procedimiento
Para mostrar la ayuda del comando sssctl, introduzca:
sssctl --help
[root@client1 ~]# sssctl --help ....Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Para mostrar una lista de dominios disponibles, introduzca:
sssctl domain-list
[root@client1 ~]# sssctl domain-list
implicit_files
idm.example.com
ad.example.com
sub1.ad.example.com
La lista incluye dominios en la confianza cruzada entre Active Directory y Gestión de Identidades.
6.2. Verificación del estado del dominio mediante sssctl Copiar enlaceEnlace copiado en el portapapeles!
El comando sssctl domain-status ayuda a depurar problemas con la topología del dominio.
Es posible que el estado no esté disponible inmediatamente. Si el dominio no es visible, repita el comando.
Requisitos previos
- Debe estar conectado con privilegios de administrador
-
La página
sssctlestá disponible en los sistemas RHEL 7 y RHEL 8
Procedimiento
Para mostrar la ayuda del comando sssctl, introduzca:
sssctl --help
[root@client1 ~]# sssctl --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para mostrar los datos de los usuarios de un determinado dominio, introduzca:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
El dominio idm.example.com está en línea y es visible desde el cliente donde aplicó el comando.
Si el dominio no está disponible, el resultado es:
sssctl domain-status ad.example.com
[root@client1 ~]# sssctl domain-status ad.example.com
Unable to get online status
Capítulo 7. Eliminación de errores tipográficos en la configuración local de SSSD Copiar enlaceEnlace copiado en el portapapeles!
Puede comprobar si el archivo /etc/sssd/sssd.conf de su host contiene algún error tipográfico utilizando el comando sssctl config-check.
Requisitos previos
- Has iniciado la sesión como root.
Procedimiento
Introduzca el comando
sssctl config-check:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Abra el archivo
/etc/sssd/sssd.confy corrija el error. Si, por ejemplo, recibió el mensaje de error del paso anterior, sustituya ldap_search por ldap_search_base:[...] [domain/example1] ldap_search_base = dc=example,dc=com [...]
[...] [domain/example1] ldap_search_base = dc=example,dc=com [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Guarda el archivo.
Reinicie el SSSD:
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Pasos de verificación
Introduzca el comando
sssctl config-check:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
El archivo /etc/sssd/sssd.conf ahora no tiene errores tipográficos.