Tous les produits
Search
Centre de documentation

Anti-DDoS:Configurer la protection contre les inondations HTTP

Dernière mise à jour :Sep 24, 2026

Lorsque votre site web subit une attaque par inondation HTTP, utilisez la fonctionnalité d'atténuation des inondations HTTP pour créer des règles basées sur les caractéristiques des champs des requêtes HTTP, telles que l'adresse IP source, le User-Agent, le Referer ou la fréquence des requêtes, afin de détecter et de bloquer le trafic malveillant. Les cas d'utilisation courants incluent la protection contre le hotlinking, le blocage des robots malveillants et la sécurisation des interfaces d'administration.

Contexte

Une attaque par inondation HTTP (également appelée attaque Challenge Collapsar ou CC) est un type d'attaque par déni de service distribué (DDoS) qui opère au niveau de la couche application. Les attaquants utilisent plusieurs hôtes contrôlés pour envoyer continuellement des requêtes HTTP ou HTTPS falsifiées à un serveur cible, par exemple en demandant répétitivement des pages gourmandes en ressources telles que les pages de recherche ou de connexion. Cela épuise les ressources du serveur ou la bande passante réseau, ce qui ralentit les réponses du site web ou le rend indisponible.

Contrairement aux attaques DDoS traditionnelles au niveau du réseau, les attaques par inondation HTTP sont plus difficiles à détecter car elles imitent le comportement d'utilisateurs légitimes. Alibaba Cloud propose deux produits complémentaires pour s'en protéger :

  • Anti-DDoS Pro et Anti-DDoS Premium : déployés en périphérie du réseau pour protéger contre les attaques volumétriques. Recommandés lorsque le volume de l'attaque est suffisamment élevé pour rendre votre site web inaccessible.

  • Web Application Firewall (WAF) : déployé à proximité du serveur pour analyser le trafic de la couche application et se protéger contre les modèles malveillants. Recommandé lorsque le volume de l'attaque est plus faible, par exemple lorsque votre site web répond simplement avec lenteur.

Pour une protection optimale, déployez les deux produits conjointement.

Cette fonctionnalité est prise en charge par les instances Anti-DDoS Pro et Anti-DDoS Premium. Les instances Anti-DDoS Proxy partagent le même chemin d'accès dans la console et la même interface de configuration des règles, mais ne prennent pas en charge les règles personnalisées de contrôle de fréquence.

Fonctionnement

La mitigation des inondations HTTP propose deux types de règles, déterminés selon que l'option Rate Limiting est activée ou non :

  • Règles de contrôle d'accès précis (Rate Limiting désactivé) : déclenchées immédiatement lorsqu'une requête correspond à toutes les conditions. Utilisez-les pour bloquer ou autoriser le trafic en fonction de caractéristiques fixes, telles que des adresses IP spécifiques, des chaînes User-Agent ou des valeurs Referer.

  • Règles de contrôle de fréquence (Rate Limiting activé) : déclenchées uniquement lorsqu'un objet statistique (par exemple, une adresse IP source) dépasse un seuil de fréquence de requêtes dans une période définie. Utilisez-les pour bloquer les modèles de requêtes à haute fréquence qui semblent individuellement légitimes.

Le moteur évalue d'abord les règles de contrôle d'accès précis, puis les règles de contrôle de fréquence. Dès qu'une requête correspond à une règle, l'évaluation s'arrête ; les règles suivantes ne sont pas vérifiées.

La protection intelligente génère automatiquement des règles de contrôle d'accès précis préfixées par smartcc_ . Ces règles suivent la même logique de correspondance et sont supprimées automatiquement à leur expiration. Aucune action manuelle n'est nécessaire.

Comportement de correspondance

Règles de contrôle d'accès précis : toutes les règles sont évaluées. Si une requête correspond à plusieurs règles, l'action de la règle ayant la priorité la plus élevée est exécutée.

Règles de contrôle de fréquence : toutes les règles sont évaluées. Si une requête correspond à plusieurs règles, l'action de l'une des règles correspondantes est exécutée de manière aléatoire.

Règles de contrôle de fréquence intégrées

