JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: servicios de seguridad     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

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.  Verificación de la integridad de archivos mediante el uso de BART (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.  Uso de módulos de autenticación conectables

15.  Uso de Secure Shell

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

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 desactivar 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

Cómo renovar automáticamente todos los tickets de otorgamiento de tickets (TGT)

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

El archivo kpropd.acl

El comando kprop_script

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 mezclar atributos de principales de Kerberos en un tipo de clase de objeto que no es de Kerberos

Cómo destruir un dominio en un servidor de directorios LDAP

Aumento de la seguridad en servidores Kerberos

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

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Administración de la base de datos de Kerberos

La base de datos de Kerberos es la red principal de Kerberos y se debe mantener correctamente. En esta sección, se proporcionan algunos procedimientos sobre cómo administrar la base de datos de Kerberos, como la copia de seguridad y restauración de la base de datos, la configuración de la propagación incremental o en paralelo, y la administración del archivo intermedio. Los pasos para configurar inicialmente la base de datos se detallan en Cómo configurar manualmente un KDC maestro.

Copia de seguridad y propagación de la base de datos de Kerberos

La propagación de la base de datos de Kerberos desde el KDC maestro hasta los KDC esclavos es una de las tareas de configuración más importantes. Si la propagación no ocurre con suficiente frecuencia, el KDC maestro y los KDC esclavos pierden la sincronización. Por lo tanto, si el KDC maestro deja de funcionar, los KDC esclavos no tendrán la información más reciente de la base de datos. Además, si un KDC esclavo se ha configurado como un KDC maestro con fines de equilibrio de carga, los clientes que utilicen ese KDC esclavo como KDC maestro no tendrán la información más reciente. Por lo tanto, debe asegurarse de que la propagación se produzca con suficiente frecuencia o configurar los servidores para la propagación incremental en función de la frecuencia con la que se cambia la base de datos de Kerberos. La propagación incremental se prefiere frente a la propagación manual porque hay más sobrecarga administrativa cuando se propaga manualmente la base de datos. También hay ineficacias cuando se realiza la propagación completa de la base de datos.

Al configurar el KDC maestro, se configura el comando kprop_script en un trabajo cron para realizar automáticamente una copia de seguridad de la base de datos de Kerberos en el archivo de volcado /var/krb5/slave_datatrans y propagarlo a los KDC esclavos. No obstante, como con cualquier archivo, la base de datos de Kerberos puede dañarse. Si se dañan los datos en un KDC esclavo, es posible que nunca lo note, porque la próxima propagación automática de la base de datos instala una copia nueva. Sin embargo, si se dañan los datos en el KDC maestro, la base de datos dañada se propaga a todos los KDC esclavos durante la siguiente propagación. Por lo tanto, la copia de seguridad dañada sobrescribe el archivo de copia de seguridad anterior que no está dañado en el KDC maestro.

Debido a que no hay ninguna copia de seguridad “segura” en este escenario, también debe configurar un trabajo cron para copiar periódicamente el archivo de volcado slave_datatrans en otra ubicación o para crear otra copia de seguridad separada mediante el comando dump de kdb5_util. De este modo, si se daña su base de datos, puede restaurar la copia de seguridad más reciente en el KDC maestro mediante el comando load de kdb5_util.

Otra nota importante: debido a que el archivo de volcado de la base de datos contiene claves de principales, necesita proteger el archivo contra el acceso de usuarios no autorizados. De manera predeterminada, el archivo de volcado de la base de datos tiene permisos de lectura y escritura sólo como root. Para protegerlo contra el acceso no autorizado, utilice sólo el comando kprop para propagar el archivo de volcado de la base de datos, que cifra los datos que se transfieren. Además, kprop propaga los datos sólo a los KDC esclavos, lo cual minimiza la posibilidad de enviar accidentalmente el archivo de volcado de la base de datos a hosts no autorizados.


Precaución

Precaución - Si la base de datos de Kerberos se actualiza después de ser propagada y si la base se daña posteriormente antes de la siguiente propagación, los KDC esclavos no contendrán las actualizaciones. Las actualizaciones se perderán. Por este motivo, si agrega actualizaciones importantes a la base de datos de Kerberos antes de una propagación programada con regularidad, debe propagar manualmente la base de datos para evitar pérdidas de datos.


El archivo kpropd.acl

El archivo kpropd.acl en un KDC esclavo proporciona una lista de nombres de principales host, un nombre por línea, que especifica los sistemas desde los cuales el KDC puede recibir una base de datos actualizada mediante la propagación. Si el KDC maestro se utiliza para propagar todos los KDC esclavos, el archivo kpropd.acl de cada esclavo necesita contener sólo el nombre del principal host del KDC maestro.

Sin embargo, la instalación de Kerberos y los pasos de configuración posteriores en este manual le indican que agregue el mismo archivo kpropd.acl al KDC maestro y a los KDC esclavos. Este archivo contiene todos los nombres de principales host del KDC. Esta configuración permite propagar desde cualquier KDC, en caso de que los KDC que se propagan no estén disponibles temporalmente. De este modo, al conservar una copia idéntica en todos los KDC, hace que la configuración sea fácil de mantener.

El comando kprop_script

El comando kprop_script usa el comando kprop para propagar la base de datos de Kerberos a otros KDC. Si el comando kprop_script se ejecuta en un KDC esclavo, propaga la copia del KDC esclavo de la base de datos de Kerberos a otros KDC. El comando kprop_script acepta una lista de nombres de host para argumentos, separados por espacios, que indican los KDC para propagar.

Cuando kprop_script se ejecuta, crea una copia de seguridad de la base de datos de Kerberos en el archivo /var/krb5/slave_datatrans y copia el archivo en los KDC especificados. La base de datos de Kerberos se bloquea hasta que la propagación se termina.

Cómo realizar copias de seguridad de la base de datos de Kerberos

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

Ejemplo 21-19 Copia de seguridad de la base de datos de Kerberos

En el siguiente ejemplo, se realiza una copia de seguridad de la base de datos de Kerberos en un archivo denominado dumpfile. Debido a que la opción -verbose está especificada, cada principal se imprime a medida que se le realiza una copia de seguridad.

# kdb5_util dump -verbose dumpfile 
kadmin/kdc1.eng.example.com@ENG.EXAMPLE.COM 
krbtgt/ENG.EXAMPLE.COM@ENG.EXAMPLE.COM 
kadmin/history@ENG.EXAMPLE.COM 
pak/admin@ENG.EXAMPLE.COM 
pak@ENG.EXAMPLE.COM
changepw/kdc1.eng.example.com@ENG.EXAMPLE.COM

En el ejemplo siguiente, se realiza una copia de seguridad de los principales pak y pak/admin de la base de datos de Kerberos.

# kdb5_util dump -verbose dumpfile pak/admin@ENG.EXAMPLE.COM pak@ENG.EXAMPLE.COM
pak/admin@ENG.EXAMPLE.COM
pak@ENG.EXAMPLE.COM

Cómo restaurar la base de datos de Kerberos

Antes de empezar

En KDC maestro, debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. En el maestro, detenga los daemons del KDC.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  2. Restaure la base de datos de Kerberos mediante el comando load del comando kdb_util.
    # /usr/sbin/kdb5_util load [-verbose] [-d dbname] [-update] [filename] 
    -verbose

    Imprime el nombre de cada principal y política que se están restaurando.

    nombre_base_datos

    Define el nombre de la base de datos para restaurar. Tenga en cuenta que puede especificar una ruta absoluta para el archivo. Si la opción -d no está especificada, el nombre de la base de datos predeterminado es /var/krb5/principal.

    -update

    Actualiza la base de datos existente. De lo contrario, se crea una base de datos nueva o la base de datos existente se sobrescribe.

    nombre_archivo

    Define el archivo desde el cual se va a restaurar la base de datos. Puede especificar una ruta absoluta para el archivo.

  3. Inicie los daemons del KDC.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

Ejemplo 21-20 Restauración de la base de datos de Kerberos

En el ejemplo siguiente, la base de datos denominada database1 se restaura en el directorio actual del archivo dumpfile. Debido a que la opción -update no está especificada, se crea una base de datos nueva con la restauración.

# kdb5_util load -d database1 dumpfile

Cómo convertir una base de datos de Kerberos después de una actualización de servidor

Si la base de datos del KDC se ha creado en un servidor que ejecuta la versión Solaris 8 o Solaris 9, la conversión de la base de datos permite aprovechar el formato de base de datos mejorado.

Antes de empezar

Asegúrese de que la base de datos esté utilizando un formato antiguo.

En KDC maestro, debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. En el maestro, detenga los daemons del KDC.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  2. Cree un directorio para almacenar una copia temporal de la base de datos.
    kdc1 # mkdir /var/krb5/tmp
    kdc1 # chmod 700 /var/krb5/tmp
  3. Vuelque la base de datos del KDC.
    kdc1 # kdb5_util dump /var/krb5/tmp/prdb.txt
  4. Guarde copias de los archivos de la base de datos actual.
    kdc1 # cd /var/krb5
    kdc1 # mv princ* tmp/
  5. Cargue la base de datos.
    kdc1 # kdb5_util load /var/krb5/tmp/prdb.txt
  6. Inicie los daemons del KDC.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

Cómo reconfigurar un KDC maestro para utilizar la propagación incremental

Los pasos de este procedimiento se pueden utilizar para volver a configurar un KDC maestro existente a fin de utilizar la propagación incremental. En este procedimiento, se utilizan los siguientes parámetros de configuración:

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Agregue entradas a kdc.conf.

    Necesita activar la propagación incremental y seleccionar el número de actualizaciones que el KDC maestro mantiene en el registro. Consulte la página del comando man kdc.conf(4) para obtener más información.

    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
            }
  2. Cree el principal kiprop.

    El principal kiprop se utiliza para autenticar el servidor KDC maestro y para autorizar las actualizaciones del KDC maestro.

    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: addprinc -randkey kiprop/kdc1.example.com
    Principal "kiprop/kdc1.example.com@EXAMPLE.COM" created.
    kadmin: addprinc -randkey kiprop/kdc2.example.com
    Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created.
    kadmin:
  3. En el KDC maestro, agregue una entrada kiprop a kadm5.acl.

    Esta entrada permite que el KDC maestro reciba solicitudes de propagación incremental del servidor kdc2.

    kdc1 # cat /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  4. Elimine el comentario de la línea kprop en el archivo crontab root.

    Este paso impide que el KDC maestro propague su copia de la base de datos del KDC.

    kdc1 # crontab -e
    #ident  "@(#)root       1.20    01/11/06 SMI"
    #
    # The root crontab should be used to perform accounting data collection.
    #
    # The rtc command is run to adjust the real time clock if and when
    # daylight savings time changes.
    #
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 /usr/lib/fs/nfs/nfsfind
    1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    #10 3 * * * /usr/lib/krb5kprop_script kdc2.example.sun.com #SUNWkr5ma
  5. Reinicie kadmind.
    kdc1 # svcadm restart network/security/kadmin
  6. Reconfigure todos los servidores KDC esclavos que utilicen la propagación incremental.

    Consulte Cómo reconfigurar un KDC esclavo para utilizar la propagación incremental para obtener instrucciones completas.

