Isa Server 2006 et la « Délégation Kerberos contrainte »

Salut à tous

J’ai récemment travaillé sur la mise la publication d’un site web avec Isa Server 2006 avec les contraintes suivantes :
- Les utilisateurs sur Internet doivent s’authentifier à l’aide d’une carte à puce ou d’un certificat utilisateur.
- Le serveur Isa Server doit authentifier les demandes de connexion tout comme le serveur web.
- Le serveur web (IIS) doit être configuré avec de l’authentification intégré (protocole d’authentification Kerberos ou NTLM).
- Les utilisateurs ne doivent pas avoir besoin de s’authentifier (ils insèrent uniquement leur carte à puce).
- Le flux réseau entre l’utilisateur sur Internet et le serveur Isa Server 2006 doit être chiffré (HTTPS).
- Le flux réseau entre le serveur Isa 2006 et le serveur web doit être chiffré (HTTPS).

1. AVANT DE COMMENCER :
Une version de cet article avec des captures d’écran est disponible à cet emplacement :
http://msreport.free.fr/articles/IsaServerDelegationkerberoscontrainte.pdf

2 ACTIONS A EFFECTUER SUR ISA SERVER :
On crée une règle de publication web. On va faire du pontage SSL.
Pour plus d’informations sur Isa Server, je vous invite à lire mon support de cours sur Isa Server 2006 :
http://msreport.free.fr/articles/IsaServer2006.pdf
On va configurer Isa Server pour accepter l’authentification avec des certificats de type  « Utilisateur ». Cela nécessite d’utiliser la « Délégation Kerberos contrainte ». Il n’est pas possible d’utiliser de la délégation NTLM avec les certificats client (certificat de type « Utilisateur »).
Les prérequis suivants doivent être respectés pour la mise en œuvre de la « Délégation Kerberos contrainte » :
- Le domaine doit être en mode natif 2003.
- Le serveur Isa Server 2006 et le serveur web doivent être dans le même domaine. Isa Server 2006 est donc membre du domaine !
Le correctif suivant (inclus dans le SP1) semble supprimer cette limitation mais en pratique cela ne marche pas :
- http://support.microsoft.com/kb/942637/en-us.
- Il faut autoriser la fragmentation IP dans Isa Server 2006.
Les articles ci-dessous expliquent comment configurer la délégation contrainte :
- http://technet.microsoft.com/en-us/library/bb794858.aspx
- http://technet.microsoft.com/fr-fr/library/bb794751.aspx (Exemple avec Publication OWA)
- http://technet.microsoft.com/fr-fr/library/cc786828(WS.10).aspx
Remarque :
- Il est préconisé d’installer le dernier pack de correctif Isa Server 2006 (POST SP1) : http://support.microsoft.com/kb/960148/en-us
- Pour contrôler le format de saisi du champ login / mot de passe : http://support.microsoft.com/kb/960146/en-us
- Autre problème avec la « délégation Kerberos contrainte » :
http://support.microsoft.com/kb/947124/en-us

2.1 CONFIGURATION DU PORT D’ECOUTE :
Il faut configurer le port d’écoute Isa Server au niveau de la règle de publication WEB avec la méthode d’authentification « Authentification de certificats de client SSL  ». Pour cela, aller dans au niveau de la règle Isa Server, dans l’onglet « Port d’écoute« . Dans les propriétés du port d’écoute, cliquer sur l’onglet « Authentification« .
Il faut ensuite autoriser le certificat de l’autorité de certification qui a émis les certificats clients. Pour cela, toujours dans l’onglet « Authentification » du port d’écoute, cliquer sur le bouton « Configurer« . Séalectionner le certificat de l’autorité de certification qui a émis les certificats web.

