Este procedimiento utiliza 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://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
Cambie los nombres del dominio y los nombres del servidor en el archivo de configuración de Kerberos. También puede especificar la ruta de acceso a los archivos de ayuda para gkadmin.
kdc1 # pfedit /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://www.example.com/doclib/OSMKA/aadmin-23.html
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.
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. Para obtener más información, consulte krb5.conf(4). 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.
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. Para obtener más información, consulte la página del comando man krb5.conf(4). Tenga en cuenta que las referencias siempre se intentan en primer lugar.
Para que la autenticación se realice correctamente, 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 obtener más información, consulte la página del comando man krb5.conf(4). Para obtener información sobre el protocolo de hora de red (NTP), consulte Sincronización de relojes entre clientes Kerberos y KDC.
denver # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
Para obtener más información, consulte la página del comando man kadmin(1M).
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 strong password **/ Re-enter password for principal mre@EXAMPLE.COM: xxxxxxxx kadmin:
Si se necesita acceso root no interactivo, como la ejecución de trabajos cron como root, realice este paso.
El principal de root debe ser un principal de dos componentes. El segundo componente debe ser el nombre de host del sistema cliente Kerberos para evitar la creación de un principal root de todo el dominio. 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. 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. 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. kadmin:
kadmin: quit
En el archivo /etc/nfssec.conf, elimine el símbolo “#” que comenta los modos de seguridad de Kerberos.
# pfedit /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á activado, debe activarlo. Para obtener más información, consulte la página del comando man resolv.conf(4).
# svcadm enable network/dns/client:default
# svcadm restart network/rpc/gss
Para obtener más información, consulte la página del comando man warn.conf(4) y Renovación automática de todos los tickets de otorgamiento de tickets.
El servicio Kerberos de Active Directory (AD) de Microsoft, proporciona un KDC que se ejecuta en varios servidores maestros. Para que un cliente Oracle Solaris actualice información, la declaración admin_server o kpasswd_server en el archivo /etc/krb5/krb5.conf debe enumerar todos los servidores. En este ejemplo, se muestra cómo permitir al cliente actualizar información sobre el KDC que kdc1 y kdc2 comparten.
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com admin_server = kdc2.example.com }Ejemplo 4-5 Configuración de un cliente Kerberos para un KDC que no es Oracle Solaris
Es posible configurar un cliente Kerberos para que funcione con un KDC no Oracle Solaris, mediante la agregación de 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. En el fragmento siguiente, se muestra 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 4-6 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 4-7 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 464 kdc1.example.com _kpasswd._udp.EXAMPLE.COM IN SRV 0 0 464 kdc1.example.com