En este procedimiento, se configura la propagación incremental. 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
Principal admin = kws/admin
URL de ayuda en pantalla = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
Antes de empezar
El host está configurado para usar DNS. Para obtener instrucciones específicas de nomenclatura si este maestro se va a intercambiar, consulte Intercambio de un KDC maestro y un KDC esclavo.
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 .
Siga las instrucciones en Cómo instalar el paquete KDC.
Para obtener una descripción de este archivo, consulte la página del comando man krb5.conf(4).
En este ejemplo, el administrador cambia las líneas de default_realm, kdc, admin_ servery todas las entradas de domain_realm, y edita la entrada help_url.
kdc1 # pfedit /etc/krb5/krb5.conf ... [libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc1.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://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html }
Para obtener una descripción de este archivo, consulte la página del comando man kdc.conf(4).
En este ejemplo, además de la definición del nombre del dominio, el administrador cambia la propagación incremental y los valores predeterminados del registro.
kdc1 # pfedit /etc/krb5/kdc.conf [kdcdefaults] kdc_ports = 88,750 [realms] EXAMPLE.COM = { profile = /etc/krb5/krb5.conf database_name = /var/krb5/principal acl_file = /etc/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s sunw_dbprop_enable = true sunw_dbprop_master_ulogsize = 1000 }
El comando kdb5_util crea la base de datos KDC. Además, cuando se utiliza con la opción –s, este comando crea un archivo intermedio que se utiliza para autenticar el KDC para él mismo antes de que los daemons kadmind y krb5kdc se inicien. Para obtener más información, consulte las páginas del comando man kdb5_util(1M), kadmind(1M) y krb5kdc(1M).
kdc1 # /usr/sbin/kdb5_util create -s Initializing database '/var/krb5/principal' for realm 'EXAMPLE.COM' master key name 'K/M@EXAMPLE.COM' You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter KDC database master key:/** Type strong password **/ Re-enter KDC database master key to verify: xxxxxxxx
# getent hosts IP-address-of-KDC IP-address-of-KDC kdc/** This entry does not include FQDN **/A continuación, agregue el FQDN como la primera entrada de KDC en el archivo /etc/hosts, por ejemplo:
IP-address-of-KDC kdc.kdc-principal.example.com kdc
Una vez que se rellena, el archivo /etc/krb5/kadm5.acl debe contener todos los nombres de principales que tienen permitido administrar el KDC.
kws/admin@EXAMPLE.COM *
La entrada anterior da al principal kws/admin en el dominio EXAMPLE.COM la capacidad de modificar los principales y las políticas en el KDC. La entrada de principal predeterminada es un asterisco (*), lo que coincide con todos los admin de principales. Esta entrada puede representar un riesgo para la seguridad. Modifique el archivo para mostrar explícitamente cada admin de principal y sus derechos. Para obtener más información, consulte la página del comando man kadm5.acl(4).
Puede agregar tantos principales admin como necesite. Debe agregar, al menos, un principal admin para completar el proceso de configuración del KDC. Para este ejemplo, se agrega un principal kws/admin. Puede sustituir un nombre de principal adecuado en lugar de “kws”.
kadmin.local: addprinc kws/admin Enter password for principal kws/admin@EXAMPLE.COM:/** Type strong password **/ Re-enter password for principal kws/admin@EXAMPLE.COM: xxxxxxxx Principal "kws/admin@EXAMPLE.COM" created. kadmin.local:
Para obtener más información, consulte la página del comando man kadmin(1M).
kdc1 # svcadm enable -r network/security/krb5kdc kdc1 # svcadm enable -r network/security/kadmin
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
El principal host es utilizado por aplicaciones Kerberizadas, como kprop, para propagar los cambios a los KDC esclavos. Este principal también se utiliza para proporcionar acceso remoto seguro al servidor KDC mediante aplicaciones de red, como ssh. 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 host/kdc1.example.com Principal "host/kdc1.example.com@EXAMPLE.COM" created. kadmin:
Este principal es utilizado por la utilidad kclient durante la instalación de un cliente Kerberos. Si no planea utilizar esta utilidad, no tiene que agregar el principal. Los usuarios de la utilidad kclient necesitan usar esta contraseña. Para obtener más información, consulte la página del comando man kclient(1M).
kadmin: addprinc clntconfig/admin Enter password for principal clntconfig/admin@EXAMPLE.COM:/** Type strong password **/ Re-enter password for principal clntconfig/admin@EXAMPLE.COM: xxxxxxxx Principal "clntconfig/admin@EXAMPLE.COM" created. kadmin:
Edite el archivo kadm5.acl para otorgar al principal clntconfig suficientes privilegios para realizar tareas de instalación de kclient.
# pfedit /etc/krb5/kadm5.acl ... clntconfig/admin@EXAMPLE.COM acdilm
La agregación del principal host al archivo keytab permite que este principal sea utilizado por servidores de aplicaciones, como sshd, automáticamente.
kadmin: ktadd host/kdc1.example.com Entry for principal host/kdc1.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/kdc1.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/kdc1.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
Para que la autenticación se realice correctamente, cada reloj debe estar dentro de la hora predeterminada que está definida en la sección libdefaults del 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.
Para proporcionar redundancia, asegúrese de instalar, al menos, un KDC esclavo. Siga las instrucciones en How Cómo utilizar kdcmgr para configurar un KDC esclavo Cómo configurar manualmente un KDC esclavo