Implementación del inicio de sesión único mediante SPNEGO en un dominio de Active Directory

Se proporciona un mecanismo de Negociación GSS-API simple y protegido (SPNEGO) para implementar el inicio de sesión único en dominios de Active Directory

Antes de empezar

Esta tarea requiere los siguientes elementos en la red:

Los siguientes procedimientos incluyen ejemplos basados en la siguiente configuración:
  • miempresa.com es el nombre del dominio TCP/IP usado por todos los host del dominio.
  • ITDEV.COM es el nombre del dominio de Active Directory.
  • directorio_it.miempresa.com es el host en el que se ejecuta el servidor de directorio. También ejecuta el KDC de Kerberos.
  • dominio_it.miempresa.com es el host en el que se ejecuta el controlador de dominio de Active Directory.
  • buildforge_it.miempresa.com es el host en el que está instalado Build Forge.
  • usuariobf es el nombre de usuario de dominio para el sistema Build Forge.
  • usuario_feliz es el nombre de usuario de dominio para un usuario de ejemplo que utilizará el SSO de un navegador web para acceder a Build Forge.

Acerca de esta tarea

Realice las siguientes tareas para implementar SSO de SPNEGO en un dominio de Active Directory y en KDC. Cada uno de ellos dispone de una sección con procedimientos detallados.
Nota: El interceptor SPNEGO se puede usar con KDC distintos de Active Directory.

Procedimiento

  1. Configuración de los usuarios y principales de servicio de Active Directory.
  2. Configuración de los archivos de Kerberos.
  3. Configuración de Build Forge para utilizar Active Directory y SPNEGO.
  4. Configuración de clientes de navegador para el acceso seguro.
  5. Acceso a Build Forge a través de SSO.

Configuración de los usuarios y principales de servicio de Active Directory

El servidor de Build Forge y los clientes de Build Forge deben configurarse en un dominio de Active Directory.

Antes de empezar

Las herramientas de soporte para Windows 2003 SP2 son necesarias para el siguiente procedimiento. Contienen el mandato setspn, que es necesario para establecer un principal de servicio en Active Directory. Instale las herramientas de soporte desde el CD del producto Windows Server 2003 o desde el Centro de descarga de Microsoft.

Acerca de esta tarea

Cuando el servidor y el cliente de Build Forge están en un dominio de Active Directory, un usuario genera una señal de credenciales de Kerberos al conectarse a un host de Windows. Cuando el usuario intenta luego acceder al servidor de Build Forge, el interceptor SPNEGO recibe la señal del usuario y la valida. La identidad validada pasa a Build Forge para realizar un inicio de sesión a través del servidor LDAP de Microsoft Active Directory.

Procedimiento

  1. Inicie sesión en el host del controlador de dominio. En el ejemplo, el host es ejemplo_it.miempresa.com.
  2. Añada el host de Build Forge al dominio de Active Directory si todavía no es miembro. En este ejemplo, añada el host buildforge_it al dominio ITDEV.COM. El host tiene ahora un nombre completo en el dominio: buildforge_it.ITDEV.COM
  3. Añada un usuario de Build Forge al dominio de Active Directory. En este ejemplo, cree el usuario usuariobf.
    Importante:
    • Seleccione La contraseña nunca caduca. Puede seleccionar otra gestión de contraseña. Sin embargo, deberá especificar una nueva contraseña para el servidor de Build Forge cada vez que caduque.
    • En el separador Cuentas, seleccione Se confía en la cuenta para su delegación
  4. Si no existen, cree cuentas de usuario en Microsoft Active Directory para todos los clientes. En este ejemplo, hay un usuario que crear, usuario_feliz.
  5. Cree un nombre principal de servicio (SPN) para Build Forge. En el ejemplo, el usuario de Active Directory usuariobf está asociado con el nombre de servicio HTTP/buildforge_it.miempresa.com para crear el SPN del servidor de Build Forge, buildforge_it.
    setspn -A HTTP/buildforge_it.miempresa.com usuariobf

    HTTP es el nombre de servicio para el servicio de Build Forge.

Configuración de archivos para autenticación de Kerberos

Un archivo de inicio (archivo de configuración de cliente de Kerberos) y un archivo de tabla de claves deben configurarse en el host de Build Forge.

