セキュリティ アソシエーションの設定
IPsecサービスを使用するには、ホスト間にSA(セキュリティアソシエーション)を作成します。SA は、2 つのホストが IPsec を使用して相互に安全に通信できるようにするシンプレックス接続です。
OSPFv2とOSPFv3はどちらもIPsec認証をサポートしています。ただし、動的またはトンネルモードのIPsecSAは、OSPFv3ではサポートされていません。[edit protocols ospf3 area area-number interface interface-name]階層レベルでipsec-saステートメントを含めてSAをOSPFv3に追加すると、設定コミットに失敗します。OSPF 認証およびその他の OSPF プロパティの詳細については、Junos OS ルーティングプロトコルライブラリを参照してください。
2種類のSAを設定できます。
手動—ネゴシエーションは必要ありません。キーを含むすべての値は静的であり、設定で指定されます。その結果、各ピアには、通信を行うために同じ設定されたオプションが必要です。
動的—トンネルピアとネゴシエートするプロポーザルを指定します。キーはネゴシエーションの一部として生成されるため、設定で指定する必要はありません。動的SAには、ピアとネゴシエートするプロトコルとアルゴリズムのリストに優先順位を付ける1つ以上の
proposalステートメントが含まれます。
このセクションでは、以下のトピックについて説明します。
手動セキュリティアソシエーションの設定
手動 SA にはネゴシエーションは必要ありません。キーを含むすべての値は静的であり、設定で指定されます。その結果、各ピアには、通信を行うために同じ設定されたオプションが必要です。手動 SA は、鍵の配布、保守、追跡が困難でない、小規模で静的なネットワークに最適です。
手動IPsecセキュリティアソシエーションを設定するには、 [edit services ipsec-vpn rule rule-name term term-name then manual] 階層レベルで以下のステートメントを含めます。
[edit services ipsec-vpn rule rule-name term term-name then manual] direction (inbound | outbound | bidirectional) { authentication { algorithm (hmac-md5-96 | hmac-sha-256-128 | hmac-sha1-96); key (ascii-text key | hexadecimal key); } auxiliary-spi auxiliary-spi-value; encryption { algorithm (3des-cbc | aes-128-cbc | aes-192-cbc | aes-256-cbc | des-cbc);; key (ascii-text key | hexadecimal key); } protocol (ah | esp | bundle); spi spi-value; }
手動SAステートメントを設定するには、以下を実行します。
- IPsec処理の方向の設定
- 手動 IPsec SA のプロトコルの設定
- セキュリティ パラメーター インデックスの設定
- 補助セキュリティ パラメーター インデックスの設定
- 手動 IPsec SA の認証の設定
- 手動 IPsec SA の暗号化の設定
IPsec処理の方向の設定
directionステートメントは、インバウンドまたはアウトバウンドIPsec処理を指定します。方向ごとに異なるアルゴリズム、キー、またはセキュリティパラメーターインデックス(SPI)値を定義したい場合は、inboundとoutboundオプションを設定します。両方向で同じ属性が必要な場合は、bidirectionalオプションを使用します。
IPsec処理の方向を設定するには、[edit services ipsec-vpn rule rule-name term term-name then manual]階層レベルでdirectionステートメントを含めます。
[edit services ipsec-vpn rule rule-name term term-name then manual] direction (inbound | outbound | bidirectional) { ... }
次の 2 つの例はこれを示しています。
例:インバウンド方向とアウトバウンド方向に異なる設定を使用する
方向ごとに異なるアルゴリズム、キー、セキュリティパラメーターインデックス値を定義します。
[edit services ipsec-vpn rule rule-name term term-name then manual] direction bidirectional { protocol ah; spi 20001; authentication { algorithm hmac-md5-96; key ascii-text 123456789012abcd; } } direction outbound { protocol esp; spi 24576; encryption { algorithm 3des-cbc; key ascii-text 12345678901234567890abcd; } }例:インバウンドとアウトバウンドの方向に同じ設定を使用する
両方向に有効なアルゴリズム、キー、セキュリティパラメーターインデックス値のセットを1つ定義します。
[edit services ipsec-vpn rule rule-name term term-name then manual] direction bidirectional { protocol ah; spi 20001; authentication { algorithm hmac-md5-96; key ascii-text 123456789012abcd; } }
手動 IPsec SA のプロトコルの設定
IPsecは、カプセル化セキュリティペイロード(ESP)と認証ヘッダー(AH)の2つのプロトコルを使用してIPトラフィックを保護します。AHプロトコルは強力な認証に使用されます。3つ目のオプションである bundleは、AH認証とESP暗号化を使用します。AHの方がより強力なIPパケット認証を提供するため、ESP認証は使用しません。
IPsecプロトコルを設定するには、protocolステートメントを含め、[edit services ipsec-vpn rule rule-name term term-name then manual direction direction]階層レベルでah、esp、またはbundleオプションを指定します。
[edit services ipsec-vpn rule rule-name term term-name then manual direction direction] protocol (ah | bundle | esp);
セキュリティ パラメーター インデックスの設定
SPI は、受信ホストで使用する SA を一意に識別する任意の値です。送信側ホストは、SPIを使用して、すべてのパケットを保護するために使用するSAを識別し、選択します。受信側ホストは、SPIを使用して、パケットの復号化に使用する暗号化アルゴリズムとキーを識別して選択します。
各手動SAには、固有のSPIとプロトコルの組み合わせが必要です。bundleオプションを使用するようにprotocolステートメントを設定する場合、補助SPIを使用します。
SPIを設定するには、 spi ステートメントを含め、 [edit services ipsec-vpn rule rule-name term term-name then manual direction direction] 階層レベルで値(256〜16,639)を指定します。
[edit services ipsec-vpn rule rule-name term term-name then manual direction direction] spi spi-value;
補助セキュリティ パラメーター インデックスの設定
bundleオプションを使用するようにprotocolステートメントを設定する場合、補助SPIを使用します。
各手動SAには、固有のSPIとプロトコルの組み合わせが必要です。
補助SPIを設定するには、 auxiliary-spi ステートメントを含め、 [edit services ipsec-vpn rule rule-name term term-name then manual direction direction] 階層レベルで値(256〜16,639)を指定します。
[edit services ipsec-vpn rule rule-name term term-name then manual direction direction] auxiliary-spi auxiliary-spi-value;
手動 IPsec SA の認証の設定
認証アルゴリズムを設定するには、 authentication ステートメントを含め、 [edit services ipsec-vpn rule rule-name term term-name then manual direction direction] 階層レベルで認証アルゴリズムとキーを指定します。
[edit services ipsec-vpn rule rule-name term term-name then manual direction direction] authentication { algorithm (hmac-md5-96 | hmac-sha1-96 | hmac-sha-256-128) key (ascii-text key | hexadecimal key); }
アルゴリズムは次のいずれかです。
hmac-md5-96—パケットデータを認証するハッシュアルゴリズム。128ビットのオーセンティケータ値と96ビットのダイジェストを生成します。hmac-sha1-96—パケットデータを認証するハッシュアルゴリズム。160ビットのオーセンティケータ値と96ビットのダイジェストを生成します。hmac-sha-256-128—パケットデータを認証するハッシュアルゴリズム。これにより、256ビットのオーセンティケータ値と256ビットのダイジェストが生成され、128ビットに切り捨てられます。
キーは次のいずれかです。
ascii-text—ASCII テキスト キー。hmac-md5-96オプションを使用すると、キーには16文字のASCII文字が含まれます。hmac-sha1-96オプションを使用すると、キーには20文字のASCII文字が含まれます。hexadecimal—16 進キー。hmac-md5-96オプションを使用すると、キーには32文字の16進文字が含まれます。hmac-sha1-96オプションを使用すると、キーには40桁の16進文字が含まれます。
手動 IPsec SA の暗号化の設定
IPsec暗号化を設定するには、 encryption ステートメントを含め、 [edit services ipsec-vpn rule rule-name term term-name then manual direction direction] 階層レベルでアルゴリズムとキーを指定します。
[edit services ipsec-vpn rule rule-name term term-name then manual direction direction] encryption { algorithm algorithm; key (ascii-text key | hexadecimal key); }
アルゴリズムは次のいずれかです。
des-cbc—ブロックサイズが8バイトの暗号化アルゴリズム。鍵のサイズは 64 ビットです。3des-cbc—ブロックサイズが24バイトの暗号化アルゴリズム。鍵のサイズは192ビットです。aes-128-cbc—高度暗号化標準(AES)128ビット暗号化アルゴリズム。aes-192-cbc—AES(Advanced Encryption Standard)192ビット暗号化アルゴリズム。aes-256-cbc—AES(Advanced Encryption Standard)256ビット暗号化アルゴリズム。
データ暗号化標準(DES)暗号化アルゴリズムの弱い鍵と半弱い鍵のリストについては、RFC 2409、 The Internet Key Exchange (IKE)を参照してください。AES 暗号化アルゴリズムは、スループットがはるかに低いソフトウェア実装を使用するため、DES が推奨されるオプションであることに変わりはありません。AES 暗号化の参考情報については、RFC 3602, The AES-CBC Cipher Algorithm and Its Use with IPsec を参照してください。
3des-cbcの場合、最初の 8 バイトは 2 番目の 8 バイトと異なり、2 番目の 8 バイトは 3 番目の 8 バイトと同じである必要があります。
認証プロポーザルを設定し、encryptionステートメントを含まない場合、結果はNULL暗号化になります。一部のアプリケーションでは、この結果が想定されます。特定の認証値や暗号化値を設定しない場合、Junos OSは暗号化に認証と3des-cbcのデフォルト値であるsha1を使用します。
キーは次のいずれかです。
ascii-text—ASCII テキスト キー。des-cbcオプションを使用すると、キーには8文字のASCII文字が含まれます。3des-cbcオプションを使用すると、キーには24文字のASCII文字が含まれます。hexadecimal—16 進キー。des-cbcオプションを使用すると、キーには16文字の16進文字が含まれます。3des-cbcオプションを使用すると、キーには48の16進文字が含まれます。注:AH プロトコルを使用する場合、暗号化は設定できません。
動的セキュリティアソシエーションの設定
セキュリティゲートウェイによってネゴシエートされたプロポーザルのセットで動的SAを設定します。キーはネゴシエーションの一部として生成されるため、設定で指定する必要はありません。動的SAには1つ以上のプロポーザルが含まれており、ピアとネゴシエートするプロトコルとアルゴリズムのリストに優先順位を付けることができます。
動的SAを有効にするには、次の手順に従います。
Internet Key Exchange(IKE)プロポーザルと、これらのプロポーザルに関連付けられた IKE ポリシーを設定します。
IPsecプロポーザルと、これらのプロポーザルに関連付けられたIPsecポリシーを設定します。
dynamicステートメントを設定することにより、SAをIPsecポリシーに関連付けます。
動的SAを設定するには、 dynamic ステートメントを含め、IPsecポリシー名を [edit services ipsec-vpn rule rule-name term term-name then] 階層レベルで指定します。 ike-policy ステートメントは、事前共有鍵認証方法を使用しない限り、オプションです。
[edit services ipsec-vpn rule rule-name term term-name then] dynamic { ike-policy policy-name; ipsec-policy policy-name; }
動的SAを確立する場合、少なくとも1つの設定されたIPsecおよびIKEプロポーザルの属性が、そのピアの属性と一致する必要があります。
セキュリティ アソシエーションのクリア
対応するサービスPICが再起動したりオフラインになったりしたときに、IKEまたはIPsec SAを自動的にクリアするようにルーターソフトウェアを設定できます。このプロパティを設定するには、[edit services ipsec-vpn]階層レベルでclear-ike-sas-on-pic-restartまたはclear-ipsec-sas-on-pic-restartステートメントを含めます。
[edit services ipsec-vpn] clear-ike-sas-on-pic-restart; clear-ipsec-sas-on-pic-restart;
このステートメントを設定に追加すると、PICが再起動またはオフラインになったときに、PIC内のトンネルに対応するすべてのIKEまたはIPsec SAがクリアされます。
IPsec トンネルのローカルゲートウェイIPアドレスがダウンした場合、またはトンネルのサービスセットで使用されているMS-MICまたはMS-MPCがダウンした場合、IKEトリガー、IKEおよびIPsec SAのクリーンアップを有効にできます。これにより、トラフィックのドロップや不要なIKEトリガーが減少します。この機能を有効にするには、[edit services service set service-set-name ipsec-vpn-options local-gateway address]階層レベルにgw-interfaceステートメントを含めます。IPsecトンネルのサービスセットのローカルゲートウェイIPアドレスがダウンした場合、またはサービスセットで使用されているMS-MICまたはMS-MPCがダウンした場合、サービスセットはIKEトリガーを送信しなくなります。
さらに、ローカルゲートウェイのIPアドレスがダウンすると、ネクストホップサービスセットではIKEとIPsec SAがクリアされ、インターフェイススタイルサービスセットでは未インストール状態になります。「未インストール」状態のSAは、ローカルゲートウェイのIPアドレスが復旧すると削除されます。ネクストホップサービスセットでダウンしたローカルゲートウェイのIPアドレスがレスポンダピア用の場合、ローカルゲートウェイのIPアドレスが復旧するとIPsecトンネルが復旧するように、イニシエーターピアのIKEとIPsec SAをクリアする必要があります。イニシエーター ピアの IKE および IPsec SA を手動でクリアするか、イニシエーター ピアのデッドピア検出を有効にすることができます。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。