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
Cómo configurar el bloqueo de cuenta
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
Después de instalar el software Kerberos, debe configurar los servidores KDC. La configuración de un servidor KDC maestro y de, al menos, un servidor KDC esclavo proporciona el servicio que emite credenciales. Estas credenciales son la base para el servicio Kerberos, por lo que los KDC se deben instalar antes de intentar otras tareas.
La diferencia más importante entre un KDC maestro y un KDC esclavo es que sólo el KDC maestro puede manejar solicitudes de administración de bases de datos. Por ejemplo, el cambio de una contraseña o la adición de un nuevo principal se deben realizar en el KDC maestro. Estos cambios, luego, se pueden propagar a los KDC esclavos. Tanto el KDC esclavo como el KDC maestro generan credenciales. Esta función proporciona redundancia en el caso de que el KDC maestro no pueda responder.
Tabla 21-1 Configuración de servidores KDC (mapa de tareas)
|
En la versión Oracle Solaris 11, un KDC maestro se puede configurar automáticamente mediante el siguiente procedimiento.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Ejecute la utilidad kdcmgr para crear el KDC. Debe proporcionar la contraseña de clave maestra y la contraseña para el principal administrativo.
kdc1# kdcmgr -a kws/admin -r EXAMPLE.COM create master Starting server setup --------------------------------------- Setting up /etc/krb5/kdc.conf Setting up /etc/krb5/krb5.conf 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 the password> Re-enter KDC database master key to verify: <Type it again> Authenticating as principal root/admin@EXAMPLE.COM with password. WARNING: no policy specified for kws/admin@EXAMPLE.COM; defaulting to no policy Enter password for principal "kws/admin@EXAMPLE.COM": <Type the password> Re-enter password for principal "kws/admin@EXAMPLE.COM": <Type it again> Principal "kws/admin@EXAMPLE.COM" created. Setting up /etc/krb5/kadm5.acl. --------------------------------------------------- Setup COMPLETE. kdc1#
En la versión Oracle Solaris, un KDC maestro se puede configurar interactivamente mediante el siguiente procedimiento.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Ejecute la utilidad kdcmgr para crear el KDC. Necesita proporcionar la contraseña de clave maestra y la contraseña para el principal administrativo.
kdc1# kdcmgr create master Starting server setup --------------------------------------- Enter the Kerberos realm: EXAMPLE.COM Setting up /etc/krb5/kdc.conf Setting up /etc/krb5/krb5.conf 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 the password> Re-enter KDC database master key to verify: <Type it again> Enter the krb5 administrative principal to be created: kws/admin Authenticating as principal root/admin@EXAMPLE.COM with password. WARNING: no policy specified for kws/admin@EXAMPLE.COM; defaulting to no policy Enter password for principal "kws/admin@EXAMPLE.COM": <Type the password> Re-enter password for principal "kws/admin@EXAMPLE.COM": <Type it again> Principal "kws/admin@EXAMPLE.COM" created. Setting up /etc/krb5/kadm5.acl. --------------------------------------------------- Setup COMPLETE. kdc1#
Ejemplo 21-1 Visualización del estado de un servidor KDC
El comando kdcmgr estado se puede utilizar para mostrar información sobre un servidor KDC maestro o esclavo.
En este procedimiento, se configura la propagación incremental. Además, 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
Principal admin = kws/admin
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.
Antes de empezar
Este procedimiento requiere que 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.
Necesita cambiar los nombres de dominio y los nombres de los servidores. Consulte la página del comando man krb5.conf(4) para obtener una descripción completa de este archivo.
kdc1 # cat /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://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html }
En este ejemplo, se modificaron las líneas para las entradas default_realm, kdc, admin_server y domain_realm. Además, se editó la línea que define help_url.
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.
Necesita cambiar el nombre de dominio. Consulte la página del comando man kdc.conf(4) para obtener una descripción completa de este archivo.
kdc1 # cat /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 }
En este ejemplo, se modificó la definición del nombre de dominio en la sección realms. Además, en la sección realms, se agregaron líneas para permitir la propagación incremental y para seleccionar el número de actualizaciones que el KDC maestro mantiene en el registro.
Nota - Si desea restringir los tipos de cifrado, puede definir las líneas permitted_enctypes, supported_enctypes o master_key_type. 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.
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.
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 the key> Re-enter KDC database master key to verify: <Type it again>
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 da al principal kws/admin en el dominio EXAMPLE.COM la capacidad de modificar los principales o las políticas en el KDC. La instalación predeterminada incluye un asterisco (*) para que concuerde con todos los principales admin. Este valor predeterminado puede ser un riesgo de seguridad, por lo que es más seguro incluir una lista de todos los principales admin. Consulte la página del comando man kadm5.acl(4) para obtener más información.
Los próximos pasos secundarios crean los principales que son utilizados por el servicio Kerberos.
kdc1 # /usr/sbin/kadmin.local kadmin.local:
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 the password> Re-enter password for principal kws/admin@EXAMPLE.COM: <Type it again> Principal "kws/admin@EXAMPLE.COM" created. kadmin.local:
El principal kiprop se utiliza para autorizar actualizaciones del KDC maestro.
kadmin.local: addprinc -randkey kiprop/kdc1.example.com Principal "kiprop/kdc1.example.com@EXAMPLE.COM" created. kadmin.local:
Ha agregado todos los principales necesarios para los pasos siguientes.
kadmin.local: quit
kdc1 # svcadm enable -r network/security/krb5kdc kdc1 # svcadm enable -r network/security/kadmin
En este punto, puede agregar principales con la herramienta gráfica de administración de Kerberos. Para ello, debe iniciar sesión con uno de los nombres de principales admin creados anteriormente en este procedimiento. Sin embargo, el siguiente ejemplo de línea de comandos se muestra para que resulte más sencillo.
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> 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, 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.
kadmin: addprinc clntconfig/admin Enter password for principal clntconfig/admin@EXAMPLE.COM:<Type the password> Re-enter password for principal clntconfig/admin@EXAMPLE.COM: <Type it again> Principal "clntconfig/admin@EXAMPLE.COM" created. kadmin:
La adició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. Entry for principal host/kdc1.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc1.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
No es necesario instalar ni utilizar el protocolo de hora de red (NTP). Sin embargo, cada reloj debe estar dentro de la hora predeterminada que está definida en la sección libdefaults del 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.
Para proporcionar redundancia, asegúrese de instalar, al menos, un KDC esclavo. Consulte Cómo configurar manualmente un KDC esclavo para obtener instrucciones específicas.
Utilice el siguiente procedimiento para configurar un KDC para utilizar un servidor de datos LDAP.
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
Servidor de directorios = dsserver.example.com
Principal admin = kws/admin
FMRI para el servicio LDAP = svc:/application/sun/ds:ds--var-opt-SUNWdsee-dsins1
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.
Antes de empezar
Este procedimiento también requiere que el host esté configurado para usar DNS. Para obtener un mejor rendimiento, instale el KDC y el servicio de directorios LDAP en el mismo servidor. Además, un servidor de directorios debe estar en ejecución. El siguiente procedimiento funciona con servidores que utilizan la versión Sun Directory Server Enterprise Edition 7.0.
Siga los siguientes pasos para configurar un KDC de Oracle Solaris con el fin de utilizar el certificado autofirmado de Directory Server. Si el certificado ha caducado, siga las instrucciones para renovar un certificado en To Manage Self-Signed Certificates.
# /export/sun-ds6.1/ds6/bin/dsadm show-cert -F der /export/sun-ds6.1/directory2 \ defaultCert > /tmp/defaultCert.cert.der
# pktool setpin keystore=nss dir=/var/ldap # chmod a+r /var/ldap/*.db # pktool import keystore=nss objtype=cert trust="CT" infile=/tmp/defaultCert.certutil.der \ label=defaultCert dir=/var/ldap
En este ejemplo se da por sentado que la entrada cn=directory manager tiene privilegios de administración.
/usr/bin/ldapsearch -Z -P /var/ldap -D "cn=directory manager" \ -h dsserver.example.com -b "" -s base objectclass='*' Subject: "CN=dsserver.example.com,CN=636,CN=Directory Server,O=Example Corporation
Tenga en cuenta que la entrada CN=dsserver.example.com debería incluir el nombre de host calificado completo, no una versión corta.
# ldapmodify -h dsserver.example.com -D "cn=directory manager" -f /usr/share/lib/ldif/kerberos.ldif
Agregue las entradas siguientes al archivo krb5.conf.
Agregue una entrada para definir database_module para la sección realms.
database_module = LDAP
[dbmodules] LDAP = { ldap_kerberos_container_dn = "cn=krbcontainer,dc=example,dc=com" db_library = kldap ldap_kdc_dn = "cn=kdc service,ou=profile,dc=example,dc=com" ldap_kadmind_dn = "cn=kadmin service,ou=profile,dc=example,dc=com" ldap_cert_path = /var/ldap ldap_servers = ldaps://dsserver.example.com }
Este comando crea krbcontainer y varios otros objetos. También crea un archivo intermedio de clave maestra /var/krb5/.k5.EXAMPLE.COM.
# kdb5_ldap_util -D "cn=directory manager" create -P abcd1234 -r EXAMPLE.COM -s
Estas contraseñas son utilizadas por el KDC cuando se enlaza al DS. El KDC utiliza diferentes roles según el tipo de acceso que el KDC está utilizando.
# kdb5_ldap_util stashsrvpw "cn=kdc service,ou=profile,dc=example,dc=com" # kdb5_ldap_util stashsrvpw "cn=kadmin service,ou=profile,dc=example,dc=com"
dn: cn=kdc service,ou=profile,dc=example,dc=com cn: kdc service sn: kdc service objectclass: top objectclass: person userpassword: test123 dn: cn=kadmin service,ou=profile,dc=example,dc=com cn: kadmin service sn: kadmin service objectclass: top objectclass: person userpassword: test123
# ldapmodify -a -h dsserver.example.com -D "cn=directory manager" -f kdc_roles.ldif
# cat << EOF | ldapmodify -h dsserver.example.com -D "cn=directory manager" # Set kadmin ACL for everything under krbcontainer. dn: cn=krbcontainer,dc=example,dc=com changetype: modify add: aci aci: (target="ldap:///cn=krbcontainer,dc=example,dc=com")(targetattr="krb*")(version 3.0;\ acl kadmin_ACL; allow (all)\ userdn = "ldap:///cn=kadmin service,ou=profile,dc=example,dc=com";) # Set kadmin ACL for everything under the people subtree if there are # mix-in entries for krb princs: dn: ou=people,dc=example,dc=com changetype: modify add: aci aci: (target="ldap:///ou=people,dc=example,dc=com")(targetattr="krb*")(version 3.0;\ acl kadmin_ACL; allow (all)\ userdn = "ldap:///cn=kadmin service,ou=profile,dc=example,dc=com";) EOF
Necesita cambiar los nombres de dominio y los nombres de los servidores. Consulte la página del comando man krb5.conf(4) para obtener una descripción completa de este archivo.
kdc1 # cat /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://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html }
En este ejemplo, se modificaron las líneas para las entradas default_realm, kdc, admin_server y domain_realm. Además, se editó la línea que define help_url.
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.
Necesita cambiar el nombre de dominio. Consulte la página del comando man kdc.conf(4) para obtener una descripción completa de este archivo.
kdc1 # cat /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 }
En este ejemplo, se modificó la definición del nombre de dominio en la sección realms. Además, en la sección realms, se agregaron líneas para permitir la propagación incremental y para seleccionar el número de actualizaciones que el KDC maestro mantiene en el registro.
Nota - Si desea restringir los tipos de cifrado, puede definir las líneas permitted_enctypes, supported_enctypes o master_key_type. 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.
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 da al principal kws/admin en el dominio EXAMPLE.COM la capacidad de modificar los principales o las políticas en el KDC. La instalación predeterminada incluye un asterisco (*) para que concuerde con todos los principales admin. Este valor predeterminado puede ser un riesgo de seguridad, por lo que es más seguro incluir una lista de todos los principales admin. Consulte la página del comando man kadm5.acl(4) para obtener más información.
Los próximos pasos secundarios crean los principales que son utilizados por el servicio Kerberos.
kdc1 # /usr/sbin/kadmin.local kadmin.local:
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 the password> Re-enter password for principal kws/admin@EXAMPLE.COM: <Type it again> Principal "kws/admin@EXAMPLE.COM" created. kadmin.local:
Ha agregado todos los principales necesarios para los pasos siguientes.
kadmin.local: quit
Si los servidores LDAP y KDC se están ejecutando en el mismo host y si el servicio LDAP está configurado con un FMRI de SMF, agregue una dependencia al servicio LDAP para los daemons Kerberos. Esta dependencia reiniciará el servicio KDC si el servicio LDAP se reinicia.
# svccfg -s security/krb5kdc svc:/network/security/krb5kdc> addpg dsins1 dependency svc:/network/security/krb5kdc> setprop dsins1/entities = \ fmri: "svc:/application/sun/ds:ds--var-opt-SUNWdsee-dsins1" svc:/network/security/krb5kdc> setprop dsins1/grouping = astring: "require_all" svc:/network/security/krb5kdc> setprop dsins1/restart_on = astring: "restart" svc:/network/security/krb5kdc> setprop dsins1/type = astring: "service" svc:/network/security/krb5kdc> exit
# svccfg -s security/kadmin svc:/network/security/kadmin> addpg dsins1 dependency svc:/network/security/kadmin> setprop dsins1/entities =\ fmri: "svc:/application/sun/ds:ds--var-opt-SUNWdsee-dsins1" svc:/network/security/kadmin> setprop dsins1/grouping = astring: "require_all" svc:/network/security/kadmin> setprop dsins1/restart_on = astring: "restart" svc:/network/security/kadmin> setprop dsins1/type = astring: "service" svc:/network/security/kadmin> exit
kdc1 # svcadm enable -r network/security/krb5kdc kdc1 # svcadm enable -r network/security/kadmin
En este punto, puede agregar principales con la herramienta de interfaz gráfica de usuario de administración de Kerberos. Para ello, debe iniciar sesión con uno de los nombres de principales admin creados anteriormente en este procedimiento. Sin embargo, el siguiente ejemplo de línea de comandos se muestra para que resulte más sencillo.
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
El principal host es utilizado por aplicaciones Kerberizadas, como klist y kprop. Los clientes utilizan este principal cuando montan un sistema de archivos NFS autenticado. 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.
kadmin: addprinc clntconfig/admin Enter password for principal clntconfig/admin@EXAMPLE.COM:<Type the password> Re-enter password for principal clntconfig/admin@EXAMPLE.COM: <Type it again> Principal "clntconfig/admin@EXAMPLE.COM" created. kadmin:
La adición del principal host al archivo keytab permite que este principal se utilice 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. Entry for principal host/kdc1.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc1.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
No es necesario instalar ni utilizar el protocolo de hora de red (NTP). Sin embargo, cada reloj debe estar dentro de la hora predeterminada que está definida en la sección libdefaults del 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.
Para proporcionar redundancia, asegúrese de instalar, al menos, un KDC esclavo. Consulte Cómo configurar manualmente un KDC esclavo para obtener instrucciones específicas.
En la versión Oracle Solaris, un KDC esclavo se puede configurar automáticamente mediante el siguiente procedimiento.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Ejecute la utilidad kdcmgr para crear el KDC. Debe proporcionar la contraseña de clave maestra y la contraseña para el principal administrativo.
kdc2# kdcmgr -a kws/admin -r EXAMPLE.COM create -m kdc1 slave Starting server setup --------------------------------------- Setting up /etc/krb5/kdc.conf Setting up /etc/krb5/krb5.conf Obtaining TGT for kws/admin ... Password for kws/admin@EXAMPLE.COM: <Type the password> Setting up /etc/krb5/kadm5.acl. Setting up /etc/krb5/kpropd.acl. Waiting for database from master... Waiting for database from master... Waiting for database from master... kdb5_util: Cannot find/read stored master key while reading master key kdb5_util: Warning: proceeding without master key Enter KDC database master key: <Type the password> --------------------------------------------------- Setup COMPLETE. kdc2#
Utilice el siguiente procedimiento para configurar interactivamente un KDC esclavo.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Ejecute la utilidad kdcmgr para crear el KDC. Debe proporcionar la contraseña de clave maestra y la contraseña para el principal administrativo.
kdc1# kdcmgr create slave Starting server setup --------------------------------------- Enter the Kerberos realm: EXAMPLE.COM What is the master KDC's host name?: kdc1 Setting up /etc/krb5/kdc.conf Setting up /etc/krb5/krb5.conf Obtaining TGT for kws/admin ... Password for kws/admin@EXAMPLE.COM: <Type the password> Setting up /etc/krb5/kadm5.acl. Setting up /etc/krb5/kpropd.acl. Waiting for database from master... Waiting for database from master... Waiting for database from master... kdb5_util: Cannot find/read stored master key while reading master key kdb5_util: Warning: proceeding without master key Enter KDC database master key: <Type the password> --------------------------------------------------- Setup COMPLETE. kdc2#
En este procedimiento, se configura un nuevo KDC esclavo denominado kdc2. Además, 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
KDC esclavo = kdc2.example.com
Principal admin = kws/admin
Antes de empezar
El KDC maestro debe estar configurado. Para obtener instrucciones específicas si este esclavo se va a intercambiar, consulte Intercambio de un KDC maestro y un KDC esclavo.
Debe iniciar sesión con uno de los nombres de principales admin que creó cuando configuró el KDC maestro.
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Para que el esclavo funcione, debe tener un principal host. 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/kdc2.example.com Principal "host/kdc2.example.com@EXAMPLE.COM" created. kadmin:
El principal kiprop se utiliza para autorizar la propagación incremental del KDC maestro.
kadmin: addprinc -randkey kiprop/kdc2.example.com Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created. kadmin:
kadmin: quit
Debe agregar una entrada para cada esclavo. Consulte la página del comando man krb5.conf(4) para obtener una descripción completa de este archivo.
kdc1 # cat /etc/krb5/krb5.conf . . [realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com }
Esta entrada permite que el KDC maestro reciba solicitudes de propagación incremental para el servidor kdc2.
kdc1 # cat /etc/krb5/kadm5.acl */admin@EXAMPLE.COM * kiprop/kdc2.example.com@EXAMPLE.COM p
kdc1 # svcadm restart network/security/kadmin
Este paso se debe realizar en todos los KDC esclavos, ya que el servidor KDC maestro ha actualizado información que cada servidor KDC necesita. Puede utilizar ftp o un mecanismo de transferencia similar para capturar copias de los siguientes archivos del KDC maestro:
/etc/krb5/krb5.conf
/etc/krb5/kdc.conf
Esta información se debe actualizar en todos los servidores KDC esclavos.
kdc2 # cat /etc/krb5/kpropd.acl host/kdc1.example.com@EXAMPLE.COM host/kdc2.example.com@EXAMPLE.COM
Un archivo kadm5.acl sin modificaciones sería de la siguiente manera:
kdc2 # cat /etc/krb5/kadm5.acl */admin@___default_realm___ *
Si el archivo tiene entradas kiprop, elimínelas.
Reemplace la entrada sunw_dbprop_master_ulogsize por una entrada que defina sunw_dbprop_slave_poll. La entrada establece el tiempo de sondeo en dos minutos.
kdc1 # cat /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_slave_poll = 2m }
Debe iniciar sesión con uno de los nombres de principales admin que creó cuando configuró el KDC maestro.
kdc2 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Esta entrada permite que kprop y otras aplicaciones Kerberizadas funcionen. 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: ktadd host/kdc2.example.com Entry for principal host/kdc2.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/kdc2.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/kdc2.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/kdc2.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc2.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
La adición del principal kiprop al archivo krb5.keytab permite que el comando kpropd se autentique cuando se inicia la propagación incremental.
kadmin: ktadd kiprop/kdc2.example.com Entry for principal kiprop/kdc2.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 kiprop/kdc2.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 kiprop/kdc2.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 kiprop/kdc2.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
kdc2 # svcadm enable network/security/krb5_prop
kdc2 # /usr/sbin/kdb5_util stash kdb5_util: Cannot find/read stored master key while reading master key kdb5_util: Warning: proceeding without master key Enter KDC database master key: <Type the key>
No es necesario instalar ni utilizar el protocolo de hora de red (NTP). Sin embargo, cada reloj debe estar dentro de la hora predeterminada que está definida en la sección libdefaults del 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.
kdc2 # svcadm enable network/security/krb5kdc
Cuando el principal de servicio de otorgamiento de tickets (TGS) sólo tiene una clave DES, que es el caso de los servidores KDC creados antes de la versión Solaris 10, la clave restringe el tipo de cifrado de la clave de sesión de otorgamiento de tickets (TGT) a DES. Si un KDC se actualiza a una versión que admite otros tipos de cifrado más seguros, el administrador puede esperar que un cifrado más seguro se utilice para todas las claves de sesión generadas por el KDC. Sin embargo, si al principal TGS existente no se le refrescan las claves para incluir los nuevos tipos de cifrado, la clave de sesión TGT seguirá estando limitada a DES. El siguiente procedimiento refresca la clave para que se puedan utilizar tipos de cifrado adicionales.
kdc1 % /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin: cpw -randkey krbtgt/EXAMPLE.COM@EXAMPLE.COM
Ejemplo 21-2 Actualización de claves de principales de un servidor maestro
Si ha iniciado sesión en el KDC maestro como root, puede actualizar el principal del servicio TGS con el siguiente comando:
kdc1 # kadmin.local -q 'cpw -randkey krbtgt/EXAMPLE.COM@EXAMPLE.COM'