Citrix ADC

Cas d’utilisation : Contrôle d’accès et authentification

Dans les zones à haute sécurité, il est obligatoire d’authentifier l’utilisateur de manière externe avant qu’une ressource soit accessible par les clients. Sur l’appliance Citrix ADC, vous pouvez utiliser des légendes HTTP pour authentifier l’utilisateur de manière externe en évaluant les informations d’identification fournies. Dans cet exemple, l’hypothèse est que le client envoie le nom d’utilisateur et le mot de passe via les en-têtes HTTP dans la requête. Cependant, les mêmes informations peuvent être récupérées à partir de l’URL ou du corps HTTP.

Pour implémenter cette configuration, vous devez effectuer les tâches suivantes :

  1. Activez la fonctionnalité de répondeur sur l’appliance Citrix ADC.
  2. Créez une légende HTTP sur l’appliance et configurez-la avec des détails sur le serveur externe et les autres paramètres requis.
  3. Configurez une stratégie de répondeur pour analyser la réponse, puis liez la stratégie globalement.
  4. Créez un agent de légende sur le serveur distant.

Activation du répondeur

La fonction de répondeur doit être activée avant d’être utilisée sur l’appliance Citrix ADC.

Pour activer le répondeur à l’aide de l’utilitaire de configuration

  1. Assurez-vous que la licence de répondeur est installée.
  2. Dans l’utilitaire de configuration, développez AppExpert et cliquez avec le bouton droit sur Répondeur, puis cliquez sur Activer la fonctionnalité Répondeur.

Création d’une légende HTTP sur l’appliance Citrix ADC

Créez une légende HTTP, HTTP-Callout-3, avec les paramètres indiqués dans le tableau suivant. Pour plus d’informations sur la création d’une légende HTTP, reportez-vous à la section Configuration d’une légende HTTP.

Tableau 1. Paramètres et valeurs pour HTTP-callout-3

Paramètre Valeur Nom
Nom Policy-Responder-3  

Paramètre

Valeur

Nom

HTTP-Callout-3

Serveur pour recevoir une demande de légende :

Adresse IP

10.103.9.95

Port

80

Demande d’envoi au serveur :

Méthode

GET

Expression de l’hôte

10.102.3.95

Expression de la tige d’URL

« /cgi-bin/authenticate.pl »

En-têtes :

Nom

Demander

Expression de valeur

Demande de légende

Paramètres :

Nom

Nom d’utilisateur

Expression de valeur

HTTP.REQ.HEADER (« Nom d’utilisateur ») .VALUE (0)

Nom

Mot de passe

Expression de valeur

HTTP.REQ.HEADER (« Mot de passe ») .VALUE (0)

Réponse du serveur :

Type de retour

TEXTE

Expression pour extraire des données de la réponse

HTTP.RES.BODY (100)

Création d’une stratégie de répondeur pour analyser la réponse

Créez une stratégie de répondeur, Policy-Responder-3, qui vérifie la réponse du serveur de légendes et réinitialise la connexion si l’adresse IP source a été répertoriée sur la liste noire. Créez la stratégie avec les paramètres indiqués dans le tableau suivant. Bien que vous puissiez créer une stratégie de répondeur dans le sous-nœud Stratégies, puis la lier globalement à l’aide du Gestionnaire de stratégies de répondeur, cette démonstration utilise le Gestionnaire de stratégies de répondeur pour créer la stratégie de répondeur et lier la stratégie globalement.

Tableau 2. Paramètres et valeurs pour Policy-Responder-3

Paramètre Valeur
Nom Policy-Responder-3
Action RESET
Résultat indéfini - Action -Action globale à résultat indéfini-
Expression. “HTTP.REQ.HEADER(\“Request\”).EQ(\“Callout Request\”).NOT && SYS.HTTP_CALLOUT(HTTP-Callout-3).CONTAINS(\“Authentication Failed\”)”

Pour créer une stratégie de répondeur et la lier globalement à l’aide de l’utilitaire de configuration

  1. Accédez à AppExpert > Répondeur.
  2. Dans le volet d’informations, sous Gestionnaire de stratégies, cliquez sur Gestionnaire de stratégies de répondeur.
  3. Dans la boîte de dialogue Gestionnaire de stratégies de répondeur, cliquez sur Remplacer global.
  4. Cliquez sur Insérer une stratégie, puis, dans la colonne Nom de la stratégie, cliquez sur Nouvelle stratégie.
  5. Dans la boîte de dialogue Créer une stratégie de répondeur, procédez comme suit :

    1. Dans Nom, tapez Policy-Responder-3.
    2. Dans Action, sélectionnez RÉinitialiser.
    3. Dans Action de résultat indéfini, sélectionnez Action globale de résultat indéfini.
    4. Dans la zone de texte Expression, tapez :
    "HTTP.REQ.HEADER("Request").EQ("Callout Request").NOT && SYS.HTTP_CALLOUT(HTTP-Callout-3).CONTAINS("Authentication Failed")"
    
    1. Cliquez sur Créer, puis sur Fermer.
  6. Cliquez sur Appliquer les modifications, puis sur Fermer.

Création d’un agent de légende HTTP sur le serveur distant

Vous devez maintenant créer un agent de légende HTTP sur le serveur de légende distant. L’agent de légende HTTP reçoit les demandes de légende de l’appliance Citrix ADC et répond de manière appropriée. L’agent de légende est un script différent pour chaque déploiement et doit être écrit en tenant compte des spécifications du serveur, telles que le type de base de données et le langage de script pris en charge.

Voici un exemple de pseudo-code de l’agent de légende qui vérifie si le nom d’utilisateur et le mot de passe fournis sont valides. L’agent peut être implémenté dans n’importe quel langage de programmation de votre choix. Le pseudo-code doit être utilisé uniquement comme guide pour le développement de l’agent de légende. Vous pouvez intégrer des fonctionnalités supplémentaires dans le programme.

Pour vérifier le nom d’utilisateur et le mot de passe fournis à l’aide d’un pseudo-code

  1. Acceptez le nom d’utilisateur et le mot de passe fournis dans la demande et formatez-les de manière appropriée.
  2. Connectez-vous à la base de données qui contient tous les noms d’utilisateur et mots de passe valides.
  3. Vérifiez les informations d’identification fournies par rapport à votre base de données.
  4. Formater la réponse comme requis par la légende HTTP.
  5. Envoyez la réponse à l’appliance Citrix ADC.

Cas d’utilisation : Contrôle d’accès et authentification