加入者インターフェイスの動的プロファイルにおけるユニキャストRPF
加入者インターフェイスの動的プロファイルにおけるユニキャストRPF
ユニキャストリバースパスフォワーディング(RPF)は、IPv4およびIPv6インターフェイスに対するサービス拒否(DoS)攻撃と分散サービス拒否(DDoS)攻撃の影響を軽減する方法を提供します。インターフェイス上でユニキャスト RPF を設定すると、パケットの送信元アドレスがチェックされます。チェックに合格したパケットが転送されます。チェックに失敗したパケットはドロップされるか、失敗フィルタが設定されている場合は、さらなる評価のためにフィルタに渡されます。
ユニキャストRPFには、 ストリクト と ルーズの2つの動作モードがあります。動的プロファイルでユニキャスト RPF を設定する場合、ストリクト モードがデフォルトになります。ストリクトモードでは、ユニキャストRPFは、着信パケットの送信元アドレスがルーティングテーブルのプレフィックスと一致するかどうか、およびインターフェイスがこの送信元アドレスプレフィックスのパケットを受信することを予期しているかどうかを確認します。ルーズモードでは、ユニキャストRPFは、送信元アドレスがルーティングテーブルに一致するかどうかのみをチェックします。インターフェイスが特定の送信元アドレスからのパケットを受信することを想定しているかどうかはチェックされません。
どちらのモードでも、着信パケットがユニキャスト RPF チェックに失敗すると、パケットはインターフェイスで受け入れられません。代わりに、ユニキャスト RPF はパケットをカウントし、オプションの障害フィルター(存在する場合)に送信します。フェイル フィルターは、パケットに対してさらに実行されるアクションを決定します。フェイル フィルターがない場合、パケットはサイレントに破棄されます。
- パケットカウンターは、Junos OS Evolvedではサポートされていません。
- Junos OS Evolvedでは、RPFチェック中にブートストラッププロトコル(BOOTP)パケットとDHCP(ダイナミックホスト構成プロトコル)パケットのドロップがシステムによって防止されるため、フェイルフィルターは必要ありません。
show interfaces statistics logical-interface-name detailコマンドはユニキャストインターフェイスでrpf-checkまたはrpf-check mode looseが有効になっている場合、動的論理インターフェイスのRPF統計情報を表示します。インターフェイス上で設定されている場合、追加の統計情報は表示されませんrpf-check fail-filter filter-name。clear interfaces statistics logical-interface-nameコマンドは、RPF 統計情報をクリアします。
加入者インターフェイスの動的プロファイルでのユニキャスト RPF の設定
ユニキャストRPFは、送信元IPアドレスをルーティングテーブルと照合することで、IPv4およびIPv6インターフェイスに対するサービス拒否攻撃の影響を軽減する方法を提供します。一致しないパケットは、オプションのフェイル フィルターが設定されていない限り、サイレントに破棄されます。フェイル フィルターは追加のチェックを実行し、特定のパケットに対して何らかのアクションを実行するように指示します。典型的なアクションには、パケットをログに記録したり、RPF チェックに失敗してもパケットを渡すなどがあります。
フェイル フィルターは技術的にはオプションですが、DHCP 環境の動的プロファイルでは、DHCP パケットを渡すようにフィルターを設定する必要があります。デフォルトでは、RPFチェックは、RPFチェックで保護されたインターフェイスでDHCPパケットが受け入れられないようにします。フェイル フィルターは DHCP パケットを識別し、それらを渡します。
動的プロファイルでユニキャスト RPF チェックを設定するには:
加入者インターフェイスの動的プロファイルでのユニキャスト RPF のフェイル フィルターの設定
このトピックでは、MXシリーズルーター上の動的プロファイル内の加入者インターフェイスに対して、ユニキャスト RPFによってオプションで適用できるフェイルフィルターを [edit firewall] 階層レベルで設定する方法について説明します。
静的に設定されたフェイル フィルターとは異なり、動的プロファイルで使用される RPF チェックフェイル フィルターを特定のインターフェイスに固有にすることはできません。
ファイアウォール障害フィルターを設定するには:
例:MXシリーズルーター上の動的プロファイルでのユニキャストRPFの設定
この例では、受信トラフィックをフィルタリングするようにカスタマーエッジインターフェイスにユニキャストリバースパスフォワーディング(RPF)を設定することで、ルーターのイングレスインターフェイスをDoS(サービス拒否)攻撃と分散サービス拒否(DDoS)攻撃から防御する方法を示します。ユニキャストRPFは、ユニキャストRPFが有効になっているイングレスインターフェイスに到着する各パケットのユニキャスト送信元アドレスを検証します。検証に失敗したパケットは、フェイル フィルターが他のアクションを実行しない限り、サイレントに破棄されます。
要件
この例では、以下のソフトウェアおよびハードウェアコンポーネントを使用しています。
MXシリーズの5Gユニバーサルルーティングプラットフォーム
始める前に:
RPF チェックの適用に使用する動的プロファイルを設定します。
基本的な動的プロファイルの設定を参照してください。
概要
サービス拒否(DoS)攻撃で偽のサービスリクエストをネットワークに大量に送り込もうとするなど、大量の不正トラフィックがネットワークリソースを消費し、正当なユーザーへのサービスを拒否する可能性があります。DoS攻撃や分散型サービス拒否(DDoS)攻撃を防ぐ1つの方法は、受信トラフィックが正規のネットワークソースから発信されているものであることを検証することです。
ユニキャストRPFは、インターフェイスに到着する各パケットの送信元アドレスと、送信元アドレスの転送テーブルエントリーを比較することで、トラフィックソースが正当な(承認されている)ものであることを確認するのに役立ちます。ルーターがパケットの送信元に応答するためにパケットが到着したのと同じインターフェイスを使用している場合、これによりパケットが承認された送信元から発信されたことが確認され、ルーターがパケットを転送します。ルーターがパケットの送信元に応答するためにパケットが到着したのと同じインターフェイスを使用しない場合、パケットは不正な送信元から発信された可能性があり、ルーターはパケットを破棄するか、フェイル フィルターに渡します。
フェイルフィルタを使用すると、デフォルトで破棄されているDHCPパケットなど、RPFチェックに失敗しても通過させたいパケットの基準を設定できます。
MXシリーズルーターでは、動的プロファイルでユニキャストRPFを設定し、1つ以上の加入者インターフェイスに設定を適用できます。MXシリーズルーターでのユニキャストRPFの動作と制限の詳細については、 ユニキャストMXシリーズルーターにおけるユニキャストRPF(ルーター) についてを参照してください。
この例では、動的に作成されたVLAN demuxインターフェイスに到着するIPv4パケットを介して行われるインターネットからの潜在的なDoSおよびDDoS攻撃から保護するようにルーターを設定します。動的プロファイルvlan-demux-profは、加入者に対してVLAN demuxインターフェイスが自動的に作成されることを確立します。ユニキャストRPFは、rpf-check条件により動的インターフェイスで有効になります。
デフォルトでは、ユニキャスト RPF は、適用されるインターフェイスで DHCP(ダイナミック ホスト構成プロトコル)パケットの受け入れを防止します。DHCPパケットを破棄すると、動的プロファイルによって新しい加入者を作成することはできません。インターフェイスがDHCPパケットを受信できるようにするには、チェックに失敗したパケットを適切にソートし、DHCPパケットを特定するフェイルフィルターを適用する必要があります。この例では、フィルターrpf-pass-dhcpにallow-dhcp項を設定します。この条件は、DHCP ポートと任意のアドレス宛ての IPv4 パケットを照合し、カウントし、受け入れます。default termは、RPF チェックに失敗した他のすべてのパケットをドロップします。
この例では、可能なすべての設定選択肢を示しているわけではありません。
トポロジー
設定
動的プロファイルでフェイルフィルター付きのユニキャストRPFを有効にするには、以下のタスクを実行します。
動的VLAN DemuxインターフェイスにRPFチェックを適用するための動的プロファイルの設定
CLIクイックコンフィグレーション
動的に作成されたVLAN demuxインターフェイスにユニキャストRPFを適用するように動的プロファイルをすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除してから、コマンドをコピーしてCLIに貼り付けます。
edit dynamic-profiles vlan-demux-prof interfaces demux0 edit unit $junos-interface-unit set demux-options underlying-interface $junos-interface-ifd-name set vlan-id $junos-vlan-id edit family inet set unnumbered-address lo0.0 set rpf-check fail-filter rpf-pass-dhcp
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでの CLI エディターの使用を参照してください。
ルーターでユニキャスト RPF を設定するには、次の手順に従います。
動的プロファイルを作成します。
[edit] user@host# edit dynamic-profiles vlan-demux-prof
動的VLANプロファイルがdemuxインターフェイスを使用することを指定します。
[edit dynamic-profiles vlan-demux-prof] user@host# edit interfaces demux0
動的プロファイルがdemuxインターフェイスユニット値を動的VLANに適用することを指定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0] user@host# edit unit $junos-interface-unit
動的VLANの論理基盤インターフェイスを指定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# set demux-options underlying-interface $junos-interface-ifd-name
動的に作成されるVLAN IDを生成する変数を設定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# set vlan-id $junos-vlan-id
demux インターフェイスの IPv4 アドレスファミリーを設定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit] user@host# edit family inet
ファミリーの番号なしアドレスを設定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit family inet] user@host# set unnumbered-address lo0.0
ユニキャスト RPF を設定し、チェックに失敗した着信パケットに適用される失敗フィルターを指定します。
[edit dynamic-profiles vlan-demux-prof interfaces demux0 unit $junos-interface-unit family inet] user@host# set fail-filter fail-filter rpf-pass-dhcp
RPF-Check失敗フィルタの設定
CLIクイックコンフィグレーション
ユニキャストのRPFチェック失敗フィルタを素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除してから、コマンドをCLIにコピー&ペーストしてください。
edit firewall family inet filter rpf-pass-dhcp edit term allow-dhcp set from destination-port dhcp set from destination-address 255.255.255.255/32 set then count rpf-dhcp-traffic set then accept up edit term default set then discard
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでの CLI エディターの使用を参照してください。
RPFチェック失敗フィルタを設定するには:
失敗フィルターを作成します。
[edit firewall] user@host# edit family inet filter rpf-pass-dhcp
DHCP宛先ポートに基づいてDHCPパケットを識別し、パケットをカウントしてパスするフィルター条件を定義します。
[edit firewall family inet filter rpf-pass-dhcp] user@host# edit term allow-dhcp user@host# set from destination-port dhcp user@host# set from destination-address 255.255.255.255/32 user@host# set then count rpf-dhcp-traffic user@host# set then accept
他のすべての失敗したパケットをドロップするフィルター条件を定義します。
[edit firewall filter rpf-pass-dhcp] user@host# edit term default user@host# set then discard
結果
設定モードから、 show dynamic-profiles コマンドを入力してユニキャストRPF設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host# show dynamic-profiles
vlan-demux-prof {
interfaces {
demux0 {
unit "$junos-interface-unit" {
vlan-id "$junos-vlan-id";
demux-options {
underlying-interface "$junos-interface-ifd-name";
}
family inet {
unnumbered-address lo0.0;
rpf-check {
fail-filter rpf-pass-dhcp;
}
}
}
}
}
}
設定モードから、 show firewall コマンドを入力して障害フィルターの設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host# show firewall
family inet {
filter rpf-pass-dhcp {
term allow-dhcp {
from {
destination-address {
255.255.255.255/32;
}
destination-port dhcp;
}
then {
count rpf-dhcp-traffic;
accept;
}
}
term default {
then {
discard;
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正しいことを確認するために、以下のタスクを実行します。
ルーターでユニキャスト RPF が有効になっていることを確認する
目的
ユニキャスト RPF が有効になっていることを確認します。
アクション
show subscribers extensiveコマンドを使用してユニキャストRPFが有効になっていることを確認します。
user@host> show subscribers extensive
Type: VLAN
Logical System: default
Routing Instance: default
Interface: ae0.1073741824
Interface type: Dynamic
Dynamic Profile Name: vlan-demux-prof
State: Active
Session ID: 9
VLAN Id: 100
Login Time: 2011-08-26 08:17:00 PDT
IPv4 rpf-check Fail Filter Name: rpf-pass-dhcp
意味
IPv4 rpf-check 失敗フィルター名フィールドには、RPF チェックに失敗した IPv4 パケットに対して動的プロファイルによって適用された失敗フィルタの名前である rpf-pass-dhcp が表示されます。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
show interfaces statistics logical-interface-name detail コマンドは、インターフェイスで
rpf-check または
rpf-check mode loose のいずれかが有効になっている場合ユニキャスト動的論理インターフェイスのRPF統計情報を表示します。