Chapitre 36. Utilisation de MACsec pour crypter le trafic de couche 2 dans le même réseau physique
Vous pouvez utiliser MACsec pour sécuriser la communication entre deux appareils (point à point). Par exemple, si votre succursale est reliée au bureau central par une connexion Metro-Ethernet, vous pouvez configurer MACsec sur les deux hôtes qui relient les bureaux afin d'accroître la sécurité.
Media Access Control Security (MACsec) est un protocole de couche 2 qui sécurise différents types de trafic sur les liaisons Ethernet, notamment :
- protocole de configuration dynamique de l'hôte (DHCP)
- le protocole de résolution d'adresses (ARP)
-
Protocole Internet version 4 / 6 (
IPv4
/IPv6
) et - tout trafic sur IP tel que TCP ou UDP
MACsec chiffre et authentifie tout le trafic dans les réseaux locaux, par défaut avec l'algorithme GCM-AES-128, et utilise une clé pré-partagée pour établir la connexion entre les hôtes participants. Si vous souhaitez modifier la clé pré-partagée, vous devez mettre à jour la configuration NM sur tous les hôtes du réseau qui utilisent MACsec.
Une connexion MACsec utilise un périphérique Ethernet, tel qu'une carte réseau Ethernet, un VLAN ou un périphérique tunnel, comme parent. Vous pouvez soit définir une configuration IP uniquement sur le périphérique MACsec pour communiquer avec d'autres hôtes uniquement à l'aide de la connexion cryptée, soit définir également une configuration IP sur le périphérique parent. Dans ce dernier cas, vous pouvez utiliser le dispositif parent pour communiquer avec d'autres hôtes en utilisant une connexion non chiffrée et le dispositif MACsec pour les connexions chiffrées.
MACsec ne nécessite pas de matériel particulier. Par exemple, vous pouvez utiliser n'importe quel commutateur, sauf si vous souhaitez crypter le trafic uniquement entre un hôte et un commutateur. Dans ce cas, le commutateur doit également prendre en charge MACsec.
En d'autres termes, il existe deux méthodes courantes pour configurer MACsec ;
- d'hôte à hôte et
- hôte à basculer puis basculer vers d'autres hôtes
Vous ne pouvez utiliser MACsec qu'entre des hôtes qui se trouvent dans le même réseau local (physique ou virtuel).
36.1. Configuration d'une connexion MACsec à l'aide de nmcli
Vous pouvez configurer les interfaces Ethernet pour utiliser MACsec à l'aide de l'utilitaire nmcli
. Par exemple, vous pouvez créer une connexion MACsec entre deux hôtes connectés par Ethernet.
Procédure
Sur le premier hôte sur lequel vous configurez MACsec :
Créez la clé d'association de connectivité (CAK) et le nom de la clé d'association de connectivité (CKN) pour la clé pré-partagée :
Créer un CAK hexadécimal de 16 octets :
# dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' 50b71a8ef0bd5751ea76de6d6c98c03a
Créer un CKN hexadécimal de 32 octets :
# dd if=/dev/urandom count=32 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' f2b4297d39da7330910a74abc0449feb45b5c0b9fc23df1430e1898fcf1c4550
- Sur les deux hôtes, vous souhaitez établir une connexion MACsec :
Créer la connexion MACsec :
# nmcli connection add type macsec con-name macsec0 ifname macsec0 connection.autoconnect yes macsec.parent enp1s0 macsec.mode psk macsec.mka-cak 50b71a8ef0bd5751ea76de6d6c98c03a macsec.mka-ckn f2b4297d39da7330910a7abc0449feb45b5c0b9fc23df1430e1898fcf1c4550
Utilisez les CAK et CKN générés à l'étape précédente dans les paramètres
macsec.mka-cak
etmacsec.mka-ckn
. Les valeurs doivent être identiques sur chaque hôte du réseau protégé par MACsec.Configurez les paramètres IP de la connexion MACsec.
Configurez les paramètres
IPv4
. Par exemple, pour définir une adresseIPv4
statique, un masque de réseau, une passerelle par défaut et un serveur DNS pour la connexionmacsec0
, entrez :# nmcli connection modify macsec0 ipv4.method manual ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253'
Configurez les paramètres
IPv6
. Par exemple, pour définir une adresseIPv6
statique, un masque de réseau, une passerelle par défaut et un serveur DNS pour la connexionmacsec0
, entrez :# nmcli connection modify macsec0 ipv6.method manual ipv6.addresses '2001:db8:1::1/32' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd'
Activer la connexion :
# nmcli connection up macsec0
Vérification
Vérifiez que le trafic est crypté :
# tcpdump -nn -i enp1s0
Facultatif : Affichez le trafic non crypté :
# tcpdump -nn -i macsec0
Affiche les statistiques MACsec :
# ip macsec show
Afficher les compteurs individuels pour chaque type de protection : intégrité seule (cryptage désactivé) et cryptage (cryptage activé)
# ip -s macsec show