Citrix ADC

Exemples de politiques basées sur les taux

Cette rubrique répertorie quelques exemples de politiques basées sur les taux.

Limiter le nombre de requêtes provenant d’une URL

Exécutez les commandes suivantes pour limiter le nombre de requêtes 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 ipStreamSelector

add responder action myWebSiteRedirectAction redirect ""http: //www.mycompany .com/""

add responder policy ipLimitResponderPolicy "http.req-url.contains("myasp.asp") && sys.check_limit("ipLimitIdentifier")" myWebSiteRedirectaction

bind responder global ipLimitResponderPolicy 100 END -type default
<!--NeedCopy-->

Mettre en cache une réponse pour l’URL de la demande

Exécutez les commandes suivantes pour mettre en cache une réponse si le taux d’URL de la demande dépasse 5 toutes les 20 000 millisecondes :

add stream selector cacheStreamSelector http.req.url add ns limitidentifier cacheRateLimitIdentifier -threshold 5 -timeSlice 2000 -selectorName cacheStreamSelector

add cache policy cacheRateLimitPolicy -rule "http req.method.eq(get) && sys.check_limit "cacheRateLimitIdentifier")" -action cache

bind cache global cacheRateLimitPolicy -priority 10
<!--NeedCopy-->

Supprimer une connexion basée sur les cookies

Exécutez les commandes suivantes pour interrompre une connexion en fonction des cookies reçus dans les requêtes www.mycompany.com dont les demandes dépassent la limite de débit :

add stream selector reqCookieStreamSelector "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' -bypassSafetyCheck YES

add responder policy rateLimitCookiePolicy "http. req.url.contains("www.yourcompany.com") && sys check_limit("myLimitIdentifier")" sendRedirectUrl
<!--NeedCopy-->

Supprimer un paquet DNS depuis une adresse IP particulière

Exécutez les commandes suivantes pour supprimer un paquet DNS si les requêtes provenant d’une adresse IP client et d’un domaine DNS spécifiques dépassent la limite de débit :

add stream selector dropDNSStreamSelector client udp.dns.domain client.ip.src
add ns limitIdentifier dropDNSRateIdentifier -timeslice 20000 -mode request_rate -selectorName dropDNSStreamSelector -maxBandwidth 1 -trapsintimeslice 20

add dns policy dnsDropOnClientRatePolicy "sys check_limit ("dropDNSRateIdentifier")" -drop yes
<!--NeedCopy-->

Limiter le nombre de requêtes HTTP provenant du même hôte

Exécutez les commandes suivantes pour limiter le nombre de requêtes HTTP provenant du même hôte avec un masque de sous-réseau de 32 et ayant la même adresse IP de destination :

add stream selector ipv6_sel "CLIENT.IPv6.src.subne (32)" CLIENT.IPv6.dst Q.URL
add ns limitIdentifier ipvé_id -imeSlice 20000 -selectorName ipvé_sel
add lb vserver ipv6é_vip HTTP 3ffe::209 80 -persistenceType NONE -cltTimeout 180
add responder action redirect_page redirect ""http://redirectpage.com/""
add responder policy ipvé_resp_pol "SYS.CHECK_LIMIT("ipv6_id")" redirect_page
bind responder global ipv6_resp_pol 5 END -type DEFAULT
<!--NeedCopy-->
Exemples de politiques basées sur les taux