セキュアな IPv6 近隣探索
まとめIPv6 トラフィック用のセキュアネイバー検出(SEND)プロトコルは、NDP や ARP を悪用するブロードキャスト セグメントにアクセスした攻撃者を回避し、ホストをだまして、ARP ポイズンと呼ばれる技術である他の誰かを宛先にした攻撃者トラフィックを送信します。
セキュアな IPv6 近隣探索について
IPv6 近隣探索プロトコル(NDP)の機能の 1 つは、ARP(アドレス解決プロトコル)によって IPv4 で実行される機能であるリンク レイヤー(イーサネットなど)アドレスにネットワーク レイヤー(IP)アドレスを解決することです。SEND(セキュアネイバー検出)プロトコルは、NDPやARPを悪用するブロードキャスト セグメントにアクセスして、ホストをだましてホストをだまして、ARPポイズンと呼ばれる技術である他の誰宛ての攻撃者トラフィックを送信するかの攻撃を阻止します。
ARP ポイズンなどの攻撃から NDP 機能に対して保護するには、ブロードキャスト セグメントへのアクセスを防止できない可能性がある場所に SEND を導入する必要があります。
SENDは、RFC 3972、暗号化で生成されたアドレス (CGA)で定義されているRSAキーペアを使用して暗号で生成されたアドレスを生成します。これにより、NDP メッセージの要求された送信元が、要求されたアドレスの所有者である必要があります。
例: セキュアな IPv6 近隣探索の設定
この例では、IPv6 SEND(Secure Neighbor Discovery)を設定する方法を示しています。
要件
この例では、以下の要件を満たしています。
Junos OS 9.3 以降
ネットワークに導入された IPv6
まだ作成していない場合は、RSA キー ペアを生成またはインストールする必要があります。
新しい RSA キー ペアを生成するには、次のコマンドを入力します。
user@host> request security pki generate-key-pair type rsa certificate-id certificate-id-name size size
概要
SEND を設定するには、次のステートメントを含します。
protocols { neighbor-discovery { onlink-subnet-only; secure { security-level { (default | secure-messages-only); } cryptographic-address { key-length number; key-pair pathname; } timestamp { clock-drift number; known-peer-window seconds; new-peer-window seconds; } traceoptions { file filename <files number> <match regular-expression> <size size> <world-readable | no-world-readable>; flag flag; no-remote-trace; } } } }
デフォルト を指定 して、セキュアな NDP(ネイバー検出プロトコル)パケットと保護されていないネイバー検出プロトコル(NDP)パケットの両方を送受信します。セキュアなNDPメッセージのみを受け入れて、保護されていないメッセージをドロップするために SEND を設定するには。セキュア メッセージのみ指定します。
セグメント上のすべてのノードは 、secure-messages のみオプションが使用されている場合、SEND を使用して設定する必要があります。これは、デバイスの一部の小さなサブセットのみが保護を強化する必要がある場合に推奨されます。すべてのノードに SEND を設定失敗すると、接続が失われる可能性があります。
トポロジ
構成
手順
CLI構成の迅速な設定
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから、コマンドを階層レベルで CLI にコピー アンド ペースト [edit]
します。
set protocols neighbor-discovery secure security-level secure-messages-only set protocols neighbor-discovery secure cryptographic-address key-length 1024 set protocols neighbor-discovery secure cryptographic-address key-pair /var/etc/rsa_key set protocols neighbor-discovery secure timestamp
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。デバイスのナビゲーションの詳細については、「 CLI CLIガイド 」の「 設定モードでの CLI エディターの使用 」を参照してください。
セキュアな IPv6 近隣探索を設定するには、次の手順に示します。
セキュリティ レベルを設定します。
[edit protocols neighbor-discovery secure] user@host# set security-level secure-messages-only
(オプション)鍵の長さを有効にする。
デフォルトのキー長は1024です。
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-length 1024
(オプション)暗号化アドレスに対して生成されたパブリックプライベートキーファイルのディレクトリパスを指定します。
ファイルのデフォルトの場所は、 /var/etc/rsa_key ディレクトリです。
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-pair /var/etc/rsa_key
(オプション)要求およびリダイレクト メッセージが再び再生されないか確認するために、タイムスタンプを設定します。
[edit protocols neighbor-discovery secure] user@host# set timestamp
結果
設定モードから、 コマンドを入力して設定を確認 show protocols
します。出力結果に意図した設定結果が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
user@host# show protocols
neighbor-discovery {
secure {
security-level {
secure-messages-only;
}
cryptographic-address {
key-length 1024;
key-pair /var/etc/rsa_key;
}
timestamp;
}
}
デバイスの設定が完了したら、設定モード から Commit を入力します。
検証
設定が正常に機能されていることを確認します。
IPv6 ネイバー キャッシュの確認
目的
IPv6ネイバーに関する情報を表示します。
アクション
動作モードから コマンドを入力 show ipv6 neighbors
します。
意味
IPv6 では、ARP(アドレス解決プロトコル)が NDP に置き換えられた。IPv4コマンド show arp
はIPv6コマンドに置き換わり show ipv6 neighbors
、このコマンドによって表示される情報の主な部分は、IP アドレス、MAC(リンク レイヤー)アドレス、インターフェイスです。
近隣検索イベントの追跡
目的
SEND をトレースして、追加の検証を実行します。
アクション
トレース操作を設定します。
[edit protocols neighbor-discovery secure] user@host# set traceoptions file send-log user@host# set traceoptions flag all
コマンドを
show log
実行します。user@host> show log send-log Apr 11 06:21:26 proto: outgoing pkt on idx 68 does not have CGA (fe80::2a0:a514:0:14c), dropping pkt Apr 11 06:26:44 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 70 with offset 40 Apr 11 06:26:44 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Apr 11 06:26:44 cga: snd_is_lcl_cga: BEFORE overriding cc, cc:0, ws->col:0 Apr 11 06:26:44 proto: outgoing pkt on idx 70 does not have CGA (fe80::2a0:a514:0:24c), dropping pkt Apr 11 06:26:47 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 68 with offset 40 Apr 11 06:26:47 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
意味
出力は、パケットに暗号で生成されたアドレスが含されていないため、パケットが破棄されたという結果を示しています。