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 politique de répondeur pour analyser la réponse, puis liez-la 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 Responder, puis cliquez sur Activer la fonctionnalité Responder.

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.10.3.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 politique de réponse pour analyser la réponse

Créez une politique de réponse, Policy-Responder-3, qui vérifiera la réponse du serveur d’appel et réinitialisera la connexion si l’adresse IP source a été mise sur liste noire. Créez la politique avec les paramètres indiqués dans le tableau suivant. Bien que vous puissiez créer une politique de répondeur dans le sous-nœud Politiques, puis la lier globalement à l’aide du Responder Policy Manager, cette démonstration utilise le Responder Policy Manager pour créer la politique de répondeur et lier la politique de manière globale.

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

Paramètre Valeur
Nom Policy-Responder-3
Action RÉINITIALISER
Action-résultat-action non défini -Global undefined-result action-
Expression « HTTP.REQ.HEADER (\” Request \ ») .EQ (\ “Demande d’appel \ ») .NOT && SYS.HTTP_CALLOUT (HTTP-Callout-3) .CONTAINS (\ “L’authentification a échoué \ ») »

Pour créer une politique de réponse 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 Responder Policy Manager, cliquez sur Override 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 à 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 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