ADC

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

Dans les zones de haute sécurité, il est obligatoire d’authentifier l’utilisateur en externe avant que les clients n’accèdent à une ressource. Sur l’appliance NetScaler, 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 de la demande. Toutefois, 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 NetScaler.
  2. Créez une légende HTTP sur la solution matérielle-logicielle et configurez-la avec des détails sur le serveur externe et d’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 d’appel sur le serveur distant.

Activation du répondeur

La fonctionnalité de répondeur doit être activée avant d’être utilisée sur l’appliance NetScaler.

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

  1. Assurez-vous que la licence du répondeur est installée.
  2. Dans l’utilitaire de configuration, développez AppExpert, 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 NetScaler

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, consultez 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 devant recevoir la demande d’appel :

Adresse IP

10.103.9.95

Port

80

Demande à envoyer au serveur :

Méthode

GET

Expression hôte

10.102.3.95

Expression racine d’URL

« /cgi-bin/authenticate.pl »

En-têtes :

Nom

Demander

Expression de valeur

Demande d’appel

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 les 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 -Global undefined-result action-
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 de détails, sous Policy Manager, cliquez sur Responder Policy Manager.
  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 RESET.
    3. Dans Action à résultat non défini, sélectionnez Action globale à résultat non dé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")"
    <!--NeedCopy-->
    
    1. Cliquez sur Créer, puis sur Fermer.
  6. Cliquez sur Appliquer les modifications, puis cliquez 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 NetScaler et y répond de manière appropriée. L’agent d’appel est un script différent pour chaque déploiement qui 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.

Vous trouverez ci-dessous un exemple de pseudo-code d’agent de rappel qui vérifie si le nom d’utilisateur et le mot de passe fournis sont valides. L’agent peut être implémenté dans le langage de programmation de votre choix. Le pseudo-code ne doit être utilisé que comme guide pour le développement de l’agent d’appel. Vous pouvez intégrer des fonctionnalités supplémentaires au 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. Formatez la réponse comme l’exige la légende HTTP.
  5. Envoyez la réponse à l’appliance NetScaler.
Cas d’utilisation : contrôle d’accès et authentification