Implémentation de la connexion unique à l'aide de SPNEGO dans un domaine Active Directory

Un mécanisme SPNEGO (Simple and Protected GSS-API Negotiation) est fourni pour implémenter la connexion unique dans les domaines Active Directory

Avant de commencer

Cette tâche requiert les éléments suivants dans votre réseau :

Les procédures ci-dessous incluent des exemples basés sur la configuration suivante :
  • mycompany.com correspond au nom du domaine TCP/IP utilisé par tous les hôtes du domaine.
  • ITDEV.COM est le nom du domaine Active Directory.
  • it_directory.mycompany.com est l'hôte sur lequel le serveur de répertoires est exécuté. Il exécute également le centre de distribution de clés Kerberos.
  • it_domain.mycompany.com est l'hôte sur lequel le contrôleur de domaine Active Directory est exécuté.
  • it_buildforge.mycompany.com est l'hôte sur lequel Build Forge est installé.
  • bfuser est le nom d'utilisateur du domaine pour le système Build Forge.
  • happy_user correspond au nom d'utilisateur du domaine pour un exemple d'utilisateur qui utilise la connexion unique dans un serveur Web pour accéder à Build Forge.

Pourquoi et quand exécuter cette tâche

Effectuez les opérations suivantes pour implémenter la connexion unique SPNEGO dans un domaine Active Directory et dans le centre de distribution de clés. Ils ont chacun une section propre, dans laquelle les procédures sont détaillées.
Remarque : L'intercepteur SPNEGO peut être utilisé avec des centres de distribution de clés différents d'Active Directory.

Procédure

  1. Configurez les utilisateurs Active Directory et les principaux de service.
  2. Configurez des fichiers Kerberos.
  3. Configurez Build Forge pour utiliser Active Directory et SPNEGO.
  4. Configurez les clients de navigateur pour l'accès sécurisé.
  5. Accès à Build Forge via la connexion unique.

Configuration des utilisateurs et principaux de service Active Directory

Le serveur et les clients Build Forge doivent être configurés dans un domaine Active Directory.

Avant de commencer

Les outils de support pour Windows 2003 SP2 sont requis pour la procédure suivante. Ils contiennent la commande setspn, requise pour définir un principal de service dans Active Directory. Installez les outils de support à partir du CD-ROM Windows Server 2003 ou du centre de téléchargement Microsoft.

Pourquoi et quand exécuter cette tâche

Si le client et le serveur Build Forge se trouvent dans un domaine Active Directory, un utilisateur génère un jeton de justification d'authentification Kerberos lors de la connexion à un hôte Windows. Lorsque l'utilisateur tente ensuite d'accéder au serveur Build Forge, l'intercepteur SPNEGO reçoit un jeton utilisateur et le valide. L'identité validée est transmise à Build Forge afin d'effectuer une connexion via le serveur LDAP Microsoft Active Directory configuré.

