Colonne d’assistance vocale développeur de IIS

L’authentification Kerberos et la résolution des problèmes de délégation

Pour personnaliser cette chronique selon vos besoins, nous souhaitons vous inviter à soumettre vos idées sur des sujets qui vous intéressent et des problèmes que vous voulez voir traités dans de futurs articles de la Base de connaissances et des chroniques Support Voice. Vous pouvez nous envoyer vos commentaires à l’aide de l’écran Ask For It . Il existe également un lien vers le formulaire au bas de cette colonne.

Mon nom est Martin Smith, et je travaille dans le groupe de résolution des problèmes critiques de Microsoft Internet Information Services (IIS) de Microsoft. J’ai ont été avec Microsoft neuf ans et ont été avec l’équipe IIS tous les neuf ans. J’ai compilé des informations à partir de plusieurs emplacements sur
http://msdn.Microsoft.com et
http://www.microsoft.com sur Kerberos et la façon de résoudre les problèmes de délégation.

IIS 6.0

Le livre blanc suivant explique comment configurer la délégation dans Microsoft Windows Server 2003. Le livre blanc dispose d’informations spécifiques pour l’équilibrage de charge réseau (NLB), mais inclut une excellente détails comment définir un scénario de délégation sans utiliser l’équilibrage de charge réseau. Pour afficher ce livre blanc, visitez le site Web de Microsoft à l’adresse suivante :

http://technet.microsoft.com/en-us/library/cc757299.aspxRemarque Utilisez des noms de Principal du Service HTTP (SPN), notamment lorsque vous utilisez l’équilibrage de charge réseau.

Un autre problème Kerberos courants a été récemment la nécessité de permettre plusieurs pools d’applications utiliser le même nom DNS. Malheureusement, lorsque vous utilisez Kerberos pour déléguer les informations d’identification, vous ne pouvez pas lier le nom de Principal même Service (SPN) à différents pools d’applications. Vous ne pouvez pas le faire en raison de la conception de Kerberos. Le protocole Kerberos requiert plusieurs secrets partagés pour le protocole fonctionne correctement. En utilisant le même nom principal de service pour les pools d’applications différents, nous supprimer un de ces secrets partagés. Le service d’annuaire Active Directory ne prendra pas en charge cette configuration du protocole Kerberos en raison du problème de sécurité.

Configurer les noms principaux de service de cette manière entraîne l’échec de l’authentification Kerberos. Une solution possible pour ce problème est d’utiliser la transition de protocole. L’authentification initiale entre le client et le serveur exécutant IIS serait gérée à l’aide du protocole d’authentification NTLM. Kerberos prendrait en charge l’authentification entre IIS et le serveur de ressources back-end.

Microsoft Internet Explorer 6 ou version ultérieure

Le navigateur client pouvez rencontrer des problèmes, tel que la réception des invites répétées d’ouverture de session pour les informations d’identification ou des messages d’erreur « 401 Accès refusé » à partir du serveur exécutant IIS. Nous avons trouvé les deux problèmes suivants qui peuvent aider à résoudre ces problèmes :

  • Vérifiez que l’option Activer l’authentification intégrée Windows est activée dans les propriétés du navigateur. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    299838 Impossible de négocier l’authentification Kerberos après la mise à niveau vers Internet Explorer 6

  • Si la Configuration de sécurité renforcée d’Internet Explorer est activée dans Ajout/Suppression de programmes, vous devez ajouter un site qui utilise la délégation de la
    Liste des sites de confiance . Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    815141 la Configuration de sécurité renforcée d’Internet Explorer modifie l’expérience de navigation

IIS 5.0 et IIS 6.0

Une fois la mise à niveau à partir de IIS 4.0 vers IIS 5.0 ou IIS 6.0, délégation ne fonctionne pas correctement, ou éventuellement une personne ou une application a modifié la propriété de métabase NTAuthenticationProviders.
Pour plus d’informations sur la façon de résoudre ce problème, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

248350 l’authentification Kerberos échoue après la mise à niveau à partir de IIS 4.0 vers IIS 5.0

Une zone particulière d’un problème peut se produire lorsque vous définissez le nom principal de service

Déterminer le nom du serveur

Déterminer si vous vous connectez au site Web à l’aide du nom NetBIOS réel du serveur ou à l’aide d’un nom d’alias, tel qu’un nom DNS (par exemple, www.microsoft.com). Si vous accédez au serveur Web à l’aide d’un nom autre que le nom réel du serveur, un nom de Principal nouveau Service (SPN) doit avoir été inscrit à l’aide de l’outil Setspn du Kit de ressources Windows 2000 Server. Étant donné que le service d’annuaire Active Directory ne connaît pas ce nom de service, le service d’accord de ticket (TGS) ne vous donne pas de ticket pour authentifier l’utilisateur. Ce comportement force le client à utiliser la méthode d’authentification disponible suivante, qui est NTLM, pour renégocier. Si le serveur Web répond à un nom DNS de www.microsoft.com mais que le serveur nommé webserver1.development.microsoft.com, vous devez enregistrer www.microsoft.com dans Active Directory sur le serveur qui exécute IIS en cours d’exécution. Pour ce faire, vous devez télécharger l’outil Setspn et l’installer sur le serveur qui exécute IIS.


Si vous utilisez Windows Server 2003 et IIS 6, l’outil Setspn pour Microsoft Windows Server 2003 est disponible à partir de l’emplacement suivant :

