例:パケット/秒レート制限フィルターによるルーティングエンジンの保護
この例では、セキュリティを向上させるために、1秒あたりのパケット数ベースのレート制限フィルターを設定する方法を示します。これは、ルーティング エンジンをサービス拒否攻撃から保護するために、ループバック インターフェイスに適用されます。
このタイプのフィルターとポリサーの組み合わせは、ルーティング エンジンの保護に役立つ多層アプローチの 1 つの要素にすぎません。ルーティングエンジンを完全に保護するためには、他の保護層が必要です。See Day One: 詳細は M、MX、およびT Seriesでのルーティングエンジンのセキュリティ を参照してください。
要件
この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、ステートレス ファイアウォール フィルターを使用して、ループバック インターフェイス(lo0.0)を介してルーティング エンジンに送信されるすべてのトラフィックに対して、pps(パケット/秒)のレート制限を設定します。
ステートレス ファイアウォール フィルター構成内からポリサーをアクティブにするには:
[edit firewall]
階層にpolicer policer-name
ステートメントを含めて、ポリサーのテンプレートを作成します。policer policer-name
非終了アクションのポリサーを指定するフィルター条件でポリサーを参照します。
また、論理インターフェイス設定に policer (input | output) policer-name
ステートメントを含めることで、ポリサーを適用することもできます。
設定
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
set firewall policer police_pps if-exceeding-pps pps-limit 1k set firewall policer police_pps if-exceeding-pps packet-burst 150 set firewall policer police_pps then discard set firewall family inet filter my_pps_filter term term1 then policer police_pps set interfaces lo0 unit 0 family inet filter input my_pps_filter set interfaces lo0 unit 0 family inet address 127.0.0.1/32
ポリサーとステートレス ファイアウォール フィルターの構成
ステップバイステップでの手順
ポリサー police_pps
とステートレス ファイアウォール フィルター my_pps_filter
を構成するには:
ポリサーテンプレート
police_pps
を設定します。[edit firewall] user@host# set policer police_pps if-exceeding-pps pps-limit 1k user@host# set policer police_pps if-exceeding-pps packet-burst 150 user@host# set policer police_pps then discard
ステートレス ファイアウォール フィルター
my_pps_filter
を作成します。[edit] user@host# edit firewall family inet filter my_pps_filter
ポリサー
police_pps
を使用して、プロトコルファミリー別にトラフィックのレートを制限するフィルター条件を設定します。[edit firewall family inet filter my_pps_filter] user@host# set term term1 then policer police_pps
ループバック論理インターフェイスへのステートレス ファイアウォール フィルターの適用
ステップバイステップでの手順
ループバックインターフェイスにフィルター my_pps_filter
を適用するには:
ステートレス ファイアウォール フィルターを適用する論理ループバック インターフェイスを設定します。
[edit] user@host# edit interfaces lo0 unit 0
ステートレス ファイアウォール フィルターをループバック インターフェイスに適用します。
[edit interfaces lo0 unit 0] user@host# set family inet filter input my_pps_filter
ループバックインターフェイスのインターフェイスアドレスを設定します。
[edit interfaces lo0 unit 0] user@host# set family inet address 127.0.0.1/32
結果
show firewall
設定モード コマンドを入力して、ステートレス ファイアウォール フィルターの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。
user@host# show firewall family inet{ filter my_pps_filter { term term1 { then policer police_pps; } } } policer police_pps { if-exceeding-pps { pps-limit 1k; packet-burst 150; } then discard; }
show interfaces lo0
設定モード コマンドを入力して、インターフェイスの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。
user@host# show interfaces lo0 unit 0 { family inet { filter { input my_pps_filter; } address 127.0.0.1/32; } }
デバイスの設定が完了したら、設定モードからコミットを入力します。
user@host# commit
検証
フィルターの動作確認
目的
設定が正常に機能していることを確認するには、 show firewall filter my_pps_filter
operational mode コマンドを入力します。
次の出力は、別のホストからテスト対象のルーターへの高速 ping を実行した結果です。出力に結果を表示するために、ping テスト中に pps-limit
設定の 50 と packet-burst
設定の 10 が使用されました。
アクション
user@host> show firewall filter my_pps_filter Filter: my_pps_filter Policers: Name Bytes Packets police_pps-term1 8704 17