web-dev-qa-db-fra.com

Authentification Kerberos sur Internet public

Quelles sont les menaces pour que le KDC soit accessible via Internet pour les clients distants?

Je crois comprendre que l'authentification est un protocole de défi/réponse et que le mot de passe n'est jamais transmis. Les attaques par force brute sont-elles la raison pour laquelle ce n'est pas courant?

Est-ce parce que l'authentification Kerberos est plus utile que le forçage brutal d'un compte SSH ou de messagerie individuel, car plusieurs services sur plusieurs hôtes pourraient être compromis à la fois? Est-ce à cause de la surface d'attaque du KDC lui-même et qu'un pare-feu sténopé n'est pas considéré comme une barrière suffisante pour empêcher l'accès à cette précieuse cheville ouvrière pour l'authentification et l'autorisation?

16
Richard Salts

La raison pour laquelle Kerberos n'est pas utilisé sur Internet n'est sans doute pas liée à la sécurité du protocole ou à l'exposition du KDC, mais plutôt qu'il s'agit d'un modèle d'authentification qui ne correspond pas aux besoins de la plupart des "publics". Applications Internet.

Pour citer Wikipedia, Kerberos " fournit une authentification mutuelle - à la fois l'utilisateur et le serveur vérifient l'identité de l'autre. " Cela signifie que la machine cliente doit avoir les clés nécessaires pour garantir son identité avant que l'authentification de l'utilisateur ne prenne endroit. La distribution de ces clés pour les applications "Internet public" n'est pas pratique pour plusieurs raisons - considérez le nombre d'ordinateurs qui accèdent à votre site Web bancaire, appartenant à une grande variété de personnes dont la capacité d'installer régulièrement des correctifs Windows est limitée. Ce n'est pas comme si l'informatique d'entreprise allait venir et configurer Kerberos pour eux.

Kerberos nécessite des horloges étroitement synchronisées - pas ce difficile à faire dans un environnement d'entreprise ou éducatif géré de manière centralisée, beaucoup plus difficile lorsque les machines sont toutes détenues et gérées par des gens complètement différents.

L'un des avantages de Kerberos est la possibilité d'exploiter en toute transparence une authentification initiale dans plusieurs accès aux applications. Sur Internet public, les multiples applications n'ont rarement rien à voir entre elles - ma banque, mon courrier et mon /. compte n'ont aucun appel à se faire confiance ou au même groupe de personnes. (Cela relève du domaine de l'identité fédérée, et il y a du travail dans ce domaine, mais il n'a pas besoin du même mélange de choses que Kerberos apporte à la table).

En bref, Kerberos est une solution lourde et le contrôle d'accès aux applications Internet publiques est un problème léger.

Pour répondre directement à votre question, non, je ne pense pas que les préoccupations concernant les attaques par force brute ou la vulnérabilité du KDC empêchent Kerberos de se connecter à Internet. Le protocole a été raisonnablement bien vérifié, attaqué, corrigé et mis à jour sur plus de 20 ans. La pièce d'authentification client (machine) offre à elle seule une protection considérable contre un certain nombre d'attaques attendues sur un grand réseau ouvert comme Internet.

23
gowenfawr

Kerberos lui-même est généralement sûr à utiliser sur Internet. Après tout, il a été conçu pour être sécurisé sur l'un des réseaux publics les plus hostiles au monde: le réseau de campus MIT.

Un livre blanc Kerberos, "Pourquoi Kerberos est-il une solution de sécurité crédible?" aborde tous les points que vous avez soulevés. Pour citer en partie:

Un mot de passe qui n'est jamais divulgué ou envoyé sur un réseau est beaucoup plus difficile à saisir pour un attaquant. Par conséquent, l'authentification Kerberos des utilisateurs ne nécessite pas que les mots de passe soient présentés au service d'authentification. Au lieu de cela, le service d'authentification Kerberos utilise des protocoles cryptographiques par lesquels l'utilisateur peut prouver la possession d'un mot de passe sans le révéler réellement.

Dans un environnement distribué, il serait extrêmement gênant de conserver des secrets partagés tels que des mots de passe sur chaque client et serveur qui a besoin d'authentifier les demandes. De plus, la distribution de secrets partagés sur de nombreux systèmes augmente les vulnérabilités potentielles en proportion directe avec le nombre de systèmes, un problème exacerbé par le phénomène du "maillon le plus faible". Kerberos répond à cette exigence en maintenant une base de données centralisée qui n'est distribuée que sur quelques serveurs d'authentification. Alors que la sécurité globale dépend de manière critique de la protection de cette base de données centrale, il est beaucoup plus facile de renforcer quelques serveurs à usage spécial contre les attaques que de protéger de nombreux systèmes à usage général. Le contrôle central des secrets d'authentification facilite également l'émission de nouvelles informations d'identification, la révocation de celles existantes et la récupération à partir d'informations d'identification compromises.

Les développeurs Kerberos ont supposé que n'importe qui pouvait écouter le trafic réseau, prétendre être n'importe quel utilisateur et mettre en place des serveurs escrocs capables de se faire passer pour n'importe quel service légitime, y compris les services Kerberos eux-mêmes. Le chiffrement a été utilisé pour empêcher les attaques d'écoute clandestine et des clés de session ont été introduites avec des horodatages pour empêcher les attaques de relecture. Lorsque les utilisateurs (ou hôtes/services) s'authentifient auprès du service d'authentification Kerberos, le service d'authentification à son tour s'authentifie auprès de l'utilisateur (ou hôte/service) en prouvant qu'il connaît le secret partagé précédemment établi. Un sous-produit de ces contre-mesures est que Kerberos offre une protection contre les attaques de l'homme du milieu, qui étaient généralement considérées comme irréalisables à l'époque, et pendant plus d'une décennie après le déploiement initial de Kerberos. Malheureusement, les attaques de l'homme du milieu ne sont plus de simples conjectures et sont trop courantes dans le Web Internet d'aujourd'hui, qui n'a pas été conçu dans un environnement hostile.

Si vous pouvez raisonnablement joindre tous les systèmes au domaine Kerberos, par exemple, ce sont tous des sites au sein de votre entreprise, alors cela devrait être bon à utiliser. Cependant, il ne crypte pas nécessairement tout ; par exemple, HTTP serait toujours non chiffré. Cependant, certains services tels que NFS peuvent chiffrer leurs flux de données à l'aide de Kerberos. En fonction de vos applications et des données que vous transmettez, vous pouvez toujours vouloir utiliser un VPN entre les sites.

Mais si vos applications vont être ouvertes au public, Kerberos n'est probablement pas ce que vous voulez.

7
Michael Hampton