BGP FlowSpecPublié le 12 mai 202612 min de lecture
Filtrage BGP FlowSpec par longueur de paquet : quand les règles basées sur la taille aident
Le filtrage par longueur de paquet peut retirer des floods répétitifs avec tailles stables, notamment en UDP réflexion ou trafic garbage. Il devient dangereux quand des protocoles légitimes partagent le même profil de taille.
La longueur est un signal, pas une preuve
La taille peut révéler un motif d’attaque, mais prouve rarement l’illégitimité seule.
Les plages doivent être étroites et justifiées
Des filtres trop larges peuvent toucher UDP légitime, supervision ou trafic de contrôle.
À utiliser comme pré-filtrage
Réduire le volume par longueur, puis laisser la logique downstream gérer le trafic mixte.
Le matching par longueur de paquet est un composant BGP FlowSpec très pratique, car beaucoup d’attaques DDoS répètent les mêmes tailles à très haut débit. Un UDP reflection flood, un flux malformé ou un outil de botnet peut produire des plages de longueur stables faciles à dégrossir en amont. Mais la taille n’est pas une identité. Des protocoles légitimes produisent aussi des tailles prévisibles, le path MTU peut changer le comportement et certaines applications ont des bursts répétitifs. Ce guide explique comment utiliser ce filtrage comme outil de soulagement amont et où se cachent les faux positifs.
Le problème opérationnel
Le problème est que la longueur de paquet paraît précise tout en restant hors contexte. Une attaque peut utiliser des paquets UDP de 60 octets ou une plage étroite autour de 1200 octets, et cette signature peut être très utile. Mais un service légitime peut aussi produire des tailles répétables : jeux, voix, tunnels, DNS, supervision ou messages applicatifs à format fixe.
Le second sujet concerne fragmentation et MTU. Une règle qui suppose que tous les paquets d’une plage sont mauvais peut interagir avec les tunnels, l’overhead d’encapsulation ou des chemins qui changent. Le matching par longueur doit donc venir d’une observation réelle d’attaque, pas d’une liste générique de tailles “mauvaises”.
Ce filtrage compte parce qu’il peut sauver de la capacité rapidement. Face à un flood répétitif, une plage de longueur combinée à une destination, un protocole et un port peut retirer beaucoup de trafic avant le handoff protégé. C’est précieux pour garder un port 100G, un tunnel ou un serveur de filtrage sous son seuil de saturation.
Il compte aussi parce que la même fonction peut créer une douleur utilisateur invisible. Le graphe montre des drops, le lien respire, mais un serveur de jeu perd des paquets de handshake ou un health check API devient instable. Les règles basées sur la taille doivent donc être confrontées au profil normal du service protégé.
La longueur est un signal, pas une preuve
La taille peut révéler un motif d’attaque, mais prouve rarement l’illégitimité seule.
Les plages doivent être étroites et justifiées
Des filtres trop larges peuvent toucher UDP légitime, supervision ou trafic de contrôle.
À utiliser comme pré-filtrage
Réduire le volume par longueur, puis laisser la logique downstream gérer le trafic mixte.
Les approches techniques possibles
Une règle FlowSpec par longueur devrait rarement contenir uniquement la longueur : il faut aussi borner destination, protocole IP, port source ou destination si pertinent, et durée de vie courte. Plusieurs plages étroites sont plus sûres qu’une plage large si le fournisseur le supporte. Si le motif est instable, mieux vaut parfois utiliser du filtrage downstream basé sur le rate.
Pour les services avec profil connu, il faut baseliner avant l’incident si possible. Pendant l’attaque, comparer le flood à la baseline et pousser uniquement la partie clairement extérieure ou excessive. Pour le gaming, c’est essentiel car l’UDP légitime peut être compact, répétitif et très sensible à la latence.
Combiner les signaux
Utiliser longueur avec destination, protocole et port plutôt que seule.
Préférer les plages étroites
Des ranges justifiés réduisent les faux positifs.
Baseliner le normal
Connaître les tailles attendues avant de déclarer l’anormal.
Garder temporaire
Les signatures de longueur changent avec les outils d’attaque.
Comment Peeryx conçoit cette couche
Peeryx utilise le filtrage par longueur comme outil de dégrossissement quand la signature est assez stable. La règle doit réduire le flood avant qu’il consomme la capacité protégée, mais elle ne remplace pas une mitigation consciente du trafic. La stack downstream doit continuer à comprendre le service, surtout pour les applications UDP et les serveurs de jeu.
En pratique, Peeryx peut combiner règles FlowSpec par longueur, transit IP protégé, livraison GRE/IPIP/VXLAN et règles firewall post-filtre. Pour un client gaming, la couche optionnelle orientée jeu aide à distinguer les motifs abusifs des sessions normales au lieu de traiter la taille comme vérité finale.
Règles contextualisées
La taille est combinée avec observation du trafic et connaissance du service.
Capacité amont protégée
Les floods répétitifs stables peuvent être dégrossis avant saturation du handoff.
Gaming traité avec prudence
Les patterns UDP légitimes ne sont pas considérés automatiquement malveillants.
Une attaque d’amplification UDP envoie des millions de paquets dans une plage de taille étroite vers une IP protégée. Destination, protocole, port et longueur sont stables. Une règle FlowSpec sur cette combinaison peut retirer une grande part de l’attaque en amont et garder le handoff client utilisable.
Sur un service UDP lié à FiveM ou Minecraft, une partie du trafic légitime peut aussi être répétitive et petite. Une règle large qui droppe une taille fréquente sur tout le service peut provoquer des déconnexions. L’approche sûre consiste à matcher précisément destination et plage, observer le trafic joueur accepté, puis affiner downstream.
1. Capturer la distribution des tailles
Chercher des pics stables clairement liés à l’attaque.
2. Ajouter protocole et port
La longueur seule est rarement assez sûre en production.
3. Limiter la destination
Cibler l’hôte attaqué ou une portion de préfixe plutôt que tous les clients.
4. Réévaluer à chaque mutation
Les outils d’attaque changent souvent la taille une fois le premier filtre efficace.
Erreurs fréquentes à éviter
Dropper une taille globalement parce qu’elle apparaît dans une attaque.
Utiliser une plage large au lieu de plusieurs plages précises.
Ignorer overhead tunnel, MTU et fragmentation.
Croire que l’UDP gaming répétitif est forcément malveillant.
Laisser les filtres de taille actifs après changement de signature.
FAQ
Le filtrage par longueur est-il utile contre les UDP floods ?
Oui, si le flood a des tailles stables et que la règle est combinée à destination, protocole et port.
La longueur seule prouve-t-elle qu’un trafic est malveillant ?
Non. C’est un signal utile, pas une décision complète de légitimité.
FlowSpec supporte-t-il plusieurs plages de longueur ?
Cela dépend du fournisseur et de l’implémentation. Il faut le vérifier avant d’en dépendre.
Est-ce sûr pour les serveurs de jeu ?
Oui avec prudence : baseline et règles étroites sont indispensables, car l’UDP légitime peut être répétitif.
Conclusion
L’architecture Anti-DDoS la plus sûre est celle qui donne un rôle clair à chaque couche : le routage oriente le trafic, les règles amont réduisent la pression évidente et la mitigation downstream protège le contexte du service.
Peeryx se concentre sur cette clarté opérationnelle : transit IP protégé, modes de livraison maîtrisés et décisions de filtrage assez fortes pour stopper les attaques sans transformer le trafic légitime en dommage collatéral.
Ressources
Lectures liées
Pour approfondir le sujet, voici d’autres pages et articles utiles.
Besoin de valider la bonne architecture Anti-DDoS ?
Peeryx peut analyser vos préfixes, votre mode de livraison et votre exposition aux attaques afin de proposer du transit IP protégé, une livraison par tunnel ou un reverse proxy gaming quand c’est le bon scénario.