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 clientes Kerberos

Los clientes Kerberos incluyen cualquier host, que no es un servidor KDC, en la red que necesita utilizar servicios Kerberos. Esta sección proporciona procedimientos para instalar un cliente Kerberos, así como información específica sobre el uso de la autenticación de root para montar sistemas de archivos NFS.

Configuración de clientes Kerberos (mapa de tareas)

El siguiente mapa de tareas incluye todos los procedimientos asociados con la configuración de clientes Kerberos. Cada fila incluye un identificador de tarea y una descripción del motivo por el que desea realizar la tarea, seguidos de un enlace a la tarea.

Tarea
Descripción
Para obtener instrucciones
Establecer un perfil de instalación de cliente Kerberos
Genera un perfil de instalación de cliente que se puede utilizar para instalar automáticamente un cliente Kerberos.
Configurar un cliente Kerberos
Instala manualmente un cliente Kerberos. Utilizar este procedimiento si la instalación de cada cliente requiere parámetros de instalación únicos.
Instala automáticamente un cliente Kerberos. Utilice este procedimiento si los parámetros de instalación para cada cliente son los mismos.
Instala interactivamente un cliente Kerberos. Utilice este procedimiento si sólo algunos de los parámetros de instalación deben cambiarse.
Instala automáticamente un cliente Kerberos de un servidor de Active Directory.
Permitir que un cliente acceda a un sistema de archivos NFS como el usuario root
Crea un principal root en el cliente, para que el cliente pueda montar un sistema de archivos NFS compartido con el acceso root. Además, permite que el cliente configure acceso root no interactivo al sistema de archivos NFS, de modo que se puedan ejecutar trabajos cron.
Desactivar la verificación del KDC que ha emitido un ticket de otorgamiento de tickets (TGT) de cliente
Permite a los clientes que no tienen un principal host almacenado en el archivo keytab local omitir la comprobación de seguridad que verifica que el KDC que ha emitido el TGT sea el mismo servidor que ha emitido el principal host.

Cómo crear un perfil de instalación de cliente Kerberos

Este procedimiento crea un perfil kclient que se puede utilizar al instalar un cliente Kerberos. Mediante el perfil kclient, se reducen las probabilidades de errores de escritura. Asimismo, el uso del perfil reduce la intervención del usuario, en comparación con el proceso interactivo.

  1. Conviértase en superusuario.
  2. Cree un perfil de instalación kclient.

    Un ejemplo de perfil kclient podría ser similar al siguiente:

    client# cat /net/denver.example.com/export/install/profile
    REALM EXAMPLE.COM
    KDC kdc1.example.com
    ADMIN clntconfig
    FILEPATH /net/denver.example.com/export/install/krb5.conf
    NFS 1
    DNSLOOKUP none

Cómo configurar automáticamente un cliente Kerberos

Antes de empezar

Este procedimiento utiliza un perfil de instalación. Consulte Cómo crear un perfil de instalación de cliente Kerberos.

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

Ejemplo 21-8 Configuración automática de un cliente Kerberos con valores de sustitución de línea de comandos

El siguiente ejemplo sustituye los parámetros DNSARG y KDC que se establecen en el perfil de instalación.

# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile\
-d dns_fallback -k kdc2.example.com

Starting client setup
---------------------------------------------------

kdc1.example.com

Setting up /etc/krb5/krb5.conf.

Obtaining TGT for clntconfig/admin ...
Password for clntconfig/admin@EXAMPLE.COM: <Type the password>

nfs/client.example.com entry ADDED to KDC database.
nfs/client.example.com entry ADDED to keytab.

host/client.example.com entry ADDED to KDC database.
host/client.example.com entry ADDED to keytab.

Copied /net/denver.example.com/export/install/krb5.conf.

---------------------------------------------------
Setup COMPLETE.

client#

Cómo configurar interactivamente un cliente Kerberos

Este procedimiento utiliza la utilidad de instalación kclient sin un perfil de instalación. En la versión Oracle Solaris 11, la utilidad kclient incrementó la facilidad de uso y la capacidad de trabajar con servidores de Active Directory. Consulte Cómo configurar un cliente Kerberos para un servidor de Active Directory para obtener más información. Consulte el Ejemplo 21-10 para obtener un ejemplo de ejecución de kclient en una versión anterior.