http://support.microsoft.com/kb/970536Pour déterminer si vous vous connectez à l’aide du nom réel, essayez de vous connecter au serveur en utilisant le nom réel du serveur au lieu du nom DNS. Si vous ne pouvez pas vous connecter au serveur, consultez la section « Vérification de l’ordinateur est approuvée pour la délégation ».

Si vous pouvez vous connecter au serveur, suivez ces étapes pour définir un SPN pour le nom DNS que vous utilisez pour vous connecter au serveur :

  1. Installez l’outil Setspn.

  2. Sur le serveur qui exécute IIS, ouvrez une invite de commande et puis ouvrez le dossier C:\Program Files\Resource Kit.

  3. Exécutez la commande suivante pour ajouter ce nouveau SPN (www.microsoft.com) à Active Directory pour le serveur :

    Setspn - un HTTP/www.microsoft.com webserver1Remarque Dans cette commande, webserver1 représente le nom NetBIOS du serveur.

Vous recevez une sortie semblable à la suivante :
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=comHTTP/www.microsoft.com
Updated object

Pour afficher une liste des noms principaux de service sur le serveur pour afficher cette nouvelle valeur, tapez la commande suivante sur le serveur qui exécute IIS :

Setspn -L Nom_Serveur_WebNotez que vous n’avez pas à inscrire tous les services. De nombreux types de services, tels que HTTP, W3SVC, Web, RPC, CIFS (accès aux fichiers), WINS et onduleur (UPS), mappe à un type de service par défaut nommé HOST. Par exemple, si votre logiciel client utilise un nom principal de service de HTTP/webserver1.microsoft.com pour créer une connexion HTTP au serveur Web sur le serveur webserver1.microsoft.com, mais ce SPN n’est pas enregistré sur le serveur, le contrôleur de domaine Windows 2000 sera automatiquement mappé la connexion à HOST/webserver1.microsoft.com. Ce mappage s’applique uniquement si le service Web s’exécute sous le compte système local.

Vérifiez que l’ordinateur est approuvé pour la délégation

Si ce serveur exécutant IIS est membre du domaine mais n’est pas un contrôleur de domaine, l’ordinateur doit être approuvé pour la délégation pour que Kerberos fonctionne correctement. Pour ce faire, procédez comme suit :

  1. Sur le contrôleur de domaine, cliquez sur Démarrer, pointez sur paramètres, puis cliquez sur Panneau de configuration.

  2. Dans le panneau de configuration, ouvrez Outils d’administration.

  3. Double-cliquez sur utilisateurs et ordinateurs Active Directory.

  4. Sous votre domaine, cliquez sur ordinateurs.

  5. Dans la liste, recherchez le serveur IIS, cliquez sur le nom du serveur et puis cliquez sur Propriétés.

  6. Cliquez sur l’onglet Général , sélectionnez la
    Approuvé pour la délégation de la case à cocher, puis cliquez sur
    OK.

Notez que si plusieurs sites Web sont atteints par la même URL, mais sur des ports différents, la délégation ne fonctionnera pas. Pour ce faire, vous devez utiliser des noms d’hôtes différents et de noms principaux de service différents. Lorsqu’Internet Explorer demande soit http://www. monsiteweb.com ou http://www. monsiteweb.com:81, Internet Explorer demande un ticket de SPN HTTP/www.mywebsite.com. Internet Explorer n’ajoute pas le port ou le répertoire virtuel à la demande de nom principal de service. Ce comportement est le même pour http://www. monsiteweb.com/app1 ou http://www. monsiteweb.com/app2. Dans ce scénario, Internet Explorer demande un ticket pour le SPN http://www. monsiteweb.com à partir le centre de Distribution de clés (KDC). Chaque nom principal de service peuvent être déclarés que pour une identité. Par conséquent, vous souhaitez également recevoir un message d’erreur KRB_DUPLICATE_SPN si vous tentez de déclarer ce SPN pour chaque identité.

Délégation et Microsoft ASP.NET

Pour plus d’informations sur la configuration de la délégation des informations d’identification lorsque vous utilisez une application ASP.NET, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

810572 comment configurer une application ASP.NET pour un scénario de délégation

L’emprunt d’identité et de délégation sont deux méthodes pour un serveur pour l’authentification de la part du client. Décider laquelle de ces méthodes et leur implémentation peut provoquer une certaine confusion. Vous devez examiner la différence entre ces deux méthodes et examiner laquelle de ces méthodes, vous souhaiterez peut-être utiliser pour votre application. Ma recommandation serait de lire le livre blanc suivant pour plus de détails :

http://msdn2.microsoft.com/en-us/library/ms998351.aspx

Références

http://technet.microsoft.com/en-us/library/cc757299.aspx

http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

305971 Windows 2000 Server vous demande des informations d’identification utilisateur de domaine

262177 comment activer l’enregistrement d’événements Kerberos

326985, comment résoudre les problèmes liés à Kerberos dans IIS

842861 de Support technique : l’authentification Kerberos de résolution des problèmes avec des applications Web sécurisées et Microsoft SQL Server

Comme toujours, n’hésitez à soumettre des idées sur des sujets que vous souhaitez traités dans de futurs des colonnes ou dans la Base de connaissances à l’aide de la
Formulaire Ask For It .

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la traduction ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions pour vos commentaires.

×