Cómo reconfigurar un KDC esclavo para utilizar la propagación incremental

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Agregue entradas a kdc.conf.

    La primera nueva entrada permite la propagación progresiva. La segunda nueva entrada establece el tiempo de sondeo en dos minutos.

    kdc2 # 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
            }
  2. Agregue el principal kiprop al archivo krb5.keytab.
    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    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: quit
  3. Reinicie kpropd.
    kdc2 # svcadm restart network/security/krb5_prop

Cómo configurar un KDC esclavo para utilizar la propagación completa

En este procedimiento se muestra cómo reconfigurar un servidor KDC esclavo que ejecuta la versión Solaris 10 para utilizar la propagación completa. Normalmente, el procedimiento sólo se debe utilizar si el servidor KDC maestro ejecuta la versión Solaris 9 o una versión anterior. En este caso, el servidor KDC maestro no puede admitir la propagación incremental, por lo que el esclavo debe estar configurado para que la propagación funcione.

En este procedimiento, se configura un KDC esclavo denominado kdc3. Este procedimiento utiliza los siguientes parámetros de configuración:

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.

En KDC maestro, debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. En el KDC maestro, inicie kadmin.

    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: 
    1. En el KDC maestro, agregue principales host esclavos a la base de datos si aún no lo ha hecho.

      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/kdc3.example.com
      Principal "host/kdc3@EXAMPLE.COM" created.
      kadmin: 
    2. Salga de kadmin.
      kadmin: quit
  2. En el KDC maestro, edite el archivo de configuración de Kerberos (krb5.conf).

    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
                    kdc = kdc3.example.com
                    admin_server = kdc1.example.com
            }
  3. En el KDC maestro, agregue una entrada para el KDC maestro y cada KDC esclavo en el archivo kpropd.acl.

    Consulte la página del comando man kprop(1M) para obtener una descripción completa de este archivo.

    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.example.com@EXAMPLE.COM
    host/kdc2.example.com@EXAMPLE.COM
    host/kdc3.example.com@EXAMPLE.COM
  4. En todos los KDC esclavos, copie los archivos de administración KDC del servidor KDC maestro.

    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

    • /etc/krb5/kpropd.acl

  5. En todos los KDC esclavos, asegúrese de que el archivo de la lista de control de acceso de Kerberos, kadm5.acl, no esté relleno.

    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.

  6. En el nuevo esclavo, inicie el comando kadmin.

    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: 
    1. Agregue el principal host del esclavo al archivo keytab del esclavo mediante 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/kdc3.example.com
      Entry for principal host/kdc3.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/kdc3.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/kdc3.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/kdc3.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    2. Salga de kadmin.
      kadmin: quit
  7. En el KDC maestro, agregue el nombre del KDC esclavo al trabajo cron, que ejecuta de forma automática las copias de seguridad, ejecutando crontab -e.

    Agregue el nombre de cada servidor KDC esclavo al final de la línea kprop_script.

    10 3 * * * /usr/lib/krb5/kprop_script kdc2.example.com kdc3.example.com

    Es posible que también desee cambiar la hora de las copias de seguridad. Esta entrada inicia el proceso de copia de seguridad cada día a las 3:10 a. m.

  8. En el nuevo esclavo, inicie el daemon de propagación de Kerberos.
    kdc3 # svcadm enable network/security/krb5_prop
  9. En el KDC maestro, realice una copia de seguridad de la base de datos y propáguela mediante kprop_script.

    Si ya hay disponible una copia de seguridad de la base de datos, no es necesario completar otra copia de seguridad. Consulte Cómo propagar manualmente la base de datos de Kerberos a los KDC esclavos para obtener más instrucciones.

    kdc1 # /usr/lib/krb5/kprop_script kdc3.example.com
    Database propagation to kdc3.example.com: SUCCEEDED
  10. En el nuevo esclavo, cree un archivo intermedio con kdb5_util.
    kdc3 # /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>
  11. (Opcional) En el nuevo KDC esclavo, sincronice el reloj del KDC maestro mediante NTP u otro mecanismo de sincronización de relojes.

    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.

  12. En el nuevo esclavo, inicie el daemon del KDC (krb5kdc).
    kdc3 # svcadm enable network/security/krb5kdc

