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 maestro

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

  • Nombre de dominio = EXAMPLE.COM

  • Nombre de dominio DNS = example.com

  • KDC maestro = kdc1.example.com

  • Principal admin = kws/admin

  • URL de ayuda en pantalla = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html


    Notas -  Ajuste la dirección URL para apuntar a la ubicación de la ayuda en pantalla, como se describe en Interfaz gráfica de usuario gkadmin.

Antes de empezar

El host está configurado para usar DNS. Para obtener instrucciones específicas de nomenclatura si este maestro se va a intercambiar, consulte Intercambio de un KDC maestro y un KDC esclavo.

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

  1. Instale el depósito de paquetes de KDC.

    Siga las instrucciones en Cómo instalar el paquete KDC.

  2. Edite el archivo de configuración de Kerberos,krb5.conf.

    Para obtener una descripción de este archivo, consulte la página del comando man krb5.conf(4).

    En este ejemplo, el administrador cambia las líneas de default_realm, kdc, admin_ servery todas las entradas de domain_realm, y edita la entrada help_url.

    kdc1 # pfedit /etc/krb5/krb5.conf
    ...
    [libdefaults]
    default_realm = EXAMPLE.COM
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc1.example.com
    admin_server = kdc1.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    #
    # if the domain name and realm name are equivalent,
    # this entry is not needed
    #
    [logging]
    default = FILE:/var/krb5/kdc.log
    kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
    gkadmin = {
    help_url = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
    }

    Notas -  Si debe comunicarse con un sistema Kerberos anterior, es posible deba restringir los tipos de cifrado. Para obtener una descripción de los problemas relacionados con la restricción de los tipos de cifrado, consulte Tipos de cifrado Kerberos.
  3. Designe el dominio en el archivo de configuración de KDC, kdc.conf.

    Para obtener una descripción de este archivo, consulte la página del comando man kdc.conf(4).

    En este ejemplo, además de la definición del nombre del dominio, el administrador cambia la propagación incremental y los valores predeterminados del registro.

    kdc1 # pfedit /etc/krb5/kdc.conf
    [kdcdefaults]
    kdc_ports = 88,750
    
    [realms]
    EXAMPLE.COM = {
    profile = /etc/krb5/krb5.conf
    database_name = /var/krb5/principal
    acl_file = /etc/krb5/kadm5.acl
    kadmind_port = 749
    max_life = 8h 0m 0s
    max_renewable_life = 7d 0h 0m 0s
    sunw_dbprop_enable = true
    sunw_dbprop_master_ulogsize = 1000
    }

    Notas -  Si debe comunicarse con un sistema Kerberos anterior, es posible deba restringir los tipos de cifrado. Para obtener una descripción de los problemas relacionados con la restricción de los tipos de cifrado, consulte Tipos de cifrado Kerberos.
  4. 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. Para obtener más información, consulte las páginas del comando man kdb5_util(1M), kadmind(1M) y krb5kdc(1M).

    kdc1 # /usr/sbin/kdb5_util create -s
    Initializing database '/var/krb5/principal' for realm 'EXAMPLE.COM'
    master key name 'K/M@EXAMPLE.COM'
    You will be prompted for the database Master Password.
    It is important that you NOT FORGET this password.
    Enter KDC database master key:/** Type strong password **/
    Re-enter KDC database master key to verify: xxxxxxxx

    Consejo  -  Si este paso falla, verifique que el KDC principal se identifique por su FQDN.
    # getent hosts IP-address-of-KDC
    IP-address-of-KDC kdc/** This entry does not include FQDN **/
    A continuación, agregue el FQDN como la primera entrada de KDC en el archivo /etc/hosts, por ejemplo:
    IP-address-of-KDC kdc.kdc-principal.example.com kdc

  5. 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 anterior da al principal kws/admin en el dominio EXAMPLE.COM la capacidad de modificar los principales y las políticas en el KDC. La entrada de principal predeterminada es un asterisco (*), lo que coincide con todos los admin de principales. Esta entrada puede representar un riesgo para la seguridad. Modifique el archivo para mostrar explícitamente cada admin de principal y sus derechos. Para obtener más información, consulte la página del comando man kadm5.acl(4).

  6. 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 strong password **/
    Re-enter password 
    for principal kws/admin@EXAMPLE.COM: xxxxxxxx
    Principal "kws/admin@EXAMPLE.COM" created.
    kadmin.local: 

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

  7. Inicie los daemons Kerberos.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin
  8. Inicie kadmin y agregue más principales.
    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin:
    1. Cree el principal de host de 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 de red, como ssh. Tenga en cuenta que cuando la instancia de principal es un nombre de host, el FQDN se debe especificar en letras minúsculas, independientemente de si el nombre de dominio está en mayúsculas o minúsculas en el servicio de nombres.

      kadmin: addprinc -randkey host/kdc1.example.com
      Principal "host/kdc1.example.com@EXAMPLE.COM" created.
      kadmin: 
    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. Para obtener más información, consulte la página del comando man kclient(1M).

      kadmin: addprinc clntconfig/admin
      Enter password for principal clntconfig/admin@EXAMPLE.COM:/** Type strong  password **/
      Re-enter password for principal clntconfig/admin@EXAMPLE.COM: xxxxxxxx
      Principal "clntconfig/admin@EXAMPLE.COM" created.
      kadmin: 

      Notas -  Guarde y almacene esta contraseña en una ubicación segura.
    3. Agregue privilegios al principal clntconfig/admin.

      Edite el archivo kadm5.acl para otorgar al principal clntconfig suficientes privilegios para realizar tareas de instalación de kclient.

      # pfedit /etc/krb5/kadm5.acl
      ...
      clntconfig/admin@EXAMPLE.COM  acdilm 
    4. 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 sea utilizado por servidores de aplicaciones, como sshd, automáticamente.

      kadmin: ktadd host/kdc1.example.com
      Entry for principal host/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode
      with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode
      with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc1.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    5. Salga de kadmin.
      kadmin: quit
  9. 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.


    Notas -  El KDC maestro no puede estar en el servidor NTP. Si no dispone de un servidor NTP, regrese al KDC maestro después de que el servidor NTP se haya instalado y convierta al KDC maestro en un cliente del servidor NTP.
  10. Configure los KDC esclavos.

    Para proporcionar redundancia, asegúrese de instalar, al menos, un KDC esclavo. Siga las instrucciones en How Cómo utilizar kdcmgr para configurar un KDC esclavo Cómo configurar manualmente un KDC esclavo