Gestión de Kerberos y otros servicios de autenticación en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

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:

  • 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 está configurado. Si este esclavo se va a intercambiar, siga las instrucciones en Cómo intercambiar un KDC maestro y un KDC esclavo.

Debe asumir el rol root en el servidor KDC. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .

  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: xxxxxxxx
    kadmin: 

    Para obtener más información, consulte la página del comando man kadmin(1M).

    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 para la propagación incremental.

      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. Para obtener una descripción de este archivo, consulte la página del comando man krb5.conf(4).

    kdc1 # pfedit /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 # pfedit /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  4. En el KDC maestro, reinicie el servicio 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.

      Cada KDC esclavo debe tener información actualizada sobre el servidor KDC maestro. Puede utilizar sftp o un mecanismo de transferencia similar para obtener 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 # pfedit /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 el siguiente ejemplo:

    kdc2 # pfedit /etc/krb5/kadm5.acl
    */admin@___default_realm___ *

    Si el archivo tiene entradas kiprop, elimínelas.

  8. En el nuevo esclavo, defina el intervalo de sondeo en el archivo kdc.conf.

    Reemplace la entrada sunw_dbprop_master_ulogsize por una entrada que defina el intervalo de sondeo del esclavo. La siguiente entrada establece el tiempo de sondeo en dos minutos.

    kdc1 # pfedit /etc/krb5/kdc.conf
    [kdcdefaults]
    kdc_ports = 88,750
    
    [realms]
    EXAMPLE.COM= {
    profile = /etc/krb5/krb5.conf
    database_name = /var/krb5/principal
    acl_file = /etc/krb5/kadm5.acl
    kadmind_port = 749
    max_life = 8h 0m 0s
    max_renewable_life = 7d 0h 0m 0s
    sunw_dbprop_enable = true
    sunw_dbprop_slave_poll = 2m
    }
  9. En el nuevo esclavo, inicie el comando kadmin.

    Inicie 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: xxxxxxxx
    kadmin: 
    1. Agregue el principal del esclavo al archivo keytab del esclavo mediante kadmin.

      Esta entrada permite que el comando 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. Para obtener más información, consulte la página del comando man kprop(1M).

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

      La agregació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.
      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 el comando 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: xxxxxxxx

    Para obtener más información, consulte la página del comando man kdb5_util(1M).

  12. Sincronice el reloj de este sistema con otros relojes en el dominio mediante NTP u otro mecanismo.

    Para que la autenticación se realice correctamente, cada reloj debe estar dentro de la hora predeterminada que está definida en la sección libdefaults del archivo krb5.conf. Para obtener más información, consulte la página del comando man krb5.conf(4). Para obtener información sobre el protocolo de hora de red (NTP), consulte Sincronización de relojes entre clientes Kerberos y KDC.

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

Pasos siguientes

Regrese al KDC maestro después de que el servidor NTP esté instalado para que el KDC maestro sea cliente del servidor NTP.