Procédure

  1. Connectez-vous à l'hôte du contrôleur du domaine. Dans l'exemple, l'hôte est it_example.mycompany.com.
  2. Ajoutez l'hôte Build Forge au domaine Active Directory, s'il n'en est pas encore membre. Dans cet exemple, ajoutez l'hôte it_buildforge au domaine ITDEV.COM. L'hôte possède à présent un nom qualifié complet dans le domaine : it_buildforge.ITDEV.COM
  3. Ajoutez un utilisateur Build Forge au domaine Active Directory. Dans cet exemple, créez l'utilisateur bfuser.
    Important :
    • Sélectionnez Password never expires (Le mot de passe n'expire jamais). Vous pouvez sélectionner une autre gestion de mot de passe. Toutefois, vous devez entrer un nouveau mot de passe pour le serveur Build Forge chaque fois qu'il expire.
    • Dans l'onglet Accounts (Comptes), sélectionnez Account is trusted for delegation (Le compte est sécurisé pour la délégation)
  4. S'ils n'existent pas, créez des comptes utilisateur dans Microsoft Active Directory pour tous les clients. Dans cet exemple, il y a un utilisateur à créer, happy_user.
  5. Créez un nom principal de serveur (SPN) pour Build Forge. Dans l'exemple, l'utilisateur Active Directory bfuser est associé au nom de service HTTP/it_buildforge.mycompany.com pour créer le SPN du serveur Build Forge, it_buildforge.
    setspn -A HTTP/it_buildforge.mycompany.com bfuser

    HTTP est le nom de service du service Build Forge.

Configuration de fichiers pour l'authentification Kerberos

Un fichier de démarrage (fichier de configuration du client Kerberos) et un fichier de clés doivent être configurés sur l'hôte Build Forge.

Procédure

  1. Configurez le fichier de démarrage sur l'hôte sur lequel Build Forge est exécuté.
    • Systèmes Windows :
      • Appelez le fichier krb.ini et placez-le dans C:\winnt. Créez C:\winnt s'il n'existe pas encore.
      • Définissez default_keytab_name sur FILE:C:\winnt\krb5.keytab.
    • Systèmes UNIX et Linux :
      • Appelez le fichier krb.conf et placez-le dans C:\winnt.
      Définissez default_keytab_name sur FILE:/etc/krb5.keytab.

    L'exemple de fichier suivant est configuré pour Windows à l'aide des paramètres de domaine des exemples de système.

    [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 = it_directory.itdev.com:88
    		default_domain = mycompany.com
    [domain_realm]
    	.mycompany.com = ITDEV.COM
    Remarque : Les jetons ne fonctionnent pas si le décalage de l'horloge entre les hôtes client et le serveur Build Forge est supérieur à 300 secondes. Définissez l'heure, la date et le fuseau horaire dans les limites du décalage d'horloge sur les hôtes du client et du serveur.
  2. Configurez un magasin de clés Kerberos. Le fichier de clés est utilisé par le serveur Build Forge pour valider les jetons Kerberos lorsqu'un client tente d'accéder à l'adresse URL du serveur Build Forge. Utilisez la commandektpass sur l'hôte du contrôleur de domaine pour créer le fichier. La commande ktpass est incluse dans le kit d'outils de ressource Windows prérequis. L'exemple suivant utilise le nom de principal du service Build Forge et le nom d'utilisateur Active Directory configuré pour Build Forge dans l'exemple de scénario. Substituez votre propre mot de passe pour -pass Rat1onal. Les retours à la ligne sont indiqués dans l'exemple pour la clarté. Ne les utilisez pas dans votre commande ktpass.
    ktpass -out C:\it_buildforge.keytab 
    -princ HTTP/it_buildforge.mycompany.com@ITDEV.COM 
    -mapuser bfuser -mapop set 
    -pass Rat1onal /crypto RC4-HMAC-NT /rndpass /ptype KRB5_NT_SRV_HST
    Renommez it_buildforge.keytab en krb5.keytab et placez le fichier sur l'hôte Build Forge dans le répertoire qui contient le fichier de démarrage Kerberos.
    • Windows : C:\winnt\
    • UNIX et Linux : /etc

Configuration de Build Forge pour utiliser Active Directory et SPNEGO

Procédure

  1. Dans Build Forge, configurez LDAP pour qu'il pointe sur le contrôleur de domaine Active Directory.
    1. Dans Build Forge, cliquez sur Administration > LDAP.
    2. Configurez l'accès à votre contrôleur de domaine en créant une nouvelle configuration LDAP et en configurant les propriétés de la manière suivante.
      • Nom : défini sur le nom de votre domaine Active Directory. Dans l'exemple d'environnement, il s'agit de itdev.
      • DN Admin : défini sur un administrateur dans le domaine.
      • Mapper les groupes d'accès : Non
      • Hôte : défini sur l'adresse IP de l'hôte du contrôleur de domaine.
      • Lier le compte utilisateur : Oui
      • Protocol : LDAP
      • Afficher le nom : nom affiché
      • Nom distinctif : nomdistinctif
      • Nom de groupe : membrede
      • Nom courrier : nomaffiché
      • Base de recherche : on=users,do=nom_domaine,do=extension_domaine. Dans l'exemple d'environnement, il s'agit de on=users,do=itdev,do=.com
      • Identificateur unique : sAMAccountNames=%
    3. Cliquez sur Définir par défaut. Cette configuration doit être la configuration LDAP par défaut.
  2. Définition des variables d'environnement Build Forge pour SPNEGO.
    1. Dans Build Forge, accédez à Environnements > Environnement pour une connexion unique SPNEGO.
    2. Définissez bf_spnego_service_name sur HTTP Cette valeur correspond au nom principal de service.
    3. Définissez bf_spnego_server_name sur it_buildforge.mycompany.com, le nom de système hôte qualifié complet de l'hôte du serveur Build Forge. Si cette variable n'est pas définie, les API INetAddress tentent de rechercher le nom d'hôte.
    4. Définissez bf_spnego_realm sur ITDEV.COM, le nom de domaine Kerberos. Si cette variable n'est pas définie, la valeur du fichier de démarrage Kerberos est utilisée.
  3. Activation de l'intercepteur SPNEGO.
    1. Dans Build Forge, accédez à Administration > Sécurité > SSO > Intercepteur de connexion unique SPNEGO.
    2. Définissez la propriété Actif sur Oui, puis cliquez sur Sauvegarder.
    3. Dans Administration > Sécurité > SSO, déplacez Intercepteur de connexion unique SPNEGO au début de la liste. Utilisez la sélection Déplacer au début du menu Options de connexion unique pour l'intercepteur de connexion unique SPNEGO puis cliquez sur Sauvegarder.

Configuration des navigateurs clients pour la connexion unique

Les paramètres de sécurité des navigateurs clients doivent être définis pour utiliser SPNEGO.

Pourquoi et quand exécuter cette tâche

Utilisez les instructions de configuration du client relatives au navigateur utilisé pour accéder à Build Forge, Microsoft Internet Explorer ou Mozilla Firefox.

Procédure

Accès à Build Forge via la connexion unique

Entrez l'adresse URL du serveur pour tester la connexion via la connexion unique.

Procédure

  1. Connectez-vous à un hôte situé dans le domaine Active Directory à l'aide d'un nom d'utilisateur qui se trouve dans la liste des utilisateurs d'Active Directory.
  2. Ouvrez votre navigateur.
  3. Entrez l'adresse URL de l'hôte du serveur Build Forge. En utilisant l'exemple de configuration, il s'agit de http://it_buildforge.mycompany.com. Si la connexion unique est correctement configurée, vous voyez la console de gestion Build Forge.
  4. Vérifiez que le nom d'utilisateur affiché en haut à droite de la console Build Forge correspond au nom de connexion Windows du client.

Feedback