Option d’authentification TCP (TCP-AO)
RÉSUMÉ Découvrez l’option d’authentification TCP (TCP-AO) pour les sessions BGP et LDP.
TCP-AO pour les sessions BGP et LDP
Les protocoles BGP et LDP utilisent TCP pour le transport. TCP-AO est une nouvelle méthode d’authentification proposée par RFC5925, L’option d’authentification TCP pour améliorer la sécurité et l’authenticité des segments TCP échangés pendant les sessions BGP et LDP. Il prend également en charge le trafic IPv4 et IPv6.
Avantages de TCP-AO
TCP-AO offre les avantages suivants par rapport à TCP MD5 :
-
Algorithmes plus forts : prend en charge plusieurs algorithmes d’authentification plus forts tels que HMAC-SHA-1-96 et AES-128-CMAC-96 (mandaté par RFC5925, The TCP Authentication Option). HMAC-SHA-1-96 est un MAC basé sur le hachage et AES-128-CMAC-96 est un MAC basé sur le chiffrement, ce qui rend le résumé des messages plus complexe et plus sécurisé que le digest créé à l’aide de l’algorithme MD5.
-
Double sécurité : dans la méthode TCP-AO, l’algorithme d’authentification configuré est utilisé en deux étapes : une fois pour générer une clé de trafic interne à partir d’une clé configurée par l’utilisateur, puis pour générer un résumé de message à l’aide de la clé de trafic générée, tandis que dans la méthode TCP MD5, l’algorithme MD5 génère un résumé de message à l’aide de sa clé configurée par l’utilisateur.
-
Amélioration de la gestion des clés et de l’agilité : vous pouvez configurer jusqu’à 64 clés pour une session et les ajouter à tout moment de la durée de vie d’une session. Il fournit un mécanisme de coordination de clé simple en permettant de changer les clés (passer d’une clé à une autre) au sein de la même connexion sans provoquer de fermeture de connexion TCP. La modification des clés TCP MD5 pendant une connexion établie peut entraîner un rabat ou un redémarrage de la connexion.
-
Convient aux connexions de longue durée : convient mieux aux connexions de longue durée pour des protocoles de routage tels que BGP et LDP et sur des instances répétées d’une seule connexion.
Qu’est-ce que TCP-AO ?
TCP-AO fournit un cadre pour :
-
Prenez en charge plusieurs algorithmes plus forts, tels que HMAC-SHA1 et AES-128 pour créer une clé de trafic interne et un résumé des messages.
-
Ajoutez une nouvelle clé configurée par l’utilisateur pour régénéler les clés de trafic interne pour une connexion établie et un mécanisme permettant de synchroniser les modifications de clé entre les pairs BGP ou LDP.
Dans les versions précédentes, les équipements Junos ne supportaient que la méthode d’authentification TCP MD5 pour les sessions BGP et LDP. La méthode MD5 ne prend en charge que l’algorithme MD5, qui est moins sécurisé que TCP-AO. En outre, la modification d’une clé MD5 perturbe normalement la session TCP, contrairement à TCP-AO. Le protocole TCP MD5 est défini dans la RFC2385, Protection des sessions BGP via l’option de signature TCP MD5. Pour plus d’informations sur TCP MD5, voir TCP.
-
Bien que les équipements Junos prennent en charge à la fois les méthodes d’authentification TCP-AO et TCP MD5, vous ne pouvez pas utiliser les deux en même temps pour une connexion donnée.
-
TCP-AO prend en charge le routage actif sans interruption.
Le diagramme suivant explique la différence entre TCP-AO et l’authentification TCP MD5. Le premier flux affiche le flux de configuration et de traitement de TCP-AO et le deuxième flux indique le flux de configuration et de traitement pour TCP-MD5.

