Comprendre l’unicast RPF (routeurs)
Pour les interfaces qui transportent du trafic IPv4 ou IPv6, vous pouvez réduire l’impact des attaques par déni de service (DoS) en configurant le transfert de chemin inverse (RPF) unicast. Le RPF unicast aide à déterminer la source des attaques et rejette les paquets provenant d’adresses sources inattendues sur les interfaces sur lesquelles unicast RPF est activé.
Vous pouvez protéger un réseau en appliquant la fonctionnalité de vérification RPF unicast à la périphérie (sur les interfaces côté client) du réseau. Dans un environnement de FAI, cela peut avoir un impact sur le réseau, ce qui peut imposer une configuration évolutive. Si vous avez déjà protégé la périphérie de votre réseau, un paquet avec une adresse source IP usurpée n’apparaîtra même pas dans une interface centrale. Dans ce cas, la vérification RPF unicast n’est pas nécessaire. L’activation de la fonctionnalité RPF unicast peut avoir un impact sur les performances du plan de contrôle, alors utilisez-la là où elle est nécessaire. Il est donc fortement recommandé de ne pas activer cette fonctionnalité sur les interfaces centrales (internes) du réseau.
Actuellement, sur les plateformes PTX, la configuration de la spécification de flux BGP (flowspec) crée un filtre implicite pour définir l’instance VRF. Sur les plateformes PTX, la recherche de filtre précède la recherche d’IP source/destination. Par conséquent, la recherche d’adresse IP source et de destination s’effectue dans le contexte de l’instance VRF.
Actuellement, sur les plateformes PTX, lorsque le routage inversé unicast (uRPF) et le transfert basé sur un filtre (FBF) sont configurés sur une interface, le comportement par défaut est que la recherche d’adresse IP source d’un paquet entrant est effectuée par uRPF dans l’instance de routage vers laquelle pointe l’interface et que la recherche d’adresse IP de destination est effectuée dans l’instance de routage spécifiée par le filtre FBF. Vous pouvez l’utiliser set forwarding-options no-rpf-fbf-handling pour remplacer ce comportement par défaut et lorsque vous appliquez cette configuration, la recherche d’adresse IP source d’un paquet entrant est effectuée par uRPF dans l’instance de routage spécifiée par le filtre FBF.
RPF unicast et route par défaut
Lorsque la route active ne peut pas être choisie parmi les routes d’une table de routage, le routeur choisit une route par défaut. Une route par défaut équivaut à une adresse IP de 0.0.0.0/0. Si vous configurez un routage par défaut et que vous configurez unicast RPF sur une interface utilisée par le routage par défaut, unicast RPF se comporte différemment de ce qu’il fait autrement.
Pour déterminer si la route par défaut utilise une interface, entrez la show route commande :
user@host> show route address
address est l’adresse du saut suivant de la route par défaut configurée. L’itinéraire par défaut utilise les interfaces affichées dans la sortie de la show route commande.
Les sections suivantes décrivent le comportement de RPF d’unicast lorsqu’une route par défaut utilise une interface et lorsqu’une route par défaut n’utilise pas d’interface :
- Comportement RPF unicast avec une route par défaut
- Comportement RPF unicast sans route par défaut
- RPF unicast avec asymétrie de routage
Comportement RPF unicast avec une route par défaut
Sur tous les routeurs, à l’exception de ceux équipés de MPC et du routeur MX80, unicast RPF se comporte comme suit si vous configurez une route par défaut qui utilise une interface configurée avec unicast RPF :
Mode lâche : tous les paquets sont automatiquement acceptés. Pour cette raison, nous vous recommandons de ne pas configurer unicast mode libre RPF sur les interfaces utilisées par la route par défaut.
Mode strict : le paquet est accepté lorsque l’adresse source du paquet correspond à l’une des routes (par défaut ou apprises) accessibles via l’interface. Notez que les itinéraires peuvent avoir plusieurs destinations associées ; Par conséquent, si l’une des destinations correspond à l’interface entrante du paquet, le paquet est accepté.
Sur tous les routeurs avec MPC et le routeur MX80, unicast RPF se comporte comme suit si vous configurez une route par défaut qui utilise une interface configurée avec unicast RPF :
Mode lâche : tous les paquets, à l’exception de ceux dont la source est apprise à partir de la route par défaut, sont acceptés. Tous les paquets dont la source est apprise à partir de l’itinéraire par défaut sont abandonnés dans le moteur de transfert de paquets. L’itinéraire par défaut est traité comme s’il n’existait pas.
Mode strict : le paquet est accepté lorsque l’adresse source du paquet correspond à l’une des routes (par défaut ou apprises) accessibles via l’interface. Notez que les itinéraires peuvent avoir plusieurs destinations associées ; Par conséquent, si l’une des destinations correspond à l’interface entrante du paquet, le paquet est accepté.
Sur tous les routeurs, le paquet n’est pas accepté lorsque l’une des conditions suivantes est vraie :
L’adresse source du paquet ne correspond pas à un préfixe dans la table de routage.
L’interface ne s’attend pas à recevoir un paquet avec ce préfixe d’adresse source.
Comportement RPF unicast sans route par défaut
Si vous ne configurez pas de route par défaut, ou si la route par défaut n’utilise pas d’interface configurée avec unicast RPF, unicast RPF se comporte comme décrit dans Configuration du mode RPF unicast strict et Configuration du mode libre RPF unicast. Pour résumer, unicast RPF sans route par défaut se comporte comme suit :
Mode strict : le paquet n’est pas accepté lorsque l’une des conditions suivantes est vraie :
L’adresse source du paquet ne correspond pas à un préfixe dans la table de routage.
L’interface ne s’attend pas à recevoir un paquet avec ce préfixe d’adresse source.
Mode lâche : le paquet n’est pas accepté lorsque l’adresse source du paquet ne correspond pas à un préfixe dans la table de routage.
RPF unicast avec asymétrie de routage
En général, nous vous recommandons de ne pas activer unicast RPF sur les interfaces internes au réseau, car les interfaces internes sont susceptibles d’avoir une asymétrie de routage. L’asymétrie de routage signifie que les chemins d’aller et de retour d’un paquet sont différents. Les routeurs situés au cœur du réseau sont plus susceptibles d’avoir des chemins inverses asymétriques que les routeurs situés à la périphérie du client ou du fournisseur. La figure 1 illustre le RPF unicast dans un environnement présentant une asymétrie de routage.
de routage
Sur la Figure 1, si vous activez unicast RPF sur l’interface so-0/0/0, le trafic destiné au routeur A n’est pas rejeté. Si vous activez unicast RPF sur l’interface so-1/0/1, le trafic du routeur A est rejeté.
Si vous devez activer unicast RPF dans un environnement de routage asymétrique, vous pouvez utiliser des filtres d’échec pour permettre au routeur d’accepter les paquets entrants dont on sait qu’ils arrivent par des chemins spécifiques. Pour obtenir un exemple de filtre d’échec qui accepte des paquets avec une adresse source et une adresse de destination spécifiques, consultez Configuration de RPF unicast.
Configuration du mode strict RPF unicast
En mode strict, RPF unicast vérifie si l’adresse source du paquet entrant correspond à un préfixe dans la table de routage, et si l’interface s’attend à recevoir un paquet avec ce préfixe d’adresse source.
Lorsque le mode chemin actif est configuré, une liste d’interfaces sortantes de la seule route active est créée. Tout paquet arrivant sur ces interfaces est considéré comme valide et est traité.
Si le paquet entrant échoue à la vérification RPF unicast, le paquet n’est pas accepté sur l’interface. Lorsqu’un paquet n’est pas accepté sur une interface, RPF unicast compte le paquet et l’envoie à un filtre d’échec facultatif. Si le filtre d’échec n’est pas configuré, l’action par défaut consiste à supprimer le paquet en mode silencieux.
Le filtre d’échec facultatif vous permet d’appliquer un filtre aux paquets qui échouent à la vérification RPF unicast. Vous pouvez définir le filtre d’échec pour effectuer n’importe quelle opération de filtre, y compris l’acceptation, le rejet, la journalisation, l’échantillonnage ou le contrôle.
Lorsque unicast RPF est activé sur une interface, les paquets BOOTP (Bootstrap Protocol) et DHCP (Dynamic Host Configuration Protocol) ne sont pas acceptés sur l’interface. Pour permettre à l’interface d’accepter les paquets BOOTP et DHCP, vous devez appliquer un filtre d’échec qui accepte tous les paquets avec une adresse source de 0.0.0.0 et une adresse de destination de 255.255.255.255. Pour un exemple de configuration, consultez Configuration de RPF unicast.
Pour plus d’informations sur la définition de filtres d’échec, consultez le Guide de l’utilisateur des stratégies de routage, des filtres de pare-feu et des mécanismes de contrôle du trafic.
Pour configurer RPF unicast, incluez l’instruction rpf-check :
rpf-check <fail-filter filter-name>;
Vous pouvez inclure cette déclaration aux niveaux hiérarchiques suivants :
[edit interfaces interface-name unit logical-unit-number family (inet | inet6)][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family (inet | inet6)]
L’utilisation de RPF unicast peut avoir plusieurs conséquences lorsqu’il est implémenté avec des filtres de trafic :
Les filtres d’échec RPF sont évalués après les filtres d’entrée et avant les filtres de sortie.
Si vous configurez un compteur de filtres pour les paquets abandonnés par un filtre d’entrée et que vous souhaitez connaître le nombre total de paquets perdus, vous devez également configurer un compteur de filtres pour les paquets abandonnés par la vérification RPF.
Pour compter les paquets qui échouent à la vérification RPF et qui sont acceptés par le filtre d’échec RPF, vous devez configurer un compteur de filtres.
Si un filtre d’entrée transfère des paquets ailleurs que dans les tables de routage inet.0 ou inet6.0, la vérification RPF unicast n’est pas effectuée.
Si un filtre d’entrée transfère des paquets ailleurs que l’instance de routage pour laquelle l’interface d’entrée est configurée, la vérification RPF unicast n’est pas effectuée.
Dans la liste à puces susmentionnée, les premier, avant-dernier et dernier points ne s’appliquent pas aux plates-formes MX car sur les plates-formes MX, uRPF est traité avant l’exécution des filtres de pare-feu. La vérification uRPF est traitée pour la vérification de l’adresse source avant que toute action FBF (transfert basé sur un filtre) ne soit activée pour les interfaces statiques et dynamiques. Cela s’applique aussi bien aux familles IPv4 qu’IPv6.
Sur les routeurs ACX et MX Series :
Le filtre d’échec uRPF est pris en charge sur ACX1000, ACX2000, ACX4000 et ACX500, ACX5048 et ACX5096. Le filtre n’est pas pris en charge sur les routeurs ACX5448, ACX710, ACX7100-32C, ACX7100-48, ACX7509 et tous les routeurs de ACX7000 série.
- Le filtre d’échec uRPF ne peut pas correspondre aux paquets ayant échoué lors de la vérification du port d’entrée (mode strict).
- Le filtre d’échec uRPF peut correspondre aux paquets qui échouent à la recherche d’IP source, mais ne peut pas correspondre aux paquets qui échouent à la vérification de l’interface d’entrée (mode strict).
- Le filtre d’échec uRPF s’applique uniquement aux instances spécifiques à l’interface du filtre de pare-feu.
- Les filtres d’échec uRPF ne prennent pas en charge les actions de rejet et d’instance de routage.
- L’option feasible-paths n’est pas prise en charge sur ACX7000 série.
Configurez le mode RPF unicast strict et appliquez un filtre d’échec qui permet à l’interface d’accepter les paquets BOOTP et DHCP. Le filtre accepte tous les paquets dont l’adresse source est et 0.0.0.0 l’adresse de destination .255.255.255.255
Pour configurer RPF unicast en mode strict :
Configuration du mode libre RPF unicast
Par défaut, l’unicast RPF utilise le mode strict. Le mode libre RPF unicast est similaire au mode RPF strict unicast et a les mêmes restrictions de configuration. La seule vérification en mode lâche est de savoir si le paquet a une adresse source avec un préfixe correspondant dans la table de routage ; Le mode lâche ne vérifie pas si l’interface s’attend à recevoir un paquet avec un préfixe d’adresse source spécifique. Si un préfixe correspondant n’est pas trouvé, unicast mode libre RPF n’accepte pas le paquet. Comme en mode strict, le mode lâche compte le paquet ayant échoué et le transmet éventuellement à un filtre d’échec, qui accepte, rejette, consigne, échantillonne ou contrôle le paquet.
Lorsque le mode chemins possibles est configuré, une liste d’interfaces sortantes des routes actives et inactives est créée. Tout paquet arrivant sur ces interfaces est considéré comme valide et est traité.
Pour configurer le mode libre RPF unicast, incluez la commande mode:
Configuration du mode libre RPF unicast avec possibilité de rejeter des paquets
Le mode libre RPF unicast a la capacité de rejeter des paquets avec l’adresse source pointant vers l’interface de rejet. L’utilisation du mode lâche RPF unicast, associé au filtrage de route nulle déclenchée à distance, fournit un moyen efficace d’écarter les paquets provenant de sources d’attaque connues. Les politiques BGP des routeurs de périphérie garantissent que le prochain saut des paquets dont les adresses sources ne sont pas approuvées est défini sur une route de rejet. Lorsqu’un paquet arrive au routeur avec une adresse source non fiable, l’unicast RPF effectue une recherche de route de l’adresse source. Comme la route de l’adresse source pointe vers un saut suivant de rejet, le paquet est abandonné et un compteur est incrémenté. Cette fonctionnalité est prise en charge sur les familles d’adresses IPv4 (inet) et IPv6 (inet6).
Pour configurer unicast mode libre RPF avec la possibilité d’ignorer des paquets, incluez l’instruction rpf-loose-mode-discard family (inet | inet6) au niveau de la [edit forwarding-options] hiérarchie :
rpf-loose-mode-discard {
family {
inet;
}
}
Dans cet exemple, aucune configuration spéciale au-delà de l’initialisation de l’équipement n’est requise.
Configurez le mode libre RPF unicast et appliquez un filtre d’échec qui permet à l’interface d’accepter les paquets BOOTP et DHCP. Le filtre accepte tous les paquets dont l’adresse source est et 0.0.0.0 l’adresse de destination .255.255.255.255
Pour configurer le mode libre RPF unicast avec la possibilité de rejeter des paquets :
Configuration de RPF unicast sur un VPN
Vous pouvez configurer unicast RPF sur une interface VPN en activant unicast RPF sur l’interface et en incluant l’instruction interface au niveau de la [edit routing-instances routing-instance-name] hiérarchie.
Vous ne pouvez configurer unicast RPF que sur les interfaces que vous spécifiez dans l’instance de routage. Cela signifie ce qui suit :
Pour les VPN de couche 3, unicast RPF est pris en charge sur l’interface CE routeur.
Le RPF unicast n’est pas pris en charge sur les interfaces centrales.
Pour les instances de routage de routeur virtuel, RPF unicast est pris en charge sur toutes les interfaces que vous spécifiez dans l’instance de routage.
Si un filtre d’entrée transfère des paquets ailleurs que l’instance de routage pour laquelle l’interface d’entrée est configurée, la vérification RPF unicast n’est pas effectuée.
Configurer RPF unicast sur une interface VPN de couche 3 :
[edit interfaces]
so-0/0/0 {
unit 0 {
family inet {
rpf-check;
}
}
}
[edit routing-instance]
VPN-A {
interface so-0/0/0.0;
}
Configuration de RPF unicast
Configurez le mode RPF unicast strict et appliquez un filtre d’échec qui permet à l’interface d’accepter les paquets BOOTP et DHCP. Le filtre accepte tous les paquets dont l’adresse source est et 0.0.0.0 l’adresse de destination .255.255.255.255
[edit firewall]
filter rpf-special-case-dhcp-bootp {
term allow-dhcp-bootp {
from {
source-address {
0.0.0.0/32;
}
address {
255.255.255.255/32;
}
}
then {
count rpf-dhcp-bootp-traffic;
accept;
}
}
term default {
then {
log;
reject;
}
}
}
[edit]
interfaces {
so-0/0/0 {
unit 0 {
family inet {
rpf-check fail-filter rpf-special-case-dhcp-bootp;
}
}
}
}
Voir aussi
Comportement spécifique à la plate-forme
Utilisez l’explorateur de fonctionnalités pour confirmer la prise en charge de la plate-forme et de la version pour des fonctionnalités spécifiques.
Utilisez le tableau suivant pour examiner le comportement spécifique à votre plate-forme :
Plate-forme |
Différence |
|---|---|
Routeurs ACX Series sous Junos OS Evolved |
Lorsque l’IP source est résolue via un groupe ECMP, RPF fonctionne en mode libre en remplaçant le paramètre uRPF strict de l’interface sur laquelle le paquet est entrégé. |