高度なMACsec機能の設定
メディアアクセス制御セキュリティ(MACsec)は、イーサネットリンク上のほぼすべてのタイプのトラフィックに安全な通信を提供する業界標準のセキュリティ技術です。MACsecは、直接接続されたノード間のイーサネットリンク上にポイントツーポイントセキュリティを提供し、サービス拒否、侵入、中間者攻撃、なりすまし、受動的盗聴、プレイバック攻撃など、ほとんどのセキュリティ上の脅威を特定して防止することができます。MACsec は IEEE 802.1AE で標準化されています。
暗号化オプションの設定
暗号化アルゴリズムを割り当てる
インターフェイスに出入りするすべてのトラフィックを、次のいずれかのMACsec暗号化アルゴリズムを使用して暗号化できます。
-
gcm-aes-128—拡張パケット番号(XPN)モードを使用しない GCM-AES-128 暗号スイート
-
gcm-aes-256—XPN を使用しない GCM-AES-256 暗号スイート
-
gcm-aes-xpn-128—XPN モードを使用した GCM-AES-XPN_128 暗号スイート
-
gcm-aes-xpn-256—XPN モードを使用した GCM-AES-XPN_256 暗号スイート
MACsec 暗号化が有効で、暗号化アルゴリズムが指定されていない場合、デフォルト(gcm-aes-128)暗号化アルゴリズムが XPN モードなしで使用されます。
40G および 100G リンクで MACsec を使用する場合は、XPN を使用することを強くお勧めします。
-
XPNモードの暗号化アルゴリズムは、MXシリーズMPC7E-10Gルーターではサポートされていません。
-
MIC-3D-20GE-SFP-E および MIC-3D-20GE-SFP-EH では、GCM-AES-128 のみがサポートされています。
[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)
たとえば、 ca1
という名前の接続アソシエーションで GCM-AES-XPN-128 アルゴリズムを使用して暗号化する場合は、次のようにします。
[edit security macsec connectivity-association ca1] user@host# set cipher-suite gcm-aes-xpn-128
暗号化の無効化
MACsecのデフォルトの動作は、リンクを通過するトラフィックを暗号化することです。エンドポイントの認証とリンクの整合性の保証にのみMACsecを使用したい場合は、暗号化を無効にすることができます。これは整合性のみモードと呼ばれます。整合性のみモードは、MACsec を複数のホップで伝送する際に、暗号化されていないペイロードを表示させる必要がある場合に便利です。
暗号化を無効にすると、トラフィックはクリアテキストでイーサネットリンクを介して転送されます。リンクを監視する場合、リンクを通過するイーサネット フレームで暗号化されていないデータを表示できます。ただし、MACsecヘッダーは引き続きフレームに適用され、すべてのMACsecデータ整合性チェックがリンクの両端で実行され、リンクで送受信されるトラフィックが改ざんされておらず、セキュリティ上の脅威ではないことを確認します。
暗号化を無効にするには、次のコマンドを使用します。
[edit security macsec connectivity-association connectivity-association-name] user@host# set no-encryption
オフセットを設定する
オフセットは、完全な暗号化と暗号化なしのどちらかのオプションを提供します。ペイロードの設定バイト数を公開し、残りを暗号化するようにオフセットを構成します。これは、中間ロードバランシングや、スイッチツーホストリンクの場合、ホストでの負荷分散に使用できます。
デフォルトのオフセットは 0 です。暗号化が有効で、 offset
が設定されていない場合、接続性アソシエーション内のすべてのトラフィックが暗号化されます。
オフセットを 30 に設定すると、IPv4 ヘッダーと TCP/UDP ヘッダーは暗号化されず、残りのトラフィックは暗号化されます。オフセットを 50 に設定すると、IPv6 ヘッダーと TCP/UDP ヘッダーは暗号化されず、残りのトラフィックは暗号化されます。
通常、機能が機能を実行するためにオクテット内のデータを確認する必要がある場合は、最初の 30 オクテットまたは 50 オクテットを暗号化せずにトラフィックを転送しますが、それ以外の場合は、リンクを通過するフレームの残りのデータを暗号化します。特にロード バランシング機能では、通常、トラフィックを適切にロード バランシングするために、最初の 30 オクテットまたは 50 オクテットの IP ヘッダーと TCP/UDP ヘッダーを確認する必要があります。
オフセットを設定するには、次のコマンドを使用します。
[edit security macsec connectivity-association connectivity-association-name] user@host# set offset (0 | 30 | 50)
たとえば、 ca1
という名前の接続性の関連付けでオフセットを 30 に設定する場合:
[edit security macsec connectivity-association ca1] user@host# set offset 30
フェール オープン モードでの MACsec 鍵合意プロトコルの設定
MACsecのフェールオープンモードを設定して、MKAセッションが非アクティブのときにトラフィックがドロップされるのを防ぐことができます。これは、情報セキュリティよりもネットワークの可用性を優先するサービスプロバイダに推奨されます。
MACsecは、MACsecで保護されたリンクで送信されるイーサネットフレームにMACsecヘッダーを付加することで、データの整合性を維持します。MKA セッションがアクティブな場合、MACsec ヘッダーを持つフレームに対してのみリンク上のトラフィックが許可されます。MKA セッションが非アクティブの場合、フレームは MACsec ヘッダーを受信しません。イングレスとエグレスの両方のすべてのトラフィックがドロップされます。唯一の例外は EAPoL トラフィックです。
フェールオープンモードは、 should-secure
CLIステートメントを使用して設定できます。これにより、MKAセッションが非アクティブの場合でも、MACsecで保護されたリンク上のトラフィックが許可されます。トラフィックは、MACsecヘッダーなしのクリアテキストとして送信されます。
MKA プロトコルをフェール オープン モードで設定するには:
[edit security macsec connectivity-association connectivity-association-name] user@host# set mka should-secure;
リプレイ防御の設定
MACsecは、MACsecで保護されたリンク上の各パケットにID番号を割り当てます。リプレイ防御が有効になっている場合、受信インターフェイスはMACsecで保護されたリンクを通過したすべてのパケットのID番号をチェックします。パケットが順不同で到着し、パケット番号の差がリプレイ防御ウィンドウ サイズを超えた場合、受信インターフェイスはそのパケットをドロップします。
例えば、リプレイ保護ウィンドウのサイズが 5 に設定されていて、ID 1006 が割り当てられたパケットが ID 1000 を割り当てられたパケットの直後に受信リンクに到着した場合、ID 1006 のパケットはリプレイ保護ウィンドウの範囲外になるためドロップされます。
リプレイ防御は、中間者攻撃への対策に役立ちます。イーサネットリンク上で中間者攻撃者がリプレイしたパケットは、順序どおりに受信リンクに到着するため、リプレイ保護により、再生されたパケットがネットワーク経由で転送されるのではなく、ドロップされるようにすることができます。
再生ウィンドウのサイズを 0 に設定することで、すべてのパケットが順番に到着するように要求できます。パケットが順不同で到着することが予想される場合には、リプレイ保護を有効にしないでください。
リプレイ防御を有効にするには、次のコマンドを使用します。
[edit security macsec connectivity-association connectivity-association-name] user@host# set replay-protect replay-window-size number-of-packets
たとえば、接続アソシエーション ca1
でウィンドウ サイズ 5 のリプレイ保護を有効にするには:
[edit security macsec connectivity-association ca1] user@host# set replay-protect replay-window-size 5
制限付き遅延保護の設定
制限付き遅延保護を設定して、2 秒以上の遅延後にメディア アクセス制御セキュリティ(MACsec)フレームが配信されないようにすることができます。これにより、中間者攻撃によるMACsecフレームの遅延が検出されないことがわかります。
制限付き遅延保護を構成する場合は、リプレイ保護も構成する必要があります。これは、重複パケットおよびリプレイパケットが許可されるウィンドウです。制限付き遅延は、リプレイ保護よりも優先されます。制限付き遅延保護の効果を高めるには、ウィンドウ サイズの値を小さくします。
制限付き遅延保護を構成する前に、リプレイ保護を構成する必要があります。 リプレイ防御の設定を参照してください。
制限付き遅延保護を設定するには、次のコマンドを使用します。
[edit security macsec connectivity-association connectivity-association-name mka] user@host# set bounded-delay
制限された遅延は CPU 使用率に影響を与え、パフォーマンスを低下させる可能性があります。有界遅延は、どうしても必要なインターフェイスでのみ設定することを推奨します。
フォールバック PSK による MACsec の設定
静的 CAK セキュリティ モードを使用して MACsec を有効にすると、ポイントツーポイント イーサネット リンクの両端のデバイス間で事前共有鍵(PSK)が交換されます。PSK には、接続性アソシエーション名(CKN)と接続性アソシエーション キー(CAK)が含まれています。MACsecセッションを確立するには、PSKがデバイス間で一致する必要があります。不一致がある場合、セッションは確立されず、すべてのパケットがドロップされます。
プライマリ PSK が接続の確立に失敗した場合のトラフィック損失を防ぐために、フォールバック PSK を設定することができます。フォールバック PSK は、最初の MACsec ネゴシエーションで主キーが一致しない場合に使用されます。
MACsecセッションがすでに確立されていて、プライマリPSKが一方のデバイスで変更され、もう一方のデバイスでは変更されていない場合、結果として生じる不一致は、古いプライマリPSKを使用して解決されます。古いプライマリ PSK は、前述の PSK と呼ばれる一時キーです。
フォールバックPSKが設定されていると、次のいずれかのキーでMACsecセッションをセキュリティで保護できます。
プライマリPSK(設定可能)- 優先キー。
フォールバックPSK(設定可能):プライマリPSKがMACsecセッションの確立に失敗した場合に使用されます。
先行するPSK(設定不可):新しいプライマリPSKが設定されると、古いプライマリPSKが先行するPSKとなります。
各キーの CAK の状態は、ライブ、アクティブ、または進行中のいずれかです。各ステータスの説明については、 表 1 を参照してください。
CAK ステータス | の説明 |
---|---|
住む |
|
能動 |
|
処理中 |
|
キーの不一致は、MACsecリンクの片側で新しいPSKが設定され、もう一方が誤って設定されているか、新しいキーで設定されていない場合に発生します。フォールバック動作は、PSK のどのコンポーネント (CAK、CKN、またはその両方) が変更されるかによって異なります。各不一致のシナリオを以下に説明します。
CAK が変更され、CKN が同じままである場合、既存の MACsec セッションは切断されます。新しいセッションは、古い CKN と新しい CAK 値で開始されます。
CKN が変更され、CAK が同じままである場合、既存の CAK とペアになっている古い CKN が先行 PSK になり、セッションは先行 PSK でライブになります。新しく作成した CKN と CAK を使用して新しいセッションが開始され、ピア ノードも同じ CKN で設定されるまで進行中になります。
CAK と CKN の両方が変更された場合、古い CAK+CKN のペアが先行する PSK になり、セッションは先行する PSK でライブになります。新しい CAK+CKN ペアで新しいセッションが開始され、ピア ノードも同じ CAK+CKN で設定されるまで進行中です。
先行する PSK はフォールバック PSK よりも優先されるため、セッションが先行する PSK とライブである場合、フォールバック PSK は有効になりません。フォールバック PSK を使用してセッションをライブにする場合は、 disable-preceding-key
ステートメントを構成する必要があります。
フォールバック PSK は、事前共有キーチェーンでサポートされています。フォールバック PSK は、事前共有キーまたは事前共有キーチェーンと共に設定できます。事前共有鍵と事前共有鍵チェーンは相互に排他的です。
フォールバックPSKのみが構成され、プライマリPSKがない場合、両方のデバイスがフォールバックPSKとのセッションの確立を試みます。セッションが立ち上がると、フォールバック PSK から派生した SAK がデータ トラフィックの暗号化に使用されます。確立されたセッションが切断された場合、デバイスはセッションの再確立を試行し続け、セッションが再確立されるまでトラフィックはドロップされます。
フォールバック PSK は、接続アソシエーション (CA) の一部として設定されます。CA は、すべてのインターフェイスに対してグローバルに設定することも、インターフェイスごとに設定することもできます。これにより、インターフェイスごとに異なるフォールバック キーを使用できます。
フォールバック PSK を設定するには、CA の一部として CAK と CKN を構成します。
[edit security macsec connectivity-association ca-name] user@switch# set fallback-key cak key user@switch# set fallback-key ckn key-name
フォールバック PSK 構成には、次の制限が適用されます。
フォールバック CAK と CKN は、事前共有キー CKN と CAK、または同じ CA のキーチェーンで構成されているキーと一致しないようにする必要があります。
フォールバック キーを構成するには、セキュリティ モード構成が存在する必要があります。
構成された暗号スイートのキー長の制限は、フォールバック CAK と CKN に適用されます。
GRES による MACsecの設定
グレースフル スイッチオーバー(GRES)機能により、冗長ルーティング エンジンを搭載したスイッチまたはルーターは、1 つのルーティング エンジン(RE)に障害が発生した場合でも、パケットの転送を継続できます。REスイッチオーバー中に中断のないサービスを提供するようにMACsecを設定できます。
MACsec Key Agreement(MKA)プロトコルは、ポイントツーポイントMACsecリンク上の2つのノード間のMACsecセッションを維持します。MKAプロトコルは、2つのノード間のコントロールプレーンレベルで動作します。1 つのノードが鍵サーバーとして機能し、セキュア・アソシエーション鍵 (SAK) を生成してリンクを保護します。
ローカル ノードが RE スイッチオーバーを開始すると、コントロール プレーンでの MACsec セッションを中断するようにリモート ピア ノードに要求が送信されます。データ プレーンでは、一時停止中もトラフィックはポイントツーポイント リンクを通過し続けます。サスペンド前にプログラムされた SAK は、スイッチオーバーが完了するまで使用され続けます。スイッチオーバー後、鍵サーバーはリンクを保護するための新しい SAK を生成します。鍵サーバーは、MACsec が使用可能になっている限り、リンク上で SAK を定期的に作成および共有し続けます。
MACsec に対して GRES を有効にするには、RE スイッチオーバー時に一時停止要求を送信するように、ローカル ノードで suspend-for
ステートメントを設定する必要があります。また、 suspend-on-request
ステートメントを使用して、中断要求を受け入れるように鍵サーバーとして機能するノードを構成する必要もあります。それ以外の場合、鍵サーバーは中断要求を拒否し、MACsec セッションが終了します。
suspend-for
ステートメントと suspend-on-request
ステートメントを設定する場合、GRES とノンストップ ルーティングも設定する必要があります。
GRES 中は、次の MACsec 機能が無効になります。
-
プライマリ、フォールバック、または先行キーの切り替え。
-
キーチェーンキースイッチ。
-
SAK キー更新タイマー。
MACsec に対して GRES を有効にするには、ローカル ノードで次の設定を使用します。