RPF unicast dans des profils dynamiques pour les interfaces d’abonnés
RPF unicast dans des profils dynamiques pour les interfaces d’abonnés
Le transfert RPF (Reverse-Path Forwarding) unicast permet de réduire les effets des attaques par déni de service (DoS) et par déni de service distribué (DDoS) sur les interfaces IPv4 et IPv6. Lorsque vous configurez le RPF unicast sur une interface, il vérifie l’adresse source du paquet. Les paquets qui réussissent le contrôle sont transférés. Les paquets qui échouent à la vérification sont abandonnés ou, si un filtre d’échec est configuré, sont transmis au filtre pour une évaluation plus approfondie.
Le RPF unicast a deux modes de comportement, strict et loose. Lorsque vous configurez le RPF unicast dans un profil dynamique, le mode strict est la valeur par défaut. En mode strict, RPF unicast vérifie si l’adresse source du paquet entrant correspond à un préfixe de la table de routage et si l’interface s’attend à recevoir un paquet avec ce préfixe d’adresse source. En mode lâche, RPF unicast vérifie uniquement si l’adresse source a une correspondance dans la table de routage. Il ne vérifie pas si l’interface s’attend à recevoir un paquet d’une adresse source spécifique.
Pour les deux modes, lorsqu’un paquet entrant échoue à la vérification RPF unicast, le paquet n’est pas accepté sur l’interface. Au lieu de cela, le RPF unicast compte le paquet et l’envoie à un filtre d’échec facultatif, s’il est présent. Le filtre d’échec détermine les actions ultérieures à effectuer sur le paquet. En l’absence d’un filtre défaillant, le paquet est ignoré silencieusement.
À partir de Junos OS version 19.1R1, la commande affiche des statistiques RPF unicast pour les show interfaces statistics logical-interface-name detail
interfaces logiques dynamiques lorsque l’un ou rpf-check mode loose
l’autre rpf-check
est activé sur l’interface. Aucune statistique supplémentaire n’est affichée lorsqu’il rpf-check fail-filter filter-name
est configuré sur l’interface. La clear interfaces statistics logical-interface-name
commande efface les statistiques RPF.
Configuration du RPF unicast dans les profils dynamiques pour les interfaces d’abonnés
Le RPF unicast permet de réduire l’effet des attaques par déni de service sur les interfaces IPv4 et IPv6 en comparant l’adresse IP source à la table de routage. Les paquets qui ne correspondent pas sont ignorés silencieusement, sauf si un filtre d’échec facultatif est configuré. Le filtre d’échec effectue une vérification supplémentaire et ordonne qu’une action soit entreprise sur certains paquets. Les actions typiques incluent l’enregistrement des paquets ou leur transmission même s’ils ont échoué à la vérification RPF.
Bien que le filtre d’échec soit techniquement facultatif, pour les profils dynamiques dans un environnement DHCP, vous devez configurer un filtre pour qu’il transmette les paquets DHCP. Par défaut, la vérification RPF empêche les paquets DHCP d’être acceptés sur les interfaces protégées par la vérification RPF. Le filtre d’échec identifie les paquets DHCP et les transmet.
Pour configurer une vérification RPF unicast dans un profil dynamique :
Configuration d’un filtre d’échec pour le RPF unicast dans les profils dynamiques pour les interfaces d’abonné
Cette rubrique décrit comment configurer un filtre d’échec au niveau de la [edit firewall]
hiérarchie qui peut éventuellement être appliqué par RPF unicast pour les interfaces d’abonné dans les profils dynamiques sur les routeurs MX Series.
Contrairement aux filtres d’échec configurés statiquement, les filtres d’échec RPF-check utilisés dans un profil dynamique ne peuvent pas être spécifiques à une interface particulière.
Pour configurer un filtre d’échec de pare-feu :
Exemple : configuration du RPF unicast dans un profil dynamique sur des routeurs MX Series
Cet exemple montre comment défendre les interfaces entrantes du routeur contre les attaques par déni de service (DoS) et par déni de service distribué (DDoS) en configurant le transfert RPF (Reverse-Path Forwarding) unicast sur une interface de périphérie client pour filtrer le trafic entrant. Le RPF unicast vérifie l’adresse source unicast de chaque paquet qui arrive sur une interface entrante sur laquelle le RPF unicast est activé. Les paquets qui échouent à la vérification sont ignorés silencieusement, à moins qu’un filtre d’échec n’effectue une autre action sur eux.
Exigences
Cet exemple utilise les composants logiciels et matériels suivants :
Une plate-forme de routage universelle 5G MX Series
Avant de commencer :
Configurez le profil dynamique que vous avez l’intention d’utiliser pour appliquer la vérification RPF.
Reportez-vous à la section Configuration d’un profil dynamique de base.
Aperçu
De grandes quantités de trafic non autorisé, telles que les tentatives d’inonder un réseau de fausses demandes de service dans le cadre d’une attaque par déni de service (DoS), peuvent consommer des ressources réseau et empêcher des utilisateurs légitimes de bénéficier du service. Pour prévenir les attaques par déni de service (DoS) et les attaques par déni de service distribué (DDoS), vérifiez que le trafic entrant provient de sources réseau légitimes.
Le RPF unicast permet de s’assurer qu’une source de trafic est légitime (autorisée) en comparant l’adresse source de chaque paquet qui arrive sur une interface à l’entrée de la table de transfert de son adresse source. Si le routeur utilise la même interface que celle utilisée pour répondre à la source du paquet, cela vérifie que le paquet provient d’une source autorisée, et le routeur transfère le paquet. Si le routeur n’utilise pas la même interface que celle utilisée pour répondre à la source du paquet, il se peut que le paquet provienne d’une source non autorisée et que le routeur rejette le paquet ou le transmette à un filtre d’échec.
Le filtre d’échec vous permet de définir des critères pour les paquets que vous souhaitez transmettre malgré l’échec de la vérification RPF, tels que les paquets DHCP, qui sont abandonnés par défaut.
Sur les routeurs MX Series, vous pouvez configurer le RPF unicast dans un profil dynamique pour appliquer la configuration à une ou plusieurs interfaces d’abonné. Reportez-vous à la section Présentation du RPF unicast (routeurs) pour plus d’informations sur le comportement et les limites du RPF unicast sur les routeurs MX Series.
Dans cet exemple, vous configurez le routeur pour qu’il se protège contre les attaques DoS et DDoS potentielles provenant d’Internet, perpétrées par le biais de paquets IPv4 arrivant sur des interfaces démultiplexage VLAN créées dynamiquement. Le profil dynamique, vlan-demux-prof, établit que les interfaces VLAN demux sont automatiquement créées pour les abonnés. Le RPF unicast est activé sur les interfaces dynamiques par le terme rpf-check.
Par défaut, le RPF unicast empêche l’acceptation des paquets DHCP (Dynamic Host Configuration Protocol) sur les interfaces auxquelles il s’applique. Lorsque des paquets DHCP sont ignorés, aucun nouvel abonné ne peut être créé par le profil dynamique. Pour permettre aux interfaces d’accepter les paquets DHCP, vous devez appliquer un filtre d’échec qui trie correctement les paquets qui échouent à la vérification et identifie les paquets DHCP. Dans cet exemple, vous allez configurer le allow-dhcp
terme dans le filtre rpf-pass-dhcp
. Ce terme correspond, compte et accepte les paquets IPv4 destinés au port DHCP et à n’importe quelle adresse. Il default term
abandonne tous les autres paquets qui échouent à la vérification RPF.
Cet exemple ne montre pas tous les choix de configuration possibles.
Topologie
Configuration
Pour activer le RPF unicast avec un filtre d’échec dans un profil dynamique, effectuez les tâches suivantes :
- Configuration du profil dynamique pour appliquer la vérification RPF aux interfaces démultiplexantes VLAN dynamiques
- Configuration du filtre d’échec RPF-Check
Configuration du profil dynamique pour appliquer la vérification RPF aux interfaces démultiplexantes VLAN dynamiques
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement le profil dynamique afin d’appliquer le RPF unicast aux interfaces démultiplexeurs VLAN créées dynamiquement, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, puis copiez et collez les commandes dans l’interface de ligne de commande.
edit dynamic-profiles vlan-demux-prof interfaces demux0 edit unit $junos-interface-unit set demux-options underlying-interface $junos-interface-ifd-name set vlan-id $junos-vlan-id edit family inet set unnumbered-address lo0.0 set rpf-check fail-filter rpf-pass-dhcp
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur la façon de procéder, consultez Utilisation de l’éditeur CLI en mode Configuration.
Pour configurer le RPF unicast sur le routeur :
Créez un profil dynamique.
[edit] user@host# edit dynamic-profiles vlan-demux-prof
Spécifiez que le profil VLAN dynamique utilise l’interface demux.
[edit dynamic-profiles vlan-demux-prof] user@host# edit interfaces demux0
Spécifiez que le profil dynamique applique la valeur unitaire de l’interface demux aux VLAN dynamiques.
[edit dynamic-profiles vlan-demux-prof interfaces demux0] user@host# edit unit $junos-interface-unit
Spécifiez l’interface logique sous-jacente des VLAN dynamiques.
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# set demux-options underlying-interface $junos-interface-ifd-name
Configurez la variable qui génère des ID de VLAN créés dynamiquement.
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# set vlan-id $junos-vlan-id
Configurez la famille d’adresses IPv4 pour les interfaces demux.
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# edit family inet
Configurez l’adresse non numérotée de la famille.
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit family inet] user@host# set unnumbered-address lo0.0
Configurez le RPF unicast et spécifiez le filtre d’échec qui est appliqué aux paquets entrants dont la vérification échoue.
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit family inet] user@host# set fail-filter fail-filter rpf-pass-dhcp
Configuration du filtre d’échec RPF-Check
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement le filtre d’échec RPF-check unicast, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, puis copiez et collez les commandes dans l’interface de ligne de commande.
edit firewall family inet filter rpf-pass-dhcp edit term allow-dhcp set from destination-port dhcp set from destination-address 255.255.255.255/32 set then count rpf-dhcp-traffic set then accept up edit term default set then discard
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur la façon de procéder, consultez Utilisation de l’éditeur CLI en mode Configuration.
Pour configurer le filtre d’échec RPF-check :
Créez le filtre d’échec.
[edit firewall] user@host# edit family inet filter rpf-pass-dhcp
Définissez le terme de filtre qui identifie les paquets DHCP en fonction du port de destination DHCP, puis compte et transmet les paquets.
[edit firewall family inet filter rpf-pass-dhcp] user@host# edit term allow-dhcp user@host# set from destination-port dhcp user@host# set from destination-address 255.255.255.255/32 user@host# set then count rpf-dhcp-traffic user@host# set then accept
Définissez le terme de filtre qui abandonne tous les autres paquets ayant échoué.
[edit firewall filter rpf-pass-dhcp] user@host# edit term default user@host# set then discard
Résultats
À partir du mode de configuration, confirmez la configuration RPF unicast en entrant la show dynamic-profiles
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show dynamic-profiles vlan-demux-prof { interfaces { demux0 { unit "$junos-interface-unit" { vlan-id "$junos-vlan-id"; demux-options { underlying-interface "$junos-interface-ifd-name"; } family inet { unnumbered-address lo0.0;rpf-check {
fail-filter rpf-pass-dhcp;
}
} } } } }
À partir du mode de configuration, confirmez la configuration du filtre d’échec en entrant la show firewall
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show firewall family inet { filter rpf-pass-dhcp { term allow-dhcp { from { destination-address { 255.255.255.255/32; } destination-port dhcp; } then { count rpf-dhcp-traffic; accept; } } term default { then { discard; } } } }
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Pour vérifier que la configuration est correcte, effectuez les opérations suivantes :
Vérification de l’activation du RPF unicast sur le routeur
But
Vérifiez que le RPF unicast est activé.
Action
Vérifiez que le RPF unicast est activé à l’aide de la show subscribers extensive
commande.
user@host> show subscribers extensive
Type: VLAN
Logical System: default
Routing Instance: default
Interface: ae0.1073741824
Interface type: Dynamic
Dynamic Profile Name: vlan-demux-prof
State: Active
Session ID: 9
VLAN Id: 100
Login Time: 2011-08-26 08:17:00 PDT
IPv4 rpf-check Fail Filter Name: rpf-pass-dhcp
Sens
Le champ Nom du filtre d’échec IPv4 rpf-check affiche rpf-pass-dhcp
, le nom du filtre d’échec appliqué par le profil dynamique pour les paquets IPv4 échouant à la vérification RPF.
show interfaces statistics logical-interface-name detail
interfaces logiques dynamiques lorsque l’un ou
rpf-check mode loose
l’autre
rpf-check
est activé sur l’interface.