L'authentification Kerberos dans IIS 7
Nous avons peu de contenu web qui est installé dans les répertoires virtuels à l'aide de l'authentification windows intégrée. Les répertoires virtuels sont en cours d'exécution en vertu de pools d'applications à l'aide d'une identité personnalisée (custom compte d'utilisateur). Le problème est que l'authentification NTLM fonctionne cependant l'authentification Kerberos ne fonctionne pas. C'est la même configuration que travaillé sous IIS 6, mais nous avons besoin de migrer vers IIS 7 et de l'authentification Kerberos ne fonctionne pas.
Voici quelques informations à propos de mon environnement:
Répertoire Virtuel Paramètres D'Authentification:
- Tout désactivé sauf pour l'Authentification Windows
- Activer l'authentification en mode noyau: activé
Application Paramètres De Pool:
- Mode Pipeline Géré: Classique
- Identité: la Coutume locale de l'utilisateur
Web.Paramètres de configuration:
- authentication mode = "Windows"
- système.serviceModel/liaisons/basicHttpBinding/liaison/de sécurité/mode = TransportCredentialOnly
- système.serviceModel/liaisons/basicHttpBinding/liaison/de sécurité/transport/clientCredentailType = Windows
- serviceHostingEnvironment/aspNetCompatibilityEnabled = true
Répertoire Virtuel Autorisations:
- Personnalisé groupes locaux: Nous ajoutons les utilisateurs du domaine pour les groupes locaux pour l'accès au service
Paramètres du système d'exploitation:
- IIS 7
- Windows Server 2008 x64 SP2 standard
Ici est l'analyse que je reçois de fiddler comparant IIS 6 pour IIS 7. L'authentification Kerberos fonctionne très bien dans IIS 6 avec un pool d'application en cours d'exécution avec une identité personnalisée.
De référence (IIS 6) (Travaux):
Fiddler:
(À l'aide de domaine\utilisateur)
Demande de 1 (pas d'authentification)
No Proxy-Authorization Header is present.
No Authorization Header is present.
Réponse 1 (401) (défi)
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM
Demande 2 (ticket Kerberos)
Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>
Réponse 2 (401) (Kerberos répondre)
WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>
Demande 3 (ticket Kerberos)
Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>
Réponse 3 (401) (Kerberos répondre)
WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>
Demande 4 (ticket Kerberos)
Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>
Réponse 4 (200) (Kerberos Répondre)
WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>
Et la fin de la transaction et le navigateur affiche la page.
(IIS 7) (Ne fonctionne pas):
Fiddler:
(À l'aide de domaine\utilisateur)
Demande de 1 (pas d'authentification)
No Proxy-Authorization Header is present.
No Authorization Header is present.
Réponse 1 (401) ( Négocier)
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM
Demande 2 (ticket Kerberos)
Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>
Réponse 2 (401) (Négocier)
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM
Remarquer que IIS 7 n'est pas d'accepter mon ticket Kerberos dans Réponse 2. Aucune idée pourquoi pas? Ai-je besoin de reconfigurer certains trucs dans IIS 7 pour obtenir l'authentification Kerberos pour travailler?
OriginalL'auteur Andy Arismendi | 2010-09-23
Vous devez vous connecter pour publier un commentaire.
RÉSOLUTION
Dans l'ordre pour moi de m'IIS 7 pour négocier l'authentification IIS 6 j'ai dû mettre le useAppPoolCredentials de la windowsAuthentication élément de mon répertoire virtuel dans le applicationHost.fichier de configuration pour vrai. C'est fait faire une de ces commandes:
À s'appliquer aux demandes individuelles:
D'abord déverrouiller :
Puis appliquer:
NOTE - Ce qui ne fait pas de Kerberos travail. Ce qu'il fait il que IIS 7 se comporter comme IIS 6. Ce que cela signifie est que, si la négociation Kerberos entre le serveur et le client échoue, alors le serveur tombe automatiquement à NTLM. C'est en fait la chose qui fait de l'authentification de travail pour moi (NTLM).
OriginalL'auteur Andy Arismendi
Êtes-vous à l'aide de la Négociation:Kerberos fournisseur pour l'Authentification Windows? Si il y a un problème autour de Kerberos, vous pourriez être en mesure d'obtenir plus de détails sur le problème en exécutant Le Moniteur Réseau (ou quelque chose de similaire comme WireShark) sur le client, tout en essayant de s'authentifier. Regarder les messages dans le processus d'Internet Explorer et vous pouvez être en mesure de voir quelques Kerberos sur les allées et venues.
OriginalL'auteur Graham Clark