Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Trabajo con servicios de nombres y directorios en Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Español) |
Parte I Acerca de los servicios de nombres y directorios
1. Servicios de nombres y directorios (descripción general)
2. Conmutador de servicio de nombres (descripción general)
4. Configuración de clientes de Active Directory de Oracle Solaris (tareas)
Parte II Configuración y administración de NIS
5. Servicio de información de red (descripción general)
6. Instalación y configuración del servicio NIS (tareas)
7. Administración de NIS (tareas)
8. Resolución de problemas de NIS
Parte III Servicios de nombres LDAP
9. Introducción a los servicios de nombres LDAP (descripción general)
10. Requisitos de planificación para servicios de nombres LDAP (tareas)
11. Configuración de Oracle Directory Server Enterprise Edition con clientes LDAP (tareas)
12. Configuración de clientes LDAP (tareas)
Requisitos previos para la configuración del cliente LDAP
LDAP y la utilidad de gestión de servicios
Inicialización de un cliente LDAP
Cómo inicializar un cliente LDAP mediante perfiles
Cómo inicializar un cliente LDAP utilizando credenciales por usuario
Cómo inicializar un cliente LDAP mediante credenciales de proxy
Cómo inicializar un cliente LDAP para permitir la actualización de datos shadow
Cómo inicializar un cliente LDAP manualmente
Cómo modificar una configuración de cliente LDAP manual
Cómo cancelar la inicialización de un cliente LDAP
Configuración de seguridad TLS
Recuperación de información de servicios de nombres LDAP
Listado de todos los contenedores LDAP
Listado de todos los atributos de entrada de usuario
Personalización del entorno de cliente LDAP
Modificación del cambio de servicio de nombres para LDAP
13. Resolución de problemas de LDAP (referencia)
14. Servicio de nombres LDAP (Referencia)
El comando ldapclient se usa para configurar clientes LDAP en un sistema de Oracle Solaris. El comando asume que el servidor ya se ha configurado con los perfiles de cliente apropiados. Debe instalar y configurar el servidor con los perfiles adecuados antes de configurar los clientes.
Nota - Debido a que LDAP y NIS usan el mismo componente de nombre de dominio que está definido en el servicio network/nis/domain, el sistema operativo Oracle Solaris no admite una configuración en la que un cliente NIS y un cliente LDAP nativo coexisten en el mismo sistema de cliente.
Hay dos formas principales para configurar un cliente mediante ldapclient .
Perfil
Como mínimo, debe especificar la dirección del servidor que contiene el perfil y el dominio que desea utilizar. Si no se especifica ningún perfil, se toma el perfil “predeterminado”. El servidor proporcionará el resto de la información necesaria, excepto la información de proxy y de base de datos de certificados. Si un nivel de credencial de un cliente es proxy o proxy anonymous, debe proporcionar el DN vinculado de proxy y la contraseña. Consulte Asignación de niveles de credencial de cliente para obtener más información.
Para activar la actualización de datos shadow, debe proporcionar las credenciales de administración (adminDN más adminPassword).
Manual
Debe configurar el perfil en el cliente mismo, lo que significa que debe definir todos los parámetros desde la línea de comandos. Por lo tanto, la información de perfil se almacena en archivos de caché y el servidor nunca la actualiza.
Nota - En entornos empresariales, el uso de un perfil de configuración LDAP puede reducir la complejidad si el perfil se comparte entre equipos.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient init -a profileName=new \ -a domainName=west.example.com 192.168.0.1 System successfully configured
Antes de empezar
Antes de configurar un cliente LDAP con las credenciales por usuario, los siguientes elementos ya deben estar configurados:
Uno o más servidores de centro de distribución de claves de Kerberos (KDC) deben estar configurados y en ejecución.
DNS, el acceso de cliente a un servidor DNS y, al menos, un servidor DNS deben estar configurados y en ejecución.
Kerberos debe estar configurado y activado en el equipo cliente.
Debe existir un perfil de instalación de cliente Kerberos como el siguiente:
# cat /usr/tmp/krb5.profile REALM EXAMPLE.COM KDC kdc.example.com ADMIN super/admin FILEPATH /usr/tmp/krb5.conf NFS 1 DNSLOOKUP none
El servidor LDAP debe estar instalado y configurado para admitir sasl/GSSAPI.
Debe haber configuraciones de asignación de identidad adecuadas.
Los principales del host de Kerberos para el servidor de directorios y el KDC deben estar configurados en el KDC.
El comando idsconfig se debe haber ejecutado en el DIT del servidor de directorios que se va a utilizar.
Un perfil por usuario gssapi adecuado (como gssapi_example.com) debe estar creado.
En el siguiente ejemplo parcial, se muestra una ilustración de un perfil por usuario en el comando idsconfig:
# /usr/lib/ldap/idsconfig Do you wish to continue with server setup (y/n/h)? [n] y Enter the Directory Server's hostname to setup: kdc.example.com Enter the port number for DSEE (h=help): [389] <Enter your port> Enter the directory manager DN: [cn=Directory Manager] <Enter your DN> Enter passwd for cn=Directory Manager : <Enter your password> Enter the domainname to be served (h=help): [example.com] <Enter your domain> Enter LDAP Base DN (h=help): [dc=example,dc=com] <Enter your DN> GSSAPI is supported. Do you want to set up gssapi:(y/n) [n] y Enter Kerberos Realm: [EXAMPLE.COM] EXAMPLE.COM
Nota - Además, para un perfil gssapi, debe proporcionar un nivel de credencial de 4 self y un método de autenticación de 6 sasl/GSSAPI.
Los principales de usuario necesarios deben existir en el KDC.
En el equipo cliente, Kerberos se debe inicializar mediante el perfil de cliente con un comando, como el siguiente:
# /usr/sbin/kclient -p /usr/tmp/krb5.profile
El cambio de servicio de nombres debe estar configurado para usar dns para hosts. El siguiente comando comprueba los siguientes valores de repositorio:
% svcprop -p config/host system/name-service/switch files\ dns\ nis
DNS debe estar configurado y el servicio DNS debe estar en ejecución. Consulte los capítulos de DNS en este documento para obtener detalles.
El DIT del servidor de directorios debe estar cargado previamente con (como mínimo) los usuarios de este equipo cliente, el host de cliente y las entradas LDAP auto_home necesarias. Consulte otras secciones de este manual para obtener detalles sobre cómo agregar entradas con el comando ldapaddent.
Nota - No edite ningún archivo de configuración de cliente directamente. Utilice el comando ldapclient para crear o modificar el contenido de estos archivos.
# /usr/sbin/ldapclient init -a profilename=gssapi_EXAMPLE.COM -a \ domainname=example.com 9.9.9.50
Si el archivo syslog tiene este mensaje: libsldap: Status: 7 Mesg: openConnection: GSSAPI bind failed - 82 Local error, es probable que Kerberos no se haya inicializado o que el ticket haya caducado. Ejecute el comando klist para buscar. Por ejemplo, ejecute kinit -p foo o kinit -R -p foo e intente nuevamente.
Si lo desea, puede agregar pam_krb5.so.1 a /etc/pam.conf de manera que se ejecute automáticamente el comando kinit al iniciar sesión.
Por ejemplo:
login auth optional pam_krb5.so.1 rlogin auth optional pam_krb5.so.1 other auth optional pam_krb5.so.1
Si un usuario ha ejecutado el comando kinit y el mensaje syslog indica Invalid credential, entonces el problema podría ser que la entrada de host root o la entrada de usuario no está en el directorio LDAP o que las reglas de asignación no son correctas.
Cuando se ejecuta el comando ldapclient init, comprueba si el perfil LDAP contiene una configuración self/ sasl/GSSAPI. Si se produce un error en la comprobación de conmutador, entonces el motivo es, generalmente, que DNS no era el criterio de búsqueda para la base de datos de host.
Si se produce un error en la comprobación porque el ID de cliente de DNS no está activado, ejecute svcs -l dns/client para determinar si el servicio está desactivado. Ejecute svcadm enable dns/client para activar el servicio.
Si se produce un error en la comprobación por una vinculación sasl/GSSAPI, compruebe syslog para determinar el problema.
Consulte otras referencias en esta guía y en Administración de Oracle Solaris 11.1: servicios de seguridad para obtener más detalles.
Nota - No edite ninguno de los archivos de configuración de cliente directamente. Utilice el comando ldapclient para crear o modificar el contenido de estos archivos.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient init \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a domainName=west.example.com \ -a profileName=pit1 \ -a proxyPassword=test1234 192.168.0.1 System successfully configured
Las opciones -a proxyDN y -a proxyPassword son necesarias si el perfil que se va a utilizar está configurado para proxy . Debido a que las credenciales no se almacenan en el perfil guardado en el servidor, debe proporcionar la información al inicializar el cliente. Este método es más seguro que el método anterior para almacenar las credenciales de proxy en el servidor.
La información de proxy está almacenada en el servicio svc:/network/ldap/client en los grupos de propiedad config y cred.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient mod -a enableShadowUpdate=TRUE \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password System successfully configured
# ldapclient init \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password -a domainName=west.example.com \ -a profileName=WestUserProfile \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=<proxy_password> \ 192.168.0.1 System successfully configured
El resultado es similar al siguiente:
# svcprop -p cred svc:/network/ldap/client cred/read_authorization astring solaris.smf.value.name-service.ldap.client cred/value_authorization astring solaris.smf.value.name-service.ldap.client cred/bind_dn astring cn=proxyagent,ou=profile,dc=west,dc=example,dc=com cred/bind_passwd astring {NS1}4a3788f8eb85de11 cred/enable_shadow_update boolean true cred/admin_bind_dn astring cn=admin,ou=profile,dc=west,dc=example,dc=com cred/admin_bind_passwd astring {NS1}4a3788f8c053434f
Los usuarios root o los administradores con un rol equivalente, pueden realizar configuraciones de cliente LDAP manuales. Sin embargo, muchas de las comprobaciones se omiten durante el proceso, por lo que es relativamente fácil configurar de forma incorrecta el sistema. Además, debe cambiar los valores en cada equipo, en lugar de hacerlo en un solo lugar central, como cuando se utilizan perfiles.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient manual \ -a domainName=dc=west.example.com -a credentialLevel=proxy \ -a defaultSearchBase=dc=west,dc=example,dc=com \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=testtest 192.168.0.1
# ldapclient list NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_CREDENTIAL_LEVEL= proxy
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient mod -a authenticationMethod=simple
# ldapclient list NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_AUTH= simple NS_LDAP_CREDENTIAL_LEVEL= proxy
Errores más frecuentes
No puede cambiar algunos atributos de la configuración de un cliente LDAP con el subcomando mod. Por ejemplo, no puede cambiar los atributos profileName y profileTTL. Para cambiar estos atributos, cree un nuevo perfil mediante el comando ldapclient init, como se describe en Cómo inicializar un cliente LDAP mediante perfiles. O, ejecute el comando ldapclient manual, como se describe en Cómo inicializar un cliente LDAP manualmente.
El comando ldapclient uninit restaura el servicio de nombres de cliente a lo que estaba antes de la operación init, modify o manual más reciente. En otras palabras, el comando “deshace” la acción al último paso realizado. Por ejemplo, si el cliente se configuró para usar profile1 y luego se modificó para usar profile2, con ldapclient uninit volverá a hacer que el cliente use profile1.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# ldapclient uninit System successfully recovered
Nota - Los archivos de la base de datos de seguridad deben ser legibles para todos los usuarios. No incluya ninguna clave privada en el archivo key3.db.
Si utiliza seguridad de la capa de transporte (TLS), las bases de datos de seguridad necesarias deben estar instaladas. En concreto, se necesitan el certificado y los archivos clave de la base de datos. Por ejemplo, si utiliza un nuevo formato de base de datos desde Mozilla Firefox, tres archivos cert8.db, key3.db y secmod.db, son necesarios. El archivo cert8.db contiene certificados de confianza. El archivo key3.db contiene las claves del cliente. Incluso si el servicio de nombres LDAP no utiliza las claves del cliente, este archivo debe estar presente. El archivo secmod.db contiene los módulos de seguridad, como el módulo PKCS#11. Este archivo no es necesario si se utiliza el formato antiguo.
Nota - Antes de ejecutar ldapclient, debe configurar e instalar los archivos de base de datos necesarios que se describen en esta sección.
Consulte la sección acerca de la configuración de clientes LDAP para usar SSL en el capítulo “Gestión de SSL” de la Guía del Administrador de la versión de Oracle Directory Server Enterprise Edition que está utilizando, para obtener información sobre cómo crear y gestionar estos archivos. Una vez configurados, estos archivos se deben almacenar en la ubicación prevista por el cliente de servicios de nombres LDAP. El atributo certificatePath se utiliza para determinar esta ubicación. Ésta es, de manera predeterminada /var/ldap.
Por ejemplo, después de configurar los archivos cert8.db, key3.db y secmod.db necesarios utilizando Mozilla Firefox, copie los archivos a la ubicación predeterminada de la siguiente manera:
# cp $HOME/.mozilla/firefox/*.default/cert8.db /var/ldap # cp $HOME/.mozilla/firefox/*.default/key3.db /var/ldap # cp $HOME/.mozilla/firefox/*.default/secmod.db /var/ldap
A continuación, otorgue acceso de lectura a todos.
# chmod 444 /var/ldap/cert8.db # chmod 444 /var/ldap/key3.db # chmod 444 /var/ldap/secmod.db
Nota - Mozilla Firefox tiene sus archivos cert8.db, key3.db y secmod.db gestionados en subdirectorios en $HOME/.mozilla. Se deben almacenar copias de estas bases de datos de seguridad en un sistema de archivos local, si está utilizándolos para el cliente de servicios de nombres LDAP.
El módulo pam_ldap es una opción de módulo de PAM de gestión de cuentas y autenticación para LDAP. Consulte la página del comando man pam_ldap(5) para obtener más información sobre las funciones actualmente admitidas con pam_ldap.
Si ha seleccionado el modo por usuario y la opción de credenciales self, también debe activar el módulo PAM Kerberos pam_krb5. Consulte la página del comando man pam_krb5(5) y la documentación Administración de Oracle Solaris 11.1: servicios de seguridad para obtener más información.
Para configurar PAM para utilizar UNIX policy, use el archivo /etc/pam.conf predeterminado. No es preciso realizar ningún cambio. Para obtener detalles, consulte la página del comando man pam.conf(4).
Sin embargo, si la caducidad de la contraseña y la política de contraseña controladas por los datos shadow son necesarias, el cliente debe estar configurado y se debe ejecutar con el conmutador enableShadowUpdate. Consulte Cómo inicializar un cliente LDAP para permitir la actualización de datos shadow para obtener más información.
Para configurar PAM para utilizar LDAP server_policy, siga el ejemplo en Ejemplo de archivo pam_conf que utiliza el módulo para gestión de cuentas pam_ldap. Agregue las líneas que contienen pam_ldap.so.1 al archivo /etc/pam.conf de cliente. Además, si algún módulo PAM del archivo pam.conf de muestra especifica el indicador binding y la opción server_policy, utilice el mismo indicador y la misma opción para el módulo correspondiente en el archivo /etc/pam.conf. Asimismo, agregue la opción server_policy a la línea que contiene el módulo de servicio pam_authtok_store.so.1.
Nota - Antes, si se activaba la gestión de cuentas pam_ldap, todos los usuarios debían proporcionar una contraseña de inicio de sesión para la autenticación en cualquier momento que iniciaran sesión en el sistema. Por lo tanto, los inicios de sesión que no se basan en contraseña realizados con herramientas, como ssh, fallarán.
Realice la gestión de cuentas y recupere el estado de la cuenta de los usuarios sin autenticarse en el servidor de directorios como el usuario que inicia sesión. El nuevo control en el servidor de directorios es 1.3.6.1.4.1.42.2.27.9.5.8 , que está activado de manera predeterminada.
Para cambiar este control por otro que no sea el predeterminado, agregue las instrucciones de control de acceso (ACI) en el servidor de directorios:
dn: oid=1.3.6.1.4.1.42.2.27.9.5.8,cn=features,cn=config objectClass: top objectClass: directoryServerFeature oid:1.3.6.1.4.1.42.2.27.9.5.8 cn:Password Policy Account Usable Request Control aci: (targetattr != "aci")(version 3.0; acl "Account Usable"; allow (read, search, compare, proxy) (groupdn = "ldap:///cn=Administrators,cn=config");) creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config
Indicador de control binding
El uso del indicador de control binding permite que una contraseña local anule una contraseña remota (LDAP). Por ejemplo, si la cuenta de usuario se encuentra en los archivos locales y el espacio de nombres LDAP, la contraseña asociada con la cuenta local tiene precedencia con respecto a la contraseña remota. Por lo tanto, si la contraseña local caduca, la autenticación falla incluso si la contraseña remota LDAP aún es válida.
Opción server_policy
La opción server_policy da la instrucción a pam_unix_auth, pam_unix_account y pam_passwd_auth de ignorar a un usuario encontrado en el espacio de nombres LDAP y permitir a pam_ldap realizar la autenticación o la validación de cuenta. En el caso de pam_authtok_store, una contraseña nueva se transfiere al servidor LDAP sin cifrar. La contraseña se almacena en el directorio según el esquema de cifrado de contraseña configurado en el servidor. Para obtener más información, consulte pam.conf(4) y pam_ldap(5).