Vous trouverez ci-dessous une explication des flux de traitement illustrés en figure 1 :
-
TCP-AO : l’utilisateur a configuré deux clés dans le trousseau (clé 0 et clé 1) avec tous les paramètres requis. Le trousseau prend en charge deux algorithmes : HMAC SHA1 et AES-128 (obligatoire selon la RFC5925). TCP récupère la clé 0, qui est la clé actuellement active, comme le montre l’horodatage de la figure. Dans l’exemple, la clé 0 est configurée avec HMAC-SHA1.
SHA1 prend les paramètres spécifiques au chiffrement du « secret » (de la configuration clé 0) et de la connexion et génère une clé de trafic interne.
SHA1 chiffre à nouveau la clé de trafic interne et le segment TCP pour générer le résumé des messages. Le résumé est copié dans le champ MAC TCP-AO de l’option TCP-AO du segment TCP. Le segment est ensuite envoyé à l’équipement de réception.
-
TCP-MD5 : l’utilisateur a configuré une seule clé car l’option TCP MD5 ne prend en charge qu’une seule clé pour une connexion. De plus, il ne prend en charge que l’algorithme MD5. L’algorithme MD5 extrait le « secret » de la clé et du segment TCP pour le chiffrement et génère un résumé des messages. Ce résumé de message est ensuite copié dans le champ de synthèse MD5 du segment TCP et envoyé à l’équipement de réception.
Configuration
Tout d’abord, configurez un trousseau. Appliquez ensuite TCP-AO à la session BGP ou LDP.
Pour configurer une chaîne de clés pour TCP-AO (avec une clé), configurez l’instruction suivante au niveau de la [edit security]
hiérarchie.
[edit security] user@router# set authentication-key-chains key-chain key-chain key id secret secretpassword start-time YYYY-MM-DD.HH:MM algorithm ao ao-attribute send-id send-id recv-id recv-id cryptographic-algorithm cryptographic-algorithm tcp-ao-option enabled
Pour appliquer TCP-AO à une session BGP (avec le trousseau configuré), configurez l’instruction suivante au niveau hiérarchique [edit protocols]
.
[edit protocols] user@router# set bgp group group neighbor neighbor authentication-algorithm ao user@router# set bgp group group neighbor neighbor authentication-key-chain key-chain
Pour appliquer TCP-AO à une session LDP (avec le trousseau configuré), configurez l’instruction suivante au niveau de la [edit protocols]
hiérarchie.
[edit protocols] user@router# set ldp session session authentication-algorithm ao user@router# set ldp session session authentication-key-chain key-chain
Exemple : configurer un trousseau (TCP-AO)
RÉSUMÉ Cet exemple vous montre comment créer un trousseau TCP-AO pour authentifier une session BGP ou LDP.
Cet exemple utilise les composants matériels et logiciels suivants :
Routeurs MX Series ou PTX Series.
Junos OS Version 20.3R1 ou version ultérieure.
Cet exemple vous montre comment créer un trousseau TCP-AO pour authentifier une session BGP ou LDP.
Dans cet exemple, vous pouvez créer un trousseau new_auth_key
avec deux clés et key 0
key 1
sur les équipements R1 et R2.
Vous avez créé un porte-clés avec succès !
Pour supprimer un trousseau, utilisez la delete security authentication-key-chains key-chain key-chain-name
commande du mode de configuration.
-
Vous ne pouvez associer qu’un seul trousseau TCP-AO à une session BGP ou LDP pendant sa durée de vie. Vous ne pouvez pas rediriger un autre chaîne clé vers la session dans son temps de vie.
-
Nous recommandons un intervalle d’au moins 30 minutes entre le temps de démarrage de deux clés ultérieures dans un trousseau.
-
Une fois qu’une chaîne de clés est configurée et utilisée par une connexion TCP, vous ne pouvez pas modifier la ou
recv-id
lessend-id
valeurs de sa clé active. Toutefois, vous pouvez modifier les autres paramètres de la clé, et toute nouvelle connexion associée au trousseau mis à jour prendra les paramètres mis à jour pour l’établissement de sa connexion. -
À partir de la version 21.2R1 de Junos OS, vous pouvez utiliser le
tcpao-auth-mismatch allow-without-tcpao
pour autoriser l’établissement de la connexion sans TCP-AO si un point de terminaison TCP n’est pas configuré sur celui-ci.
Pour afficher des informations sur les keychains existants (le cas échéant) du mode opérationnel, utilisez la show security keychain
commande. Voici un exemple de sortie :
user@R1> show security keychain
Keychain Active-ID Next-ID Transition Tolerance Send Receive Send Receive new_auth_key 1 1 None None None 3600 (secs)
Exemple : utiliser TCP-AO pour authentifier une session BGP
RÉSUMÉ Cet exemple vous montre comment authentifier une session BGP à l’aide d’un trousseau d’option d’authentification TCP (TCP-AO).
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
-
Routeurs MX Series ou PTX Series.
-
Junos OS Version 20.3R1 ou version ultérieure.
-
Configurez un trousseau
new_auth_key
. Voir Configurer un trousseau (TCP-AO).
Aperçu
BGP utilise TCP comme protocole de transport. TCP-AO est une méthode que vous pouvez utiliser pour authentifier les sessions BGP. Vous pouvez appliquer un trousseau TCP-AO au niveau du voisin BGP ou au niveau du groupe BGP de la hiérarchie de configuration.
Topologie