Le moteur de protection inclut deux règles de contrôle de fréquence intégrées :

  • Built-in HTTP Flood Mitigation Rule - Based on Request Frequency of Clients

  • Built-in HTTP Flood Mitigation Rule - Based on Response Codes of Origin Servers

Ces règles sont permanentes et visibles dans la zone de configuration Frequency Control Rule. Vous pouvez uniquement les consulter ou les supprimer ; la modification n'est pas prise en charge.

Important

Les règles intégrées supprimées ne peuvent pas être récupérées. Si vous supprimez une règle intégrée, créez des règles de contrôle de fréquence personnalisées basées sur la fréquence des requêtes et les caractéristiques de vos noms de domaine ou interfaces critiques.

Limites de règles par nom de domaine

Plan Règles de contrôle d'accès précis Règles de contrôle de fréquence
Standard function plan 20 20
Enhanced function plan 100 100

Quand utiliser la mitigation des inondations HTTP

Configurez ces règles uniquement lorsque votre site web subit une attaque par inondation HTTP. Cette fonctionnalité ne remplace pas la protection quotidienne ; utilisez-la pour renforcer vos défenses en autorisant ou en filtrant le trafic présentant des caractéristiques spécifiques.

Avant de créer des règles, identifiez les caractéristiques de l'attaque. Recherchez des modèles tels que des adresses IP sources répétitives ou un modèle d'URI spécifique :

  • Page Attack Analysis : consultez les événements Web Resource Exhaustion, y compris l'adresse IP source, le User-Agent, le Referer, la méthode HTTP et l'empreinte digitale du client.

  • Page Log Analysis : recherchez dans des champs tels que real_client_ip, http_user_agent, http_referer et request_method. Pour les descriptions des champs, consultez Champs de journal complets.

Insertion de cookies

Pour les services de couche 7, Anti-DDoS Pro et Anti-DDoS Premium insèrent des cookies dans deux scénarios :

Scénario 1 — La protection contre les inondations HTTP est activée dans la politique Protection for Website Services : un cookie est inséré pour différencier et compter les clients. Le service utilise les résultats statistiques pour déterminer si un trafic d'attaque par inondation HTTP est présent et active la politique de nettoyage.

Scénario 2 — L'action de la règle est définie sur JavaScript Challenge : un cookie capture l'empreinte digitale du navigateur client (champ hôte, hauteur et largeur du navigateur). Lorsqu'une requête correspond à la règle, le service initie une sonde de défi et utilise les statistiques d'empreintes digitales du navigateur pour identifier les clients anormaux.

