Configuration des fonctionnalités avancées de MACsec
La sécurité MACsec (Media Access Control Security) est une technologie de sécurité standard qui sécurise les communications pour presque tous les types de trafic sur les liaisons Ethernet. MACsec assure la sécurité point à point sur les liaisons Ethernet entre les nuds directement connectés et est capable d’identifier et de prévenir la plupart des menaces de sécurité, notamment le déni de service, les intrusions, l’interception, l’usurpation d’identité, les écoutes passives et les attaques de lecture. MACsec est normalisé dans la norme IEEE 802.1AE.
Configurer les options de chiffrement
Affectation d’un algorithme de chiffrement
Vous pouvez chiffrer tout le trafic entrant ou sortant de l’interface à l’aide de l’un des algorithmes de chiffrement MACsec suivants :
-
gcm-aes-128 : suite de chiffrement GCM-AES-128 sans mode XPN (Extended Packet Numbering)
-
gcm-aes-256 : suite de chiffrement GCM-AES-256 sans XPN
-
gcm-aes-xpn-128 : suite de chiffrement GCM-AES-XPN_128 avec mode XPN
-
gcm-aes-xpn-256 : suite de chiffrement GCM-AES-XPN_256 avec mode XPN
Si le chiffrement MACsec est activé et qu’aucun algorithme de chiffrement n’est spécifié, l’algorithme de chiffrement par défaut (gcm-aes-128) est utilisé sans le mode XPN.
Nous vous recommandons vivement d’utiliser XPN lorsque vous utilisez MACsec sur des liaisons 40G et 100G.
-
Les algorithmes de chiffrement en mode XPN ne sont pas pris en charge sur les routeurs MX-series MPC7E-10G.
-
Seul GCM-AES-128 est pris en charge sur MIC-3D-20GE-SFP-E et MIC-3D-20GE-SFP-EH.
[edit security macsec connectivity-association <varname>connectivity-association-name</varname>] user@host# set cipher-suite (gcm-aes-128 | gcm-aes-256 | gcm-aes-xpn-128 | gcm-aes-xpn-256)
Par exemple, si vous souhaitez chiffrer à l’aide de l’algorithme GCM-AES-XPN-128 dans l’association de connectivité nommée ca1
:
[edit security macsec connectivity-association ca1] user@host# set cipher-suite gcm-aes-xpn-128
Désactiver le chiffrement
MACsec chiffre par défaut le trafic qui traverse la liaison. Vous pouvez désactiver le chiffrement si vous souhaitez utiliser MACsec uniquement pour authentifier un point de terminaison et garantir l’intégrité de la liaison. C’est ce qu’on appelle le mode intégrité uniquement. Le mode Intégrité uniquement est utile si vous avez besoin que la charge utile non chiffrée soit visible lors du transport MACsec sur plusieurs sauts.
Lorsque vous désactivez le chiffrement, le trafic est transféré en texte clair sur la liaison Ethernet. Vous pouvez afficher des données non chiffrées dans la trame Ethernet qui traverse la liaison lorsque vous la surveillez. L’en-tête MACsec est toutefois toujours appliqué à la trame et toutes les vérifications d’intégrité des données MACsec sont exécutées aux deux extrémités de la liaison pour s’assurer que le trafic envoyé ou reçu sur la liaison n’a pas été altéré et ne représente pas une menace pour la sécurité.
Pour désactiver le chiffrement, utilisez la commande suivante :
[edit security macsec connectivity-association connectivity-association-name] user@host# set no-encryption
Configuration d’un décalage
L’offset offre une option entre l’encodage complet et l’absence de chiffrement. Configurez un décalage pour exposer un nombre défini d’octets de la charge utile et chiffrer le reste. Cela pourrait être utilisé pour l’équilibrage de charge intermédiaire ou pour la distribution de charge au niveau de l’hôte, dans le cas de liaisons commutateur à hôte.
Le décalage par défaut est 0. Tout le trafic de l’association de connectivité est chiffré lorsque le chiffrement est activé et qu’un n’est offset
pas défini.
Lorsque le décalage est défini sur 30, l’en-tête IPv4 et l’en-tête TCP/UDP ne sont pas chiffrés tandis que le reste du trafic est chiffré. Lorsque le décalage est défini sur 50, l’en-tête IPv6 et l’en-tête TCP/UDP ne sont pas chiffrés tandis que le reste du trafic est chiffré.
En règle générale, vous transférez le trafic avec les 30 ou 50 premiers octets non chiffrés si une entité a besoin de voir les données dans les octets pour exécuter une fonction, mais vous préférez autrement chiffrer les données restantes dans les trames traversant le lien. Les fonctionnalités d’équilibrage de charge, en particulier, ont généralement besoin de voir les en-têtes IP et TCP/UDP dans les 30 ou 50 premiers octets pour équilibrer correctement la charge du trafic.
Pour configurer un décalage, utilisez la commande suivante :
[edit security macsec connectivity-association connectivity-association-name] user@host# set offset (0 | 30 | 50)
Par exemple, si vous souhaitez définir le décalage sur 30 dans l’association de connectivité nommée ca1
:
[edit security macsec connectivity-association ca1] user@host# set offset 30
Configuration du protocole d’accord de clé MACsec en mode d’ouverture sans faille
Vous pouvez configurer le mode d’échec d’ouverture pour MACsec afin d’empêcher la perte de trafic lorsque la session MKA est inactive. Cette option est recommandée pour les fournisseurs de services qui privilégient la disponibilité du réseau à la sécurité de l’information.
MACsec préserve l’intégrité des données en ajoutant un en-tête MACsec aux trames Ethernet transmises sur une liaison sécurisée MACsec. Lorsque la session MKA est active, le trafic est autorisé sur la liaison uniquement pour les trames avec un en-tête MACsec. Lorsque la session MKA est inactive, les trames ne reçoivent pas d’en-tête MACsec. Tout le trafic, entrant et sortant, est abandonné. La seule exception est le trafic EAPoL.
Vous pouvez configurer le mode d’échec d’ouverture à l’aide de l’instruction should-secure
CLI. Cela autorise le trafic sur le lien sécurisé MACsec même lorsque la session MKA est inactive. Le trafic est transmis en texte clair, sans en-têtes MACsec.
Pour configurer le protocole MKA en mode d’ouverture en cas d’échec :
[edit security macsec connectivity-association connectivity-association-name] user@host# set mka should-secure;
Configuration de la protection contre le rejeu
MACsec attribue un numéro d’identification à chaque paquet sur une liaison sécurisée par MACsec. Lorsque la protection contre la relecture est activée, l’interface de réception vérifie le numéro d’identification de tous les paquets qui ont traversé la liaison sécurisée MACsec. Si un paquet arrive hors séquence et que la différence entre les numéros de paquets dépasse la taille de la fenêtre de protection contre la relecture, l’interface de réception abandonne le paquet.
Par exemple, si la taille de la fenêtre de protection contre la relecture est définie sur cinq et qu’un paquet auquel l’ID est 1006 arrive sur le lien de réception immédiatement après que l’ID 1000 ait été attribué au paquet, le paquet avec l’ID 1006 est abandonné car il se trouve en dehors de la fenêtre de protection contre la relecture.
La protection contre le rejeu est utile pour lutter contre les attaques de l’homme du milieu. Un paquet relu par un attaquant de l’intercepteur sur la liaison Ethernet arrivera sur la liaison de réception hors séquence. La protection contre la relecture permet donc de s’assurer que le paquet relu est abandonné au lieu d’être transféré via le réseau.
Vous pouvez exiger que tous les paquets arrivent dans l’ordre en définissant la taille de la fenêtre de relecture sur 0. La protection contre la relecture ne doit pas être activée dans les cas où l’on s’attend à ce que les paquets arrivent dans le désordre.
Pour activer la protection contre le rejeu, utilisez la commande suivante :
[edit security macsec connectivity-association connectivity-association-name] user@host# set replay-protect replay-window-size number-of-packets
Par exemple, pour activer la protection contre la relecture avec une taille de fenêtre de cinq lors de l’association ca1
de connectivité :
[edit security macsec connectivity-association ca1] user@host# set replay-protect replay-window-size 5
Configuration de la protection contre les retards limités
Vous pouvez configurer la protection contre les retards limités pour vous assurer qu’une trame MACsec (Media Access Control Security) ne sera pas livrée après un délai de deux secondes ou plus. Ainsi, un retard de trames MACsec résultant d’une attaque de l’intercepteur ne passe pas inaperçu.
Lorsque vous configurez la protection contre les retards limités, vous devez également configurer la protection contre la relecture. Il s’agit de la fenêtre pendant laquelle les paquets dupliqués et de relecture sont autorisés. Le délai limité est prioritaire sur la protection contre le rejeu. Vous pouvez augmenter l’efficacité de la protection contre les retards limités en configurant une valeur inférieure pour la taille de la fenêtre.
Avant de configurer la protection contre les retards limités, vous devez configurer la protection contre la relecture. Reportez-vous à la section Configuration de la protection contre la relecture.
Pour configurer la protection contre les retards limités, utilisez la commande suivante :
[edit security macsec connectivity-association connectivity-association-name mka] user@host# set bounded-delay
Un délai limité a un impact sur l’utilisation du processeur, ce qui peut dégrader les performances. Nous vous recommandons de ne configurer le délai limité que sur les interfaces sur lesquelles il est absolument nécessaire.
Configuration de MACsec avec PSK de secours
Lorsque vous activez MACsec à l’aide du mode de sécurité CAK statique, une clé prépartagée (PSK) est échangée entre les périphériques à chaque extrémité de la liaison Ethernet point à point. La PSK comprend un nom d’association de connectivité (CKN) et une clé d’association de connectivité (CAK). Pour qu’une session MACsec soit établie, la clé PSK doit correspondre entre les appareils. En cas d’incompatibilité, la session ne sera pas établie et tous les paquets seront abandonnés.
Vous pouvez configurer une clé PSK de secours pour éviter toute perte de trafic au cas où la PSK principale ne parviendrait pas à établir une connexion. La PSK de secours est utilisée lorsque les clés primaires ne correspondent pas à la négociation MACsec initiale.
Si une session MACsec a déjà été établie et que la clé PSK principale est modifiée sur un périphérique mais pas sur l’autre, l’incompatibilité qui en résulte est résolue à l’aide de l’ancienne PSK principale. La PSK principale plus ancienne est une clé temporaire connue sous le nom de PSK précédente.
Lorsque la PSK de secours est configurée, une session MACsec peut être sécurisée à l’aide de l’une des clés suivantes :
PSK primaire (configurable) : clé préférée.
PSK de secours (configurable) : utilisé lorsque la clé PSK principale ne parvient pas à établir une session MACsec.
PSK précédente (non configurable) : lorsqu’une nouvelle PSK principale est configurée, l’ancienne PSK principale devient la PSK précédente.
L’état de la clé CAK pour chaque clé peut être actif, actif ou en cours. Voir le tableau 1 pour une description de chaque statut.
Description de | l’état de la clé CAK |
---|---|
Vivre |
|
Actif |
|
En cours |
|
Une incompatibilité de clés se produit lorsqu’une nouvelle clé PSK est configurée d’un côté de la liaison MACsec et que l’autre côté est mal configuré ou non configuré avec la nouvelle clé. Le comportement de secours dépend des composants de la clé PSK qui sont modifiés (CAK, CKN ou les deux). Chaque scénario d’incompatibilité est décrit ci-dessous :
Si la clé CAK est modifiée et que le CKN reste le même, la session MACsec existante sera déconnectée. Une nouvelle session sera lancée avec l’ancienne valeur CKN et la nouvelle valeur CAK.
Si le CKN est modifié et que le CAK reste le même, l’ancien CKN associé au CAK existant devient la clé PSK précédente, et la session sera active avec la PSK précédente. Une nouvelle session est initiée avec le CKN et le CAK nouvellement créés, qui seront en cours jusqu’à ce que le nœud homologue soit également configuré avec le même CKN.
Si le CAK et le CKN sont modifiés, l’ancienne paire CAK+CKN devient la PSK précédente, et la session sera active avec la PSK précédente. Une nouvelle session est lancée avec la nouvelle paire CAK+CKN, qui sera en cours jusqu’à ce que le nœud homologue soit également configuré avec la même paire CAK+CKN.
La PSK précédente est prioritaire sur la PSK de secours, donc si la session est active avec la PSK précédente, la PSK de secours ne prendra pas effet. Si vous souhaitez que la session soit active avec la clé PSK de secours, vous devez configurer l’instruction disable-preceding-key
.
La PSK de secours est prise en charge pour les trousseaux de clés prépartagés. Vous pouvez configurer une clé PSK de secours avec une clé prépartagée ou avec un trousseau de clés prépartagé. La clé prépartagée et le trousseau prépartagé s’excluent mutuellement.
Si seule une clé PSK de secours est configurée et qu’il n’y a pas de clé PSK principale, les deux périphériques tentent d’établir une session avec la PSK de secours. Si la session est active, le SAK dérivé de la PSK de secours est utilisé pour le chiffrement du trafic de données. Si la session établie est interrompue, les équipements continuent de tenter de rétablir la session et le trafic est abandonné jusqu’à ce que la session soit rétablie.
La PSK de secours est configurée dans le cadre de l’association de connectivité (CA). L’autorité de certification peut être configurée globalement pour toutes les interfaces ou par interface, ce qui permet d’utiliser différentes clés de secours pour différentes interfaces.
Pour configurer la PSK de secours, configurez la clé CA et le CKN dans le cadre de l’autorité de certification :
[edit security macsec connectivity-association ca-name] user@switch# set fallback-key cak key user@switch# set fallback-key ckn key-name
Les restrictions suivantes s’appliquent à la configuration PSK de secours :
Les clés de secours CAK et CKN ne doivent pas correspondre aux clés prépartagées CKN et CAK ou à toute clé configurée dans le trousseau sous la même autorité de certification.
La configuration du mode de sécurité doit être présente pour configurer la clé de secours.
Les restrictions de longueur de clé pour la suite de chiffrement configurée s’appliquent à la CAK et au CKN de secours.
Configuration de MACsec avec GRES
La fonctionnalité GRES (Graceful Switchover) permet à un commutateur ou à un routeur doté de moteurs de routage redondants de continuer à transférer des paquets, même en cas de défaillance d’un moteur de routage (RE). Vous pouvez configurer MACsec pour assurer un service ininterrompu pendant le basculement vers le RE.
Le protocole MACsec Key Agreement (MKA) maintient la session MACsec entre deux nœuds sur une liaison MACsec point à point. Le protocole MKA fonctionne au niveau du plan de contrôle entre les deux nœuds. Un nœud joue le rôle de serveur de clés et génère une clé d’association sécurisée (SAK) pour sécuriser la liaison.
Lorsque le noeud local initie un basculement RE, il envoie une requête au nud homologue distant pour qu’il suspende la session MACsec au niveau du plan de contrôle. Au niveau du plan de données, le trafic continue de traverser la liaison point à point pendant la suspension. Le SAK qui a été programmé avant la suspension reste utilisé jusqu’à ce que le basculement soit terminé. Après le basculement, le serveur de clés génère un nouveau SAK pour sécuriser la liaison. Le serveur de clés continuera à créer et à partager périodiquement un SAK sur la liaison tant que MACsec est activé.
Pour activer GRES pour MACsec, vous devez configurer l’instruction suspend-for
sur le noeud local afin qu’elle envoie une demande de suspension en cas de basculement RE. Vous devez également configurer le nœud agissant en tant que serveur de clés pour qu’il accepte les demandes de suspension à l’aide de l’instruction suspend-on-request
. Dans le cas contraire, le serveur de clés rejette toute demande de suspension, ce qui entraîne l’arrêt de la session MACsec.
Lorsque vous configurez les instructions andsuspend-on-request
, vous devez également configurer GRES suspend-for
et le routage ininterrompu.
Pendant GRES, les fonctionnalités MACsec suivantes sont désactivées :
-
Commutateur à clé primaire, de secours ou précédent.
-
Interrupteur à clé porte-clés.
-
Minuterie de recléage SAK.
Pour activer GRES for MACsec, utilisez la configuration suivante sur le noeud local :