Cómo verificar que los servidores KDC estén sincronizados

Si la propagación incremental se ha configurado, este procedimiento garantiza que la información en el KDC esclavo se ha actualizado.

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. En el servidor KDC maestro, ejecute el comando kproplog.
    kdc1 # /usr/sbin/kproplog -h
  2. En un servidor KDC esclavo, ejecute el comando kproplog.
    kdc2 # /usr/sbin/kproplog -h
  3. Compruebe que el último número de serie y los últimos valores de indicación de hora coincidan.

Ejemplo 21-21 Verificación de que los servidores KDC estén sincronizados

A continuación, se muestra un ejemplo de resultados de la ejecución del comando kproplog en el servidor KDC maestro.

kdc1 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 2500
    First serial #: 137966
    Last serial #: 140465
    First time stamp: Fri Nov 28 00:59:27 2004
    Last time stamp: Fri Nov 28 01:06:13 2004

A continuación, se muestra un ejemplo de resultados de la ejecución del comando kproplog en un servidor KDC esclavo.

kdc2 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 0
    First serial #: None
    Last serial #: 140465
    First time stamp: None
    Last time stamp: Fri Nov 28 01:06:13 2004

Tenga en cuenta que los valores para el último número de serie y la última indicación de hora son idénticos, lo que indica que el esclavo está sincronizado con el servidor KDC maestro.

