Exemple : Utilisation des chaînes de filtres de pare-feu
Cet exemple montre l’utilisation de chaînes de filtres de pare-feu. Les filtres de pare-feu filter1, filter2 et filter3 sont appliqués à l’interface ge-0/1/1.0 à l’aide des instructions de configuration et input-chain
output-chain
.
Conditions préalables
Avant de commencer :
-
Vous devez disposer d’un routeur MX Series avec MPC et exécutant Junos version 18.4R1 ou ultérieure.
Si vous utilisez des routeurs PTX10001-36MR, PTX10004, PTX10008 ou PTX10016 pour cette fonctionnalité, installez Junos OS Evolved version 21.4R1.
Le routeur doit être configuré pour le protocole
family inet
IP version 4 (IPv4) et configuré l’interface logique avec une adresse d’interface. Toutes les autres configurations initiales du routeur doivent être terminées et la connectivité IPv4 de base entre les appareils doit être confirmée.Le trafic que vous envoyez doit être compatible avec les règles de filtrage du pare-feu afin que les règles que vous configurez puissent correspondre au trafic de test que vous envoyez.
Présentation
Cet exemple montre comment enchaîner plusieurs filtres de pare-feu pour l’entrée et la sortie afin qu’ils puissent être appliqués à une interface donnée et évalués dans l’ordre. L’ordre d’exécution se déroule dans le même ordre que la chaîne, de gauche à droite.
L’utilisation de chaînes de filtres (par opposition au filtre de liste d’entrée) présente l’avantage de permettre plusieurs niveaux de filtrage, tels que l’utilisation d’un filtre initial pour effectuer une classification générique (telle que QoS), puis d’un ou plusieurs filtres ultérieurs pour un raffinement supplémentaire (tel que la sécurité).
Une liste d’entrée arrête le traitement des paquets lors de l’acceptation ou de l’abandon ; Les filtres de pare-feu suivants ne sont pas évalués, alors que dans une chaîne de filtres de pare-feu, une action d’acceptation ou d’abandon arrête le traitement du filtre de pare-feu actuel, mais le paquet est présenté aux filtres de pare-feu suivants dans la chaîne de filtres de pare-feu, le cas échéant.
À partir de Junos OS version 21.4R1 d’Evolved, vous pouvez utiliser des chaînes de filtres de pare-feu sur les routeurs PTX10001-36MR, PTX10004, PTX10008 et PTX10016.
Vous pouvez appliquer la chaîne de filtres comme suit :
set interfaces interface-name unit unit family inet filter input-chain [filter1 filter2 filter3];
set interfaces interface-name unit unit family inet filter output-chain [filter1 filter2 filter3];
Sur les plates-formes PTX Evo, la fonctionnalité présente les limitations suivantes :
-
Vous pouvez configurer uniquement le premier filtre d’une chaîne de filtres en tant que filtre spécifique à l’interface. Sur les routeurs MX Series, vous pouvez configurer tous les filtres d’une chaîne de filtres en tant que filtres spécifiques à l’interface.
-
Vous ne pouvez pas configurer les mêmes filtres dans le cadre d’un filtre CLI standard et de filtres de chaîne sur le même point de liaison spécifique à l’interface. Sur ces points de liaison spécifiques à l’interface, remplacez le filtre CLI existant par des chaînes de filtres ou vice-versa et validez-les séparément, pour éviter une erreur.
-
Vous ne pouvez pas configurer des filtres de chaîne avec « family ANY » et des mécanismes de contrôle d’interface sur le même point de liaison.
-
Sur les interfaces de bouclage, les filtres de chaîne de sortie ne sont pas pris en charge.
-
Sur les interfaces de bouclage, vous ne pouvez pas configurer à la fois le filtre standard de l’interface de ligne de commande d’entrée et les filtres de chaîne.
-
Pour les interfaces IRB, vous ne pouvez pas configurer à la fois le filtre spécifique à l’interface CLI standard et les chaînes de filtres.
-
Pour une sortie de type SP de couche 2, vous ne pouvez pas configurer à la fois le filtre spécifique à l’interface CLI standard et les filtres de chaîne.
-
Les filtres tels que ne
fast-lookup-filter
sont pas pris en charge dans le cadre des filtres de chaîne CLI. -
Les chaînes de filtres CLI ne sont pas prises en charge pour les filtres Urpf-fail-filters.
-
Étant donné que les filtres de sortie de la famille MPLS sont uniquement pris en charge
fast-lookup-filter
et que les filtres de chaîne ne prennent pas en charge les filtres de recherche rapide, une vérification de validation pertinente sera fournie lors de la configuration des filtres de chaîne de sortie MPLS de la famille.
Topologie
Dans cet exemple, vous configurez plusieurs filtres de pare-feu, puis vous les appliquez dans l’ordre en les enchaînant à une interface donnée. Cet exemple utilise ge-0/1/1.0
configuré avec l’adresse IP 172.16.1.1/30 pour la chaîne d’entrée et de sortie. Si un paquet ne correspond à aucun des filtres de la liste de la chaîne, il est abandonné.
Configuration
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utiliser l’éditeur CLI en mode configuration.
- Configuration rapide de l’interface de ligne de commande
- Configurer les filtres de pare-feu IPv4
- Appliquer la chaîne de filtres d’entrée
- Confirmez et validez la configuration de votre candidat
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes dans un fichier texte, supprimez les sauts de ligne, puis collez-les dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie. Les noms de filtre utilisés ici sont filter1, et ainsi de suite, tandis que les noms de terme sont t1_f1 (term1, en utilisant filter1), et ainsi de suite.
set firewall family inet filter filter1 term t1_f1 from protocol tcp set firewall family inet filter filter1 term t1_f1 then count f1_t1_cnt set firewall family inet filter filter1 term t2_f1 from precedence 7 set firewall family inet filter filter1 term t2_f1 then count f1_t2_cnt set firewall family inet filter filter1 term t2_f1 then accept set firewall family inet filter filter2 term t1_f2 from dscp 0 set firewall family inet filter filter2 term t1_f2 then count f2_t1_cnt set firewall family inet filter filter2 term t2_f2 from source-port 1020 set firewall family inet filter filter2 term t2_f2 then count f2_t2_cnt set firewall family inet filter filter2 term t2_f2 then accept set firewall family inet filter filter3 term t1_f3 from destination-address 172.30.1.1/32 set firewall family inet filter filter3 term t1_f3 then count f3_t1_cnt set firewall family inet filter filter3 term t2_f3 from destination-port 5454 set firewall family inet filter filter3 term t2_f3 then count f3_t2_cnt set firewall family inet filter filter3 term t2_f3 then accept set interfaces ge-0/1/1 unit 0 family inet address 172.16.1.1/30 set interfaces ge-0/1/1 unit 0 family inet filter input-chain [ filter1 filter2 filter3 ] set interfaces ge-0/1/1 unit 0 family inet filter output-chain [ filter1 filter2 filter3 ]
Configurer les filtres de pare-feu IPv4
Ici, nous configurons les filtres du pare-feu. Chacune d’entre elles a des conditions de correspondance et des actions de comptage différentes. Les deux premiers filtres ont des termes multiples avec l’action non finale de count, ce qui signifie que les paquets correspondants seront transmis au filtre suivant de la chaîne, tandis que le troisième a une action d’acceptation. Les paquets qui ne correspondent à aucune des conditions spécifiées seront abandonnés.
Procédure étape par étape
Pour configurer les filtres du pare-feu :
Naviguez dans la CLI jusqu’au niveau hiérarchique auquel vous configurez les filtres de pare-feu IPv4.
[edit] user@host# edit firewall family inet
Configurez le premier filtre de pare-feu pour qu’il compte les paquets TCP ou les paquets dont la priorité est 7 avant de les envoyer au filtre suivant de la chaîne.
[edit firewall family inet] user@host# set filter filter1 term t1_f1 from protocol tcp user@host# set filter filter1 term t1_f1 then count f1_t1_cnt user@host# set filter filter1 term t2_f1 from precedence 7 user@host# set filter filter1 term t2_f1 then count f1_t2_cnt user@host# set filter filter1 term t2_f1 then accept
Configurez le deuxième filtre de pare-feu pour qu’il compte les paquets DSCP ou les paquets dont le port source est 1020 avant de les envoyer au filtre suivant de la chaîne.
[edit firewall family inet] user@host# set filter filter2 term t1_f2 from dscp 0 user@host# set filter filter2 term t1_f2 then count f2_t1_cnt user@host# set filter filter2 term t2_f2 from source-port 1020 user@host# set filter filter2 term t2_f2 then count f2_t2_cnt user@host# set filter filter2 term t2_f2 then accept
Configurez le dernier filtre de pare-feu pour qu’il compte et accepte les paquets dont l’adresse de destination est 172.30.1.1/32 ou le port de destination 5454.
[edit firewall family inet] user@host# set filter filter3 term t1_f3 from destination-address 172.30.1.1/32 user@host# set filter filter3 term t1_f3 then count f3_t1_cnt user@host# set filter filter3 term t2_f3 from destination-port 5454 user@host# set filter filter3 term t2_f3 then count f3_t2_cnt user@host# set filter filter3 term t2_f3 then accept
Appliquer la chaîne de filtres d’entrée
Ici, nous attachons les filtres de pare-feu à une interface donnée. L’ordre d’exécution se déroule dans le même ordre que la chaîne, de gauche à droite.
Procédure étape par étape
Pour attribuer une adresse IP à l’interface :
Accédez à l’interface que nous utilisons pour les filtres,
ge-0/1/1.0
.[edit] user@host# edit interfaces ge-0/1/1 unit 0 family inet
Attribuez une adresse IPv4 à l’interface logique.
[edit interfaces ge-0/1/1 unit 0 family inet] user@host# set address 172.16.1.1/30
Appliquez les filtres sous la forme d’une liste de filtres d’entrée.
[edit interfaces ge-0/1/1 unit 0 family inet] user@host# set filter input-chain [ filter1 filter2 filter3 ] user@host# set filter out-chain [ filter1 filter2 filter3 ]
Confirmez et validez la configuration de votre candidat
Procédure étape par étape
Pour confirmer, puis valider la configuration de votre candidat :
Confirmez la configuration des filtres de pare-feu en entrant la commande configuration
show firewall
mode. Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.[edit firewall] user@host# show family inet { } filter filter1 { term t1_f1 { from { protocol tcp; } then count f1_t1_cnt; accept; } term t2_f1 { from { precedence 7; } then count f1_t2_cnt; accept; } } filter filter2 { term t1_f2 { from { dscp 0; } then count f2_t1_cnt; } term t2_f2 { from { source-port 1020; } then count f2_t2_cnt; } } filter filter3 { term t1_f3 { from { destination-address { 172.30.1.1/32; } } then { count f3_t1_cnt; } } term t2_f3 { from { destination-port 5454; } then { count f3_t2_cnt; accept; } } } } }
Confirmez la configuration de l’interface en entrant la commande configuration
show interfaces
mode.[edit] user@host# show interfaces ge-0/1/1 { unit 0 { family inet { filter { input-chain [ filter1 filter2 filter3 ]; } address 172.16.1.1/30; } } }
Si vous avez terminé de configurer l’appareil, validez la configuration.
[edit] user@host# commit
Vérification
Vérifiez que la configuration fonctionne comme prévu, c’est-à-dire que le trafic correspondant est évalué par chacun des filtres filter1, filter2 et filter3, et que l’action attendue (compter ou accepter) a été effectuée.
Envoyer du trafic à travers les filtres du pare-feu
But
Envoyez le trafic d’un périphérique vers le routeur que vous avez configuré pour voir si les paquets correspondants sont évalués par tous les filtres pertinents de la chaîne.
Action
Pour vérifier que les paquets d’entrée sont évalués par filter1, filter2 et filter3 :
À partir de l’hôte distant connecté à
ge-0/1/1.0
, envoyez un paquet dont la priorité est 7. Le paquet doit être compté puis évalué par filter2.À partir de l’hôte distant connecté à
ge-0/1/1.0
, envoyez un paquet avec la valeur DSCP de 0. Le paquet doit être compté puis évalué par filter3.À partir de l’hôte distant connecté à
ge-0/1/1.0
, envoyez un paquet dont l’adresse de destination est 172.30.1.1/32 et le numéro de port de destination 5454. Le paquet doit être compté puis accepté.Pour afficher les informations du compteur pour les filtres que vous avez configurés, entrez la commande mode
show firewall filter filter-name
opérationnel. La sortie de la commande affiche le nombre d’octets et de paquets qui correspondent aux termes de filtre associés aux compteurs.