Exemple : Configuration d’un filtre de pare-feu sans état pour protéger un système logique contre les inondations ICMP
Cet exemple montre comment configurer un filtre de pare-feu sans état qui protège contre les attaques par déni de service ICMP sur un système logique.
Conditions préalables
Dans cet exemple, aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise.
Présentation
Cet exemple montre un filtre de pare-feu sans état appelé protect-RE qui contrôle les paquets ICMP. Le icmp-policer limite le débit de trafic des paquets ICMP à 1 000 000 bps et la taille de rafale à 15 000 octets. Les paquets qui dépassent le débit de trafic sont ignorés.
Le mécanisme de contrôle est incorporé dans l’action d’un terme de filtre appelé icmp-term.
Dans cet exemple, un ping est envoyé à partir d’un routeur physique directement connecté à l’interface configurée sur le système logique. Le système logique accepte les paquets ICMP s’ils sont reçus à un débit allant jusqu’à 1 Mbit/s (limite de bande passante). Le système logique abandonne tous les paquets ICMP lorsque ce débit est dépassé. L’instruction burst-size-limit
accepte les pointes de trafic jusqu’à 15 Kbits/s. Si les rafales dépassent cette limite, tous les paquets sont abandonnés. Lorsque le débit diminue, les paquets ICMP sont à nouveau acceptés.
Topologie
Figure 1 Affiche la topologie utilisée dans cet exemple.

Configuration
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie.
set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30 set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k set logical-systems LS1 firewall policer icmp-policer then discard
Procédure
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous Utiliser l’éditeur CLI en mode configuration au Guide de l’utilisateur de l’interface de ligne de commande Junos OS.
Pour configurer un filtre de pare-feu ICMP sur un système logique :
Configurez l’interface sur le système logique.
[edit] user@host# set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30
Activez explicitement la réception des paquets ICMP sur l’interface.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept
Créez le mécanisme de contrôle.
[edit] user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k user@host# set logical-systems LS1 firewall policer icmp-policer then discard
Appliquez le mécanisme de contrôle à un terme de filtre.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer
Appliquez le mécanisme de contrôle à l’interface du système logique.
[edit] user@host# set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet policer input icmp-policer
Si vous avez terminé de configurer l’appareil, validez la configuration.
[edit] user@host# commit
Résultats
Confirmez votre configuration en exécutant la show logical-systems LS1
commande.
user@host# show logical-systems LS1 interfaces { ge-0/0/2 { unit 0 { family inet { policer { input icmp-policer; } address 10.0.45.2/30; } } } } firewall { family inet { filter protect-RE { term icmp-term { from { protocol icmp; } then { policer icmp-policer; accept; } } } } policer icmp-policer { if-exceeding { bandwidth-limit 1m; burst-size-limit 15k; } then discard; } }
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification que ping fonctionne à moins que les limites ne soient dépassées
But
Assurez-vous que l’interface du système logique est protégée contre les attaques DoS basées sur ICMP.
Action
Connectez-vous à un système connecté au système logique et exécutez la ping
commande.
user@R2> ping 10.0.45.2 PING 10.0.45.2 (10.0.45.2): 56 data bytes 64 bytes from 10.0.45.2: icmp_seq=0 ttl=64 time=1.316 ms 64 bytes from 10.0.45.2: icmp_seq=1 ttl=64 time=1.277 ms 64 bytes from 10.0.45.2: icmp_seq=2 ttl=64 time=1.269 ms
user@R2> ping 10.0.45.2 size 20000 PING 10.0.45.2 (10.0.45.2): 20000 data bytes ^C --- 10.0.45.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
Sens
Lorsque vous envoyez un ping normal, le paquet est accepté. Lorsque vous envoyez un paquet ping qui dépasse la limite de filtre, le paquet est rejeté.