ADC

Limitation du débit pour NetScaler Gateway

La fonctionnalité de limitation de débit de NetScaler Gateway vous permet de définir la charge maximale pour une entité réseau ou une entité virtuelle donnée sur l’appliance NetScaler Gateway. Étant donné que l’appliance NetScaler Gateway consomme tout le trafic non authentifié, elle est souvent exposée à des demandes de traitement à un rythme élevé. La fonctionnalité de limitation du débit vous permet de configurer l’appliance NetScaler Gateway pour surveiller le débit de trafic associé à une entité et prendre des mesures préventives, en temps réel, en fonction du trafic. Pour plus d’informations sur le fonctionnement de la limitation du débit dans une appliance NetScaler, consultez la section Limitation du débit.

NetScaler est doté d’une fonction de limitation du débit qui protège les serveurs principaux en cas de débit imprévu. Étant donné que la fonctionnalité de NetScaler ne permettait pas de traiter le trafic non authentifié géré par NetScaler Gateway, NetScaler Gateway avait besoin de sa propre fonctionnalité de limitation de débit. Cela est nécessaire pour vérifier un taux imprévu de demandes provenant de diverses sources auxquelles l’appliance NetScaler Gateway est exposée. Par exemple, les demandes de connexion/de contrôle non authentifiées et certaines API exposées pour les validations des utilisateurs finaux ou des appareils.

Cas d’utilisation courants pour la limitation de débit

  • Limitez le nombre de demandes par seconde à partir d’une URL.

  • Supprimer une connexion basée sur les cookies reçus à la demande d’un hôte particulier si la demande dépasse la limite de débit.

  • Limitez le nombre de requêtes HTTP qui arrivent du même hôte (avec un masque de sous-réseau particulier) et qui ont la même adresse IP de destination.

Configurer la limitation de débit pour NetScaler Gateway

Pré-requis

Un serveur virtuel d’authentification configuré.

Points à noter

  • Au cours des étapes de configuration, un exemple d’identificateur de limite est configuré. La même chose peut être configurée avec tous les paramètres pris en charge comme le sélecteur de flux, mode. Pour obtenir une description exhaustive des capacités de limitation de débit, voir Limitation de débit.

  • La stratégie peut également être liée à un serveur virtuel VPN comme suit. Vous avez besoin d’un serveur virtuel VPN configuré pour lier les stratégies à l’aide de la commande suivante.

     bind vpn vserver  -policy denylogin –pri 1 –type aaa_request
     <!--NeedCopy-->
    
  • AAA_REQUEST est un nouveau point de liaison introduit pour les stratégies de répondeur. Les stratégies configurées à ce point de liaison sont appliquées à toutes les demandes entrantes sur le serveur virtuel spécifié. Les stratégies sont traitées pour le trafic non authentifié/de contrôle avant tout autre traitement.

  • La liaison de la stratégie au serveur virtuel NetScaler Gateway permet de limiter le débit au point de liaison AAA_REQUEST pour tout le trafic consommé par NetScaler Gateway, y compris les demandes non authentifiées.

  • La liaison de la stratégie à un débit de serveur virtuel d’authentification limite les demandes non authentifiées/de contrôle qui touchent le serveur virtuel d’authentification.

Pour configurer la limitation de débit à l’aide de l’interface de ligne de commande, à l’invite de commandes, tapez les commandes suivantes :

add limitIdentifier <limitIdentifier name> -threshold <positive_integer> -timeslice <positive_integer> -mode <mode type>
<!--NeedCopy-->

Exemple :

add limitIdentifier limit_one_login -threshold 10 -timeslice 4294967290 -mode REQUEST_RATE
<!--NeedCopy-->
add responderaction denylogin respondwith ‘“HTTP/1.1 200 OK\r\n\r\n” + “Request is denied due to unusual rate”’
<!--NeedCopy-->
add responder policy denylogin 'sys.check_limit("limit_one_login")' denylogin
<!--NeedCopy-->
bind authentication vserver <vserver name> -policy denylogin –pri 1 –type aaa_request
<!--NeedCopy-->

Exemple :

bind authentication vserver authvserver -policy denylogin –pri 1 –type aaa_request
<!--NeedCopy-->

Description des paramètres

  • LimitIdentifier : nom d’un identificateur de limite de taux. Doit commencer par une lettre ASCII ou un caractère de soulignement (_) et ne doit être composé que de caractères alphanumériques ou de soulignement ASCII. Les mots réservés ne doivent pas être utilisés. Il s’agit d’un argument obligatoire. Longueur maximale : 31

  • threshold : nombre maximal de demandes autorisées dans la tranche de temps donnée lorsque les demandes (le mode est défini sur REQUEST_RATE) sont suivies par tranche de temps. Lorsque les connexions (le mode est défini sur CONNECTION) sont suivies, il s’agit du nombre total de connexions qui seraient laissées passer. Valeur par défaut : 1 Valeur minimale : 1 Valeur maximale : 4294967295

  • TimeSlice - Intervalle de temps, en millisecondes, spécifié en multiples de 10, pendant lequel les demandes sont suivies pour vérifier si elles dépassent le seuil. L’argument n’est nécessaire que lorsque le mode est défini sur REQUEST_RATE. Valeur par défaut : 1000 Valeur minimale : 10 Valeur maximale : 4294967295

  • mode - Définit le type de trafic à suivre.

    • REQUEST_RATE - Effectue le suivi des requêtes/tranche de temps.
    • CONNEXION - Effectue le suivi des transactions actives.

