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 so-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces so-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 l’interface de ligne de commande, consultez Utiliser l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.
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 so-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 so-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 { so-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é.