Antes de empezar

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

Ejemplo 21-9 Ejecución de la utilidad de instalación kclient

client# /usr/sbin/kclient

Starting client setup
---------------------------------------------------

Is this a client of a non-Solaris KDC ? [y/n]: n
        No action performed.
Do you want to use DNS for kerberos lookups ? [y/n]: n
        No action performed.
Enter the Kerberos realm: EXAMPLE.COM
Specify the KDC hostname for the above realm: kdc1.example.com

Note, this system and the KDC's time must be within 5 minutes of each other for
Kerberos to function. Both systems should run some form of time synchronization
system like Network Time Protocol (NTP).
Do you have any slave KDC(s) ? [y/n]: y
Enter a comma-separated list of slave KDC host names: kdc2.example.com

Will this client need service keys ? [y/n]: n
        No action performed.
Is this client a member of a cluster that uses a logical host name ? [y/n]: n
        No action performed.
Do you have multiple domains/hosts to map to realm ? [y/n]: y
Enter a comma-separated list of domain/hosts to map to the default realm: engineering.example.com, \
        example.com

Setting up /etc/krb5/krb5.conf.

Do you plan on doing Kerberized nfs ? [y/n]: y
Do you want to update /etc/pam.conf ? [y/n]: y
Enter a comma-separated list of PAM service names in the following format:
service:{first|only|optional}: xscreensaver:first
Configuring /etc/pam.conf.

Do you want to copy over the master krb5.conf file ? [y/n]: n
        No action performed.

---------------------------------------------------
Setup COMPLETE.

Ejemplo 21-10 Ejecución de la utilidad de instalación kclient en la versión Oracle Solaris 10

A continuación, se muestra la salida de los resultados de la ejecución del comando kclient.

client# /usr/sbin/kclient

Starting client setup
---------------------------------------------------

Do you want to use DNS for kerberos lookups ? [y/n]: n
        No action performed.
Enter the Kerberos realm: EXAMPLE.COM
Specify the KDC hostname for the above realm: kdc1.example.com

Setting up /etc/krb5/krb5.conf.

Enter the krb5 administrative principal to be used: clntconfig/admin
Obtaining TGT for clntconfig/admin ...
Password for clntconfig/admin@EXAMPLE.COM: <Type the password>
Do you plan on doing Kerberized nfs ? [y/n]: n

host/client.example.com entry ADDED to KDC database.
host/client.example.com entry ADDED to keytab.

Do you want to copy over the master krb5.conf file ? [y/n]: y
Enter the pathname of the file to be copied: \
/net/denver.example.com/export/install/krb5.conf

Copied /net/denver.example.com/export/install/krb5.conf.

---------------------------------------------------
Setup COMPLETE !
#

Cómo configurar un cliente Kerberos para un servidor de Active Directory

Este procedimiento utiliza la utilidad de instalación kclient sin un perfil de instalació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. (Opcional) Active la creación de registros de recursos DNS para el cliente.
    client# sharectl set -p ddns_enable=true smb
  2. Ejecute la utilidad kclient.

    La opción -T selecciona un tipo de servidor KDC. En este caso se selecciona un servidor de Active Directory.

    client# kclient -T ms_ad

    De manera predeterminada, deberá proporcionar la contraseña del administrador principal.

Ejemplo 21-11 Configuración de un cliente Kerberos para un servidor de Active Directory mediante kclient

La siguiente salida muestra los resultados de la ejecución del comando kclient mediante el argumento de tipo de servidor ms_ad (Microsoft Active Directory). El cliente se unirá al dominio de Active Directory denominado EXAMPLE.COM.

client# /usr/sbin/kclient -T ms_ad

Starting client setup
---------------------------------------------------

Attempting to join 'CLIENT' to the 'EXAMPLE.COM' domain.
Password for Administrator@EXAMPLE.COM: <Type the password>
Forest name found: example.com
Looking for local KDCs, DCs and global catalog servers (SVR RRs).

