Chapitre 3. Utilisation de xdp-filter pour un filtrage performant du trafic afin de prévenir les attaques DDoS


Par rapport aux filtres de paquets, tels que nftables, Express Data Path (XDP) traite et abandonne les paquets réseau directement au niveau de l'interface réseau. Par conséquent, XDP détermine l'étape suivante pour le paquet avant qu'il n'atteigne un pare-feu ou d'autres applications. Par conséquent, les filtres XDP nécessitent moins de ressources et peuvent traiter les paquets réseau à un taux beaucoup plus élevé que les filtres de paquets conventionnels pour se défendre contre les attaques par déni de service distribué (DDoS). Par exemple, lors des tests, Red Hat a éliminé 26 millions de paquets réseau par seconde sur un seul cœur, ce qui est nettement plus élevé que le taux d'élimination de nftables sur le même matériel.

L'utilitaire xdp-filter permet d'autoriser ou de bloquer les paquets réseau entrants à l'aide de XDP. Vous pouvez créer des règles pour filtrer le trafic en provenance ou à destination d'éléments spécifiques :

  • IP addresses
  • Adresses MAC
  • Ports

Notez que, même si xdp-filter a un taux de traitement des paquets nettement plus élevé, il n'a pas les mêmes capacités que, par exemple, nftables. Considérez xdp-filter comme un utilitaire conceptuel pour démontrer le filtrage de paquets à l'aide de XDP. En outre, vous pouvez utiliser le code de l'utilitaire pour mieux comprendre comment écrire vos propres applications XDP.

Important

Sur les architectures autres que AMD et Intel 64-bit, l'utilitaire xdp-filter est fourni en tant qu'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat, peuvent ne pas être complètes sur le plan fonctionnel et Red Hat ne recommande pas de les utiliser pour la production. Ces aperçus offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Consultez la section Portée de l'assistance pour les fonctionnalités de l'aperçu technologique sur le portail client de Red Hat pour obtenir des informations sur la portée de l'assistance pour les fonctionnalités de l'aperçu technologique.

3.1. Exclusion des paquets réseau qui correspondent à une règle xdp-filter

Vous pouvez utiliser xdp-filter pour laisser tomber les paquets du réseau :

  • Vers un port de destination spécifique
  • À partir d'une adresse IP spécifique
  • À partir d'une adresse MAC spécifique

La politique allow de xdp-filter définit que tout le trafic est autorisé et que le filtre ne laisse tomber que les paquets réseau qui correspondent à une règle particulière. Par exemple, utilisez cette méthode si vous connaissez les adresses IP source des paquets que vous voulez laisser tomber.

Conditions préalables

  • Le paquet xdp-tools est installé.
  • Pilote de réseau qui prend en charge les programmes XDP.

Procédure

  1. Load xdp-filter pour traiter les paquets entrants sur une certaine interface, telle que enp1s0:

    # xdp-filter load enp1s0

    Par défaut, xdp-filter utilise la politique allow, et l'utilitaire ne bloque que le trafic qui correspond à une règle.

    Vous pouvez également utiliser l'option -f feature pour n'activer que certaines fonctionnalités, telles que tcp, ipv4, ou ethernet. Le fait de ne charger que les fonctionnalités requises au lieu de toutes augmente la vitesse de traitement des paquets. Pour activer plusieurs fonctionnalités, séparez-les par une virgule.

    Si la commande échoue avec une erreur, cela signifie que le pilote de réseau ne prend pas en charge les programmes XDP.

  2. Ajoutez des règles pour rejeter les paquets qui correspondent à ces règles. Par exemple :

    • Pour supprimer les paquets entrants sur le port 22, entrez :

      # xdp-filter port 22

      Cette commande ajoute une règle qui correspond au trafic TCP et UDP. Pour ne faire correspondre qu'un protocole particulier, utilisez l'option -p protocol pour ne correspondre qu'à un protocole particulier.

    • Pour abandonner les paquets entrants provenant de 192.0.2.1, entrez :

      # `xdp-filter ip 192.0.2.1 -m src*

      Notez que xdp-filter ne prend pas en charge les plages d'adresses IP.

    • Pour abandonner les paquets entrants provenant de l'adresse MAC 00:53:00:AA:07:BE, entrez :

      # xdp-filter ether 00:53:00:AA:07:BE -m src

Vérification

  • La commande suivante permet d'afficher des statistiques sur les paquets abandonnés et autorisés :

    # xdp-filter status

Ressources supplémentaires

  • xdp-filter(8) page de manuel
  • Si vous êtes un développeur et que vous êtes intéressé par le code de xdp-filter, téléchargez et installez le RPM source correspondant (SRPM) à partir du portail client de Red Hat.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.