Fonctionnement de l’authentification, de l’autorisation et de l’audit

L’authentification, l’autorisation et l’audit assurent la sécurité d’un environnement Internet distribué en permettant à tout client disposant des informations d’identification appropriées de se connecter en toute sécurité aux serveurs d’applications protégés depuis n’importe où sur Internet. Cette fonctionnalité intègre les trois fonctionnalités de sécurité que sont l’authentification, l’autorisation et l’audit. L’authentification permet au Citrix ADC de vérifier les informations d’identification du client, localement ou avec un serveur d’authentification tiers, et d’autoriser uniquement les utilisateurs approuvés à accéder aux serveurs protégés. L’autorisation permet à l’ADC de vérifier le contenu sur un serveur protégé auquel il doit permettre à chaque utilisateur d’accéder. L’audit permet à l’ADC de conserver un enregistrement de l’activité de chaque utilisateur sur un serveur protégé.

Pour comprendre le fonctionnement de l’authentification, de l’autorisation et de l’audit dans un environnement distribué, envisagez une organisation dotée d’un intranet accessible à ses employés au bureau, à la maison et lors de leurs déplacements. Le contenu de l’intranet est confidentiel et nécessite un accès sécurisé. Tout utilisateur qui souhaite accéder à l’intranet doit avoir un nom d’utilisateur et un mot de passe valides. Pour répondre à ces exigences, l’ADC effectue les opérations suivantes :

  • Redirige l’utilisateur vers la page de connexion si l’utilisateur accède à l’intranet sans s’être connecté.
  • Collecte les informations d’identification de l’utilisateur, les transmet au serveur d’authentification et les met en cache dans un répertoire accessible via LDAP.
  • Vérifie que l’utilisateur est autorisé à accéder au contenu intranet spécifique avant de remettre la demande de l’utilisateur au serveur d’applications.
  • Maintient un délai d’expiration de session après lequel les utilisateurs doivent s’authentifier à nouveau pour retrouver l’accès à l’intranet. (Vous pouvez configurer le délai d’expiration.)
  • Consigne l’accès de l’utilisateur, y compris les tentatives de connexion non valides, dans un journal d’audit.

L’authentification nécessite que plusieurs entités : le client, l’appliance Citrix ADC, le serveur d’authentification externe, le cas échéant, et le serveur d’applications, répondent les unes aux autres lorsque vous y êtes invité en exécutant une série de tâches complexes dans l’ordre correct. Si vous utilisez un serveur d’authentification externe, ce processus peut être divisé en quinze étapes suivantes.

  1. Le client envoie une requête GET pour une URL sur le serveur d’applications.
  2. Le serveur virtuel de gestion du trafic de l’appliance Citrix ADC redirige la demande vers le serveur d’applications.
  3. Le serveur d’applications détermine que le client n’a pas été authentifié et envoie donc une réponse HTTP 200 OK via le serveur TM vserver au client. La réponse contient un script masqué qui provoque le client à émettre une requête POST pour /cgi/tm.
  4. Le client envoie une requête POST pour /cgi/tm.
  5. Le serveur virtuel d’authentification de l’appliance Citrix ADC redirige la demande vers le serveur d’authentification.
  6. Le serveur d’authentification crée une session d’authentification, définit et met en cache un cookie composé de l’URL initiale et du domaine du serveur virtuel de gestion du trafic, puis envoie une réponse HTTP 302 via le serveur virtuel d’authentification, redirigeant le client vers /vpn/index.html.
  7. Le client envoie une requête GET pour /vpn/index.html.
  8. Le serveur virtuel d’authentification redirige le client vers la page de connexion du serveur d’authentification.
  9. Le client envoie une requête GET pour la page de connexion, saisit les informations d’identification, puis envoie une requête POST avec les informations d’identification à la page de connexion.
  10. Le serveur virtuel d’authentification redirige la demande POST vers le serveur d’authentification.
  11. Si les informations d’identification sont correctes, le serveur d’authentification indique au serveur virtuel d’authentification de consigner le client et de rediriger le client vers l’URL qui se trouvait dans la demande GET initiale.
  12. Le serveur virtuel d’authentification enregistre le client et envoie une réponse HTTP 302 qui redirige le client vers l’URL initialement demandée.
  13. Le client envoie une requête GET pour son URL initiale.
  14. Le serveur virtuel de gestion du trafic redirige la requête GET vers le serveur d’applications.
  15. Le serveur d’applications répond via le serveur virtuel de gestion du trafic avec l’URL initiale.

