3.2. Suppression de tous les paquets réseau à l'exception de ceux qui correspondent à une règle xdp-filter
Vous pouvez utiliser xdp-filter
pour n'autoriser que les paquets réseau :
- Depuis et vers un port de destination spécifique
- Depuis et vers une adresse IP spécifique
- De et vers une adresse MAC spécifique
Pour ce faire, utilisez la politique deny
de xdp-filter
qui définit que le filtre laisse tomber tous les paquets du réseau à l'exception de ceux qui correspondent à une règle particulière. Par exemple, utilisez cette méthode si vous ne connaissez pas les adresses IP source des paquets que vous voulez laisser tomber.
Si vous définissez la stratégie par défaut sur deny
lorsque vous chargez xdp-filter
sur une interface, le noyau bloque immédiatement tous les paquets provenant de cette interface jusqu'à ce que vous créiez des règles autorisant un certain trafic. Pour éviter d'être exclu du système, saisissez les commandes localement ou connectez-vous à l'hôte via une autre interface réseau.
Conditions préalables
-
Le paquet
xdp-tools
est installé. - Vous êtes connecté à l'hôte soit localement, soit à l'aide d'une interface réseau pour laquelle vous ne prévoyez pas de filtrer le trafic.
- Pilote de réseau qui prend en charge les programmes XDP.
Procédure
Load
xdp-filter
pour traiter les paquets sur une certaine interface, telle queenp1s0
:# xdp-filter load enp1s0 -p deny
Vous pouvez également utiliser l'option
-f feature
pour n'activer que certaines fonctionnalités, telles quetcp
,ipv4
, ouethernet
. 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.
Ajoutez des règles pour autoriser les paquets qui correspondent à ces règles. Par exemple :
Pour autoriser les paquets vers 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, ajoutez l'option
-p protocol
à la commande.Pour autoriser les paquets à
192.0.2.1
, entrez :# xdp-filter ip 192.0.2.1
Notez que
xdp-filter
ne prend pas en charge les plages d'adresses IP.Pour autoriser les paquets à l'adresse MAC
00:53:00:AA:07:BE
, entrez :# xdp-filter ether 00:53:00:AA:07:BE
ImportantL'utilitaire
xdp-filter
ne prend pas en charge l'inspection des paquets avec état. Cela implique que vous ne définissiez pas de mode à l'aide de l'option-m mode
ou que vous ajoutiez des règles explicites pour autoriser le trafic entrant que la machine reçoit en réponse au trafic sortant.
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) depuis le portail client de Red Hat.