Configuration
Dans cet exemple, vous associez le trousseau new_auth_key
d’authentification TCP-AO et l’algorithme ao
d’authentification sur les deux équipements pour authentifier une session BGP.
Configuration rapide cli
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 correspondre à votre configuration réseau, puis copiez et collez les commandes dans la CLI.
R1
[edit] set interfaces ge-0/0/1 description R1-to-R2-Link set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.11/32 set routing-options router-id 192.168.0.11 set routing-options autonomous-system 65500 set protocols bgp group ebgp_grp type external set protocols bgp group ebgp_grp peer-as 65501 set protocols bgp group ebgp_grp neighbor 192.0.2.2 set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-key-chain new_auth_key set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-algorithm ao
R2
[edit] set interfaces ge-0/0/1 description R2-to-R1-Link set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.12/32 set routing-options router-id 192.168.0.12 set routing-options autonomous-system 65501 set protocols bgp group ebgp_grp type external set protocols bgp group ebgp_grp peer-as 65500 set protocols bgp group ebgp_grp neighbor 192.0.2.1 set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-key-chain new_auth_key set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-algorithm ao
Procédure étape par étape
-
Passez en mode configuration.
-
Configurez les paramètres de base tels que l’adresse IP de l’interface, la description de l’interface, une adresse de bouclage, l’ID de routeur, le numéro AS sur les deux équipements.
R1
[edit]
user@R1# set interfaces ge-0/0/1 description R1-to-R2-Link user@R1# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.11/32 user@R1# set routing-options router-id 192.168.0.11 user@R1# set routing-options autonomous-system 65500R2
[edit]
user@R2# set interfaces ge-0/0/1 description R2-to-R1-Link user@R2# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 user@R2# set interfaces lo0 unit 0 family inet address 192.168.0.12/32 user@R2# set routing-options router-id 192.168.0.12 user@R2# set routing-options autonomous-system 65501 -
Configurez un EBGP entre R1 et R2.
R1
[edit]
user@R1# set protocols bgp group ebgp_grp type external user@R1# set protocols bgp group ebgp_grp peer-as 65501 user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2R2
[edit]
user@R2# set protocols bgp group ebgp_grp type external user@R2# set protocols bgp group ebgp_grp peer-as 65500 user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 -
Associez le trousseau
new_auth_key
d’authentification et l’algorithmeao
d’authentification à la session BGP sur les deux équipements.R1
[edit]
user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-key-chain new_auth_key user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-algorithm aoR2
[edit]
user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-key-chain new_auth_key user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-algorithm ao -
Entrez
commit
depuis le mode de configuration sur les deux équipements.Une fois que vous validez les instructions de configuration sur les deux équipements, la session BGP doit établir à l’aide de la méthode d’authentification TCP-AO.
Résultats
Confirmez vos configurations en utilisant le show interfaces
, show routing-options
et show protocols
les commandes du mode de configuration.
user@R1# show interfaces
ge-0/0/1 { description R1-to-R2-Link; unit 0 { family inet { address 192.0.2.1/30; } } } lo0 { unit 0 { family inet { address 192.168.0.11/32; } } }
user@R1# show routing-options
autonomous-system 65500;
user@R1# show protocols
bgp { group ebgp_grp { type external; peer-as 65500; neighbor 192.0.2.1 { authentication-algorithm ao; authentication-key-chain new_auth_key; { { {
bgp { group ebgp_grp { type external; peer-as 65551; neighbor 192.0.2.2 { authentication-algorithm ao; authentication-key-chain new_auth_key; } } }
Vérification
Vérifier l’établissement des sessions BGP
But
Confirmez la sortie de l’établissement des sessions BGP après avoir activé TCP-AO.
Action
Consultez un récapitulatif BGP de l’état de la session BGP avec la commande du show bgp summary
mode opérationnel.
user@R1> show bgp summary Threading mode: BGP I/O Default eBGP mode: advertise - accept, receive - accept Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 0 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.0.2.2 65501 6 4 0 0 1:19 Establ inet.0: 0/0/0/0
Sens
Les valeurs de sortie mises en évidence indiquent que BGP a réussi à établir une session avec la méthode d’authentification TCP-AO il y a 1:19 minute.
Vérifier que la session BGP utilise TCP-AO
But
Vérifiez qu’un voisin BGP est authentifié avec le trousseau TCP-AO.
Action
Utilisez la show bgp neighbor neighbor
commande pour afficher les détails de configuration des pairs BGP. Pour filtrer uniquement les détails spécifiques à l’authentification dans la sortie, utilisez la fonction de pipeline (|) et faites correspondre sur authentication
, comme illustré :
user@R1> show bgp neighbor 192.0.2.2 | match authentication Authentication key chain: new_auth_key Authentication algorithm: ao
Sens
La sortie indique que le trousseau new_auth_key
d’authentification et l’algorithme ao
d’authentification sont appliqués au voisin 192.0.2.2
BGP .
Exemple : utiliser TCP-AO pour authentifier une session LDP
RÉSUMÉ Cet exemple vous montre comment authentifier une session LDP à l’aide d’un trousseau d’option d’authentification TCP (TCP-AO).
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
-
Routeurs MX Series ou PTX Series.
-
Junos OS Version 20.3R1 ou version ultérieure.
-
Configurez un trousseau
new_auth_key
. Voir Configurer un trousseau (TCP-AO).
Aperçu
Le protocole LDP (Label Distribution Protocol) est un protocole de signalisation MPLS. Il permet aux routeurs d’établir des chemins de commutation d’étiquettes (LSP) via un réseau. TCP-AO permet d’améliorer la sécurité des sessions créées entre pairs LDP.

Configuration
Dans cet exemple, vous associez le trousseau new_auth_key
d’authentification TCP-AO et l’algorithme ao
d’authentification aux deux équipements pour authentifier leur session LDP.
Configuration rapide cli
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 correspondre à votre configuration réseau, puis copiez et collez les commandes dans la CLI.
R1
[edit]
set interfaces ge-0/0/1 description R1-to-R2-Link
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 192.168.0.11/32
set routing-options router-id 192.168.0.11
set protocols ldp interface ge-0/0/1.0
set protocols ldp interface lo0.0
set protocols ldp session 192.168.0.12 authentication-algorithm ao
set protocols ldp session 192.168.0.12 authentication-key-chain new_auth_key
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0
R2
[edit]
set interfaces ge-0/0/1 description R2-to-R1-Link
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 192.168.0.12/32
set routing-options router-id 192.168.0.12
set protocols ldp interface ge-0/0/1.0
set protocols ldp interface lo0.0
set protocols ldp session 192.168.0.11 authentication-algorithm ao
set protocols ldp session 192.168.0.11 authentication-key-chain new_auth_key
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0
Procédure étape par étape
-
Passez en mode configuration.
-
Configurez une configuration de base telle que l’interface de l’équipement, le bouclage, la description de l’interface, l’ID du routeur, le numéro AS sur R1 et R2.
R1
[edit]
user@R1# set interfaces ge-0/0/1 description R1-to-R2-Link user@R1# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.11/32 user@R1# set routing-options router-id 192.168.0.11R2
[edit]
user@R2# set interfaces ge-0/0/1 description R2-to-R1-Link user@R2# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 user@R2# set interfaces lo0 unit 0 family inet address 192.168.0.12/32 user@R2# set routing-options router-id 192.168.0.12 -
Configurez MPLS et LDP sur les deux équipements.
R1
[edit]
user@R1# set interfaces ge-0/0/1 unit 0 family mpls user@R1# set protocols ldp interface ge-0/0/1.0 user@R1# set protocols ldp interface lo0.0R2
[edit]
user@R2# set interfaces ge-0/0/1 unit 0 family mpls user@R2# set protocols ldp interface ge-0/0/1.0 user@R2# set protocols ldp interface lo0.0 -
Configurez un protocole IGP (Interior Gateway Protocol) pour annoncer l’accessibilité des adresses de bouclage. Dans cet exemple, nous configurons OSPF.
R1
[edit protocols]
user@R1# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@R1# set ospf area 0.0.0.0 interface lo0.0 passiveR2
[edit protocols]
user@R2# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@R2# set ospf area 0.0.0.0 interface lo0.0 passive -
Associez
authentication-key-chain new_auth_key
etauthentication-algorithm ao
avec l’ID d’espace d’étiquette des R1 et R2.R1
[edit protocols]
user@R1# set ldp session 192.168.0.12 authentication-algorithm ao user@R1# set ldp session 192.168.0.12 authentication-key-chain new_auth_keyR2
[edit protocols]
user@R2# set ldp session 192.168.0.11 authentication-algorithm ao user@R2# set ldp session 192.168.0.11 authentication-key-chain new_auth_key -
Entrez
commit
depuis le mode de configuration sur les deux équipements.
Résultats
Confirmez votre configuration à l’aide des show interfaces
commandes et show routing-options
show protocols
des commandes.
user@R1# show interfaces
ge-0/0/1 { description R1-to-R2-Link; unit 0 { family inet { address 192.0.2.1/30; } } } lo0 { unit 0 { family inet { address 192.168.0.11/32; } } }
user@R1# show routing-options
router-id 192.168.0.11;
user@R1# show protocols
ldp { interface ge-0/0/1.0; interface lo0.0 passive; authentication-algorithm ao; authentication-key-chain new_auth_key; { { ospf { area 0.0.0.0 { interface ge-0/0/1.0; interface lo0.0; { {
Vérification
Vérifier la session LDP
But
Vérifiez l’établissement des sessions LDP avec TCP-AO.
Action
Utilisez la show ldp session detail
commande du mode opérationnel pour vérifier que la session LDP est correctement établie.
user@R1> show ldp session detail Address: 192.168.0.12, State: Operational, Connection: Open, Hold time: 22 Session ID: 192.168.0.11:0--192.168.0.12:0 Next keepalive in 2 seconds Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1 Neighbor types: discovered Keepalive interval: 10, Connect retry interval: 1 Local address: 192.168.0.11, Remote address: 192.168.0.12 Up for 01:11:59 Last down 01:13:12 ago; Reason: authentication key was changed Number of session flaps: 2 Capabilities advertised: none Capabilities received: none Protection: disabled Session flags: none Authentication type: new_auth_key(ao key-chain, 192.168.0.12/32) Local - Restart: disabled, Helper mode: enabled Remote - Restart: disabled, Helper mode: enabled Local maximum neighbor reconnect time: 120000 msec Local maximum neighbor recovery time: 240000 msec Local Label Advertisement mode: Downstream unsolicited Remote Label Advertisement mode: Downstream unsolicited Negotiated Label Advertisement mode: Downstream unsolicited MTU discovery: disabled Nonstop routing state: Not in sync Next-hop addresses received: 192.0.2.2 192.168.0.12 128.49.110.110
Sens
Le résultat indique que la session LDP est établie.
Exemple : utiliser TCP-AO pour authentifier les sessions de validation RPKI
Aperçu
L'infrastructure rpKI (Resource Public Key Infrastructure) est une infrastructure à clé publique conçue pour sécuriser l'infrastructure de routage d'Internet, en particulier le BGP. LE RPKI permet de connecter les informations sur les ressources de numéro Internet, telles que les adresses IP, à une ancre de confiance. En utilisant RPKI, les détenteurs légitimes de ressources nombreuses peuvent contrôler le fonctionnement des protocoles de routage Internet pour empêcher le détournement de route et d’autres attaques.
À partir de la version 22.2R1 de Junos OS, vous pouvez authentifier les sessions RPKI à l’aide de l’option d’authentification TCP (TCP-AO) et du trousseau.
Cet exemple vous montre comment authentifier une session de validation RPKI à l’aide d’un trousseau TCP-AO. Nous établirons une session RPKI authentifiée entre un équipement client (R1) et un serveur (R2).
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
- 2 routeurs MX Series
- Junos OS Version 22.2R1 ou version ultérieure.
Topologie

Configuration
Dans cet exemple, vous devez associer le trousseau new_auth_key
d’authentification TCP-AO et l’algorithme ao
d’authentification sur les deux équipements pour authentifier une connexion RPKI.
Configuration rapide cli
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 correspondre à votre configuration réseau, puis copiez et collez les commandes dans la CLI.
R1
[edit] set system host-name R1 set interfaces ge-0/0/0 description R1-to-R2-Link set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.1/24 set interfaces lo0 unit 0 family inet address 172.16.255.1/32 set routing-options router-id 172.16.255.1 set routing-options autonomous-system 65500 set security authentication-key-chains key-chain new_auth_key key 0 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 0 start-time "2022-5-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 0 algorithm ao set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute send-id 3 set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute recv-id 8 set security authentication-key-chains key-chain new_auth_key key 1 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 1 start-time "2022-6-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 1 algorithm ao set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute send-id 1 set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute recv-id 2 set routing-options validation group to_servers session 192.168.12.2 port 8282 set routing-options validation group to_servers session 192.168.12.2 authentication-algorithm ao set routing-options validation group to_servers session 192.168.12.2 authentication-key-chain new_auth_key
R2
[edit] set system host-name R2 set logical-systems rv_server_1 interfaces ge-0/0/0 unit 0 family inet address 192.168.12.2/24 set interfaces lo0 unit 0 family inet address 172.16.255.2/32 set routing-options router-id 172.16.255.2 set routing-options autonomous-system 65501 set logical-systems rv_server_1 routing-options validation local-cache listen-port 8282 set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-cache set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-address 192.168.12.2 set security authentication-key-chains key-chain new_auth_key key 0 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 0 start-time "2022-5-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 0 algorithm ao set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute send-id 8 set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute recv-id 3 set security authentication-key-chains key-chain new_auth_key key 1 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 1 start-time "2022-6-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 1 algorithm ao set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute send-id 2 set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute recv-id 1 set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-algorithm ao set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-key-chain new_auth_key
Procédure étape par étape
-
Configurez les paramètres de base tels que les interfaces, une adresse de bouclage, l’ID de routeur et le numéro AS sur les deux équipements. Sur R2, nous configurons l’interface des systèmes logiques pour le serveur.
R1
[edit] user@R1# set system host-name R1 user@R1# set interfaces ge-0/0/0 description R1-to-R2-Link user@R1# set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.1/24 user@R1# set interfaces lo0 unit 0 family inet address 172.16.255.1/32 user@R1# set routing-options router-id 172.16.255.1 user@R1# set routing-options autonomous-system 65500
R2
[edit] user@R2# set system host-name R2 user@R2# set logical-systems rv_server_1 interfaces ge-0/0/0 unit 0 family inet address 192.168.12.2/24 user@R2# set interfaces lo0 unit 0 family inet address 172.16.255.2/32 user@R2# set routing-options router-id 172.16.255.2 user@R2# set routing-options autonomous-system 65501
-
Configurez une session TCP sur l’équipement client (R1) avec le serveur RPKI (R2) avec un autre numéro de port TCP.
R1
[edit] user@R1# set routing-options validation group to_servers session 192.168.12.2 port 8282
-
Sur le serveur R2, configurez une session RPKI avec le client R1 pour la validation de l’origine.
[edit] user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-cache user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-address 192.168.12.2
-
Créez un trousseau
new_auth_key
avec la première clé (clé 0) :R1
[edit security] user@R1# set authentication-key-chains key-chain new_auth_key key 0 secret secretpassword start-time 2022-5-18.04:00 algorithm ao ao-attribute send-id 3 recv-id 8
R2 (avec inversion des valeurs send-id et recv-id)
[edit security] user@R2# set authentication-key-chains key-chain new_auth_key key 0 secret secretpassword start-time 2022-5-18.04:00 algorithm ao ao-attribute send-id 8 recv-id 3
-
Pour ajouter une autre clé (clé 1), après avoir créé la clé 0 :
R1
[edit security authentication-key-chains key-chain new_auth_key] user@R1# set key 1 secret secretpassword start-time 2022-6-18.04:00 algorithm ao ao-attribute send-id 1 recv-id 2
R2 (avec inversion des valeurs send-id et recv-id)
[edit security authentication-key-chains key-chain new_auth_key] user@R2# set key 1 secret secretpassword start-time 2022-6-18.04:00 algorithm ao ao-attribute send-id 2 recv-id 1
-
Appliquez le trousseau
new_auth_key
et l’algorithmeao
d’authentification configurés à la fois sur R1 et R2.R1
[edit] user@R1# set routing-options validation group to_servers session 192.168.12.2 authentication-algorithm ao user@R1# set routing-options validation group to_servers session 192.168.12.2 authentication-key-chain new_auth_key
R2
[edit] user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-algorithm ao user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-key-chain new_auth_key
-
Entrez
commit
depuis le mode de configuration sur les deux équipements pour activer vos modifications. -
Pour vérifier le trousseau
new_auth_key
avec les deux clés configurées, utilisez lashow security authentication-key-chains
commande du mode de configuration.
Résultats
Vérifiez les résultats de la configuration du trousseau sur R1 :
user@R1# show security authentication-key-chains
key-chain new_auth_key { key 0 { secret "$ABC123"; ## SECRET-DATA start-time "2022-5-18.04:00:00 -0700"; algorithm ao; ao-attribute { send-id 3; recv-id 8; } } key 1 { secret "$ABC123"; ## SECRET-DATA start-time "2022-6-18.04:00:00 -0700"; algorithm ao; ao-attribute { send-id 1; recv-id 2; } } }
Confirmez les configurations restantes appliquées sur R1 à l’aide des commandes suivantes :
user@R1# show interfaces
ge-0/0/0 { description R1-to-R2-Link; unit 0 { family inet { address 192.168.12.1/24; } } } lo0 { unit 0 { family inet { address 172.16.255.1/32; } } }
user@R1# show routing-options
router-id 172.16.255.1; autonomous-system 65500; validation { group to_servers { session 192.168.12.2 { authentication-algorithm ao; authentication-key-chain new_auth_key; port 8282; } } }
Vérification
But
Vérifiez que la session est établie à l’aide de l’algorithme et du trousseau TCP-AO configurés sur les deux pairs.
Action
Affichez une session validée à l’aide de la commande du show validation session 192.168.12.2 detail
mode opérationnel.
user@R1> show validation session 192.168.12.2 detail Session 192.168.12.2, State: up, Session index: 2 Group: to_servers, Preference: 100 Port: 8282 Refresh time: 300s Hold time: 600s Record Life time: 3600s Serial (Full Update): 6 Serial (Incremental Update): 6 Authentication key-chain: new_auth_key Session flaps: 1 Session uptime: 2d 01:40:05 Last PDU received: 00:04:59 IPv4 prefix count: 0 IPv6 prefix count: 0
Sens
La sortie indique que la session est en cours avec le trousseau new_auth_key
configuré .