Pour désactiver l'insertion de cookies, accédez à Provisioning > Website Config, cliquez sur Edit et désactivez le commutateur Cookie Settings. La désactivation de ce paramètre désactive également la détection et la protection actives contre les attaques par inondation HTTP.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Créer une règle de mitigation des inondations HTTP

  1. Connectez-vous à la console Anti-DDoS Proxy.console Anti-DDoS Proxy

  2. Dans la barre de navigation supérieure, sélectionnez la région de votre instance :

    • Anti-DDoS Proxy (Chinese Mainland) : sélectionnez Chinese Mainland.

    • Anti-DDoS Proxy (Outside Chinese Mainland) : sélectionnez Outside Chinese Mainland.

  3. Dans le volet de navigation de gauche, choisissez Mitigation Settings > General Policies.

  4. Sur la page General Policies , cliquez sur l'onglet Protection for Website Services et sélectionnez le nom de domaine à configurer dans la liste de gauche.

  5. Dans la section HTTP Flood Mitigation , cliquez sur Settings , puis sur Create Rule dans le coin supérieur droit.

  6. Configurez les paramètres de la règle. Référence des actions :

    Lorsque Rate Limiting est activé, Allow n'est pas disponible.
    Paramètre Description
    Rule name Nom de la règle. Prend en charge les lettres, les chiffres et les underscores (_). Maximum 128 caractères.
    Match conditions Jusqu'à cinq conditions. Une requête ne correspond que si elle respecte toutes les conditions. La Field value ne peut pas être vide. La correspondance pour les règles de contrôle d'accès précis est sensible à la casse ; celle pour les règles de contrôle de fréquence ne l'est pas. Pour les champs pris en charge, consultez Champs de requête HTTP pris en charge.
    Rate Limiting Désactivé : crée une règle de contrôle d'accès précis. Activé : crée une règle de contrôle de fréquence. Lorsqu'il est activé, configurez également Statistical Object (prend en charge IP, Custom Header, Session, Custom Cookie, Custom Request Parameter), Statistical Period (s) et Threshold (times). Vous pouvez éventuellement ajouter des conditions basées sur le nombre ou la proportion de codes de réponse.
    Action Action à exécuter lorsque la règle est déclenchée. Consultez le tableau de référence des actions ci-dessous.
    Validity Period Pour les règles de contrôle d'accès précis : permanent ou une durée personnalisée de 5 à 120 minutes (la règle est supprimée à son expiration). Pour les règles de contrôle de fréquence : durée pendant laquelle l'action est appliquée après le déclenchement de la règle, de 1 à 1440 minutes.
    Advanced Settings Disponible lorsque Rate Limiting est activé. Configure la déduplication pour l'objet statistique (IP, Header ou URI). Consultez Déduplication ci-dessous.
    Action Comportement Quand l'utiliser
    Allow Autorise la requête. Liste blanche du trafic connu comme sûr pour éviter qu'il ne soit bloqué par d'autres règles.
    Block Supprime la requête. À utiliser lorsque les caractéristiques de l'attaque sont claires et que vous êtes certain qu'aucun trafic légitime ne correspond.
    JavaScript Challenge Valide l'adresse IP source à l'aide d'un algorithme de défi. À utiliser lorsque vous ne pouvez pas exclure le trafic légitime ; cela challenge les navigateurs réels tout en bloquant la plupart des robots.
    Monitor Enregistre la requête et l'autorise. À utiliser en premier lieu pour valider une nouvelle règle sans affecter le trafic en direct. Passez à Block ou JavaScript Challenge après avoir confirmé l'absence de faux positifs.
  7. Cliquez sur OK.

  8. Revenez à la section HTTP Flood Protection et activez le commutateur Status pour activer les règles.

    Remarque

    Le commutateur Status est activé par défaut après la création de la règle. L'activation manuelle n'est nécessaire que s'il a été précédemment désactivé.

Déduplication

Lorsque Rate Limiting est activé, la section Advanced Settings vous permet d'activer la déduplication pour l'objet statistique.

Déduplication activée : compte les valeurs uniques de l'objet de déduplication. Par exemple, si l'objet statistique est l'adresse IP et l'objet de déduplication est l'URI, une adresse IP source qui accède à 200 URI différents en 30 secondes déclenche la règle, mais 10 requêtes vers le même URI comptent pour une seule.

image

Déduplication désactivée : compte le total des requêtes. Par exemple, si la même adresse IP source effectue 200 requêtes ou plus en 30 secondes, la règle se déclenche, y compris les requêtes répétées vers le même URI.

image

Exemples de configuration

Les exemples suivants sont basés sur des scénarios d'attaque courants. Ajustez les valeurs spécifiques pour qu'elles correspondent à vos modèles de trafic réels.

Bloquer les requêtes POST vers le répertoire racine

Le trafic légitime inclut rarement des requêtes POST vers le répertoire racine (/). Si votre site web subit une attaque et que vous observez de nombreuses requêtes de ce type :

Champ Opérateur logique Valeur du champ
Http-Method is POST
URI is /

