例:ICMP フラッドから論理システムを保護するステートレス ファイアウォール フィルターの設定
この例では、論理システムに対する ICMP サービス拒否攻撃から保護するステートレス ファイアウォール フィルターを構成する方法を示します。
要件
この例では、デバイスの初期化以上の特別な設定は必要ありません。
概要
この例では、ICMP パケットをポリシングする protect-RE と呼ばれるステートレス ファイアウォール フィルターを示します。icmp-policer
は、ICMP パケットのトラフィック レートを 1,000,000 bps に制限し、バースト サイズを 15,000 バイトに制限しています。トラフィックレートを超えるパケットは破棄されます。
ポリサーは、 icmp-term
と呼ばれるフィルター項目のアクションに組み込まれます。
この例では、直接接続された物理ルーターから、論理システムに設定されたインターフェイスに ping が送信されます。論理システムは、ICMP パケットが最大 1 Mbps(帯域幅制限)のレートで受信された場合、そのパケットを受け入れます。このレートを超えると、論理システムはすべての ICMP パケットをドロップします。burst-size-limit
ステートメントは、最大 15 Kbps のトラフィック バーストを受け入れます。バーストがこの制限を超えると、すべてのパケットが破棄されます。流量が収まると、ICMPパケットが再び受け入れられます。
設定
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30 set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k set logical-systems LS1 firewall policer icmp-policer then discard
手順
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、 CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
論理システムで ICMP ファイアウォール フィルターを構成するには:
論理システム上のインターフェイスを設定します。
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30
インターフェイスで受信するICMPパケットを明示的に有効にします。
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept
ポリサーを作成します。
[edit] user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k user@host# set logical-systems LS1 firewall policer icmp-policer then discard
フィルター項目にポリサーを適用します。
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer
ポリサーを論理システム インターフェイスに適用します。
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
結果
show logical-systems LS1
コマンドを発行して、構成を確認します。
user@host# show logical-systems LS1 interfaces { so-0/0/2 { unit 0 { family inet { policer { input icmp-policer; } address 10.0.45.2/30; } } } } firewall { family inet { filter protect-RE { term icmp-term { from { protocol icmp; } then { policer icmp-policer; accept; } } } } policer icmp-policer { if-exceeding { bandwidth-limit 1m; burst-size-limit 15k; } then discard; } }
検証
設定が正常に機能していることを確認します。
制限を超えない限り ping が機能することの確認
目的
論理システム インターフェイスが ICMP ベースの DoS 攻撃から保護されていることを確認します。
アクション
論理システムに接続できるシステムにログインし、 ping
コマンドを実行します。
user@R2> ping 10.0.45.2 PING 10.0.45.2 (10.0.45.2): 56 data bytes 64 bytes from 10.0.45.2: icmp_seq=0 ttl=64 time=1.316 ms 64 bytes from 10.0.45.2: icmp_seq=1 ttl=64 time=1.277 ms 64 bytes from 10.0.45.2: icmp_seq=2 ttl=64 time=1.269 ms
user@R2> ping 10.0.45.2 size 20000 PING 10.0.45.2 (10.0.45.2): 20000 data bytes ^C --- 10.0.45.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
意味
通常のpingを送信すると、パケットは受け入れられます。フィルター制限を超える ping パケットを送信すると、そのパケットは廃棄されます。