Creación de un nombre principal del servicio Kerberos y un archivo de tabla de claves

Esta tarea es necesaria para procesar solicitudes web SPNEGO o de autenticación Kerberos en WebSphere Application Server. Puede crear un nombre de principal de servicio Kerberos y un archivo de tabla de claves utilizando los centros de distribución de claves (KDC) de sistemas operativos Microsoft Windows, IBM i, Linux, Solaris, Massachusetts Institute of Technology (MIT) y z/OS.

Acerca de esta tarea

Creación de un nombre principal del servicio Kerberos y un archivo de tabla de claves mediante un KDC de Microsoft Windows:

Esta tarea se lleva a cabo en la máquina del controlador de dominio de Active Directory. Complete los pasos siguientes para asegurarse de que Windows 2003 Servidor que está ejecutando el controlador de dominio de Active Directory se ha configurado correctamente con KDC (centro de distribución de claves).

  1. Cree una cuenta de usuario en Microsoft Active Directory para WebSphere Application Server.

    Pulse Inicio -> Programas -> Herramientas administrativas -> Usuarios y sistemas de Active Directory.

    Utilice el nombre de WebSphere Application Server. Por ejemplo, si el servidor de aplicaciones que está ejecutando en la máquina de WebSphere Application Server se denomina myappserver.austin.ibm.com, cree un usuario nuevo en Active Directory llamado myappserver.

    Asegúrese de que no tiene el nombre de sistema myappserver en Sistemas y controladores de dominio. Si ya tiene el nombre de sistema myappserver, debe crear un nombre de cuenta de usuario diferente.
    • Pulse Inicio -> Programas -> Herramientas administrativas -> Usuarios y sistemas de Active Directory -> Sistemas.
    • Pulse Programas -> Herramientas administrativas -> Usuarios y sistemas de Active Directory -> Controladores de dominio.
  2. Utilice el mandato setspn para correlacionar el nombre principal del servicio Kerberos, <nombre_servicio>/<nombre_host_completo>, con una cuenta de usuarios de Microsoft.

    El nombre de servicio para la autenticación web SPNEGO debe ser HTTP. Sin embargo, el nombre de servicio para la autenticación Kerberos puede ser cualquier serie admitida por KDC.

    Un ejemplo del uso del mandato setspn para la autenticación Web SPNEGO es el siguiente:

    C:\Program Files\Support Tools>
    setspn -A HTTP/myappserver.austin.ibm.com myappserver
    Nota: El nombre de host debe ser un nombre completo.
    Importante: Asegúrese de que no tiene la misma correlación de SPN (Nombre principal de servicio) en más de una cuenta de usuario de Microsoft. Si correlaciona el mismo SPN con más de una cuenta de usuario, el cliente del navegador Web puede enviar una señal NTLM (NT LAN Manager) en lugar de una señal SPNEGO a WebSphere Application Server.
  3. Cree el archivo de tabla de claves de Kerberos y póngalo a disposición de WebSphere Application Server. Utilice la herramienta ktpass desde el kit de herramientas de Windows Server para crear el archivo de tabla de claves de Kerberos (krb5.keytab) para el SPN.
    Nota: Un archivo de tabla de claves de Kerberos contiene una lista de claves que son análogas a las contraseñas de usuario. Es importante que los hosts protejan sus archivos de tabla de claves de Kerberos almacenándolos en el disco local.

    Utilice la herramienta ktpass desde el kit de herramientas de Windows Server para crear el archivo de la tabla de claves de Kerberos para el nombre principal del servicio (SPN). Utilice la última versión de la herramienta ktpass que coincida con el nivel de servidor Windows que esté utilizando. Por ejemplo, utilice la versión de Windows 2003 de la herramienta para un servidor Windows 2003.

    Para determinar los valores de parámetros adecuados para la herramienta ktpass, ejecute el mandato ktpass -? desde la línea de mandatos. Este mandato lista si la herramienta ktpass, que corresponde al sistema operativo concreto, utiliza el valor de parámetro -crypto RC4-HMAC o -crypto RC4-HMAC-NT. Para evitar mensajes de aviso del kit de herramientas, debe especificar el valor de parámetro -ptype KRB5_NT_PRINCIPAL.

    La versión de servidor Windows 2003 de la herramienta ktpass soporta el tipo de cifrado, RC4-HMAC, y el estándar de cifrados de datos (DES) único. Para obtener más información sobre la herramienta ktpass, consulte la publicación Windows 2003 Technical Reference - Ktpass overview.

    El código siguiente muestra las funciones disponibles cuando especifica el mandato ktpass -? en la línea de mandatos. Esta información puede ser distinta en función de la versión del kit de herramientas que esté utilizando.
    C:\Archivos de programa\Support Tools>ktpass -? Opciones de la línea de mandatos:                                                     
                                                                              
    ---------------------argumentos más prácticos                                     
    [- /]          out : Tabla de claves a producir                                    
    [- /]        princ : Nombre principal (user@REALM)                          
    [- /]         pass : Contraseña para utilizar                                      
                         utilice "*" para pedir la contraseña. [- +]      rndPass : ... o utilice +rndPass para generar una contraseña aleatoria    
    [- /]      minPass : longitud mínima para contraseña aleatoria (def:15)          
    [- /]      maxPass : longitud máxima para contraseña aleatoria (def:256)         
    ---------------------stuff menos práctico                                    
    [- /]      mapuser : corr princ a esta cuenta de usuario (valor predeterminado: no)                                                                    
    [- /]        mapOp : cómo establecer el atributo de correlación (por omisión: añadirlo)   
    [- /]        mapOp :  es uno de los valores siguientes:                                          
    [- /]        mapOp :        add : añadir valor (por omisión)                     
    [- /]        mapOp :        set : establecer valor                               
    [- +]      DesOnly : Establecer cuenta para el cifrado sólo des (por omisión: no)  
    [- /]           in : Tabla de claves para leer/numeración                                
    ---------------------opciones para la generación de claves                           
    [- /]       crypto : Sistema criptográfico para utilizar                                  
    [- /]       crypto :  es uno de:                                          
    [- /]       crypto : DES-CBC-CRC : para compatibilidad                      
    [- /]       crypto : DES-CBC-MD5 : para compatibilidad                      
    [- /]       crypto : RC4-HMAC-NT : cifrado de 128 bits predeterminado             
    [- /]        ptype : tipo principal en cuestión                           
    [- /]        ptype :  es uno de:                                          
    [- /]        ptype : KRB5_NT_PRINCIPAL : El general ptype-- recomendado  
    [- /]        ptype : KRB5_NT_SRV_INST : instancia de servicio de usuario             
    [- /]        ptype : KRB5_NT_SRV_HST : instancia de servicio host              
    [- /]         kvno : Alterar temporalmente el número de versión de la clave                          
                         Por omisión: consultar DC para kvno.  Usar /kvno 1 para Win2K   
    compat. [- +]       Answer : +Answer responde YES cuando se le pregunta.  -Answer responde     
    NO.                                                                       
    [- /]       Target : Que DC se va a utilizar.  Por omisión: detectar                     
    ---------------------opciones para atributos de confianza (Windows Server 2003    
    Sólo Sp1                                                                  
    [- /] MitRealmName : Reino MIT en el que se desea habilitar la confianza RC4. [- /]  TrustEncryp : Cifrado de confianza a utilizar; DES es el valor predeterminado              
    [- /]  TrustEncryp :  es uno de:                                          
    [- /]  TrustEncryp :        RC4 : Confía en reino RC4 (valor predeterminado)              
    [- /]  TrustEncryp :        DES : volver a DES
    Importante: No utilice el conmutador -pass en el mandato ktpass para restaurar una contraseña para un cuenta de Microsoft Windows Server.
    Para obtener más información, consulte la publicación, Windows 2003 Technical Reference - Ktpass overview.
    En función del tipo de cifrado, utilice la herramienta ktpass en una de las siguientes formas para crear el archivo de tabla de claves de Kerberos. En la siguiente sección se muestran los distintos tipos de cifrado que utiliza la herramienta ktpass. Es importante ejecutar el mandato ktpass -? para determinar qué valor de parámetro -crypto espera el kit de herramientas concreto de su entorno Microsoft Windows.
    • Tipo de cifrado DES único:
      En un indicador de mandatos, ejecute el mandato ktpass:
      ktpass -out c:\temp\myappserver.keytab 
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM
      -mapUser myappserv 
      -mapOp set 
      -pass was1edu
      -crypto DES-CBC-MD5 
      -pType KRB5_NT_PRINCIPAL
      +DesOnly
      Tabla 1. Uso de ktpass para un tipo de cifrado DES único.

      En esta tabla se describe cómo utilizar ktpass para un tipo de cifrado DES único.

      Opción Explicación
      -out c:\temp\myappserver.keytab La clave se escribe en el archivo de salida.
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM La concatenación del nombre de inicio de sesión del usuario y el reino deben aparecer en mayúsculas.
      -mapUser La clave se correlaciona con el usuario, myappserver.
      -mapOp Esta opción establece la correlación.
      -pass was1edu Esta opción es la contraseña para el ID de usuario.
      -crypto DES-CBC-MD5 Esta opción utiliza el tipo de cifrado DES único.
      -pType KRB5_NT_PRINCIPAL Esta opción especifica el valor principal de KRB5_NT_PRINCIPAL. Especifique esta opción para evitar mensajes de aviso de kit de herramientas.
      +DesOnly Esta opción genera únicamente cifrados DES.
    • Tipo de cifrado RC4-HMAC:
      Importante: El cifrado RC4-HMAC sólo está soportado si se utiliza un Windows 2003 Server como KDC.
      En un indicador de mandatos, ejecute el mandato ktpass.
      ktpass -out c:\temp\myappserver.keytab 
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM 
      -mapUser myappserver
      -mapOp set 
      –pass was1edu 
      -crypto RC4-HMAC
      -pType KRB5_NT_PRINCIPAL
      Tabla 2. Uso de ktpass para el tipo de cifrado RC4-HMAC
      Opción Explicación
      -out c:\temp\myappserver.keytab La clave se escribe en el archivo de salida.
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM La concatenación del nombre de inicio de sesión del usuario y el reino deben aparecer en mayúsculas.
      -mapUser La clave se correlaciona con el usuario, myappserver.
      -mapOp Esta opción establece la correlación.
      -pass was1edu Esta opción es la contraseña para el ID de usuario.
      -crypto RC4-HMAC Esta opción selecciona el tipo de cifrado RC4-HMAC.
      -pType KRB5_NT_PRINCIPAL Esta opción especifica el valor principal de KRB5_NT_PRINCIPAL. Especifique esta opción para evitar mensajes de aviso de kit de herramientas.
    • Para el tipo de cifrado RC4-HMAC-NT
      En un indicador de mandatos, ejecute el mandato ktpass.
      ktpass -out c:\temp\myappserver.keytab 
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM 
      -mapUser myappserver 
      -mapOp set 
      -pass was1edu 
      -crypto RC4-HMAC-NT
      -pType KRB5_NT_PRINCIPAL
      Tabla 3. Uso de ktpass para el tipo de cifrado RC4-HMAC-NT
      Opción Explicación
      -out c:\temp\myappserver.keytab La clave se escribe en el archivo de salida.
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM La concatenación del nombre de inicio de sesión del usuario y el reino deben aparecer en mayúsculas.
      -mapUser La clave se correlaciona con el usuario, myappserver.
      -mapOp Esta opción establece la correlación.
      -pass was1edu Esta opción es la contraseña para el ID de usuario.
      -crypto RC4-HMAC-NT Esta opción selecciona el tipo de cifrado RC4-HMAC-NT.
      -pType KRB5_NT_PRINCIPAL Esta opción especifica el valor principal de KRB5_NT_PRINCIPAL. Especifique esta opción para evitar mensajes de aviso de kit de herramientas.
      El archivo de la tabla de claves de Kerberos se crea para su uso con SPNEGO.

Creación de un nombre principal del servicio Kerberos y un archivo de tabla de claves mediante KDC de iSeries, Linux, Solaris y MIT:

Consulte los documentos de implementación de Kerberos para los mandatos kadmin, kadmin.local addprinc y ktadd para obtener más información detallada.

Esta tarea se realiza en una máquina KDC de Linux, Solaris o MIT.

  1. Cree un principal del servicio Kerberos para la autenticación Kerberos, por ejemplo:
    WAS/testmach.austin.ibm.com 
    kadmin.local: addprinc WAS/testmach.austin.ibm.com 
  2. Añada el principal del servicio Kerberos recién creado, WAS/testmach.austin.ibm.com al archivo krb5.keytab predeterminado, por ejemplo:
    kadmin.local: ktadd WAS/testmach.austin.ibm.com 

Creación de un nombre principal del servicio Kerberos y un archivo de tabla de claves mediante un KDC de z/OS:

Antes de utilizar la autenticación Kerberos y la autenticación Web SPNEGO (Simple and Protected GSS-API Negotiation), el administrador de WebSphere Application Server primero debe crear un archivo de tabla de claves de Kerberos en el host que ejecuta WebSphere Application Server.

Para crear un SPN, siga estos pasos:

  1. La identidad (KERBNAME) de Kerberos debe tener el formato <servicio>/<nombre de sistema completo>.
  2. El siguiente ejemplo crea el SPN de Kerberos para Web SPNEGO, HTTP/host1.pok.ibm.com:
    ALTUSER ASCR1 KERB(KERBNAME(HTTP/host1.pok.ibm.com))
    Avoid trouble Avoid trouble: Debe asegurarse de que la lista de tipos de cifrado soportados especificado en el mandato ALTUSER es coherente con lo que se especifica en el archivo de configuración de kerberos krb5.conf. Por ejemplo, si en el archivo de configuración krb5.conf se especifica que sólo se da soporte a aes256-cts-hmac-sha1-96, el operando ENCRYPT debe tener todos los tipos de cifrado establecidos como no soportados, excepto AES256.gotcha
  3. Genere la clave Kerberos para este usuario. Para generar esta clave, se debe asociar una contraseña con este identificador. No utilice este ID para iniciar una sesión en el sistema. Especifique las siguientes dos líneas siempre que se solicite una nueva clave Kerberos.
    Nota: El administrador de WebSphere o KDC debe conocer esta contraseña para crear una entrada en el archivo de tabla de claves.
    ALTUSER ASCR1 PASSWORD(was1krb) NOEXPIRED
    ALTUSER ASCR1 NOPASSWORD
  4. Verifique que este usuario tenga una clave y un segmento Kerberos válidos, por ejemplo:
    LISTUSER ASCR1 KERB NORACF
     USER=ASCR1                            
     KERB INFORMATION                      
     ----------------                      
     KERBNAME= HTTP/host1.pok.ibm.com        
     KEY VERSION= 001                      
     KEY ENCRYPTION TYPE= DES NODES3 NODESD

    Para crear un archivo (krb5.keytab) de tabla de claves Kerberos, utilice el mandato ktab de Kerberos de Java™, <$WAS_HOME>/java/bin/ktab, y siga estos pasos:

  5. En una línea de mandatos, escriba el mandato ktab –help para conocer el uso adecuado de este mandato. Por ejemplo:
    (host1)CTC03:/PYRSA1/usr/lpp/zWebSphere/V7R1/java/J5.0/bin(189):>ktab -help
    Uso: java com.ibm.security.krb5.internal.tools.Ktab [opciones]
    Opciones disponibles:
            -l					listar las entradas y el nombre de tabla de claves
            -a <nombre_principal> [contraseña]  añade una entrada a la tabla de claves
            -d <nombre_principal>            suprime una entrada de la tabla de claves
            -k <nombre_tabla_claves>         especifica un nombre de tabl. claves y vía acceso con prefijo FILE:
            -m <nombre_archivo_claves_origen> <nombre_archivo_claves_destino>  especifica la fusión del nombre de archivo de tabla de claves de origen y el nombre de archivo de tabla de claves de destino
       
  6. Desde una línea de mandatos, utilice el mandato ktab para añadir el SPN a un archivo de tabla de claves predeterminado, por ejemplo:
    (host1)CTC03:/PYRSA1/usr/lpp/zWebSphere/V7R1/java/J5.0/bin(201):>ktab -a
    HTTP/host1.pok.ibm.com@LSREALM.POK.IBM.COM ot56prod
    Done!
    Service key for principal HTTP/host1.pok.ibm.com@LSREALM.POK.IBM.COM saved
  7. Verifique que el SPN correcto esté en el archivo de tabla de claves predeterminado, por ejemplo:
    (host1)CTC03:/PYRSA1/usr/lpp/zWebSphere/V7R1/java/J5.0/bin(202):>ktab
    1 entrada en la tabla de claves, nombre: /etc/skrb/krb5.keytab
            KVNO    Principal
            ----    ---------
            1       HTTP/host1.pok.ibm.com@LSREALM.POK.IBM.COM
Ponga el archivo de tabla de claves a disposición de WebSphere Application Server. Copie el archivo krb5.keytab del KDC a la máquina de WebSphere Application Server en la ubicación especificada en el archivo de configuración de Kerberos (krb5.ini o krb5.conf). Por ejemplo:
ftp> bin
ftp> put c:\temp\KRB5_NT_SEV_HST\krb5.keytab
Nota: Un archivo de configuración de tabla de claves de Kerberos contiene una lista de claves que son análogas a las contraseñas de usuario. Es importante para los hosts proteger sus archivos de tabla de claves de Kerberos almacenándolos en el disco local, así pueden ser legibles sólo para los usuarios autorizados.
Utilice el mandato validateKrbConfig para validar los archivos krb5.conf y krb5.keytab, por ejemplo:
wsadmin>$AdminTask help validateKrbConfig 
Nota: La autenticación web de SPNEGO y Kerberos comparten el archivo de tabla de clases de Kerberos. Se carga una vez y no se puede renovar.

Sin embargo, esto no se cumple si tiene instalado el JDK 1.6 con SR3.

Nota: Si necesita fusionar los archivos de tablas de claves, se recomienda utilizar el mandato ktab de Java con la opción -m.

Resultados

Ha creado un nombre principal del servicio Kerberos y un archivo de tabla de claves en el KDC que WebSphere Application Server utiliza para procesar SPNEGO y las solicitudes de autenticación Kerberos.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_create_spn
File name: tsec_kerb_create_spn.html