Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: servicios de seguridad Oracle Solaris 11 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Uso de la herramienta básica de creación de informes de auditoría (tareas)
7. Control de acceso a archivos (tareas)
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Autenticación de servicios de red (tareas)
17. Uso de Secure Shell (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
Configuración del servicio Kerberos (mapa de tareas)
Configuración de servicios Kerberos adicionales (mapa de tareas)
Configuración de servidores KDC
Cómo configurar automáticamente un KDC maestro
Cómo configurar interactivamente un KDC maestro
Cómo configurar manualmente un KDC maestro
Cómo configurar un KDC para utilizar un servidor de datos LDAP
Cómo configurar automáticamente un KDC esclavo
Cómo configurar interactivamente un KDC esclavo
Cómo configurar manualmente un KDC esclavo
Cómo refrescar las claves del servicio de otorgamiento de tickets en un servidor maestro
Configuración de autenticación entre dominios
Cómo establecer la autenticación entre dominios jerárquica
Cómo establecer la autenticación entre dominios directa
Configuración de servidores de aplicaciones de red de Kerberos
Cómo configurar un servidor de aplicaciones de red de Kerberos
Cómo utilizar el servicio de seguridad genérico con Kerberos al ejecutar FTP
Configuración de servidores NFS con Kerberos
Cómo configurar servidores NFS con Kerberos
Cómo crear una tabla de credenciales
Cómo agregar una única entrada a la tabla de credenciales
Cómo proporcionar asignación de credenciales entre dominios
Cómo configurar un entorno NFS seguro con varios modos de seguridad de Kerberos
Configuración de clientes Kerberos
Configuración de clientes Kerberos (mapa de tareas)
Cómo crear un perfil de instalación de cliente Kerberos
Cómo configurar automáticamente un cliente Kerberos
Cómo configurar interactivamente un cliente Kerberos
Cómo configurar un cliente Kerberos para un servidor de Active Directory
Cómo configurar manualmente un cliente Kerberos
Cómo deshabilitar la verificación del ticket de otorgamiento de tickets
Cómo acceder a un sistema de archivos NFS protegido con Kerberos como el usuario root
Cómo configurar la migración automática de usuarios en un dominio Kerberos
Sincronización de relojes entre clientes Kerberos y KDC
Intercambio de un KDC maestro y un KDC esclavo
Cómo configurar un KDC esclavo intercambiable
Cómo intercambiar un KDC maestro y un KDC esclavo
Administración de la base de datos de Kerberos
Copia de seguridad y propagación de la base de datos de Kerberos
Cómo realizar copias de seguridad de la base de datos de Kerberos
Cómo restaurar la base de datos de Kerberos
Cómo convertir una base de datos de Kerberos después de una actualización de servidor
Cómo reconfigurar un KDC maestro para utilizar la propagación incremental
Cómo reconfigurar un KDC esclavo para utilizar la propagación incremental
Cómo configurar un KDC esclavo para utilizar la propagación completa
Cómo verificar que los servidores KDC estén sincronizados
Cómo propagar manualmente la base de datos de Kerberos a los KDC esclavos
Configuración de propagación en paralelo
Pasos de configuración para la propagación en paralelo
Administración del archivo intermedio
Cómo eliminar un archivo intermedio
Cómo emplear una nueva clave maestra
Gestión de un KDC en un servidor de directorios LDAP
Cómo destruir un dominio en un servidor de directorios LDAP
Aumento de la seguridad en servidores Kerberos
Cómo habilitar sólo aplicaciones Kerberizadas
Cómo restringir el acceso a servidores KDC
Cómo utilizar un archivo de diccionario para aumentar la seguridad de contraseñas
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
27. Planificación de la auditoría
Los clientes Kerberos incluyen cualquier host, que no es un servidor KDC, en la red que necesita utilizar servicios Kerberos. Esta sección proporciona procedimientos para instalar un cliente Kerberos, así como información específica sobre el uso de la autenticación de root para montar sistemas de archivos NFS.
El siguiente mapa de tareas incluye todos los procedimientos asociados con la configuración de clientes Kerberos. Cada fila incluye un identificador de tarea y una descripción del motivo por el que desea realizar la tarea, seguidos de un enlace a la tarea.
|
Este procedimiento crea un perfil kclient que se puede utilizar al instalar un cliente Kerberos. Mediante el perfil kclient, se reducen las probabilidades de errores de escritura. Asimismo, el uso del perfil reduce la intervención del usuario, en comparación con el proceso interactivo.
Un ejemplo de perfil kclient podría ser similar al siguiente:
client# cat /net/denver.example.com/export/install/profile REALM EXAMPLE.COM KDC kdc1.example.com ADMIN clntconfig FILEPATH /net/denver.example.com/export/install/krb5.conf NFS 1 DNSLOOKUP none
Antes de empezar
Este procedimiento utiliza un perfil de instalación. Consulte Cómo crear un perfil de instalación de cliente Kerberos.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Debe proporcionar la contraseña para el principal clntconfig con el fin de completar el proceso.
client# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
Ejemplo 21-8 Configuración automática de un cliente Kerberos con valores de sustitución de línea de comandos
El siguiente ejemplo sustituye los parámetros DNSARG y KDC que se establecen en el perfil de instalación.
# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile\ -d dns_fallback -k kdc2.example.com Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
Este procedimiento utiliza la utilidad de instalación kclient sin un perfil de instalación. En la versión Oracle Solaris 11, la utilidad kclient incrementó la facilidad de uso y la capacidad de trabajar con servidores de Active Directory. Consulte Cómo configurar un cliente Kerberos para un servidor de Active Directory para obtener más información. Consulte el Ejemplo 21-10 para obtener un ejemplo de ejecución de kclient en una versión anterior.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Necesita proporcionar la siguiente información:
Nombre de dominio Kerberos
Nombre de host de KDC maestro
Nombres de host de KDC esclavos
Dominios que se van a asignar al dominio local
Nombres de servicio PAM y opciones que se utilizarán para la autentificación Kerberos
Si el sistema es un cliente de un servidor KDC que no ejecuta una versión Oracle Solaris, es necesario definir el tipo de servidor que está ejecutando el KDC. Los servidores disponibles son: Microsoft Active Directory, servidor KDC MIT, servidor KDC Heimdal y servidor KDC Shishi.
Si utiliza el DNS para las consultas de Kerberos, deberá introducir la opción de consulta de DNS que desea utilizar. Las opciones válidas son dns_lookup_kdc, dns_lookup_realm y dns_fallback. Consulte la página del comando man krb5.conf(4) para obtener más información sobre estos valores.
Esta información se ha agregado al archivo de configuración /etc/krb5/krb5.conf.
Si hay KDC esclavos en el dominio, entonces es necesario introducir los nombres de host de KDC esclavos. Esta información se utiliza para crear entradas KDC adicionales en el archivo de configuración del cliente.
Normalmente, el servicio o las claves de host no son necesarios, a menos que el sistema cliente aloje servicios kerberizados.
Si el cliente es un miembro de un clúster, entonces tendrá que proporcionar el nombre lógico del clúster. El nombre de host lógico se utiliza al crear claves de servicio, que es necesario cuando se alojan servicios Kerberos de los clústeres.
Esta asignación permite que otros dominios pertenezcan al dominio predeterminado del cliente.
Las claves de servicio NFS se deben crear si el cliente alojará servicios NFS mediante Kerberos.
Esta opción permite al usuario definir qué servicios PAM utilizan Kerberos para la autenticación. Es necesario introducir el nombre del servicio y un indicador que determine cómo se utilizará la autenticación Kerberos. Las opciones de indicadores válidos son:
first: utilice primero la autenticación Kerberos y sólo utilice UNIX si la autenticación Kerberos falla
only: utilice sólo autenticación Kerberos
optional: utilice autenticación Kerberos de manera optativa
Esta opción permite que se utilice información de configuración específica cuando los argumentos para kclient no son suficientes.
Ejemplo 21-9 Ejecución de la utilidad de instalación kclient
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Is this a client of a non-Solaris KDC ? [y/n]: n No action performed. Do you want to use DNS for kerveros lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Note, this system and the KDC's time must be within 5 minutes of each other for Kerberos to function. Both systems should run some form of time synchronization system like Network Time Protocol (NTP). Do you have any slave KDC(s) ? [y/n]: y Enter a comma-separated list of slave KDC host names: kdc2.example.com Will this client need service keys ? [y/n]: n No action performed. Is this client a member of a cluster that uses a logical host name ? [y/n]: n No action performed. Do you have multiple domains/hosts to map to realm ? [y/n]: y Enter a comma-separated list of domain/hosts to map to the default realm: engineering.example.com, \ example.com Setting up /etc/krb5/krb5.conf. Do you plan on doing Kerberized nfs ? [y/n]: y Do you want to update /etc/pam.conf ? [y/n]: y Enter a comma-separated list of PAM service names in the following format: service:{first|only|optional}: xscreensaver:first Configuring /etc/pam.conf. Do you want to copy over the master krb5.conf file ? [y/n]: n No action performed. --------------------------------------------------- Setup COMPLETE.
Ejemplo 21-10 Ejecución de la utilidad de instalación kclient en la versión Oracle Solaris 10
A continuación, se muestra la salida de los resultados de la ejecución del comando kclient.
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Do you want to use DNS for kerberos lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Setting up /etc/krb5/krb5.conf. Enter the krb5 administrative principal to be used: clntconfig/admin Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> Do you plan on doing Kerberized nfs ? [y/n]: n host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Do you want to copy over the master krb5.conf file ? [y/n]: y Enter the pathname of the file to be copied: \ /net/denver.example.com/export/install/krb5.conf Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE ! #
Este procedimiento utiliza la utilidad de instalación kclient sin un perfil de instalación.
client# sharectl set -p ddns_enable=true smb
La opción -T selecciona un tipo de servidor KDC. En este caso se selecciona un servidor de Active Directory.
client# kclient -T ms_ad
De manera predeterminada, deberá proporcionar la contraseña del administrador principal.
Ejemplo 21-11 Configuración de un cliente Kerberos para un servidor de Active Directory mediante kclient
La siguiente salida muestra los resultados de la ejecución del comando kclient mediante el argumento de tipo de servidor ms_ad (Microsoft Active Directory). El cliente se unirá al dominio de Active Directory denominado EXAMPLE.COM.
client# /usr/sbin/kclient -T ms_ad Starting client setup --------------------------------------------------- Attempting to join 'CLIENT' to the 'EXAMPLE.COM' domain. Password for Administrator@EXAMPLE.COM: <Type the password> Forest name found: example.com Looking for local KDCs, DCs and global catalog servers (SVR RRs). Setting up /etc/krb5/krb5.conf Creating the machine account in AD via LDAP. --------------------------------------------------- Setup COMPLETE. #
En este procedimiento, se utilizan los siguientes parámetros de configuración:
Nombre de dominio = EXAMPLE.COM
Nombre de dominio DNS = example.com
KDC maestro = kdc1.example.com
KDC esclavo = kdc2.example.com
Servidor NFS = denver.example.com
Cliente = client.example.com
Principal admin = kws/admin
Principal de usuario = mre
URL de ayuda en pantalla = http://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
Nota - Ajuste la dirección URL para que establezca un enlace a la sección, como se describe en URL de ayuda en pantalla en la herramienta gráfica de administración de Kerberos.
Para cambiar el archivo de la versión predeterminada de Kerberos, debe cambiar los nombres de dominios y los nombres de servidores. También tiene que identificar la ruta a los archivos de ayuda para gkadmin.
kdc1 # cat /etc/krb5/krb5.conf [libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com } [domain_realm] .example.com = EXAMPLE.COM # # if the domain name and realm name are equivalent, # this entry is not needed # [logging] default = FILE:/var/krb5/kdc.log kdc = FILE:/var/krb5/kdc.log [appdefaults] gkadmin = { help_url = http://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
Nota - Si desea restringir los tipos de cifrado, puede definir las líneas default_tkt_enctypes o default_tgs_enctypes. Consulte Uso de los tipos de cifrado de Kerberos para obtener una descripción de los problemas relacionados con la restricción de los tipos de cifrado.
De manera predeterminada, el dominio de Kerberos para la asignación KDC se determina en el siguiente orden:
La definición en la sección realms, en krb5.conf.
Mediante la búsqueda de registros SRV en DNS.
Puede cambiar este comportamiento agregando dns_lookup_kdc o dns_fallback a la sección libdefaults del archivo krb5.conf. Consulte la página del comando man krb5.conf(4) para obtener más información. Tenga en cuenta que las referencias siempre se intentan en primer lugar.
De manera predeterminada, el host para la asignación de dominio se determina en el siguiente orden:
Si el KDC admite referencias, el KDC puede informar al cliente a qué dominio pertenece el host.
Por la definición de domain_realm en el archivo krb5.conf.
El nombre de dominio DNS del host.
El dominio predeterminado.
Puede cambiar este comportamiento agregando dns_lookup_kdc o dns_fallback a la sección libdefaults del archivo krb5.conf. Consulte la página del comando man krb5.conf(4) para obtener más información. Tenga en cuenta que las referencias siempre se intentarán en primer lugar.
No es necesario instalar ni utilizar el protocolo de hora de red (NTP). Sin embargo, cada reloj debe estar sincronizado con la hora en el servidor KDC dentro de una diferencia máxima definida por la relación clockskew en el archivo krb5.conf para que la autenticación se realice con éxito. Consulte Sincronización de relojes entre clientes Kerberos y KDC para obtener información sobre el NTP.
Si desea obtener información sobre cómo utilizar la herramienta gráfica de administración de Kerberos para agregar un principal, consulte Cómo crear un nuevo principal de Kerberos. Para ello, debe iniciar sesión con uno de los nombres de principales admin que creó cuando configuró el KDC maestro. Sin embargo, el siguiente ejemplo muestra cómo agregar los principales necesarios mediante la línea de comandos.
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Necesita crear un principal de usuario sólo si el usuario asociado con este host no tiene un principal asignado a él.
kadmin: addprinc mre Enter password for principal mre@EXAMPLE.COM: <Type the password> Re-enter password for principal mre@EXAMPLE.COM: <Type it again> kadmin:
Este paso es necesario para que el cliente pueda tener acceso root a sistemas de archivos montados mediante el servicio NFS. Este paso también es necesario si se necesita acceso root no interactivo, por ejemplo, la ejecución de trabajos cron como root.
Si el cliente no requiere acceso root a un sistema de archivos remoto que está montado mediante el servicio NFS, puede omitir este paso. El principal root debe ser un principal de dos componentes, donde el segundo componente es el nombre de host del sistema cliente Kerberos, para evitar la creación de un principal root de todo el dominio. Tenga en cuenta que cuando la instancia de principal es un nombre de host, el FQDN se debe especificar en letras minúsculas, independientemente de si el nombre de dominio está en mayúsculas o minúsculas en el servicio de nombres.
kadmin: addprinc -randkey root/client.example.com Principal "root/client.example.com" created. kadmin: ktadd root/client.example.com Entry for principal root/client.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
El principal host es utilizado por servicios de acceso remoto para proporcionar autenticación. El principal permite que root adquiera una credencial si ya no hay una en el archivo keytab.
kadmin: addprinc -randkey host/denver.example.com Principal "host/denver.example.com@EXAMPLE.COM" created. kadmin: ktadd host/denver.example.com Entry for principal host/denver.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
Este paso sólo es necesario si el cliente necesita acceder a sistemas de archivos NFS utilizando la autenticación Kerberos.
kadmin: ktadd nfs/denver.example.com Entry for principal nfs/denver.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
Edite el archivo /etc/nfssec.conf y elimine el símbolo “#” que se encuentra delante de los modos de seguridad de Kerberos.
# cat /etc/nfssec.conf . . # # Uncomment the following lines to use Kerberos V5 with NFS # krb5 390003 kerberos_v5 default - # RPCSEC_GSS krb5i 390004 kerberos_v5 default integrity # RPCSEC_GSS krb5p 390005 kerberos_v5 default privacy # RPCSEC_GSS
Si el servicio svc:/network/dns/client:default no está habilitado, debe habilitarlo. Consulte la página del comando man resolv.conf(4) para obtener más información.
# svcadm restart network/rpc/gss
Consulte la página del comando man warn.conf(4) para obtener más información.
Ejemplo 21-12 Configuración de un cliente Kerberos mediante un KDC que no sea Solaris
Un cliente Kerberos se puede configurar para trabajar con un KDC que no sea Solaris. En este caso, se debe incluir una línea en el archivo /etc/krb5/krb5.conf, en la sección realms. Esta línea cambia el protocolo que se utiliza cuando el cliente se comunica con el servidor de cambio de contraseña de Kerberos. A continuación, se indica el formato de esta línea.
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com kpasswd_protocol = SET_CHANGE }
Ejemplo 21-13 Registros TXT de DNS para la asignación de nombre de host y dominio al dominio Kerberos
@ IN SOA kdc1.example.com root.kdc1.example.com ( 1989020501 ;serial 10800 ;refresh 3600 ;retry 3600000 ;expire 86400 ) ;minimum IN NS kdc1.example.com. kdc1 IN A 192.146.86.20 kdc2 IN A 192.146.86.21 _kerberos.example.com. IN TXT "EXAMPLE.COM" _kerberos.kdc1.example.com. IN TXT "EXAMPLE.COM" _kerberos.kdc2.example.com. IN TXT "EXAMPLE.COM"
Ejemplo 21-14 Registros SRV de DNS para ubicaciones del servidor Kerberos
En este ejemplo, se definen los registros para la ubicación de los KDC, el servidor admin y el servidor kpasswd, respectivamente.
@ IN SOA kdc1.example.com root.kdc1.example.com ( 1989020501 ;serial 10800 ;refresh 3600 ;retry 3600000 ;expire 86400 ) ;minimum IN NS kdc1.example.com. kdc1 IN A 192.146.86.20 kdc2 IN A 192.146.86.21 _kerberos._udp.EXAMPLE.COM IN SRV 0 0 88 kdc2.example.com _kerberos._tcp.EXAMPLE.COM IN SRV 0 0 88 kdc2.example.com _kerberos._udp.EXAMPLE.COM IN SRV 1 0 88 kdc1.example.com _kerberos._tcp.EXAMPLE.COM IN SRV 1 0 88 kdc1.example.com _kerberos-adm._tcp.EXAMPLE.COM IN SRV 0 0 749 kdc1.example.com _kpasswd._udp.EXAMPLE.COM IN SRV 0 0 749 kdc1.example.com
Este procedimiento desactiva la comprobación de seguridad que comprueba que el KDC del principal de host almacenado en el archivo /etc/krb5/krb5.keytab local sea el mismo KDC que ha emitido el ticket de otorgamiento de tickets (TGT). Esta comprobación impide ataques de falsificación de DNS. Sin embargo, para algunas configuraciones de clientes, el principal host puede no estar disponible, por lo que esta comprobación debería ser deshabilitada para permitir que el cliente funcione. Éstas son las configuraciones que requieren que esta comprobación esté deshabilitada:
La dirección IP del cliente se asigna dinámicamente. Por ejemplo, un cliente DHCP.
El cliente no está configurado para hospedar servicios, por lo que no se ha creado ningún principal host.
La clave del host no se almacena en el cliente.
Si la opción verify_ap_req_nofail se establece en false, el proceso de verificación de TGT no está activado. Consulte la página del comando man krb5.conf(4) para obtener más información sobre esta opción.
client # cat /etc/krb5/krb5.conf [libdefaults] default_realm = EXAMPLE.COM verify_ap_req_nofail = false ...
Nota - La opción verify_ap_req_nofail se puede introducir en la sección [libdefaults] o [realms] del archivo krb5.conf. Si la opción está en la sección [libdefaults], el valor se utiliza para todos los dominios. Si la opción está en la sección [realms], el valor sólo se aplica al dominio definido.
Este procedimiento permite a un cliente acceder a un sistema de archivos NFS que requiere la autenticación Kerberos con el privilegio de ID root. En particular, cuando el sistema de archivos NFS está compartido con opciones, como: -o sec=krb5,root=client1.sun.com.
Si desea obtener información sobre cómo utilizar la herramienta de interfaz gráfica de usuario de administración de Kerberos para agregar un principal, consulte Cómo crear un nuevo principal de Kerberos. Para ello, debe iniciar sesión con uno de los nombres de principales admin que creó cuando configuró el KDC maestro. Sin embargo, el siguiente ejemplo muestra cómo agregar los principales necesarios mediante la línea de comandos.
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Este principal se utiliza para proporcionar acceso equivalente a root a sistemas de archivos montados en NFS que requieren la autenticación Kerberos. El principal root debe ser un principal de dos componentes, donde el segundo componente es el nombre de host del sistema cliente Kerberos, para evitar la creación de un principal root de todo el dominio. Tenga en cuenta que cuando la instancia de principal es un nombre de host, el FQDN se debe especificar en letras minúsculas, independientemente de si el nombre de dominio está en mayúsculas o minúsculas en el servicio de nombres.
kadmin: addprinc -randkey root/client.example.com Principal "root/client.example.com" created. kadmin:
Este paso es necesario si ha agregado un principal root para que el cliente pueda tener acceso root a sistemas de archivos montados mediante el servicio NFS. Este paso también es necesario si se necesita acceso root no interactivo, por ejemplo, la ejecución de trabajos cron como root.
kadmin: ktadd root/client.example.com Entry for principal root/client.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
Los usuarios, que no tienen un principal de Kerberos, se pueden migrar automáticamente a un dominio Kerberos existente. La migración se logra utilizando la estructura PAM para el servicio en uso mediante el apilamiento del módulo pam_krb5_migrate en la pila de autenticación del servicio, en /etc/pam.conf.
En este ejemplo, los nombres de servicio PAM gdm y other se configuran para usar la migración automática. Se utilizan los siguientes parámetros de configuración:
Nombre de dominio = EXAMPLE.COM
KDC maestro = kdc1.example.com
Equipo que hospeda el servicio de migración = server1.example.com
Principal de servicio de migración = host/server1.example.com
Antes de empezar
Configure server1 como un cliente Kerberos del dominio EXAMPLE.COM. Consulte Configuración de clientes Kerberos para obtener más información.
El principal de servicio de host en el archivo keytab de server1 se utiliza para autenticar el servidor en el KDC maestro.
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM
# cat /etc/pam.conf . . # # gdm service # gdm auth requisite pam_authtok_get.so.1 gdm auth required pam_dhkeys.so.1 gdm auth required pam_unix_cred.so.1 gdm auth sufficient pam_krb5.so.1 gdm auth requisite pam_unix_auth.so.1 gdm auth optional pam_krb5_migrate.so.1
Las cuentas de Kerberos recién creadas pueden tener el tiempo de caducidad de contraseña establecido en la hora actual (ahora) para forzar un cambio inmediato de contraseña Kerberos. Para establecer el tiempo de caducidad en la hora actual, agregue la opción expire_pw a las líneas que utilizan el módulo pam_krb5_migrate. Consulte la página del comando man pam_krb5_migrate(5) para obtener más información.
# cat /etc/pam.conf . . gdm auth optional pam_krb5_migrate.so.1 expire_pw
Esta adición permite la caducidad de la contraseña en Kerberos para bloquear el acceso.
# cat /etc/pam.conf . . # # Default definition for Account management # Used when service name is not explicitly mentioned for account management # other account requisite pam_roles.so.1 other account required pam_krb5.so.1 other account required pam_unix_account.so.1
Esta adición permite que las contraseñas se actualicen cuando la contraseña caduca.
# cat /etc/pam.conf . . # # Default definition for Password management # Used when service name is not explicitly mentioned for password management # other password required pam_dhkeys.so.1 other password requisite pam_authtok_get.so.1 other password requisite pam_authtok_check.so.1 other password sufficient pam_krb5.so.1 other password required pam_authtok_store.so.1
Las entradas siguientes otorgan privilegios de migración y consulta al principal de servicio host/server1.example.com para todos los usuarios, excepto el usuario root. Es importante que los usuarios que no se deben migrar se enumeren en el archivo kadm5.acl utilizando el privilegio U. Estas entradas deben estar antes de la entrada ui o permitir todo. Consulte la página del comando man kadm5.acl(4) para obtener más información.
kdc1 # cat /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM *
Este paso permite al daemon kadmind utilizar las nuevas entradas kadm5.acl.
kdc1 # svcadm restart network/security/kadmin
Las entradas siguientes permiten que el daemon kadmind utilice el servicio PAM k5migrate para validar la contraseña de usuario de UNIX para las cuentas que necesitan migración.
# grep k5migrate /etc/pam.conf k5migrate auth required pam_unix_auth.so.1 k5migrate account required pam_unix_account.so.1
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
En el ejemplo siguiente, el subcomando add_policy se utiliza para crear una política denominada default. Tres fallos de autenticación durante un máximo de 300 segundos provocarán un bloqueo de cuenta de 900 segundos.
kadmin: add_policy -maxfailure 3 -failurecountinterval "300 seconds"\ -lockoutduration "900 seconds" default
kadmin: quit
Ejemplo 21-15 Desbloqueo de principal bloqueado
En el siguiente ejemplo, un principal de usuario se desbloquea:
# kadmin kadmin: add_policy -unlock principal