En la salida del servidor KDC esclavo, observe que no existen entradas de actualización en el registro de actualización del servidor KDC esclavo. No existen entradas porque el servidor KDC esclavo no conserva un conjunto de actualizaciones, a diferencia del servidor KDC maestro. Además, el servidor KDC esclavo no incluye información sobre el primer número de serie ni la primera indicación de hora porque no es información relevante.

Cómo propagar manualmente la base de datos de Kerberos a los KDC esclavos

Este procedimiento muestra cómo propagar la base de datos de Kerberos mediante el comando kprop. Utilice este procedimiento si necesita sincronizar un KDC esclavo con el KDC maestro fuera del trabajo cron periódico. A diferencia de kprop_script, puede utilizar kprop para propagar sólo la copia de seguridad de la base de datos actual sin realizar primero una nueva copia de seguridad de la base de datos de Kerberos.


Nota - No utilice este procedimiento si está usando la propagación incremental.


Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. (Opcional) Cree una copia de seguridad de la base de datos mediante el comando kdb5_util.
    # /usr/sbin/kdb5_util dump /var/krb5/slave_datatrans
  2. Propague la base de datos a un KDC esclavo mediante el comando kprop.
    # /usr/lib/krb5/kprop -f /var/krb5/slave_datatrans slave-KDC

Ejemplo 21-22 Propagación manual de la base de datos de Kerberos a los KDC esclavos mediante kprop_script

Si desea realizar una copia de seguridad de la base de datos y propagarla a un KDC esclavo fuera del trabajo cron periódico, también puede utilizar el comando kprop_script, como se indica a continuación:

# /usr/lib/krb5/kprop_script slave-KDC

Configuración de propagación en paralelo

En la mayoría de los casos, el KDC maestro se utiliza, exclusivamente, para propagar su base de datos de Kerberos a los KDC esclavos. Sin embargo, si su sitio tiene muchos KDC esclavos, es posible que deba considerar el uso compartido de carga del proceso de propagación, conocido como propagación en paralelo.


Nota - No utilice este procedimiento si está usando la propagación incremental.


La propagación en paralelo permite que KDC esclavos específicos compartan las tareas de propagación con el KDC maestro. Este uso compartido de tareas permite que la propagación se realice más rápido y alivie el trabajo para el KDC maestro.

Por ejemplo, suponga que su sitio tiene un KDC maestro y seis KDC esclavos (que se muestran en la Figura 21-2), donde del slave-1 al slave-3 constan de una agrupación lógica y del slave-4 al slave-6 constan de otra agrupación lógica. Para configurar la propagación en paralelo, puede hacer que el KDC maestro propague la base de datos al slave-1 y al slave-4. A su vez, los KDC esclavos pueden propagar la base de datos a los KDC esclavos de su grupo.

Figura 21-2 Ejemplo de configuración de propagación en paralelo

image:En el diagrama, se muestra un KDC maestro con dos esclavos de propagación. Cada esclavo de propagación propaga a sus esclavos la base de datos del KDC maestro.

Pasos de configuración para la propagación en paralelo

A continuación, no se muestra un procedimiento detallado paso a paso, sino una lista de nivel superior con pasos de configuración para habilitar la propagación en paralelo. Estos pasos implican lo siguiente:

  1. En el KDC maestro, cambie la entrada kprop_script en su trabajo cron a fin de incluir argumentos sólo para los KDC esclavos que realizarán la propagación subsiguiente (los esclavos de propagación).

  2. En cada esclavo de propagación, agregue una entrada kprop_script a su trabajo cron, que debe incluir argumentos para que los esclavos se propaguen. Para propagar en paralelo correctamente, el trabajo cron se debe configurar para que se ejecute después de que el esclavo de propagación se propaga con la nueva base de datos de Kerberos.


    Nota - El tiempo que tomará que un esclavo de propagación se propague depende de factores, como el ancho de banda de la red y el tamaño de la base de datos de Kerberos.


  3. En cada KDC esclavo, configure los permisos adecuados que se van a propagar. Este paso se realiza mediante la adición del nombre del principal host del KDC de propagación al archivo kpropd.acl.

Ejemplo 21-23 Configuración de propagación en paralelo

Mediante el ejemplo de la Figura 21-2, la entrada kprop_script de los KDC maestros sería similar a la siguiente:

0 3 * * * /usr/lib/krb5/kprop_script slave-1.example.com slave-4.example.com

La entrada kprop_script de slave-1 sería similar a la siguiente:

0 4 * * * /usr/lib/krb5/kprop_script slave-2.example.com slave-3.example.com

Tenga en cuenta que la propagación en el esclavo comienza una hora después de que es propagado por el maestro.

El archivo kpropd.acl en los esclavos de propagación contendría la siguiente entrada:

host/master.example.com@EXAMPLE.COM

El archivo kpropd.acl en los KDC esclavos que están siendo propagados por slave-1 contendría la siguiente entrada:

host/slave-1.example.com@EXAMPLE.COM

Administración del archivo intermedio

El archivo intermedio contiene la clave maestra para la base de datos de Kerberos, que se crea automáticamente al crear una base de datos de Kerberos. Si el archivo intermedio se daña, puede utilizar el comando stash de la utilidad kdb5_util para sustituir el archivo dañado. La única vez que debe eliminar un archivo intermedio es después de eliminar la base de datos de Kerberos con el comando destroy de kdb5_util. Debido a que el archivo intermedio no se elimina automáticamente con la base de datos, tiene que eliminarlo para finalizar la limpieza.

Cómo eliminar un archivo intermedio

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

Cómo emplear una nueva clave maestra

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Cree una nueva clave maestra.

    Este comando agrega una nueva clave maestra generada aleatoriamente. La opción -s necesita que la nueva clave maestra se almacene en el archivo keytab predeterminado.

    # kdb5_util add_mkey -s
    
    Creating new master key for master key principal 'K/M@EXAMPLE.COM'
    You will be prompted for a new 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>
  2. Verifique que exista la nueva clave maestra.
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, No activate time set
    KNVO: 1, Enctype: DES cbc mode with RSA-MD5, Active on: Wed Dec 31 18:00:00 CST 2001 *

    El asterisco en esta salida identifica la clave maestra actualmente activa.

  3. Defina un tiempo para que la clave maestra creada recientemente se active.
    # date
    Fri Jul 1 17:57:00 CDT 2011
    # kdb5_util use_mkey 2 'now+2days'
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, Active on: Sun Jul 03 17:57:15 CDT 2011
    KNVO: 1, Enctype: DES cbc mode with RSA-MD5, Active on: Wed Dec 31 18:00:00 CST 2001 *

    En este ejemplo, se define la fecha a dos días antes para darle tiempo a la nueva clave maestra a que se propague a todos los KDC. Ajuste la fecha de manera adecuada para su entorno.

  4. (Opcional) Después de crear un principal nuevo, verifique que la nueva clave maestra esté en uso.
    # kadmin.local -q 'getprinc jimf' |egrep 'Principal|MKey'
    Authenticating as principal root/admin@EXAMPLE.COM with password.
    Principal: jimf@EXAMPLE.COM
    MKey: vno 2

    En este ejemplo, MKey: vno 2 indica que la clave secreta del principal está protegida por la clave maestra creada recientemente, 2.

  5. Vuelva a cifrar las claves secretas de principal de usuario con la nueva clave maestra.

    Si agregar un argumento de patrón al final del comando, los principales que coincidan con el patrón se actualizarán. Agregue la opción -n a esta sintaxis de comando para identificar qué principales se actualizarán.

    # kdb5_util update_princ_encryption -f -v
    Principals whose keys WOULD BE re-encrypted to master key vno 2:
    updating: host/kdc1.example.com@EXAMPLE.COM
    skipping:   jimf@EXAMPLE.COM
    updating: kadmin/changepw@EXAMPLE.COM
    updating: kadmin/history@EXAMPLE.COM
    updating: kdc/admin@EXAMPLE.COM
    updating: host/kdc2.example.com@EXAMPLE.COM
    6 principals processed: 5 updated, 1 already current
  6. Depure la clave maestra antigua.

    Después de que una clave maestra ya no se utiliza para proteger ninguna clave secreta de principal, se puede depurar del principal de clave maestra. Este comando no depura la clave si la clave aún está siendo utilizada por algún principal. Agregue la opción -n a este comando para verificar que la clave maestra correcta se depurará.

    # kdb5_util purge_mkeys -f -v
    Purging the follwing master key(s) from K/M@EXAMPLE.COM:
    KNVO: 1
    1 key(s) purged.
  7. Verifique que la clave maestra antigua se ha depurado.
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, Active on: Sun Jul 03 17:57:15 CDT 2011 *
  8. Actualice el archivo intermedio.
    # kdb5_util stash
    Using existing stashed keys to update stash file.
  9. Verifique que el archivo intermedio se haya actualizado.
    # klist -kt /var/krb5/.k5.EXAMPLE.COM
    Keytab name: FILE:.k5.EXAMPLE.COM
    KVNO Timestamp              Principal
    ---- ---------------- ---------------------------------------------------------
       2 05/07/2011 15:08 K/M@EXAMPLE.COM