43 votes

Pourquoi utiliser Kerberos plutôt que NTLM dans IIS?

C'est quelque chose que je n'ai jamais vraiment été en mesure de répondre aussi bien que je l'aimerais: Quel est le véritable avantage d'utiliser l'authentification Kerberos dans IIS au lieu de NTLM?

J'ai vu beaucoup de gens avoir vraiment du mal à le configurer (moi y compris) et je n'ai pas été en mesure de trouver une bonne raison de l'utiliser. Il doit y avoir des avantages assez importants cependant, sinon cela ne vaudrait pas la peine de prendre tout ce mal pour le configurer, n'est-ce pas?

11voto

Ian Boyd Points 5006

De Microsoft Application Verifier, qui détecte les erreurs communes des développeurs. Une de ces erreurs est l'utilisation de NTLM:

NTLM est un protocole d'authentification obsolète avec des failles qui compromettent potentiellement la sécurité des applications et du système d'exploitation. La lacune la plus importante est le manque d'authentification du serveur, ce qui pourrait permettre à un attaquant de tromper les utilisateurs en les connectant à un serveur contrefait. En corollaire du manque d'authentification du serveur, les applications utilisant NTLM peuvent également être vulnérables à un type d'attaque appelé attaque de "réflexion". Cette dernière permet à un attaquant de détourner la conversation d'authentification d'un utilisateur vers un serveur légitime et de s'en servir pour s'authentifier sur l'ordinateur de l'utilisateur. Les vulnérabilités de NTLM et les moyens de les exploiter sont la cible d'une activité de recherche croissante au sein de la communauté de sécurité.

Malgré le fait que Kerberos soit disponible depuis de nombreuses années, de nombreuses applications sont encore écrites pour n'utiliser que NTLM. Cela réduit inutilement la sécurité des applications. Cependant, Kerberos ne peut pas remplacer NTLM dans tous les scénarios, principalement ceux où un client doit s'authentifier sur des systèmes qui ne sont pas joints à un domaine (un réseau domestique étant peut-être le plus courant). Le package de sécurité "Negotiate" permet un compromis rétrocompatible qui utilise Kerberos chaque fois que possible et ne recourt à NTLM que s'il n'y a pas d'autre option. Modifier le code pour utiliser "Negotiate" au lieu de NTLM augmentera considérablement la sécurité pour nos clients tout en introduisant peu ou pas de compatibilités d'application. "Negotiate" en lui-même n'est pas une solution miracle - il existe des cas où un attaquant peut forcer un rétrogradage vers NTLM, mais ils sont nettement plus difficiles à exploiter. Cependant, une amélioration immédiate est que les applications écrites pour utiliser "Negotiate" correctement sont automatiquement immunisées contre les attaques de réflexion NTLM.

Pour conclure sur une mise en garde contre l'utilisation de NTLM : dans les futures versions de Windows, il sera possible de désactiver l'utilisation de NTLM au niveau du système d'exploitation. Si des applications ont une dépendance stricte à NTLM, elles échoueront simplement à s'authentifier lorsque NTLM est désactivé.

10voto

nedm Points 5600
  • Kerberos a la réputation d'être un mécanisme d'authentification plus rapide et plus sécurisé que NTLM.
  • Il a également été historiquement plus facile de se connecter à travers des serveurs proxy que NTLM, en raison de la nature basée sur la connexion de NTLM.
  • Cela étant dit, comme vous l'avez noté, Kerberos est plus difficile à mettre en place et nécessite une connexion à l'AD qui n'est pas toujours pratique.

Une autre approche consisterait à régler l'authentification sur negotiate et à utiliser les deux plutôt que l'un à la place de l'autre.

4voto

scarredNinja Points 26

Vous devriez ajouter un point très important :

Kerberos est un protocole standard et ouvert dans Unix depuis plus de 20 ans, tandis que NTLM est une solution purement propriétaire de Microsoft et connue uniquement de Microsoft.

1voto

Thecamelcoder Points 11

Kerberos est requis si vous avez besoin d'usurper l'identité de l'utilisateur pour accéder à des ressources qui ne se trouvent pas sur le serveur IIS.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X