Setting up /etc/krb5/krb5.conf

Creating the machine account in AD via LDAP.
---------------------------------------------------
Setup COMPLETE.
#

Cómo configurar manualmente un cliente Kerberos

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. Edite el archivo de configuración de Kerberos (krb5.conf).

    Para cambiar el archivo de la versión predeterminada de Kerberos, debe cambiar los nombres de dominios y los nombres de servidores. También tiene que identificar la ruta a los archivos de ayuda para gkadmin.

    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = EXAMPLE.COM
    
    [realms]
            EXAMPLE.COM = {
            kdc = kdc1.example.com
            kdc = kdc2.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

    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. (Opcional) Cambie el proceso utilizado para ubicar los KDC.

    De manera predeterminada, el dominio de Kerberos para la asignación KDC se determina en el siguiente orden:

    • La definición en la sección realms, en krb5.conf.

    • Mediante la búsqueda de registros SRV en DNS.

    Puede cambiar este comportamiento agregando dns_lookup_kdc o dns_fallback a la sección libdefaults del archivo krb5.conf. Consulte la página del comando man krb5.conf(4) para obtener más información. Tenga en cuenta que las referencias siempre se intentan en primer lugar.

  3. (Opcional) Cambie el proceso que se utiliza para determinar el dominio para un host.

    De manera predeterminada, el host para la asignación de dominio se determina en el siguiente orden:

    • Si el KDC admite referencias, el KDC puede informar al cliente a qué dominio pertenece el host.

    • Por la definición de domain_realm en el archivo krb5.conf.

    • El nombre de dominio DNS del host.

    • El dominio predeterminado.

    Puede cambiar este comportamiento agregando dns_lookup_kdc o dns_fallback a la sección libdefaults del archivo krb5.conf. Consulte la página del comando man krb5.conf(4) para obtener más información. Tenga en cuenta que las referencias siempre se intentarán en primer lugar.

  4. (Opcional) Sincronice el reloj del cliente con 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 sincronizado con la hora en el servidor KDC dentro de una diferencia máxima definida por la relación clockskew en el 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.

  5. Inicie kadmin.

    Si desea obtener información sobre cómo utilizar la herramienta gráfica de administración de Kerberos para agregar un principal, consulte Cómo crear un nuevo principal de Kerberos. Para ello, debe iniciar sesión con uno de los nombres de principales admin que creó cuando configuró el KDC maestro. Sin embargo, el siguiente ejemplo muestra cómo agregar los principales necesarios mediante la línea de comandos.

    denver # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. (Opcional) Cree un principal de usuario si aún no existe ningún principal de usuario.

      Necesita crear un principal de usuario sólo si el usuario asociado con este host no tiene un principal asignado a él.

      kadmin: addprinc mre
      Enter password for principal mre@EXAMPLE.COM: <Type the password>
      Re-enter password for principal mre@EXAMPLE.COM: <Type it again>
      kadmin: 
    2. (Opcional) Cree un principal root y agregue el principal al archivo keytab del servidor.

      Este paso es necesario para que el cliente pueda tener acceso root a sistemas de archivos montados mediante el servicio NFS. Este paso también es necesario si se necesita acceso root no interactivo, por ejemplo, la ejecución de trabajos cron como root.

      Si el cliente no requiere acceso root a un sistema de archivos remoto que está montado mediante el servicio NFS, puede omitir este paso. El principal root debe ser un principal de dos componentes, donde el segundo componente es el nombre de host del sistema cliente Kerberos, para evitar la creación de un principal root de todo el dominio. 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 root/client.example.com
      Principal "root/client.example.com" created.
      kadmin: ktadd root/client.example.com
      Entry for principal root/client.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 root/client.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 root/client.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 root/client.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    3. Cree un principal host y agregue el principal al archivo keytab del servidor.

      El principal host es utilizado por servicios de acceso remoto para proporcionar autenticación. El principal permite que root adquiera una credencial si ya no hay una en el archivo keytab.

      kadmin: addprinc -randkey host/denver.example.com
      Principal "host/denver.example.com@EXAMPLE.COM" created.
      kadmin: ktadd host/denver.example.com
      Entry for principal host/denver.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/denver.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/denver.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/denver.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin:
    4. (Opcional) Agregue el principal de servicio NFS del servidor al archivo keytab del servidor.

      Este paso sólo es necesario si el cliente necesita acceder a sistemas de archivos NFS utilizando la autenticación Kerberos.

      kadmin: ktadd nfs/denver.example.com
      Entry for principal nfs/denver.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 nfs/denver.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 nfs/denver.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 nfs/denver.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal nfs/denver.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    5. Salga de kadmin.
      kadmin: quit
  6. (Opcional) Habilite Kerberos con NFS.
    1. Active los modos de seguridad de Kerberos en el archivo /etc/nfssec.conf.

      Edite el archivo /etc/nfssec.conf y elimine el símbolo “#” que se encuentra delante de los modos de seguridad de Kerberos.

      # cat /etc/nfssec.conf
       .
       .
      #
      # Uncomment the following lines to use Kerberos V5 with NFS
      #
      krb5            390003  kerberos_v5     default -               # RPCSEC_GSS
      krb5i           390004  kerberos_v5     default integrity       # RPCSEC_GSS
      krb5p           390005  kerberos_v5     default privacy         # RPCSEC_GSS
    2. Active el DNS.

      Si el servicio svc:/network/dns/client:default no está activado, debe activarlo. Consulte la página del comando man resolv.conf(4) para obtener más información.

    3. Reinicie el servicio gssd.
      # svcadm restart network/rpc/gss
  7. Si desea que el cliente renueve automáticamente el TGT o advierta a los usuarios acerca de la caducidad del ticket Kerberos, cree una entrada en el archivo /etc/krb5/warn.conf.

    Consulte la página del comando man warn.conf(4) para obtener más información.

Ejemplo 21-12 Configuración de un cliente Kerberos mediante un KDC que no sea Solaris

Un cliente Kerberos se puede configurar para trabajar con un KDC que no sea Solaris. En este caso, se debe incluir una línea en el archivo /etc/krb5/krb5.conf, en la sección realms. Esta línea cambia el protocolo que se utiliza cuando el cliente se comunica con el servidor de cambio de contraseña de Kerberos. A continuación, se indica el formato de esta línea.

[realms]
                EXAMPLE.COM = {
                kdc = kdc1.example.com
                kdc = kdc2.example.com
                admin_server = kdc1.example.com
                kpasswd_protocol = SET_CHANGE
        }

Ejemplo 21-13 Registros TXT de DNS para la asignación de nombre de host y dominio al dominio Kerberos

@ IN SOA kdc1.example.com root.kdc1.example.com (
                                1989020501   ;serial
                                10800        ;refresh
                                3600         ;retry
                                3600000      ;expire
                                86400 )      ;minimum

                        IN      NS      kdc1.example.com.
kdc1                    IN      A       192.146.86.20
kdc2                    IN      A       192.146.86.21

_kerberos.example.com.             IN      TXT     "EXAMPLE.COM"
_kerberos.kdc1.example.com.        IN      TXT     "EXAMPLE.COM"
_kerberos.kdc2.example.com.        IN      TXT     "EXAMPLE.COM"

Ejemplo 21-14 Registros SRV de DNS para ubicaciones del servidor Kerberos

En este ejemplo, se definen los registros para la ubicación de los KDC, el servidor admin y el servidor kpasswd, respectivamente.

@ IN SOA kdc1.example.com root.kdc1.example.com (
                                1989020501   ;serial
                                10800        ;refresh
                                3600         ;retry
                                3600000      ;expire
                                86400 )      ;minimum

                                   IN      NS      kdc1.example.com.
kdc1                               IN      A       192.146.86.20
kdc2                               IN      A       192.146.86.21

_kerberos._udp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._udp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos-adm._tcp.EXAMPLE.COM     IN      SRV 0 0 749 kdc1.example.com
_kpasswd._udp.EXAMPLE.COM          IN      SRV 0 0 749 kdc1.example.com

Ejemplo 21-15 Configuración de un cliente Solaris para trabajar con un múltiplo KDC principal

El servicio Kerberos de Microsoft Active Directory, proporciona un KDC que se ejecuta en varios maestros. Para que un cliente Solaris pueda actualizar información la declaración admin_server o kpasswd_server en /etc/krb5/krb5.conf debe estar actualizada para mostrar todos los servidores. En este ejemplo, se muestra cómo permitir al cliente actualizar información en el KDC compartido entre kdc1 y kdc2.

[realms]
                EXAMPLE.COM = {
                kdc = kdc1.example.com
                kdc = kdc2.example.com
                admin_server = kdc1.example.com
                admin_server = kdc2.example.com
                }

Cómo desactivar la verificación del ticket de otorgamiento de tickets

Este procedimiento desactiva la comprobación de seguridad que comprueba que el KDC del principal de host almacenado en el archivo /etc/krb5/krb5.keytab local sea el mismo KDC que ha emitido el ticket de otorgamiento de tickets (TGT). Esta comprobación impide ataques de falsificación de DNS. Sin embargo, para algunas configuraciones de clientes, el principal host puede no estar disponible, por lo que esta comprobación debería ser desactivada para permitir que el cliente funcione. Éstas son las configuraciones que requieren que esta comprobación esté desactivada:

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 acceder a un sistema de archivos NFS protegido con Kerberos como el usuario root

Este procedimiento permite a un cliente acceder a un sistema de archivos NFS que requiere la autenticación Kerberos con el privilegio de ID root. En particular, cuando el sistema de archivos NFS está compartido con opciones, como: -o sec=krb5,root=client1.sun.com.

Cómo configurar la migración automática de usuarios en un dominio Kerberos

Los usuarios, que no tienen un principal de Kerberos, se pueden migrar automáticamente a un dominio Kerberos existente. La migración se logra utilizando la estructura PAM para el servicio en uso mediante el apilamiento del módulo pam_krb5_migrate en la pila de autenticación del servicio, en los archivos de configuración de PAM.

En este ejemplo, los nombres de servicio PAM gdm y other se configuran para usar la migración automática. Se utilizan los siguientes parámetros de configuración:

Antes de empezar

Configure server1 como un cliente Kerberos del dominio EXAMPLE.COM. Consulte Configuración de clientes Kerberos para obtener más información.

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

  1. Compruebe si existe un principal de servicio de host para server1.

    El principal de servicio de host en el archivo keytab de server1 se utiliza para autenticar el servidor en el KDC maestro.

    server1 # klist -k
    Keytab name: FILE:/etc/krb5/krb5.keytab
        KVNO Principal
        ---- ------------------------------------------------
           3 host/server1.example.com@EXAMPLE.COM
           3 host/server1.example.com@EXAMPLE.COM
           3 host/server1.example.com@EXAMPLE.COM
           3 host/server1.example.com@EXAMPLE.COM
  2. Realice cambios en el archivo de configuración de PAM.
    1. Actualice las entradas del servicio gdm.
      # cat /etc/pam.d/gdm
       .
       .
      
      auth definitive         pam_user_policy.so.1
      auth requisite          pam_authtok_get.so.1
      auth required           pam_dhkeys.so.1
      auth sufficient         pam_krb5.so.1
      auth requisite          pam_unix_auth.so.1
      auth required           pam_unix_cred.so.1
      auth optional           pam_krb5_migrate.so.1
    2. (Opcional) Fuerce un cambio inmediato de contraseña si es necesario.

      Las cuentas de Kerberos recién creadas pueden tener el tiempo de caducidad de contraseña establecido en la hora actual (ahora) para forzar un cambio inmediato de contraseña Kerberos. Para establecer el tiempo de caducidad en la hora actual, agregue la opción expire_pw a las líneas que utilizan el módulo pam_krb5_migrate. Consulte la página del comando man pam_krb5_migrate(5) para obtener más información.

      # cat /etc/pam.d/gdm
       .
       .
      auth optional           pam_krb5_migrate.so.1 expire_pw
    3. Agregue el módulo pam_krb5 a la pila de cuentas.

      Esta adición permite la caducidad de la contraseña en Kerberos para bloquear el acceso.

      # cat /etc/pam.d/other
       .
       .
      #
      # Default definition for Account management
      # Used when service name is not explicitly mentioned for account management
      #
      account requisite       pam_roles.so.1
      account definitive      pam_user_policy.so.1
      account required        pam_krb5.so.1
      account required        pam_unix_account.so.1
      account required        pam_tsol_account.so.1
      #
    4. Agregue el módulo pam_krb5 a la pila de contraseñas.

      Esta adición permite que las contraseñas se actualicen cuando la contraseña caduca.

      # cat /etc/pam.d/other
       .
       .
      #
      # Default definition for Password management
      #
      password include        pam_authtok_common
      password sufficient     pam_krb5.so.1
      password required       pam_authtok_store.so.1
  3. En el KDC maestro, actualice el archivo de control de acceso.

    Las entradas siguientes otorgan privilegios de migración y consulta al principal de servicio host/server1.example.com para todos los usuarios, excepto el usuario root. Es importante que los usuarios que no se deben migrar se enumeren en el archivo kadm5.acl utilizando el privilegio U. Estas entradas deben estar antes de la entrada ui o permitir todo. Consulte la página del comando man kadm5.acl(4) para obtener más información.

    kdc1 # cat /etc/krb5/kadm5.acl
    host/server1.example.com@EXAMPLE.COM U root
    host/server1.example.com@EXAMPLE.COM ui *
    */admin@EXAMPLE.COM *
  4. En el KDC maestro, reinicie el daemon de administración Kerberos.

    Este paso permite al daemon kadmind utilizar las nuevas entradas kadm5.acl.

    kdc1 # svcadm restart network/security/kadmin
  5. En el KDC maestro, agregue entradas al archivo pam.conf.

    Las entradas siguientes permiten que el daemon kadmind utilice el servicio PAM k5migrate para validar la contraseña de usuario de UNIX para las cuentas que necesitan migración.

    # grep k5migrate /etc/pam.conf
    k5migrate        auth    required        pam_unix_auth.so.1
    k5migrate        account required        pam_unix_account.so.1

Cómo configurar el bloqueo de cuenta

Ejemplo 21-16 Desbloqueo de principal bloqueado

En el siguiente ejemplo, un principal de usuario se desbloquea:

 /usr/sbin/kadmin -p kws/admin
Enter password: <Type kws/admin password>
kadmin: modify_principal -unlock principal

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

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. Edite el archivo de configuración warnd.

    Agregue una entrada como la siguiente para renovar el TGT 30 minutos antes de que el ticket caduque y registre el mensaje en los terminales de usuario cuando la renovación falle o se realice correctamente:

    # cat /etc/krb5/warn.conf
    * renew:log terminal 30m
  2. Reinicie el servicio.
    # svcadm restart network/security/ktkt_warn

Ejemplo 21-17 Configuración de mensajes de caducidad de TGT en un servidor

El siguiente ejemplo muestra varias formas de configurar la renovación y el sistema de mensajes para TGT.

# cat /etc/krb5/warn.conf
#
# renew the TGT 30 minutes before expiration and send message to users terminal
#
gtb@EXAMPLE.COM renew:log terminal 30m
#
# send a warning message to a specific email address 20 minutes before TGT expiration
#
mre@EXAMPLE.COM mail 20m mre@example2.com
#
# renew the TGT 20 minutes before expiration and send an email message on failure
#
bricker@EXAMPLE.COM renew:log-failure mail 20m &
#
# catch-all: any principal not matched above will get an email warning
* mail 20m & 

Ejemplo 21-18 Configuración de mensajes de caducidad de TGT para un usuario

Además de configurar una entrada para cada usuario en el nivel del sistema, cada usuario puede configurar un archivo de configuración warnd individual, que se denomina /var/user/$USER/krb-warn.conf. Por ejemplo:

% cat /var/user/gtb/krb-warn.conf
gtb@EXAMPLE.COM renew:log mail 30m &