Gestion de l’authentification, de l’autorisation et de l’audit avec Kerberos/NTLM

Kerberos, un protocole d’authentification de réseau informatique, fournit une communication sécurisée sur Internet. Conçu principalement pour les applications client-serveur, il fournit une authentification mutuelle par laquelle le client et le serveur peuvent chacun garantir l’authenticité de l’autre. Kerberos utilise 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 de 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 au AS des informations d’identification pour un serveur spécifique. Le client reçoit alors un ticket, appelé Ticket d’octroi de tickets (TGT). Le client communique ensuite avec 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 admissible au service, le TGS émet un ticket Kerberos au client. Le client contacte ensuite le serveur hébergeant le service (appelé le 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 s’authentifie avec l’AS une seule fois. S’il contacte le serveur physique plusieurs fois, il réutilise le ticket AS.

La figure suivante montre le fonctionnement de base du protocole Kerberos.

Figure 1. Fonctionnement de Kerberos

Processus d'authentification Kerberos

L’authentification Kerberos présente les avantages suivants :

  • Authentification plus rapide. Lorsqu’un serveur physique obtient un ticket Kerberos d’un client, le serveur dispose de suffisamment d’informations pour authentifier le client directement. Il n’a pas besoin de contacter un Controller de domaine pour l’authentification du client, et donc le processus d’authentification est plus rapide.
  • Authentification mutuelle. Lorsque le KDC émet un ticket Kerberos à un client et que le client utilise le ticket pour accéder à un service, seuls les serveurs authentifiés peuvent déchiffrer le ticket Kerberos. Si le serveur virtuel de l’appliance Citrix ADC est en mesure de déchiffrer le ticket Kerberos, vous pouvez conclure que le serveur virtuel et le client sont tous deux authentifiés. Ainsi, l’authentification du serveur se produit avec l’authentification du client.
  • Connexion unique entre Windows et d’autres systèmes d’exploitation prenant en charge Kerberos.

L’authentification Kerberos peut présenter les inconvénients suivants :

  • Kerberos a des délais stricts ; les horloges des hôtes concernés doivent être synchronisées avec l’horloge du serveur Kerberos pour s’assurer que l’authentification n’échoue pas. Vous pouvez atténuer cet inconvénient en utilisant les démons Network Time Protocol pour garder les horloges de l’hôte synchronisées. Les tickets Kerberos ont une période de disponibilité, que vous pouvez configurer.
  • Kerberos a besoin que le serveur central soit disponible en continu. Lorsque le serveur Kerberos est en panne, personne ne peut ouvrir une session. Vous pouvez atténuer ce risque en utilisant plusieurs serveurs Kerberos et des mécanismes d’authentification de secours.
  • Comme toute l’authentification est contrôlée par un KDC centralisé, tout compromis dans cette infrastructure, tel que le mot de passe de l’utilisateur pour un poste de travail local volé, 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 en qui vous avez 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 Citrix ADC et sur chaque client.

Optimisation de l’authentification Kerberos lors de l’authentification, de l’autorisation et de l’audit

L’appliance Citrix ADC 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 se souvient de la demande Kerberos en attente pour le même utilisateur afin d’éviter le chargement sur Key Distribution Center (KDC), ce qui évitera les demandes en double.