Konfigurieren erweiterter MACsec-Funktionen
Media Access Control Security (MACsec) ist eine branchenübliche Sicherheitstechnologie, die eine sichere Kommunikation für nahezu alle Arten von Datenverkehr auf Ethernet-Verbindungen ermöglicht. MACsec bietet Punkt-zu-Punkt-Sicherheit auf Ethernet-Verbindungen zwischen direkt verbundenen Knoten und ist in der Lage, die meisten Sicherheitsbedrohungen zu erkennen und zu verhindern, einschließlich Denial-of-Service, Eindringling, Man-in-the-Middle, Masquerading, passives Abhören und Wiedergabeangriffe. MACsec ist in IEEE 802.1AE standardisiert.
Konfigurieren von Verschlüsselungsoptionen
Zuweisen eines Verschlüsselungsalgorithmus
Sie können den gesamten Datenverkehr, der in die Schnittstelle ein- oder ausgeht, mit einem der folgenden MACsec-Verschlüsselungsalgorithmen verschlüsseln:
-
gcm-aes-128 - GCM-AES-128 Cipher Suite ohne XPN-Modus (Extended Packet Numbering)
-
gcm-aes-256 – GCM-AES-256-Verschlüsselungssuite ohne XPN
-
gcm-aes-xpn-128 – GCM-AES-XPN_128-Verschlüsselungssuite mit XPN-Modus
-
gcm-aes-xpn-256 – GCM-AES-XPN_256-Verschlüsselungssuite mit XPN-Modus
Wenn die MACsec-Verschlüsselung aktiviert ist und kein Verschlüsselungsalgorithmus angegeben ist, wird der Standardverschlüsselungsalgorithmus (gcm-aes-128) ohne XPN-Modus verwendet.
Wir empfehlen dringend die Verwendung von XPN, wenn MACsec auf 40G- und 100G-Verbindungen verwendet wird.
-
Die Verschlüsselungsalgorithmen mit XPN-Modus werden auf MPC7E-10G-Routern der MX-Serie nicht unterstützt.
-
Auf MIC-3D-20GE-SFP-E und MIC-3D-20GE-SFP-EH wird nur GCM-AES-128 unterstützt.
[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)
Wenn Sie z. B. mit dem Algorithmus GCM-AES-XPN-128 in der Konnektivitätszuordnung mit dem Namen verschlüsseln möchten ca1
:
[edit security macsec connectivity-association ca1] user@host# set cipher-suite gcm-aes-xpn-128
Verschlüsselung deaktivieren
Das Standardverhalten für MACsec besteht darin, den Datenverkehr zu verschlüsseln, der die Verbindung durchläuft. Sie können die Verschlüsselung deaktivieren, wenn Sie MACsec nur zur Authentifizierung eines Endpunkts und zur Gewährleistung der Integrität der Verbindung verwenden möchten. Dies wird als reiner Integritätsmodus bezeichnet. Der Nur-Integritäts-Modus ist nützlich, wenn die unverschlüsselte Nutzlast sichtbar sein soll, wenn MACsec über mehrere Hops übertragen wird.
Wenn Sie die Verschlüsselung deaktivieren, wird der Datenverkehr im Klartext über die Ethernet-Verbindung weitergeleitet. Sie können unverschlüsselte Daten im Ethernet-Frame anzeigen, der die Verbindung durchläuft, wenn Sie sie überwachen. Der MACsec-Header wird jedoch weiterhin auf den Frame angewendet, und alle MACsec-Datenintegritätsprüfungen werden an beiden Enden der Verbindung durchgeführt, um sicherzustellen, dass der über die Verbindung gesendete oder empfangene Datenverkehr nicht manipuliert wurde und keine Sicherheitsbedrohung darstellt.
Verwenden Sie den folgenden Befehl, um die Verschlüsselung zu deaktivieren:
[edit security macsec connectivity-association connectivity-association-name] user@host# set no-encryption
Konfigurieren eines Offsets
Offset bietet eine Option zwischen vollständiger Verschlüsselung und keiner Verschlüsselung. Konfigurieren Sie einen Offset, um eine festgelegte Anzahl von Bytes der Nutzlast verfügbar zu machen und den Rest zu verschlüsseln. Dies kann für das zwischenzeitliche Load Balancing oder für die Lastverteilung auf dem Host im Falle von Switch-to-Host-Verbindungen verwendet werden.
Der Standardversatz ist 0. Der gesamte Datenverkehr in der Konnektivitätszuordnung wird verschlüsselt, wenn die Verschlüsselung aktiviert und an offset
nicht festgelegt ist.
Wenn der Offset auf 30 festgelegt ist, werden der IPv4-Header und der TCP/UDP-Header unverschlüsselt, während der Rest des Datenverkehrs verschlüsselt wird. Wenn der Offset auf 50 festgelegt ist, werden der IPv6-Header und der TCP/UDP-Header unverschlüsselt, während der Rest des Datenverkehrs verschlüsselt wird.
In der Regel leiten Sie Datenverkehr mit den ersten 30 oder 50 Oktetten unverschlüsselt weiter, wenn ein Feature die Daten in den Oktetten sehen muss, um eine Funktion auszuführen, aber ansonsten ziehen Sie es vor, die verbleibenden Daten in den Frames zu verschlüsseln, die die Verbindung durchlaufen. Insbesondere Load Balancing-Funktionen müssen in der Regel die IP- und TCP/UDP-Header in den ersten 30 oder 50 Oktetten sehen, um einen ordnungsgemäßen Lastenausgleich für den Datenverkehr zu gewährleisten.
Verwenden Sie den folgenden Befehl, um einen Offset zu konfigurieren:
[edit security macsec connectivity-association connectivity-association-name] user@host# set offset (0 | 30 | 50)
Wenn Sie z. B. den Offset in der Konnektivitätszuordnung mit dem Namen ca1
auf 30 festlegen möchten:
[edit security macsec connectivity-association ca1] user@host# set offset 30
Konfigurieren des MACsec-Schlüsselvereinbarungsprotokolls im Fail-Open-Modus
Sie können den Fail-Open-Modus für MACsec konfigurieren, um zu verhindern, dass Datenverkehr verworfen wird, wenn die MKA-Sitzung inaktiv ist. Dies wird Service Providern empfohlen, die der Netzwerkverfügbarkeit Vorrang vor der Informationssicherheit einräumen.
MACsec gewährleistet die Datenintegrität, indem ein MACsec-Header an Ethernet-Frames angehängt wird, die über eine MACsec-gesicherte Verbindung übertragen werden. Wenn die MKA-Sitzung aktiv ist, ist Datenverkehr auf der Verbindung nur für Frames mit einem MACsec-Header zulässig. Wenn die MKA-Sitzung inaktiv ist, erhalten Frames keinen MACsec-Header. Der gesamte Datenverkehr, sowohl der ein- als auch der ausgehende, wird verworfen. Die einzige Ausnahme ist der EAPoL-Datenverkehr.
Sie können den Fail-Open-Modus mit der should-secure
CLI-Anweisung konfigurieren. Dies ermöglicht Datenverkehr über die MACsec-gesicherte Verbindung, auch wenn die MKA-Sitzung inaktiv ist. Der Datenverkehr wird im Klartext ohne MACsec-Header übertragen.
So konfigurieren Sie das MKA-Protokoll im Fail Open-Modus:
[edit security macsec connectivity-association connectivity-association-name] user@host# set mka should-secure;
Konfigurieren des Wiedergabeschutzes
MACsec weist jedem Paket auf einer MACsec-gesicherten Verbindung eine ID-Nummer zu. Wenn der Wiedergabeschutz aktiviert ist, überprüft die Empfangsschnittstelle die ID-Nummer aller Pakete, die die MACsec-gesicherte Verbindung durchlaufen haben. Wenn ein Paket außerhalb der Reihenfolge eintrifft und die Differenz zwischen den Paketnummern die Größe des Zeitfensters für den Wiedergabeschutz überschreitet, verwirft die empfangende Schnittstelle das Paket.
Wenn z. B. die Größe des Wiedergabeschutzfensters auf fünf festgelegt ist und ein Paket mit der ID 1006 unmittelbar nach dem Paket mit der ID 1000 auf der Empfangsverbindung eintrifft, wird das Paket mit der ID 1006 verworfen, da es außerhalb des Wiedergabeschutzfensters liegt.
Der Replay-Schutz ist nützlich für die Abwehr von Man-in-the-Middle-Angriffen. Ein Paket, das von einem Man-in-the-Middle-Angreifer auf der Ethernet-Verbindung wiedergegeben wird, kommt außerhalb der Reihenfolge auf der Empfangsverbindung an, sodass der Wiedergabeschutz sicherstellt, dass das wiedergegebene Paket verworfen und nicht über das Netzwerk weitergeleitet wird.
Sie können festlegen, dass alle Pakete in der richtigen Reihenfolge ankommen, indem Sie die Größe des Wiedergabefensters auf 0 festlegen. Der Wiedergabeschutz sollte nicht aktiviert werden, wenn Pakete voraussichtlich nicht in der richtigen Reihenfolge eintreffen.
Verwenden Sie den folgenden Befehl, um den Wiedergabeschutz zu aktivieren:
[edit security macsec connectivity-association connectivity-association-name] user@host# set replay-protect replay-window-size number-of-packets
So aktivieren Sie z. B. den Wiedergabeschutz mit einer Fenstergröße von fünf bei der Konnektivitätszuordnung ca1
:
[edit security macsec connectivity-association ca1] user@host# set replay-protect replay-window-size 5
Konfigurieren des Schutzes vor begrenzter Verzögerung
Sie können den Schutz vor begrenzter Verzögerung konfigurieren, um sicherzustellen, dass ein MACsec-Frame (Media Access Control Security) nicht erst nach einer Verzögerung von zwei Sekunden oder mehr übermittelt wird. Dadurch wird sichergestellt, dass eine Verzögerung von MACsec-Frames infolge eines Man-in-the-Middle-Angriffs nicht unentdeckt bleibt.
Wenn Sie den Schutz vor begrenzter Verzögerung konfigurieren, müssen Sie auch den Wiedergabeschutz konfigurieren. Dies ist das Fenster, in dem Duplikats- und Replay-Pakete zulässig sind. Die begrenzte Verzögerung hat Vorrang vor dem Wiedergabeschutz. Sie können die Effektivität des Schutzes vor begrenzter Verzögerung erhöhen, indem Sie einen niedrigeren Wert für die Fenstergröße konfigurieren.
Bevor Sie den Schutz vor begrenzter Verzögerung konfigurieren, müssen Sie den Wiedergabeschutz konfigurieren. Weitere Informationen finden Sie unter Konfigurieren des Wiedergabeschutzes.
Verwenden Sie den folgenden Befehl, um den Schutz vor begrenzter Verzögerung zu konfigurieren:
[edit security macsec connectivity-association connectivity-association-name mka] user@host# set bounded-delay
Die begrenzte Verzögerung wirkt sich auf die CPU-Auslastung aus, was die Leistung beeinträchtigen kann. Es wird empfohlen, die begrenzte Verzögerung nur für Schnittstellen zu konfigurieren, für die sie unbedingt erforderlich ist.
Konfigurieren von MACsec mit Fallback PSK
Wenn Sie MACsec im statischen CAK-Sicherheitsmodus aktivieren, wird ein vorinstallierter Schlüssel (PSK) zwischen den Geräten an beiden Enden der Punkt-zu-Punkt-Ethernet-Verbindung ausgetauscht. Der PSK enthält einen Konnektivitätszuordnungsnamen (Connectivity Association Name, CKN) und einen Konnektivitätszuordnungsschlüssel (Connectivity Association Key, CAK). Der PSK muss geräteübergreifend übereinstimmen, damit eine MACsec-Sitzung eingerichtet werden kann. Wenn es eine Diskrepanz gibt, wird die Sitzung nicht aufgebaut und alle Pakete werden verworfen.
Sie können einen Fallback-PSK konfigurieren, um Datenverkehrsverluste zu verhindern, falls der primäre PSK keine Verbindung herstellen kann. Der Fallback-PSK wird verwendet, wenn die Primärschlüssel für die anfängliche MACsec-Aushandlung nicht übereinstimmen.
Wenn bereits eine MACsec-Sitzung eingerichtet wurde und der primäre PSK auf einem Gerät geändert wird, auf dem anderen jedoch nicht, wird die resultierende Diskrepanz mithilfe des älteren primären PSK behoben. Der ältere primäre PSK ist ein temporärer Schlüssel, der als vorhergehender PSK bezeichnet wird.
Wenn Fallback-PSK konfiguriert ist, kann eine MACsec-Sitzung mit einem der folgenden Schlüssel gesichert werden:
Primärer PSK (konfigurierbar): Der bevorzugte Schlüssel.
Fallback-PSK (konfigurierbar): Wird verwendet, wenn der primäre PSK keine MACsec-Sitzung aufbauen kann.
Vorgänger-PSK (nicht konfigurierbar): Wenn ein neuer primärer PSK konfiguriert wird, wird der alte primäre PSK zum vorhergehenden PSK.
Der Status des CAK für jeden Schlüssel kann entweder "Live", "Aktiv" oder "In Bearbeitung" sein. In Tabelle 1 finden Sie eine Beschreibung der einzelnen Status.
des | CAK-Status |
---|---|
Leben |
|
Aktiv |
|
In Bearbeitung |
|
Eine Nichtübereinstimmung der Schlüssel tritt auf, wenn auf einer Seite der MACsec-Verbindung ein neuer PSK konfiguriert ist und auf der anderen Seite entweder falsch oder nicht mit dem neuen Schlüssel konfiguriert ist. Das Fallback-Verhalten hängt davon ab, welche Komponenten des PSK geändert werden (CAK, CKN oder beides). Die einzelnen Diskrepanzszenarien werden im Folgenden beschrieben:
Wenn der CAK geändert wird und die CKN gleich bleibt, wird die vorhandene MACsec-Sitzung getrennt. Es wird eine neue Sitzung mit der alten CKN und dem neuen CAK-Wert eingeleitet.
Wenn die CKN geändert wird und die CAK gleich bleibt, wird die alte CKN in Verbindung mit der vorhandenen CAK zur vorhergehenden PSK, und die Sitzung ist mit der vorhergehenden PSK live. Mit dem neu erstellten CKN und dem CAK wird eine neue Sitzung initiiert, die so lange ausgeführt wird, bis auch der Peerknoten mit demselben CKN konfiguriert ist.
Wenn sowohl der CAK als auch der CKN geändert werden, wird das alte CAK+CKN-Paar zum vorhergehenden PSK, und die Sitzung ist mit dem vorhergehenden PSK live. Mit dem neuen Paar CAK+CKN wird eine neue Sitzung initiiert, die so lange ausgeführt wird, bis auch der Peerknoten mit demselben CAK+CKN konfiguriert ist.
Der vorhergehende PSK hat Vorrang vor dem Fallback-PSK, d. h., wenn die Sitzung mit dem vorhergehenden PSK live ist, wird der Fallback-PSK nicht wirksam. Wenn Sie möchten, dass die Sitzung mit dem Fallback-PSK live ist, müssen Sie die disable-preceding-key
Anweisung konfigurieren.
Fallback-PSK wird für vorinstallierte Schlüsselbunde unterstützt. Sie können einen Fallback-PSK zusammen mit einem vorinstallierten Schlüssel oder mit einem vorinstallierten Schlüsselbund konfigurieren. Der vorinstallierte Schlüssel und der vorinstallierte Schlüsselbund schließen sich gegenseitig aus.
Wenn nur ein Fallback-PSK konfiguriert ist und kein primärer PSK vorhanden ist, versuchen beide Geräte, eine Sitzung mit dem Fallback-PSK aufzubauen. Wenn die Sitzung gestartet wird, wird die aus dem Fallback-PSK abgeleitete SAK für die Verschlüsselung des Datenverkehrs verwendet. Wenn die aufgebaute Sitzung unterbrochen wird, versuchen die Geräte weiterhin, die Sitzung wiederherzustellen, und der Datenverkehr wird verworfen, bis die Sitzung wiederhergestellt ist.
Der Fallback-PSK wird als Teil der Konnektivitätszuordnung (Connectivity Association, CA) konfiguriert. Die Zertifizierungsstelle kann global für alle Schnittstellen oder pro Schnittstelle konfiguriert werden, sodass unterschiedliche Fallback-Schlüssel für verschiedene Schnittstellen möglich sind.
Um den Fallback-PSK zu konfigurieren, konfigurieren Sie den CAK und das CKN als Teil der CA:
[edit security macsec connectivity-association ca-name] user@switch# set fallback-key cak key user@switch# set fallback-key ckn key-name
Für die Fallback-PSK-Konfiguration gelten die folgenden Einschränkungen:
Fallback-CAK und -CKN sollten nicht mit dem vorinstallierten Schlüssel CKN und CAK oder einem anderen Schlüssel übereinstimmen, der im Schlüsselbund unter derselben Zertifizierungsstelle konfiguriert ist.
Die Konfiguration des Sicherheitsmodus muss vorhanden sein, um den Fallbackschlüssel zu konfigurieren.
Einschränkungen der Schlüssellänge für die konfigurierte Verschlüsselungssammlung gelten für die Fallback-CAK und -CKN.
Konfigurieren von MACsec mit GRES
Die GRES-Funktion (Graceful Switchover) ermöglicht es einem Switch oder Router mit redundanten Routing-Engines, weiterhin Pakete weiterzuleiten, selbst wenn eine Routing-Engine (RE) ausfällt. Sie können MACsec so konfigurieren, dass während der RE-Umschaltung ein unterbrechungsfreier Dienst bereitgestellt wird.
Das MKA-Protokoll (MACsec Key Agreement) hält die MACsec-Sitzung zwischen zwei Knoten auf einer Punkt-zu-Punkt-MACsec-Verbindung aufrecht. Das MKA-Protokoll arbeitet auf der Ebene der Steuerungsebene zwischen den beiden Knoten. Ein Knoten fungiert als Schlüsselserver und generiert einen Secure Association Key (SAK), um die Verbindung zu sichern.
Wenn der lokale Knoten einen RE-Switchover initiiert, sendet er eine Anforderung an den Remote-Peer-Knoten, um die MACsec-Sitzung auf der Steuerungsebene anzuhalten. Auf der Datenebene durchläuft der Datenverkehr während des Anhaltens weiterhin die Punkt-zu-Punkt-Verbindung. Der SAK, der vor der Unterbrechung programmiert wurde, bleibt so lange in Gebrauch, bis die Umschaltung abgeschlossen ist. Nach der Umstellung generiert der Schlüsselserver eine neue SAK zur Sicherung der Verbindung. Der Schlüsselserver erstellt und teilt in regelmäßigen Abständen eine SAK über die Verbindung, solange MACsec aktiviert ist.
Um GRES für MACsec zu aktivieren, müssen Sie die suspend-for
Anweisung auf dem lokalen Knoten so konfigurieren, dass er im Falle eines RE-Switchovers eine Ansetzungsanforderung sendet. Außerdem müssen Sie den Knoten, der als Schlüsselserver fungiert, so konfigurieren, dass er Aussetzungsanforderungen mithilfe der suspend-on-request
Anweisung akzeptiert. Andernfalls lehnt der Schlüsselserver alle Ansetzungsanforderungen ab, was zur Beendigung der MACsec-Sitzung führt.
Wenn Sie die suspend-for
and-Anweisungen suspend-on-request
konfigurieren, müssen Sie auch GRES und Nonstop-Routing konfigurieren.
Während GRES sind die folgenden MACsec-Funktionen deaktiviert:
-
Primär-, Fallback- oder vorhergehender Schlüsselschalter.
-
Schlüsselanhänger-Schlüsselschalter.
-
SAK-Rekey-Timer.
Um GRES für MACsec zu aktivieren, verwenden Sie die folgende Konfiguration auf dem lokalen Knoten: