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

Configuración de servidores KDC

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)

Tarea
Descripción
Para obtener instrucciones
Configurar un KDC maestro.
Configura y crea el servidor KDC maestro y la base de datos para un dominio mediante un proceso automático, que es bueno para las secuencias de comandos.
Configura y crea el servidor KDC maestro y la base de datos para un dominio mediante un proceso interactivo, que es suficiente para la mayoría de las instalaciones.
Configura y genera el servidor KDC maestro y la base de datos para un dominio mediante un proceso manual, que se necesita para instalaciones más complejas.
Configura y genera el servidor KDC maestro y la base de datos para un dominio mediante un proceso manual y un LDAP para el KDC.
Configurar un servidor KDC esclavo.
Configura y crea un servidor KDC esclavo para un dominio mediante un proceso automático, que es bueno para las secuencias de comandos.
Configura y crea un servidor KDC esclavo para un dominio mediante un proceso interactivo, que es suficiente para la mayoría de las instalaciones.
Configura y genera un servidor KDC esclavo para un dominio mediante un proceso manual, que se necesita para instalaciones más complejas.
Refrescar las claves de principal en un servidor KDC.
Actualiza la clave de la sesión en un servidor KDC para utilizar nuevos tipos de cifrado.

Cómo configurar automáticamente un KDC maestro

En la versión Oracle Solaris 11, un KDC maestro se puede configurar automáticamente mediante el siguiente procedimiento.

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 configurar interactivamente un KDC maestro

En la versión Oracle Solaris, un KDC maestro se puede configurar interactivamente mediante el siguiente procedimiento.

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

Cómo configurar manualmente un KDC maestro

En este procedimiento, se configura la propagación incremental. Además, se utilizan los siguientes parámetros de configuración:

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.

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

  1. Edite el archivo de configuración de Kerberos (krb5.conf).

    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://docs.oracle.com/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.


  2. Edite el archivo de configuración de KDC (kdc.conf).

    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.


  3. Cree la base de datos KDC mediante el comando kdb5_util.

    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>
  4. Edite el archivo de la lista de control de acceso de Kerberos (kadm5.acl).

    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.

  5. Agregue principales de administración a la base de datos.

    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: 
  6. Inicie los daemons Kerberos.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin
  7. Inicie kadmin y agregue más principales.

    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: 
    1. Cree el principal host del KDC maestro.

      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: 
    2. (Opcional) Cree el principal kclient.

      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: 
    3. Agregue el principal host del KDC maestro al archivo keytab del KDC maestro.

      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: 
    4. Salga de kadmin.
      kadmin: quit
  8. (Opcional) Sincronice el reloj de los KDC maestros 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.

  9. Configure los KDC esclavos.

    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.

Cómo configurar un KDC para utilizar un servidor de datos LDAP

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:

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.

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

  1. Configure el KDC maestro para utilizar SSL para alcanzar el servidor de directorios.

    Siga los pasos a continuación para configurar un KDC 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.

    1. En el servidor de directorios, exporte el certificado de servidor de directorios autofirmado.
      # /export/sun-ds6.1/ds6/bin/dsadm show-cert -F der /export/sun-ds6.1/directory2 \
              defaultCert > /tmp/defaultCert.cert.der
    2. En el KDC maestro, importe el certificado de servidor de directorios.
      # 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
    3. En el KDC maestro, compruebe que SSL esté funcionado.

      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.

  2. Rellene el directorio LDAP si es necesario.
  3. Agregue el esquema Kerberos al esquema existente.
    # ldapmodify -h dsserver.example.com -D "cn=directory manager" -f /usr/share/lib/ldif/kerberos.ldif
  4. Cree el contenedor Kerberos en el directorio LDAP.

    Agregue las entradas siguientes al archivo krb5.conf.

    1. Defina el tipo de base de datos.

      Agregue una entrada para definir database_module para la sección realms.

      database_module = LDAP
    2. Defina el módulo de la base de datos.
      [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
          }
    3. Cree el KDC en el directorio LDAP.

      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
  5. Guarde las contraseñas del nombre distintivo del vínculo (DN) del KDC.

    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"
  6. Agregue roles de servicio KDC.
    1. Cree un archivo kdc_roles.ldif con contenido como el siguiente:
      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
    2. Cree las entradas de rol en el directorio LDAP.
      # ldapmodify -a -h dsserver.example.com -D "cn=directory manager" -f kdc_roles.ldif
  7. Defina las ACL para los roles relacionados con el KDC.
    # 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
  8. Edite el archivo de configuración de Kerberos (krb5.conf).

    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://docs.oracle.com/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.


  9. Edite el archivo de configuración de KDC (kdc.conf).

    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.


  10. Edite el archivo de la lista de control de acceso de Kerberos (kadm5.acl).

    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.

  11. Inicie el comando kadmin.local y agregue principales.

    Los próximos pasos secundarios crean los principales que son utilizados por el servicio Kerberos.

    kdc1 # /usr/sbin/kadmin.local
    kadmin.local: 
    1. Agregue principales de administración a la base de datos.

      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: 
    2. Salga de kadmin.local.

      Ha agregado todos los principales necesarios para los pasos siguientes.

      kadmin.local: quit
  12. (Opcional) Configure las dependencias LDAP para servicios Kerberos.

    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.

    1. Agregue la dependencia al servicio krb5kdc.
      # 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
    2. Agregue la dependencia al servicio kadmin.
      # 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
  13. Inicie los daemons Kerberos.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin
  14. Inicie kadmin y agregue más principales.

    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: 
    1. Cree el principal host del KDC maestro.

      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: 
    2. (Opcional) Cree el principal kclient.

      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: 
    3. Agregue el principal host del KDC maestro al archivo keytab del KDC maestro.

      La agregació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: 
    4. Salga de kadmin.
      kadmin: quit
  15. (Opcional) Sincronice el reloj de los KDC maestros 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.

  16. Configure los KDC esclavos.

    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.

Cómo configurar automáticamente un KDC esclavo

En la versión Oracle Solaris, un KDC esclavo se puede configurar automáticamente mediante el siguiente procedimiento.

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 configurar interactivamente un KDC esclavo

Utilice el siguiente procedimiento para configurar interactivamente un KDC esclavo.

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 configurar manualmente un KDC esclavo

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:

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 asumir el rol root en el servidor KDC. 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/kdc2.example.com
      Principal "host/kdc2.example.com@EXAMPLE.COM" created.
      kadmin: 
    2. En el KDC maestro, cree el principal kiprop.

      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:
    3. 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
                    admin_server = kdc1.example.com
            }
  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 para el servidor kdc2.

    kdc1 # cat /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  4. En el KDC maestro, reinicie kadmind para utilizar las nuevas entradas en el archivo kadm5.acl.
    kdc1 # svcadm restart network/security/kadmin
  5. 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

  6. En todos los KDC esclavos, agregue una entrada para el KDC maestro y cada KDC esclavo en el archivo de configuración de propagación de bases de datos, kpropd.acl.

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

  8. En el nuevo esclavo, cambie una entrada en kdc.conf.

    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
            }
  9. 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/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: 
    2. Agregue el principal kiprop al archivo keytab del KDC esclavo.

      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: 
    3. Salga de kadmin.
      kadmin: quit
  10. En el nuevo esclavo, inicie el daemon de propagación de Kerberos.
    kdc2 # svcadm enable network/security/krb5_prop
  11. En el nuevo esclavo, cree un archivo intermedio con kdb5_util.
    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>
  12. (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.

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

Cómo refrescar las claves del servicio de otorgamiento de tickets en un servidor maestro

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.

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'