2.2 CONFIGURATION DE LA DELEGATION D’AUTHENTIFICATION :
Il faut ensuite configurer la délégation d’authentification sur « Délégation Kerberos contrainte ».
Cela se configure au niveau de l’onglet « Délégation d’authentification » de la règle de publication web.
On remarquera qu’Isa Server 2006 génère un « Service Principal Name » automatiquement (champ « Entrer le nom principal de service (SPN)…« .
Il sera nécessaire de créer le SPN (Service Principal Name) au niveau du serveur web interne (même valeur que dans la règle Isa Server).

2.3 CONFIGURER LE COMPTE ORDINATEUR DU SERVEUR ISA :
Il faut approuver la délégation au niveau du compte ordinateur du serveur ISA.
Au niveau des propriétés du compte ordinateur, aller dans l’onglet « Délégation« .
Cliquer sur « N’approuver cet ordinateur que pour la délégation aux services spécifiés« .
Sélectionner « Utiliser tour protocole d’authentification« .
Cliquer sur « Affichage développé » puis cliquer sur le bouton « Ajouter« . Aller chercher le compte ordinateur du serveur web et ajouter les services WWW et HTTP.

2.4 AJOUTER LE SERVICE PRINCIPALNAME (SPN) AU NIVEAU DU COMPTE ORDINATEUR DU SERVEUR WEB :
Il faut ajouter le Service Principal Name (SPN) au niveau du serveur web.
Cela peut être fait via ADSIEDIT ou via la commande SETSPN.
ADSIEDIT (concole MMC) est disponible sur le CD d’installation de Windows 2003 Server dans les supports Tools.
C’est l’éditeur bas niveau d’Active Directory. Faire un clic droit sur l’objet correspondant au compte ordinateur du serveur web. Editer l’attribut « Service Principal Name ».
Dans notre cas, on saisit http://srvdfs5.archidfs.local (SRVDFS5.archidfs.local étant le nom de notre serveur web). Le SPN doit être identique à celui indiqué dans la règle Isa Server 2006.

2.5 RESULTATS ET PROBLEMES RENCONTREES :
2.5.1 TESTS CONNEXION AVEC UN COMPTE UTILISATEUR SITUE DANS LE MEME DOMAINE QUE LE SERVEUR WEB ET ISA SERVER :

Si un utilisateur essaie de se connecter depuis Internet, il voit une fenêtre qui lui demande de sélectionner un certificat.
En fait Internet Explorer accède au magasin de certificat utilisateur de Windows.
Pour visualiser ce magasin de certificat, cliquer sur Démarrer | Exécuter. Taper MMC.
Ajouter le composant logiciel enfichable « Certificats » et sélectionner « Compte utilisateur« . Développer la section « Personnel« . Vous pouvez alors voir vos certificats (spécfiques à votre compte utilisateur Windows).
Au niveau d’Isa Server 2006, on peut voir que la connexion est authentifiée et que c’est bien le module proxy qui est utilisé en allant dans la partie Monitoring | onglet Session. On peut créer un filtre en spécfiant l’adresse IP de la machine qui accède au site web depuis Internet.

2.5.2 TEST CONNEXION AVEC UN COMPTE SITUE DANS UN AUTRE DOMAINE :
Cela échoue si utilisation d’un compte d’un autre domaine de la forêt (pas dans le même domaine que le serveur ISA et le serveur web). On a l’erreur ci-dessous.
Event Type: Error
Event Source: Microsoft ISA Server Web Proxy
Event Category: None
Event ID: 21315
Date:  7/5/2011
Time:  2:58:30 PM
User:  N/A
Computer: SRVDFS3-R3GPSSX
Description:
ISA Server n’a pas pu déléguer d’informations d’identification au site Web publié par la règle Publication srvdfs5.archidfs.local à l’aide de la délégation Kerberos contrainte. Vérifiez que les noms principaux du service : http/srvdfs5.archidfs.local configurés dans ISA Server correspondent à ceux d’Active Directory.
Le correctif suivant (inclus dans le SP1) semble supprimer cette limitation mais en pratique cela ne marche pas :
http://support.microsoft.com/kb/942637/en-us.

a+
Guillaume MATHIEU
PROSERVIA / MSREPORT (http://msreport.free.fr)  
La connaissance s’accroît quand on la partage

À propos de Guillaume Mathieu

Consultant - Formateur chez PROSERVIA (Pôle Conseil Expertise)
Ce contenu a été publié dans Active Directory, Certificats, IIS, Isa 2006, Isa Server, Sécurité, Windows 2003 Server. Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Isa Server 2006 et la « Délégation Kerberos contrainte »

  1. PIPO INZAGUI dit :

    Info, As-tu créer un SPN correspondants aux différents Domaines ?

  2. PIPO INZAGUI dit :

    Je ne suis spécialiste du mondes windows,mais un SPN correspond à la publication dans la base kerberos d’un compte de service. Donc ton serveur ISA et/ou web doit avoir un compte dans l’autre domaine, même s’il y a une relation d’approbation entre les deux domaines

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


− un = 7

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>