Procedimiento

  1. Configuración del archivo de inicio en el host en el que se ejecuta Build Forge.
    • Sistemas Windows:
      • Denomine el archivo krb.ini y colóquelo en C:\winnt. Cree C:\winnt si no existe.
      • Establezca default_keytab_name en FILE:C:\winnt\krb5.keytab.
    • Sistemas UNIX y Linux:
      • Denomine el archivo krb.conf y colóquelo en C:\winnt.
      Establezca default_keytab_name en FILE:/etc/krb5.keytab.

    El siguiente archivo de ejemplo está configurado para Windows mediante valores de dominio y reino de los sistemas de ejemplo.

    [libdefaults]
    		default_realm = ITDEV.COM
    		default_keytab_name = FILE:C:\winnt\krb5.keytab
    		default_tkt_enctypes = rc4_hmac
    		default_tgs_enctypes = rc4_hmac
    #	kdc_default_options = 0x40800000
    		forwardable  = true
    		renewable  = true
    		noaddresses = true
    		clockskew  = 300
    [realms]
    		ITDEV.COM = {
    				kdc = directorio_it.itdev.com:88
    				defaultdirectorio_it = miempresa.com
    [domain_realm]
    		.miempresa.com = ITDEV.COM
    Nota: Las señales no funcionarán si el desvío de reloj entre los hosts del cliente y el host del servidor de Build Forge es superior a 300 segundos. Establezca la hora, la fecha y el huso horario dentro de los límites de desvío de los host del cliente y el servidor.
  2. Configure un archivo de tabla de claves de Kerberos. El archivo de tabla de claves es utilizado por el servidor de Build Forge para validar las señales de Kerberos cuando un cliente intenta acceder al URL del servidor de Build Forge. Utilice el mandato ktpass del host del controlador de dominio para crear el archivo. El mandato ktpass está incluido en el kit de herramientas de recursos de Windows que es requisito previo. El siguiente ejemplo utiliza el nombre principal del servicio de Build Forge y el nombre de usuario de Active Directory configurados para Build Forge en el caso de ejemplo. Sustituya -pass Rat1onal con su propia contraseña. Los saltos de línea aparecen en el ejemplo para que resulte más claro. No los utilice en su mandato ktpass.
    ktpass -out C:\it_buildforge.keytab 
    -princ HTTP/buildforge_it.miempresa.com@ITDEV.COM 
    -mapuser bfuser -mapop set 
    -pass Rat1onal /crypto RC4-HMAC-NT /rndpass /ptype KRB5_NT_SRV_HST
    Renombre it_buildforge.keytab por krb5.keytab y colóquelo en el host de Build Forge, en el directorio que contiene el archivo de inicio de Kerberos.
    • Windows: C:\winnt\
    • UNIX y Linux: /etc

Configuración de Build Forge para usar Active Directory y SPNEGO

Procedimiento

  1. En Build Forge, configure LDAP para que apunte al controlador de dominio de Active Directory.
    1. En Build Forge, pulse Administración > LDAP.
    2. Configure el acceso al controlador de dominio creando una nueva configuración LDAP y estableciendo las propiedades de la siguiente forma.
      • Nombre: establezca el nombre del dominio de Active Directory. En el entorno de ejemplo este sería itdev.
      • Nombre distinguido de administrador: establézcalo en un usuario administrador del dominio.
      • Correlacionar grupos de acceso: No
      • Host: establézcalo en la dirección IP del host del controlador de dominio.
      • Enlazar cuenta de usuario: Sí
      • Protocolo: LDAP
      • Nombre de visualización: nombre_visualización
      • Nombre distinguido: nombre_distinguido
      • Nombre de grupo: miembro_de
      • Nombre de correo: nombre_visualización
      • Base de búsqueda: on=users,do=nombre_dominio,do=extensión_dominio. En el entorno de ejemplo sería on=users,do=itdev,do=.com
      • Identificador exclusivo: sAMAccountNames=%
    3. Pulse Convertir en predeterminado. Esta configuración debe ser la configuración LDAP predeterminada.
  2. Establezca las variables de entorno de Build Forge para SPNEGO.
    1. En Build Forge, vaya a Entornos > Entorno para SPNEGO SSO.
    2. Establezca bf_spnego_service_name en HTTP Coincide con el nombre principal de servicio.
    3. Establezca bf_spnego_server_name en buildforge_it.miempresa.com, el nombre de host completo para el host de servidor de Build Forge. Si esta variable no está establecida, las API INetAddress intentarán localizar el nombre de host.
    4. Establezca bf_spnego_realm en ITDEV.COM, el nombre de dominio Kerberos. Si esta variable no está establecida, se utilizará el valor del archivo de inicio de Kerberos.
  3. Habilite el interceptor SPNEGO.
    1. En Build Forge, vaya a Administración > Seguridad > SSO > Interceptor de SSO de SPNEGO.
    2. Establezca la propiedad Activa en Sí y, a continuación, pulse Guardar.
    3. En Administración > Seguridad > SSO, mueva Interceptor de SSO de SPNEGO al principio de la lista. Utilice la selección Mover hasta superior del menú Opciones de SSO del interceptor de SSO de SPNEGO y, a continuación, pulse Guardar.

Configuración de navegadores de cliente para SSO

Los navegadores de cliente deben tener los valores de seguridad configurados para que utilicen SPNEGO.

Acerca de esta tarea

Utilice las instrucciones de configuración del cliente para el navegador usado para acceder a Build Forge, Microsoft Internet Explorer o Mozilla Firefox.

Procedimiento

Acceso a Build Forge a través de SSO

Especifique el URL del servidor para probar el inicio de sesión a través de SSO.

Procedimiento

  1. Inicie sesión en un host que esté en el dominio de Active Directory, utilizando un nombre de usuario que esté en la lista de usuarios de Active Directory.
  2. Abra el navegador.
  3. Especifique el URL para el host de servidor de Build Forge. Con la configuración de ejemplo, sería http://buildforge_it.miempresa.com. Si SSO está configurado correctamente, verá la Consola de gestión de Build Forge.
  4. Verifique que el nombre de usuario mostrado en la parte superior derecha de la consola de Build Forge coincide con el nombre de inicio de sesión de Windows del cliente.

Comentarios