Gestion de l’authentification, de l’autorisation et de l’audit avec Kerberos/NTLM
Kerberos, un protocole d’authentification de réseau informatique, fournit des communications sécurisées sur Internet. Conçu principalement pour les applications client-serveur, il fournit une authentification mutuelle grâce à laquelle le client et le serveur peuvent chacun garantir l’authenticité de l’autre. Kerberos fait appel à un tiers de confiance, appelé Key Distribution Center (KDC). Un KDC se compose d’un serveur d’authentification (AS), qui authentifie un utilisateur, et d’un serveur d’octroi de tickets (TGS).
Chaque entité du réseau (client ou serveur) possède une clé secrète qui n’est connue que d’elle-même et du KDC. La connaissance de cette clé implique l’authenticité de l’entité. Pour la communication entre deux entités du réseau, le KDC génère une clé de session, appelée ticket Kerberos ou ticket de service. Le client demande à l’AS des informations d’identification pour un serveur spécifique. Le client reçoit ensuite un ticket, appelé ticket d’octroi de tickets (TGT). Le client contacte ensuite le TGS, en utilisant le TGT qu’il a reçu de l’AS pour prouver son identité, et demande un service. Si le client est éligible au service, le TGS lui délivre un ticket Kerberos. Le client contacte ensuite le serveur hébergeant le service (appelé serveur de service) en utilisant le ticket Kerberos pour prouver qu’il est autorisé à recevoir le service. Le ticket Kerberos a une durée de vie configurable. Le client ne s’authentifie auprès de l’AS qu’une seule fois. S’il contacte le serveur physique à plusieurs reprises, il réutilise le ticket AS.
La figure suivante montre le fonctionnement de base du protocole Kerberos.
Figure 1. Fonctionnement de Kerberos
L’authentification Kerberos présente les avantages suivants :
- Authentification plus rapide. Lorsqu’un serveur physique reçoit un ticket Kerberos d’un client, le serveur dispose de suffisamment d’informations pour authentifier directement le client. Il n’est pas nécessaire de contacter un contrôleur de domaine pour l’authentification du client, ce qui accélère le processus d’authentification.
- Authentification mutuelle. Lorsque le KDC émet un ticket Kerberos à un client et que ce dernier utilise ce ticket pour accéder à un service, seuls les serveurs authentifiés peuvent déchiffrer le ticket Kerberos. Si le serveur virtuel de l’appliance NetScaler est capable de déchiffrer le ticket Kerberos, vous pouvez en conclure que le serveur virtuel et le client sont authentifiés. Ainsi, l’authentification du serveur se produit en même temps que l’authentification du client.
- Authentification unique entre Windows et les autres systèmes d’exploitation qui prennent en charge Kerberos.
L’authentification Kerberos peut présenter les inconvénients suivants :
- Kerberos impose des exigences temporelles strictes ; les horloges des hôtes concernés doivent être synchronisées avec l’horloge du serveur Kerberos pour garantir que l’authentification n’échoue pas. Vous pouvez atténuer cet inconvénient en utilisant les démons Network Time Protocol pour synchroniser les horloges des hôtes. Les tickets Kerberos ont une période de disponibilité que vous pouvez configurer.
- Kerberos a besoin que le serveur central soit disponible en permanence. Lorsque le serveur Kerberos est en panne, personne ne peut se connecter. Vous pouvez atténuer ce risque en utilisant plusieurs serveurs Kerberos et des mécanismes d’authentification de secours.
- Comme toutes les authentifications sont contrôlées par un KDC centralisé, toute compromission de cette infrastructure, telle que le vol du mot de passe d’un utilisateur pour un poste de travail local, peut permettre à un attaquant de se faire passer pour n’importe quel utilisateur. Vous pouvez atténuer ce risque dans une certaine mesure en utilisant uniquement un ordinateur de bureau ou un ordinateur portable auquel vous faites confiance, ou en appliquant la préauthentification au moyen d’un jeton matériel.
Pour utiliser l’authentification Kerberos, vous devez la configurer sur l’appliance NetScaler et sur chaque client.
Optimisation de l’authentification Kerberos en matière d’authentification, d’autorisation et d’audit
L’appliance NetScaler optimise et améliore désormais les performances du système lors de l’authentification Kerberos. Le démon d’authentification, d’autorisation et d’audit mémorise la requête Kerberos en attente pour le même utilisateur afin d’éviter de surcharger le Centre de distribution de clés (KDC), ce qui évitera les demandes dupliquées.