Action : Block | Rate Limiting : désactivé (règle de contrôle d'accès précis)

image.png

Bloquer les robots d'indexation web

Si vous observez un trafic important de robots d'indexation qui peut inclure des robots d'attaque se faisant passer pour des robots légitimes :

Champ Opérateur logique Valeur du champ
User-Agent contains <crawler-user-agent-string>

Action : Block | Rate Limiting : désactivé (règle de contrôle d'accès précis)

image.png

Protection contre le hotlinking

Lorsqu'un navigateur demande une page, il inclut un champ Referer identifiant la page référente. Pour bloquer le hotlinking depuis un domaine spécifique (par exemple, https://example.aliyundoc.com) :

Champ Opérateur logique Valeur du champ
Referer contains https://example.aliyundoc.com

Action : Block | Rate Limiting : désactivé (règle de contrôle d'accès précis)

image.png

Limiter le débit par User-Agent

Pour challenger un User-Agent spécifique qui accède aux URI avec le préfixe /game/all_ plus de 30 fois en 10 secondes :

Champ Opérateur logique Valeur du champ
User-Agent is <target-user-agent-string>
URI prefix matches /game/all_

Rate Limiting : activé | Objet statistique : IP | Période statistique : 10 s | Seuil : 30 | Action : JavaScript Challenge

image

Protéger l'interface de connexion

Pour bloquer les attaques par dictionnaire sur votre interface de connexion, par exemple plus de 20 requêtes vers /login en 60 secondes depuis la même adresse IP :

Champ Opérateur logique Valeur du champ
URI is /login

Rate Limiting : activé | Objet statistique : IP | Période statistique : 60 s | Seuil : 20 | Action : Block

image.png

Limiter le débit basé sur les codes de réponse du serveur d'origine

L'ajout de conditions de code de réponse aux règles de contrôle de fréquence réduit les faux positifs en déclenchant des actions uniquement lorsque la fréquence des requêtes et le modèle de code de réponse sont dépassés.

200

200 — le serveur d'origine répond normalement sous forte charge

Lorsque le serveur d'origine dispose d'une capacité de traitement élevée et renvoie toujours 200 pour les requêtes des attaquants, limitez le débit des adresses IP qui dépassent la fréquence de requête normale :

image

404

404 — attaque par balayage d'URI

Lorsque les attaquants demandent répétitivement des chemins inexistants, le serveur d'origine répond par 404. Ajoutez l'adresse IP de l'attaquant à une liste de blocage :

image

403

403 — le WAF en amont bloque les attaques web

Lorsque Anti-DDoS Pro ou Anti-DDoS Premium est déployé devant le WAF, le WAF répond par 403 pour les attaques web bloquées. Utilisez ce code de réponse pour ajouter proactivement les adresses IP des attaquants à une liste de blocage :

image

429

429 — la limitation de débit du serveur d'origine est déclenchée

Lorsque le serveur d'origine renvoie 429 (Too Many Requests) pour les requêtes qui dépassent ses propres limites de débit, ajoutez l'adresse IP de l'attaquant à une liste de blocage pour réduire la pression sur le serveur d'origine :

image

502

502 — surcharge du serveur d'origine

Lorsqu'une augmentation soudaine des requêtes entraîne une lenteur de réponse du serveur d'origine et un retour 502, ajoutez les adresses IP à haute fréquence de requêtes à une liste de blocage pour protéger la disponibilité du serveur d'origine :

image

555

Codes d'état personnalisés (exemple : 555)

Lorsque le serveur d'origine utilise un code d'état personnalisé pour les requêtes inattendues, utilisez ce code pour identifier et gérer les adresses IP envoyant ces requêtes :

image

Bloquer par empreinte digitale du client

Les attaquants utilisant le même script ou outil produisent des requêtes avec des empreintes digitales TLS, JA3, JA4 ou HTTP/2,0 identiques. Lors d'une attaque volumétrique par inondation HTTP, la proportion de requêtes partageant une valeur d'empreinte digitale augmente soudainement.

Pour identifier les empreintes digitales suspectes :

  1. Sur la page Security Overview , cliquez sur l'onglet Domain Names et consultez les données principales de Client TLS Fingerprint.

  2. Sur la page Log Analysis , vérifiez la proportion des valeurs principales pour le champ ssl_client_tls_fingerprinting_md5.

Une fois que vous avez identifié une valeur d'empreinte digitale suspecte, créez une règle de contrôle d'accès précis :

Champ Opérateur logique Valeur du champ
Tls-Fingerprint Equal to <fingerprint-value>

Action : Block | Rate Limiting : désactivé (règle de contrôle d'accès précis)

image

Annexe 1 : Champs de requête HTTP pris en charge

Champ de correspondance Description Opérateurs logiques Exemple
IP Adresse IP source. Prend en charge les adresses IP individuelles et la notation CIDR. is, is not, is in list, is not in list 10.10.10.10
URI URI de la requête. contains, does not contain, is, is not, length is less than, length is, length is greater than, prefix matches, is one of, is not one of.
Important

Pour "is" et "is not", la valeur doit commencer par /.

/action/member/id.php?id=1&td=2
User-Agent Informations sur le navigateur et le moteur de rendu du client. contains, does not contain, is, is not, length is less than, length is, length is greater than, is one of, is not one of Mozilla/5,0 (Windows NT 10.0; Win64; x64) AppleWebKit/537,36
Cookie Informations de cookie dans la requête. contains, does not contain, is, is not, length is less than, length is, length is greater than, does not exist, is one of, is not one of cna=Z87DHXX/jXIBASQBsYAimToU
Referer URL de la page qui a référé la requête. contains, does not contain, is, is not, length is less than, length is, length is greater than, does not exist, is one of, is not one of https://example.aliyundoc.com/
Content-Type Type MIME de la requête. contains, does not contain, is, is not, length is less than, length is, length is greater than, is one of, is not one of text/plain;charset=UTF-8
X-Forwarded-For Adresse IP du client d'origine, avec la chaîne de proxy. Format : <client>, <proxy1>, <proxy2>. contains, does not contain, is, is not, length is less than, length is, length is greater than, does not exist, is one of, is not one of 36.18.XX.XX,192,18.XX.XX
Content-Length Taille du corps de la requête en octets. value is less than, value is, value is greater than 806
Post-Body Contenu du corps de la requête. contains, does not contain, is, is not, is one of, is not one of name=John&age=25
Http-Method Méthode HTTP. Valeurs valides : GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE. is, is not, is one of, is not one of POST
Header Nom du champ d'en-tête HTTP personnalisé et contenu de la correspondance. contains, does not contain, is, is not, length is less than, length is, length is greater than, does not exist, is one of, is not one of text/html,application/xhtml+xml
Params Paramètres de la chaîne de requête (la partie après ?). Par exemple, dans example.aliyundoc.com/index.html?action=login, la valeur Params est action=login. contains, does not contain, is, is not, length is less than, length is, length is greater than, is one of, is not one of action=login
Raw-URI URI non encodé qui conserve la séquence de caractères d'origine, y compris les caractères spéciaux et les espaces. contains, does not contain, is, is not, length is less than, length is, length is greater than, regex matches, byte contains, byte is, is one of, is not one of GET /images/logo.png HTTP/1,1
Tls-Fingerprint Empreinte digitale du client dérivée de la négociation TLS à l'aide de l'algorithme propriétaire d'Alibaba Cloud. Consultez les valeurs dans l'onglet Security Overview > Domain Names (Client TLS Fingerprint) ou dans Log Analysis (champ ssl_client_tls_fingerprinting_md5). Equal to, Not equal to 74dcbf6b790160370bb6b7bea98d5978
HTTP/HTTPS Type de protocole de la requête. Equal to, Not equal to HTTP
HTTP Version Version du protocole HTTP. Prend en charge HTTP/1,0, HTTP/1,1 et HTTP/2.0. is, is not, is one of, is not one of HTTP/1,0
HTTP/2,0 Fingerprint Empreinte digitale traitée par MD5 du client HTTP/2. Utilisée pour identifier et différencier les clients. is, is not ad8424af1cc590e09f7b0c499bf7fcdb
JA3 Fingerprint Hachage MD5 des paramètres clés de la négociation TLS : version TLS, suites de chiffrement, algorithmes de compression et extensions TLS. Identifie les types de clients TLS tels que les navigateurs, les applications mobiles et les logiciels malveillants. is, is not, is one of, is not one of eb6f49e8db7ad1809f885d12232f4855
JA4 Fingerprint Étend JA3 avec un contexte supplémentaire tel que la version du navigateur et le système d'exploitation, réduisant les valeurs d'empreinte digitale dupliquées et améliorant la précision pour distinguer les utilisateurs réels des usurpateurs. is, is not, is one of, is not one of f436b9416f37d134cadd04886327d3e8
Continent/Country Emplacement géographique de l'adresse IP source. Location Blacklist selection Europe

Étapes suivantes