Si vous utilisez l’authentification locale, le processus est similaire, mais le serveur virtuel d’authentification gère toutes les tâches d’authentification au lieu de transférer les connexions à un serveur d’authentification externe. La figure suivante illustre le processus d’authentification.

Figure 1. Flux de trafic du processus d’authentification

image localisée

Lorsqu’un client authentifié demande une ressource, l’ADC, avant d’envoyer la demande au serveur d’applications, vérifie les stratégies d’utilisateur et de groupe associées au compte client, pour vérifier que le client est autorisé à accéder à cette ressource. L’ADC gère toutes les autorisations sur les serveurs d’applications protégés. Vous n’avez pas besoin d’effectuer une configuration spéciale de vos serveurs d’applications protégés.

La gestion du trafic d’authentification, d’autorisation et d’audit gère les modifications de mot de passe pour les utilisateurs à l’aide de la méthode spécifique au protocole pour le serveur d’authentification. Pour la plupart des protocoles, ni l’utilisateur ni l’administrateur n’ont besoin de faire quoi que ce soit de différent sans authentification, autorisation et audit de la gestion du trafic. Même lorsqu’un serveur d’authentification LDAP est utilisé et que ce serveur fait partie d’un réseau distribué de serveurs LDAP avec un seul serveur d’administration de domaine désigné, les modifications de mot de passe sont généralement gérées de manière transparente. Lorsqu’un client authentifié d’un serveur LDAP modifie son mot de passe, le client envoie une demande de modification des informations d’identification à l’authentification, à l’autorisation et à l’audit de la gestion du trafic, qui la transmet au serveur LDAP. Si le serveur LDAP de l’utilisateur est également le serveur d’administration de domaine, ce serveur répond de manière appropriée et la gestion du trafic d’authentification, d’autorisation et d’audit effectue ensuite la modification de mot de passe demandée. Sinon, le serveur LDAP envoie l’authentification, l’autorisation et la gestion du trafic d’audit une réponse LDAP_REFERRAL au serveur d’administration de domaine. La gestion du trafic d’authentification, d’autorisation et d’audit suit la référence vers le serveur d’administration de domaine indiqué, s’authentifie auprès de ce serveur et effectue le changement de mot de passe sur ce serveur.

Lors de la configuration de l’authentification, de l’autorisation et de l’audit de la gestion du trafic avec un serveur d’authentification LDAP, l’administrateur système doit garder à l’esprit les conditions et limitations suivantes :

  • La gestion du trafic d’authentification, d’autorisation et d’audit suppose que le serveur d’administration de domaine dans le renvoi accepte les mêmes informations d’identification de liaison que le serveur d’origine.
  • L’authentification, l’autorisation et la gestion du trafic d’audit ne suivent que les références LDAP pour les opérations de modification de mot de passe. Dans d’autres cas, l’authentification, l’autorisation et l’audit de la gestion du trafic refusent de suivre la recommandation.
  • L’authentification, l’autorisation et l’audit de la gestion du trafic ne suivent qu’un niveau de références LDAP. Si le deuxième serveur LDAP renvoie également une référence, l’authentification, l’autorisation et l’audit, la gestion du trafic refuse de suivre la deuxième référence.

L’ADC prend en charge l’audit de tous les états et informations d’état, de sorte que vous pouvez voir les détails de ce que chaque utilisateur a fait lors de sa connexion, dans l’ordre chronologique. Pour fournir ces informations, l’appliance enregistre chaque événement, au fur et à mesure qu’il se produit, soit dans un fichier journal d’audit désigné sur l’appliance, soit dans un serveur syslog. L’audit nécessite la configuration de l’appliance et de tout serveur syslog que vous utilisez.

Configuration de la stratégie No_Auth pour contourner certains trafic

Vous pouvez maintenant configurer la stratégie No_Auth pour contourner certains trafic de l’authentification lorsque l’authentification basée sur 401 est activée sur le serveur virtuel de gestion du trafic. Pour un tel trafic, vous devez lier une stratégie de « no-authentification ».

Pour configurer la stratégie No_Auth pour contourner certains trafic à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add authentication policy <name> -rule <expression> -action <string>

Exemple :

add authentication policy ldap -rule ldapAct1 -action NO_AUTHN