Pour configurer la limitation du débit à l’aide de l’interface graphique NetScaler :

  1. Accédez à AppExpert > Limitation de débit > Identificateurs de limite, cliquez sur Ajouter et spécifiez les détails pertinents comme indiqué dans la section CLI.

    Créer un identifiant de limite

  2. Accédez à AppExpert>Responder>Stratégies. Sur la page Stratégies de répondeur, cliquez sur Ajouter.

  3. Sur la page Créer une stratégie de répondeur, créez une stratégie de répondeur avec une action de répondeur qui possède l’identificateur de limite.

  4. Pour créer une action de répondeur, cliquez sur Ajouter à côté de Action.

  5. Sur la page Créer une action de répondeur, entrez le nom de l’action du répondeur.

  6. Sélectionnez le type Répondre par dans le menu déroulant.

  7. Dans l’éditeur d’expression, configurez le message de réponse. Par exemple, "HTTP/1.1 200 OK\r\n\r\n"+ "Request is denied due to unusual rate".

  8. Cliquez sur Créer.

  9. Pour créer une stratégie de répondeur, sur la page Créer une stratégie de répondeur, entrez un nom pour la stratégie de répondeur.

  10. Dans l’éditeur d’expression, configurez la condition de la stratégie du répondeur. Par exemple, 'sys.check_limit("limit_one_login")'.

  11. Cliquez sur Créer.

  12. Liez la stratégie de répondeur au serveur virtuel d’authentification.

    • Accédez à Security>AAA-Application Traffic>Virtual Server.
    • Sélectionnez le serveur virtuel.
    • Ajoutez une stratégie.
    • Choisissez la stratégie de répondeur que vous souhaitez lier au serveur, définissez la priorité.
    • Choisissez le type AAA-REQUEST et cliquez sur Continuer.

Remarque :

Vous pouvez également activer la limitation de débit au point de liaison AAA_REQUEST pour le serveur virtuel VPN.

Configuration pour les cas d’utilisation courants d’application de la limitation de débit à NetScaler Gateway

Voici des exemples de commandes permettant de configurer des cas d’utilisation courants.

  • Limitez le nombre de demandes par seconde à partir d’une URL.

     add stream selector ipStreamSelector http.req.url “client.ip.src”
    
     add ns limitIdentifier ipLimitIdentifier –threshold 4 –timeslice 1000 –mode request_rate –limitType smooth –selectorName ip StreamSelector
    
     add responder policy ipLimitResponderPolicy “http.req.url.contains(\”myasp.asp\”) && sys.check_limit(\”ipLimitIdentifier\”)” myWebSiteRedirectAction
    
     bind authentication virtual server authvserver -policy denylogin –pri 1 –type aaa_request
     <!--NeedCopy-->
    
  • Supprimez une connexion en fonction des cookies reçus depuis www.yourcompany.com si la demande dépasse la limite de débit.

     add stream selector cacheStreamSelector “http.req.cookie.value(\”mycookie\”)” “client.ip.src.subnet(24)”
    
     add ns limitIdentifier myLimitIdentifier –Threshold 2 –timeSlice 3000 –selectorName reqCookieStreamSelector
    
     add responder action sendRedirectURL redirect `"http://www.mycompany.com"` + http.req.url'
    
     add responder policy rateLimitCookiePolicy
    
     “http.req.url.contains(\www.yourcompany.com) && sys.check_limit(\”myLimitIdentifier\”)” sendRedirectUrl
    
     <!--NeedCopy-->
    
  • Limitez le nombre de requêtes HTTP qui arrivent du même hôte (avec un masque de sous-réseau de 32) et qui ont la même adresse IP de destination.

     add stream selector ipv6_sel “CLIENT.IPv6.src.subnet(32)”CLIENT.IPv6.dst
    
     add ns limitIdentifier ipv6_id –imeSlice 20000 –selectorName ipv6_sel
    
     add lb vserver ipv6_vip HTTP 3ffe:: 209 80 –persistenceType NONE –cltTime
    
     add responder action redirect_page redirect “\”`http://redirectpage.com/\”"`
    
     add responder policy ipv6_resp_pol “SYS.CHECK_LIMIT(\”ipv6_id\”)” redirect_page
    
     bind responder global ipv6_resp_pol 5 END –type DEFAULT
     <!--NeedCopy-->
    

Stratégie de réponse Bind pour l’authentification, l’autorisation et l’audit des terminaux

Pour permettre au moteur de paquets de gérer les demandes, liez la stratégie du répondeur au serveur virtuel d’authentification ou au serveur virtuel VPN à l’aide du point de liaison AAA_REQUEST.

  • Exemple de serveur virtuel VPN : bind vpn vserver vpnVs -policy resp_pol -priority 6 -type AAA_REQUEST

  • Exemple de serveur virtuel d’authentification : bind authentication vserver av_vs -policy resp_pol -priority 6 -type AAA_REQUEST

Pour permettre au serveur HTTP Apache de gérer les demandes, liez la stratégie du répondeur au serveur virtuel d’authentification ou au serveur virtuel VPN à l’aide du point de liaison REQUEST.

Par exemple,

  • Exemple de serveur virtuel VPN : bind vpn vserver vpnVs -policy resp_pol -priority 6 -type REQUEST

  • Exemple de serveur virtuel d’authentification : bind authentication vserver av_vs -policy resp_pol -priority 6 -type REQUEST

Pour plus de détails sur les stratégies de liaison des répondeurs, consultez la section Liaison d’une stratégie de répondeur.