IDP ポリシー ルールと IDP ルール ベース
このトピックでは、トラフィックの検査方法と脅威の検出方法を定義するルールのコレクションであるルールベースなど、IDPポリシーの構造とコンポーネントについて説明します。また、さまざまなタイプのルールベースについても説明します。管理者は、IDPポリシールールとルールベースを使用して、さまざまな脅威からネットワークを効果的に保護できます。
IDP ポリシーは、ルールベース内で整理されたルールで構成され、ネットワーク トラフィックを分析して脅威を検出して軽減します。これらのポリシーでは、潜在的な攻撃を特定し、適切なセキュリティ アクションを決定するために、特定の検出方法を適用する方法を定義します。
IDP ポリシー ルール ベースについて
ルールベースは、特定の検出方法を使用して攻撃を識別して防止する、順序付けられたルールのセットです。
ルールは、IDPシステムが攻撃を見つけるためにネットワークトラフィックのどの部分を調べるかを指定することで、検出メカニズムにコンテキストを提供する命令です。ルールが一致すると、ネットワーク トラフィックで攻撃が検出されたことを意味し、そのルールのアクションがトリガーされます。IDPシステムは指定されたアクションを実行し、その攻撃からネットワークを保護します。
各ルールベースには複数のルールを含めることができ、ルールを目的の順序で配置することで、ネットワークトラフィックに適用する順序を決定できます。IDP システムの各ルールベースは、特定の検出方法を使用して攻撃を識別し、防止します。Junos OS は、侵入防御システム(IPS)ルールベースと除外ルールベースの 2 種類のルールベースをサポートしています。
IDP ポリシー ルールについて
侵入検出および防止(IDP)ポリシーの各命令は、ルールと呼ばれます。ルールはルールベースで作成されます。
ルールベースは、IDP ポリシーを定義するために組み合わされる一連のルールです。ルールは、IDPシステムが攻撃を見つけるためにネットワークトラフィックのどの部分を調べるべきかを指定することで、検出メカニズムにコンテキストを提供します。ルールが一致すると、ネットワーク トラフィックで攻撃が検出されたことを意味し、そのルールのアクションがトリガーされます。IDPシステムは指定されたアクションを実行し、その攻撃からネットワークを保護します。
IDP ポリシー ルールは、次のコンポーネントで構成されています。
IDP ルール一致条件について
一致条件は、IDPが攻撃を監視するネットワークトラフィックのタイプを指定します。
照合条件は、次の特性を使用して、監視するネットワーク トラフィックのタイプを指定します。
From-zone
およびto-zone
—すべてのトラフィックが送信元ゾーンから宛先ゾーンに流れます。送信元または宛先として任意のゾーンを選択できます。また、ゾーンの例外を使用して、デバイスごとにゾーンとゾーンからの一意のゾーンを指定することもできます。any
を指定して、任意のゾーンとの間で送受信されるネットワークトラフィックを監視します。デフォルト値はany
です。手記:from-zone
がany
されている場合、source-address
アドレスとsource-except
アドレスを指定できます。同様に、to-zone
がany
されている場合、destination-address
アドレスとdestination-except
アドレスを指定できます。Source IP address
- ネットワーク トラフィックの送信元 IP アドレスを指定します。any
を指定して、任意のIPアドレスから発信されるネットワークトラフィックを監視できます。また、source-except
を指定して、指定したアドレス以外のすべての送信元を指定することもできます。デフォルト値はany
です。Destination IP address
- ネットワーク トラフィックの送信先のIP アドレスを指定します。これをany
に設定すると、任意の IP アドレスに送信されるネットワーク トラフィックを監視できます。また、destination-except
を指定して、指定したアドレス以外のすべての宛先を指定することもできます。デフォルト値はany
です。-
Application
—IP アドレスでサポートされるアプリケーション層プロトコルを指定します。すべてのアプリケーションに対してany
を指定することも、junos-bgp
のようにアプリケーションを指定することもできます。攻撃オブジェクトに設定されたアプリケーションに対して、デフォルトのポートおよび自動検出ポートを攻撃オブジェクトに含意されたアプリケーションに一致させるルールのdefault
を指定できます。
IDP ルール オブジェクトについて
オブジェクトは、ルールに適用できる再利用可能な論理エンティティです。作成した各オブジェクトは、そのオブジェクトタイプのデータベースに追加されます。
IDP ルールには、以下のタイプのオブジェクトを設定できます。
ゾーン オブジェクト
ゾーンまたはセキュリティ ゾーンは、1 つ以上のネットワーク インターフェイスの集合です。IDP は、ベース システムで設定されたゾーン オブジェクトを使用します。
アドレスまたはネットワーク オブジェクト
アドレスオブジェクトは、ホストマシン、サーバー、サブネットなど、ネットワークのコンポーネントを表します。IDP ポリシー ルールでアドレス オブジェクトを使用して、保護するネットワーク コンポーネントを指定します。
アプリケーションまたはサービスオブジェクト
サービス オブジェクトは、TCP、UDP、RPC、ICMP などのトランスポート層プロトコルを使用するネットワーク サービスを表します。ルールでサービス オブジェクトを使用して、攻撃がネットワークへのアクセスに使用するサービスを指定します。ジュニパーネットワークスは、業界標準サービスに基づくサービスオブジェクトのデータベースである、事前に定義されたサービスオブジェクトを提供します。事前定義されたサービス オブジェクトに含まれていないサービス オブジェクトを追加する必要がある場合は、カスタム サービス オブジェクトを作成できます。IDP は、次のタイプのサービス オブジェクトをサポートします。
Any
- IDPがすべてのトランスポート層プロトコルと一致することを許可します。TCP
- 指定された TCP ポートのネットワーク サービスに一致する TCPポートまたはポート範囲を指定します。junos-tcp-any
を指定して、すべてのTCPポートのサービスを照合できます。UDP
- 指定した UDP ポートのネットワーク サービスに一致する UDP ポートまたはポート範囲を指定します。すべてのUDPポートのサービスを照合するようにjunos-udp-any
を指定できます。RPC
- リモート プロシージャ コール(Sun Microsystems の RPC)プログラム番号またはプログラム番号の範囲を指定します。IDP はこの情報を使用して RPC セッションを識別します。ICMP
—ICMP パケットの一部であるタイプとコードを指定します。すべてのICMPサービスと一致するようにjunos-icmp-all
を指定できます。default
—IDPが、デフォルトおよび自動検出されたプロトコルを、攻撃オブジェクトに暗示されているアプリケーションに一致させることを許可します。
攻撃オブジェクト
IDP 攻撃オブジェクトは、既知および未知の攻撃を表します。IDP には、ジュニパーネットワークスが定期的に更新する定義済みの攻撃オブジェクト データベースが含まれています。攻撃オブジェクトは、悪意のあるアクティビティを識別するためのルールで指定されます。各攻撃は、既知の攻撃パターンを表す攻撃オブジェクトとして定義されます。監視対象のネットワーク トラフィックでこの既知の攻撃パターンが検出されると、攻撃オブジェクトが照合されます。 表 1 では、主に 3 つのタイプの攻撃オブジェクトについて説明します。
攻撃オブジェクト |
形容 |
---|---|
シグネチャ攻撃オブジェクト |
シグニチャ攻撃オブジェクトは、ステートフル攻撃シグネチャを使用して既知のアタックを検出します。攻撃シグネチャは、攻撃内に常に存在するパターンです。攻撃が存在する場合は、攻撃シグネチャも存在します。ステートフル シグネチャにより、IDP は攻撃の実行に使用された特定のプロトコルまたはサービス、攻撃の方向とフロー、攻撃が発生するコンテキストを探すことができます。ステートフル シグネチャでは、攻撃のコンテキストが定義されているため、誤検知がほとんどなく、攻撃が発生しないネットワーク トラフィックの大部分が排除されます。 |
プロトコル異常攻撃オブジェクト |
プロトコル異常攻撃オブジェクトは、ネットワーク上の異常なアクティビティを識別します。これらは、使用されている特定のプロトコルの一連のルールに従って、接続内の異常またはあいまいなメッセージを検出します。プロトコル異常検知は、ほとんどの場合、RFCや一般的なRFC拡張によって定義されているプロトコル標準からの逸脱を見つけることで機能します。ほとんどの正当なトラフィックは、確立されたプロトコルに準拠しています。そうでないトラフィックは異常を生成し、攻撃者が特定の目的(IPS(侵入防御システム)を回避するなど、それを作り出す可能性があります。 |
複合攻撃オブジェクト |
複合攻撃オブジェクトは、複数のシグニチャやプロトコル異常を単一のオブジェクトに組み合わせます。トラフィックは複合攻撃オブジェクトと一致するために、組み合わされたシグネチャおよび/またはプロトコル異常のすべてに一致する必要があります。シグニチャまたは異常が一致する必要がある順序を指定できます。複合攻撃オブジェクトを使用して、IDPポリシールールを改良し、誤検知を減らし、検出精度を向上させます。複合攻撃オブジェクトを使用すると、IDP がトラフィックを攻撃として識別する前に発生する必要のあるイベントを非常に具体的に指定できます。 |
攻撃オブジェクトグループ
IDP には、多数の事前定義された攻撃オブジェクトが含まれています。IDPポリシーを整理して管理しやすくするために、攻撃オブジェクトをグループ化できます。攻撃オブジェクト グループには、異なるタイプの攻撃オブジェクトを 1 つ以上含めることができます。Junos OS は、以下の 3 種類の攻撃グループをサポートしています。
定義済みの攻撃オブジェクト グループ—シグネチャ データベースに存在するオブジェクトが含まれます。定義済みの攻撃オブジェクト グループは、本質的に動的です。たとえば、FTP: マイナー グループは、アプリケーション - FTP および重大度 - マイナーのすべての攻撃を選択します。重大度がマイナーな新しい FTP 攻撃がセキュリティ データベースに導入されると、既定で FTP: マイナー グループに追加されます。
動的攻撃グループ—特定のポリシーの一致基準を定義に基づいて攻撃オブジェクトを含めます。たとえば、動的グループには、アプリケーションに関連するすべての攻撃を含めることができます。署名の更新時に、動的グループメンバーシップは、そのグループのポリシーの一致基準を定義に基づいて自動的に更新されます。
方向フィルターを使用する動的攻撃グループの場合、除外値で式
and
を使用する必要があります。すべてのフィルターと同様に、デフォルトの式はor
です。ただし、方向フィルターの場合はand
を選択できます。たとえば、クライアントからサーバーへの方向ですべての攻撃を選択する場合は、コマンドを使用して方向フィルターを構成し
set security idp dynamic-attack-group dyn1 filters direction values client-to-server
チェーン攻撃の場合、複数のメンバーにはそれぞれ独自の方向性があります。ポリシーにチェーン攻撃が含まれている場合、クライアントからサーバーへのフィルターは、クライアントからサーバーへの方向を持つメンバーを持つすべてのチェーン攻撃を選択します。つまり、サーバー間または ANY を方向とするメンバーを含むチェーン攻撃は、チェーンにクライアント間を方向とするメンバーが少なくとも 1 つある場合に選択されます。
特定の攻撃オブジェクト グループ(事前定義、動的、およびカスタム攻撃グループ)に存在する攻撃オブジェクトと、事前定義された攻撃オブジェクトが属するグループを表示するには、次のコマンドを使用します。
show security idp attack attack-list attack-group group-name
show security idp attack group-list attack-name
show security idp attack attack-list attack-group group-name
コマンドを使用して、次のことを行います。カスタム、動的グループ、定義済みグループなど、指定された攻撃グループに存在するすべての攻撃のリストを表示します。
predefined-group<predefined-group-name>、dynamic-group<dynamic-group-name>またはcustom-group<custom-group-name>などのグループ名を指定して、そのグループ内の攻撃のリストを表示します。
show security idp attack group-list
コマンドを使用して、事前定義された攻撃が属する攻撃グループのリストを表示します。手記:定義済みのフィルターを持たない事前定義された攻撃グループの場合、そのようなグループは攻撃のメンバーとして表示されません。
show security idp attack attack-list policy policy-name
コマンドを使用して、設定されたIDPポリシーで利用可能な攻撃を表示します。IDP ポリシーが、さまざまな攻撃グループに属する特定の攻撃を含むように設定されている場合、冗長な攻撃名は、IDP ポリシー コマンド出力に攻撃の一部として表示されます。以前は、IDP 署名の更新では、フィルターで 9 つのタグのみがサポートされていました。7 つのタグは、category、direction、false-positives、performance、product、recommended、service、severity、vendor です。IDP 署名の更新では、既存の 9 つのタグに加えて、より洗練された動的グループを作成するためのフィルターで 4 つの新しい追加タグがサポートされるようになりました。
追加のタグは次のとおりです。
共通脆弱性評価システム(CVSS)(0から10までの数値で測定。値は 10 進数を含む実数です。したがって、5.5などの数値も有効なCVSSスコアです。
攻撃の年齢(年数と怒り(0〜100歳)の観点から)。例:年数でより大きい、またはより小さい)
ファイル タイプ (MPEG、MP4、PPT、*.doc など)
脆弱性の種類 (例: バッファー オーバーフロー、インジェクション、メモリ解放後使用 (Use After Free)、クロスサイト スクリプティング (XSS)、リモート コード実行 (RCE) など。
さらに、既存の Product タグと Vendor タグを設定するための CLI インターフェイスがより使いやすくなり、設定に補完できるようになりました。
ベンダー(例:Microsoft、Apple、Red Hat、Google、Juniper、Cisco、Oracle など)
製品 (Office、Database、Firefox、Chrome、Flash、DirectX、Java、Kerberos など)
これらのチェイン攻撃がポリシーに追加されないようにするには、動的グループを次のように設定します。
set security idp dynamic-attack-group dyn1 filters direction expression and
set security idp dynamic-attack-group dyn1 filters direction values client-to-server
set security idp dynamic-attack-group dyn1 filters direction values exclude-server-to-client
set security idp dynamic-attack-group dyn1 filters direction values exclude-any
カスタム攻撃グループ—顧客定義の攻撃グループを含み、CLIを使用して構成できます。これには、特定の事前定義攻撃、カスタム攻撃、事前定義された攻撃グループ、または動的攻撃グループを含めることができます。攻撃はグループ内で指定されているため、本質的に静的です。したがって、セキュリティ データベースが更新されても攻撃グループは変更されません。
事前定義された攻撃および攻撃グループの IPS ポリシーは、テナントおよび論理システム モードの IPS/免除ルール で確認できます。コマンド、 show security idp attack attack-group-entries
、 show security idp attack attack-list
、および show security idp attack group-list
を使用して、論理システム モードとテナント モードで IPS ポリシーを表示します。
IDP ルール アクションについて
Actions 監視対象トラフィックがルールで指定された攻撃オブジェクトに一致した場合にIDPが実行するアクションを指定します。
表 2 は、IDP ルールに指定できるアクションを示しています。
用語 |
定義 |
---|---|
No Action |
アクションは実行されません。このアクションは、一部のトラフィックのログのみを生成する場合に使用します。 |
Ignore Connection |
攻撃の一致が見つかった場合、残りの接続のトラフィックのスキャンを停止します。IDP は、特定の接続のルールベースを無効にします。
手記:
このアクションは、攻撃を無視するという意味ではありません。 |
Diffserv Marking |
指定された差別化されたサービス コード ポイント(DSCP)値を攻撃のパケットに割り当て、パケットを通常どおり渡します。 DSCP値は、攻撃として検出された最初のパケットには適用されず、後続のパケットに適用されることに注意してください。 |
Drop Packet |
一致するパケットが宛先に到達する前にドロップしますが、接続は閉じません。このアクションは、UDP トラフィックなど、スプーフィングが発生しやすいトラフィックに対する攻撃のパケットをドロップする場合に使用します。このようなトラフィックの接続を切断すると、サービス拒否が発生し、正当な送信元 IP アドレスからのトラフィックを受信できなくなる可能性があります。
手記:
IDP ポリシーがアプリケーションの カスタムシグネチャ で定義されたパケット以外のコンテキストを使用して設定され、パケットをドロップするアクションがある場合、IDP が攻撃を特定すると、デコーダーはdrop_packetをdrop_connectionに昇格させます。DNSプロトコル攻撃では、これは当てはまりません。DNSデコーダーは、攻撃が特定された場合、drop_packetをdrop_connectionに昇格させません。これにより、DNS 攻撃トラフィックのみがドロップされ、有効な DNS 要求が引き続き処理されます。これにより、有効な TCP DNS 要求の TCP 再送信も回避されます。 |
Drop Connection |
接続に関連するすべてのパケットをドロップし、接続のトラフィックが宛先に到達するのを防ぎます。このアクションは、スプーフィングが発生しにくいトラフィックの接続を切断する場合に使用します。 |
Close Client |
接続を閉じ、RST パケットをクライアントに送信しますが、サーバーには送信しません。 |
Close Server |
接続を閉じ、RST パケットをサーバーに送信しますが、クライアントには送信しません。 |
Close Client and Server |
接続を閉じ、クライアントとサーバーの両方に RST パケットを送信します。 |
Recommended |
すべての定義済み攻撃オブジェクトには、既定のアクションが関連付けられています。これは、その攻撃が検出されたときにジュニパーネットワークスが推奨するアクションです。
手記:
このアクションは、IPS ルールベースでのみサポートされます。 推奨 —ジュニパーネットワークスが重大な脅威と見なすすべての攻撃オブジェクトのリストを、カテゴリに整理します。
|
IDP ルールの IP アクションについて
IP アクションは、同じ IP アクション属性を使用する将来の接続に適用されるアクションです。たとえば、ホスト間のセッションで攻撃が検出された場合に、2 つのホスト間の今後のすべての HTTP セッションをブロックするようにルールで IP アクションを構成できます。または、タイムアウト値を指定して、その指定したタイムアウト値内に新しいセッションが開始された場合にのみアクションを適用するように定義することもできます。IP アクションのデフォルトのタイムアウト値は 0 で、IP アクションがタイムアウトすることはありません。
IPアクションは他のアクションと似ています。接続をドロップまたは閉じるようにIDPに指示します。ただし、攻撃者のIPアドレスもわかっているため、指定した期間、攻撃者をブロックすることを選択できます。攻撃者は、ネットワークへの接続をすぐに回復できない場合、より簡単なターゲットを攻撃しようとする可能性があります。IP アクションをアクションおよびログと組み合わせて使用し、ネットワークを保護します。
IP アクション属性は、以下のフィールドの組み合わせです。
元 IP アドレス
IP アドレス
宛先ポート
Fromゾーン
議定書
表 3 は、IDP ルールでサポートされる IP アクションの種類をまとめたものです。
用語 |
定義 |
---|---|
Notify |
今後のトラフィックに対しては何も実行しませんが、イベントをログに記録します。これがデフォルトです。 |
Drop/Block Session |
IPアクション・ルールに一致するセッションのすべてのパケットは、サイレントにドロップされます。 |
Close Session |
この IP アクション・ルールに一致する新規セッションは、RST パケットをクライアントおよびサーバーに送信することによってクローズされます。 |
トラフィックが複数のルールに一致する場合、一致したすべてのルールの中で最も重大な IP アクションが適用されます。最も重大な IP アクションは [セッションを閉じる] アクションで、次の重大度は [セッションのドロップ/ブロック] アクション、次に [通知] アクションです。
中心点の機能拡張後、システムには以下の制限があります。
各 SPU の最大アクティブ モード
ip-action
数は、600,000 エントリーに制限されています。この制限に達すると、SPU で新しいアクティブ モードip-action
エントリーを作成できなくなります。各 SPU のすべてのモード(アクティブ モードとパッシブ モード)の最大
ip-action
数は 1200,000 エントリに制限されています。この制限に達すると、SPU で新しいアクティブ モードip-action
エントリーを作成できなくなります。clear ip-action
コマンドを実行すると、呼び出しメッセージを介してip-action
エントリが削除されます。CPU使用率が高い場合、削除されたリングメッセージはドロップされ、アクティブモードip-action
によって再送されます。削除プロセスには時間がかかるため、show ip-action
コマンドを実行しても、ip-action
エントリはほとんど表示されません。
中心点拡張が行われていないデバイスでは、アクティブモード ip-action
のみが存在し、最大 ip-action
数は600000に制限されています。この制限に達すると、新しいアクティブモード ip-action
エントリを作成できなくなります。
IDP ルール通知について
通知は、アクションの実行時に情報をログに記録する方法を定義します。攻撃が検出された場合、攻撃をログに記録し、攻撃情報を含むログ・レコードを作成し、その情報をログ・サーバーに送信することを選択できます。
通知を使用すると、各ルールに対して生成されたログに対して特定のアクションを実行するようにログサーバーに指示する次のオプションを構成することもできます。
Set Alerts
—IDP ポリシーのルールのアラート オプションを指定します。ルールが一致すると、対応するログ・レコードの「ログ・ビューア」の「アラート」列にアラートが表示されます。セキュリティ管理者は、アラートを使用して、重要なセキュリティ イベントを認識し、対応します。Set Severity Level
- ログの重大度レベルを設定して、ログサーバー上のログレコードの整理と表示を改善します。選択した攻撃オブジェクトのデフォルトの重大度設定を使用するか、ルールの特定の重大度を選択できます。ルールで構成する重大度は、継承された攻撃の重大度よりも優先されます。重大度レベルを次のレベルに設定できます。情報—2
警告-3
マイナー—4
メジャー—5
クリティカル—7
例:IDP ルールベースへのルールの挿入
この例では、IDP ルールベースにルールを挿入する方法を示しています。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスを設定します。
ルールベースでルールを定義します。 例:IDP IPS RuleBase のルールの定義を参照してください。
概要
IDP ルール一致アルゴリズムは、ルールベースの先頭から開始し、指定された一致条件に一致するルールベース内のすべてのルールに対してトラフィックをチェックします。ルールを目的の順序で配置することで、ネットワーク トラフィックに適用する順序を決定します。ルールをルールベースに追加すると、そのルールは既存のルールリストの最後に配置されます。ルールベースの末尾以外の場所にルールを配置するには、ルールベースの目的の場所にルール insert ます。この例では、base-policy というポリシーの IDP IPS ルールベースで、ルール R2 をルール R1 の前に配置します。
構成
プロシージャ
手順
ルール・ベースにルールを挿入するには、次のようにします。
ルールを評価する順序に基づいて、ルールベース内のルールの位置を定義します。
[edit] user@host# insert security idp idp-policy base-policy rulebase-ips rule R2 before rule R1
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security idp status
コマンドを入力します。
例:IDP ルールベースのルールの無効化と有効化
この例では、ルールベースのルールを非アクティブ化およびアクティブ化する方法を示します。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスを設定します。
ルールベースでルールを定義します。 例:IDP IPS RuleBase のルールの定義を参照してください。
概要
ルールベースでは、 deactivate
コマンドと activate
コマンドを使用して、ルールを無効または有効にできます。 deactivate
コマンドは、コンフィギュレーションから指定されたステートメントをコメントアウトします。非アクティブ化されたルールは、 commit
コマンドを発行しても有効になりません。 activate
コマンドは、指定されたステートメントを設定に戻します。アクティブ化されたルールは、次に commit
コマンドを発行したときに有効になります。この例では、base-policy と呼ばれるポリシーに関連付けられた IDP IPS ルールベースでルール R2 を無効化し、再有効化する方法を示します。
構成
プロシージャ
手順
ルールベースでルールを無効化およびアクティブ化するには、次の手順を実行します。
非アクティブ化するルールを指定します。
[edit] user@host# deactivate security idp idp-policy base-policy rulebase-ips rule R2
ルールをアクティブ化します。
[edit] user@host# activate security idp idp-policy base-policy rulebase-ips rule R2
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security idp status
コマンドを入力します。
IDPアプリケーションレベルのDDoSルールベースを理解する
アプリケーションレベルの DDoS ルールベースは、DNS や HTTP などのサーバーをアプリケーションレベルの分散型サービス拒否 (DDoS) 攻撃から保護するために使用されるパラメーターを定義します。通常のサーバー・アクティビティー要求に基づいてカスタム・アプリケーション・メトリックをセットアップし、どのような場合にクライアントを攻撃クライアントと見なすかを決定できます。次に、アプリケーションレベルの DDoS ルールベースを使用して、監視する必要があるトラフィックのソース一致条件を定義し、定義されたアクション(サーバーを閉じる、接続をドロップする、パケットをドロップする、またはアクションなし)を実行します。また、IP アクション (ip-block、ip-close、ip-notify、ip-connection-rate-limit、または timeout) を実行することもできます。 表 4 は、アプリケーションレベルの DDoS ルールベースルールで構成できるオプションをまとめたものです。
用語 |
定義 |
---|---|
Match condition |
デバイスが攻撃を監視するネットワーク トラフィックを指定します。 |
Action |
監視対象トラフィックがアプリケーションレベルの DDoS ルールで指定された application-ddos オブジェクトと一致する場合に、侵入検出および防止(IDP)が実行するアクションを指定します。 |
IP Action |
送信元アドレスを暗黙的にブロックし、正当なトラフィックを許可しながら、将来の侵入からネットワークを保護することができます。アプリケーションレベルの DDoS では、ip-block、ip-close、ip-notify、ip-connection-rate-limit のいずれかの IP アクション オプションを設定できます。 |
IDP IPS ルールベースについて
侵入防御システム(IPS)ルールベースは、攻撃オブジェクトを使用して既知および未知の攻撃を検出することにより、ネットワークを攻撃から保護します。ステートフル、シグネチャ、プロトコルの異常に基づいて攻撃を検知します。 表 5 は、IPS ルールベース ルールで設定できるオプションをまとめたものです。
用語 |
定義 |
---|---|
Match condition |
デバイスが攻撃を監視するネットワーク トラフィックのタイプを指定します。一致条件の詳細については、「 IDP ポリシー ルールについて」を参照してください。 |
Attack objects/groups |
監視対象のネットワークトラフィックでデバイスに一致させる攻撃を指定します。各攻撃は、既知の攻撃パターンを表す攻撃オブジェクトとして定義されます。攻撃オブジェクトの詳細については、「 IDP ポリシー ルールについて」を参照してください。 |
Terminal flag |
端末ルールを指定します。端末ルールが一致すると、デバイスはセッションのルールの一致を停止します。端末ルールの詳細については、 IDP ターミナルルールについて を参照してください。 |
Action |
監視対象トラフィックがルールで指定された攻撃オブジェクトと一致した場合にシステムが実行するアクションを指定します。攻撃によって複数のルール アクションがトリガーされた場合、それらのルールの中で最も重大なアクションが実行されます。アクションの詳細については、「 IDP ポリシー ルールについて」を参照してください。 |
IP Action |
正当なトラフィックを許可しながら、将来の侵入からネットワークを保護することができます。IPS ルールベースで、IP アクション オプション(通知、ドロップ、クローズ)のいずれかを設定できます。IP アクションの詳細については、「 IDP ポリシー ルールについて」を参照してください。 |
Notification |
アクションの実行時に情報をログに記録する方法を定義します。攻撃のログ記録、攻撃情報を含むログ・レコードの作成、およびログ・サーバーへの情報の送信を選択できます。詳細については、「 IDP ポリシー ルールについて」を参照してください。 |
例:IDP IPS RuleBase のルールの定義
この例では、IDP IPS ルールベースのルールを定義する方法を示しています。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスを設定します。
セキュリティゾーンを作成します。 例: セキュリティ ゾーンの作成を参照してください。
事前定義された攻撃でIDPカスタムポリシーを使用するには、デバイスに署名データベースをダウンロードする必要があります。
詳細については、「 例: IDP 署名データベースの手動更新」を参照してください。
概要
各ルールは、一致条件、オブジェクト、アクション、通知で構成されています。IDP ルールを定義するときは、送信元ゾーン、宛先ゾーン、送信元 IP アドレス、IP アドレス、IP アドレスでサポートされているアプリケーション層プロトコルの特性を使用して、IDP が攻撃を監視するネットワーク トラフィックの種類を指定する必要があります。ルールはルールベースで定義され、ルールベースはポリシーに関連付けられます。
この例では、base-policy というポリシーを作成し、このポリシーのルールベースを指定して、このルールベースにルール R1 を追加する方法を説明します。この例では、ルール R1:
trustと呼ばれる以前に設定されたゾーンからuntrustと呼ばれる以前に設定された別のゾーンへのトラフィックを含む一致条件を指定します。一致条件には、定義済みの攻撃グループ Critical - TELNET も含まれます。一致条件のアプリケーション設定はdefaultで、攻撃オブジェクトで構成されているすべてのアプリケーションと一致します。
ルール R1 の基準に一致するすべてのトラフィックの接続をドロップするアクションを指定します。
攻撃ログを有効にし、攻撃ログに警告フラグを追加することを指定します。
重大度レベルを critical として指定します。
ルールを定義した後、デバイスのアクティブポリシーとして base-policy を指定します。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルのCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security idp idp-policy base-policy set security idp idp-policy base-policy rulebase-ips rule R1 match from-zone trust to-zone untrust source-address any destination-address any application default set security idp idp-policy base-policy rulebase-ips rule R1 match attacks predefined-attack-groups "TELNET-Critical" set security idp idp-policy base-policy rulebase-ips rule R1 then action drop-connection set security idp idp-policy base-policy rulebase-ips rule R1 then notification log-attacks alert set security idp idp-policy base-policy rulebase-ips rule R1 then severity critical set security idp active-policy base-policy
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。
IDP IPS ルールベースのルールを定義するには、次の手順を実行します。
ポリシーにわかりやすい名前を割り当てて、ポリシーを作成します。
[edit] user@host# edit security idp idp-policy base-policy
ルールベースをポリシーに関連付けます。
[edit security idp idp-policy base-policy] user@host# edit rulebase-ips
ルールベースにルールを追加します。
[edit security idp idp-policy base-policy rulebase-ips] user@host# edit rule R1
ルールの一致条件を定義します。
[edit security idp idp-policy base-policy rulebase-ips rule R1] user@host# set match from-zone trust to-zone untrust source-address any destination-address any application default
攻撃を一致条件として定義します。
[edit security idp idp-policy base-policy rulebase-ips rule R1] user@host# set match attacks predefined-attack-groups "TELNET-Critical"
ルールのアクションを指定します。
[edit security idp idp-policy base-policy rulebase-ips rule R1] user@host# set then action drop-connection
ルールの通知とログのオプションを指定します。
[edit security idp idp-policy base-policy rulebase-ips rule R1] user@host# set then notification log-attacks alert
ルールの重大度レベルを設定します。
[edit security idp idp-policy base-policy rulebase-ips rule R1] user@host# set then severity critical
ポリシーをアクティブ化します。
[edit] user@host# set security idp active-policy base-policy
業績
設定モードから、 show security idp
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security idp idp-policy base-policy { rulebase-ips { rule R1 { match { from-zone trust; source-address any; to-zone untrust; destination-address any; application default; attacks { predefined-attack-groups Critical-TELNET; } } then { action { drop-connection; } notification { log-attacks { alert; } } severity critical; } } } } active-policy base-policy;
デバイスの設定が完了したら、設定モードから commit
を入力します。
IDP 除外ルールベースについて
除外ルールベースは、侵入防御システム(IPS)ルールベースと連携して、不要なアラームが生成されるのを防ぎます。このルールベースのルールを設定して、既知の誤検知を除外したり、特定の送信元、宛先、または送信元と宛先のペアを IPS ルールの一致から除外したりします。トラフィックが IPS ルールベースのルールに一致する場合、システムは指定されたアクションを実行する前に、トラフィックを除外ルールベースと照合しようとします。除外ルールベースに慎重に記述されたルールは、IPS ルールベースによって生成される誤検知の数を大幅に減らすことができます。
次の条件で除外ルールベースを構成します。
IDP ルールが、誤検知または無関係なログ レコードを生成する 1 つ以上の攻撃オブジェクトを含む攻撃オブジェクト グループを使用する場合。
特定の送信元、宛先、または送信元と宛先のペアを IDP ルールの一致から除外する場合。これにより、IDP が不要なアラームを生成するのを防ぎます。
除外ルールベースを設定する前に、必ず IPS ルールベースを設定してください。
表 6 は、exempt-rulebase ルールで構成できるオプションをまとめたものです。
用語 |
定義 |
---|---|
Match condition |
IPS ルールベースと同じ方法で、デバイスが攻撃を監視するネットワーク トラフィックのタイプを指定します。ただし、除外ルールベースでは、アプリケーションを構成することはできません。常に |
Attack objects/groups |
監視対象のネットワーク トラフィック内でデバイスを照合 not 攻撃オブジェクトを指定します。 |
除外ルール一致のログ記録をサポート
IDP の除外ルールは、特定の種類の攻撃または特定の種類のトラフィックをログから除外して、潜在的な脅威であるインシデントをターゲットにすることに焦点を当てるために使用されます。ただし、除外ルールが存在するために、一部の有用な情報が失われる可能性があります。
IDP システムに除外ルール ロギングを導入し、トラフィック パターンの監視と分析、潜在的なセキュリティ上の脅威の検出、ネットワーク問題のトラブルシューティングに使用できるようになりました。管理者はログを調べ、IDPルールから除外されるトラフィックのタイプに関する洞察を得て、ネットワークポリシーについて情報に基づいた決定を下すことができます。
除外ルールのログ機能は、ルール レベルで有効になります。これにより、セキュリティイベントのきめ細かな監視と分析が可能になり、システムの可視性が向上します。
以下は、IDP ポリシー内の除外ルールのログ記録サポートの例です。
user@host# set security idp idp-policy Sample-IPS-Policy rulebase-exempt rule Exempt-rule then notification log-attacks alert
どこ
アイテム | 名 |
---|---|
ポリシー名 | サンプル-IPS-ポリシー |
ルール名 | 除外ルール |
以下は、ログイベントの例です。
IDP_RULEBASE_EXEMPT_LOG_EVENT
RT_IDP: IDP_RULEBASE_EXEMPT_LOG_EVENT: IDP: at 1687773425, ANOMALY Attack log <IP/50852->IP/80> for TCP protocol and service HTTP application GOOGLE-GEN by rule 4 of rulebase-exempt IPS in policy Space-IPS-Policy. attack: id=1555, repeat=0, action=NONE, threat-severity=HIGH, name=HTTP:INVALID:MSNG-HTTP-VER, NAT <0.0.0.0:0->0.0.0.0:0>, time-elapsed=0, inbytes=0, outbytes=0, inpackets=0, outpackets=0, intf:untrust:xe-0/0/0.0->trust:xe-0/0/1.0, alert=yes, username=N/A, roles=N/A, xff-header=N/A, cve-id=2022-21907, session-id=42
例: IDP 除外ルールベースのルールの定義
この例では、除外 IDP ルールベースのルールを定義する方法を示しています。
必要条件
開始する前に、IDP IPS ルールベースでルールを作成します。 例:IDP IPS RuleBase のルールの定義を参照してください。
概要
除外ルールを作成するときは、次の項目を指定する必要があります。
除外するトラフィックの送信元と宛先。送信元または宛先を
Any
に設定して、任意の送信元から発信された、または任意の宛先に送信されたネットワーク トラフィックを除外できます。また、source-except
またはdestination-except
を設定して、指定した送信元アドレスまたは宛先アドレスを除くすべての送信元または宛先を指定することもできます。手記:from-zone
がany
ときに、source-address
アドレスとsource-except
アドレスを指定できるようになりました。同様に、to-zone
がany
の場合は、destination-address
アドレスとdestination-except
アドレスを指定できます。指定された送信元/宛先アドレスに対して IDP が除外する攻撃。除外ルールには、少なくとも 1 つの攻撃オブジェクトを含める必要があります。
この例は、IDP ポリシーが内部ネットワークで攻撃 FTP:USER:ROOT の誤検知を生成することを示しています。送信元 IP が内部ネットワークからのものである場合に、この攻撃の攻撃検出を除外するようにルールを構成します。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルのCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security idp idp-policy base-policy set security idp idp-policy base-policy rulebase-exempt rule R1 match from-zone trust to-zone any set security idp idp-policy base-policy rulebase-exempt rule R1 match source-address internal-devices destination-address any set security idp idp-policy base-policy rulebase-exempt rule R1 match attacks predefined-attacks "FTP:USER:ROOT" set security idp active-policy base-policy
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。
除外 IDP ルールベースのルールを定義するには:
ルールベースを定義して除外する IDP IPS ルールベースを指定します。
[edit] user@host# edit security idp idp-policy base-policy
除外ルールベースをポリシーおよびゾーンに関連付け、ルールベースにルールを追加します。
[edit security idp idp-policy base-policy] user@host# set rulebase-exempt rule R1 match from-zone trust to-zone any
ルールベースの送信元アドレスと宛先アドレスを指定します。
[edit security idp idp-policy base-policy] user@host# set rulebase-exempt rule R1 match source-address internal-devices destination-address any
攻撃検出から除外する攻撃を指定します。
[edit security idp idp-policy base-policy] user@host# set rulebase-exempt rule R1 match attacks predefined-attacks "FTP:USER:ROOT"
ポリシーをアクティブ化します。
[edit] user@host# set security idp active-policy base-policy
業績
設定モードから、 show security idp
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security idp idp-policy base-policy { rulebase-exempt { rule R1 { match { from-zone trust; source-address internal-devices; to-zone any; destination-address any; attacks { predefined-attacks FTP:USER:ROOT; } } } } active-policy base-policy;
デバイスの設定が完了したら、設定モードから commit
を入力します。
IDP 端末ルールについて
侵入検出および防止(IDP)ルール一致アルゴリズムは、ルールベースの先頭から開始し、送信元、宛先、およびサービスに一致するルールベース内のすべてのルールに対してトラフィックをチェックします。ただし、 ルールを terminal に設定することはできます。端末ルールは、このアルゴリズムの例外です。ソース、宛先、ゾーン、およびアプリケーションの末端ルールで一致が検出された場合、IDP は同じソース、宛先、およびアプリケーションの後続のルールのチェックを続行しません。トラフィックが一致ルール内の攻撃オブジェクトと一致するかどうかは関係ありません。
端末ルールは、以下の目的で使用できます。
同じソースと宛先の異なる攻撃に対して異なるアクションを設定する。
既知の信頼できる送信元から発信されたトラフィックを無視する。通常、このタイプの端末ルールではアクションが
None
されます。特定の攻撃セットに対してのみ脆弱なサーバーに送信されたトラフィックを無視すること。通常、このアクションはこのタイプの端末ルールに
Drop Connection
されます。
端末ルールを定義するときは注意が必要です。不適切なターミナルルールは、ネットワークを攻撃に対して無防備な状態にしてしまう可能性があります。ターミナル ルールの送信元、宛先、およびアプリケーションに一致するトラフィックは、トラフィックがターミナル ルール内の攻撃オブジェクトと一致しない場合でも、後続のルールと比較されないことに注意してください。端末ルールは、1 つの特定の攻撃オブジェクトのセットについて特定のタイプのトラフィックを調べる場合にのみ使用してください。送信元と宛先の両方に any
を使用する端末ルールには特に注意してください。ターミナル ルールは、同じトラフィックに一致する他のルールの前に、ルールベースの先頭付近に表示されます。
例: ルールベースでの端末ルールの設定
この例では、端末ルールを設定する方法を示しています。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスを設定します。
セキュリティポリシーでIDPアプリケーションサービスを有効にします。
セキュリティゾーンを作成します。 例: セキュリティ ゾーンの作成を参照してください。
ルールを定義する。 「 例:IDP ルールベースへのルールの挿入 」を参照してください。
概要
デフォルトでは、IDP ルールベースのルールは終端ではないため、IDP はルールベース内のすべてのルールを調べ、すべての一致を実行します。ルールが terminal であることを指定できます。つまり、IDP がターミナル ルールで指定された送信元、宛先、およびサービスの一致を検出した場合、その接続の後続のルールは調べません。
この例では、端末ルールを設定する方法を示しています。ルールR2を定義して、トラフィックの送信元IPが社内の既知の信頼できるネットワークから送信された場合に、一致アルゴリズムを終了します。このルールが一致した場合、IDPは信頼できるネットワークからのトラフィックを無視し、悪意のあるデータがないかセッションを監視しません。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルのCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security idp idp-policy base-policy set security idp idp-policy base-policy rulebase-ips rule R2 match source-address internal destination-address any set security idp idp-policy base-policy rulebase-ips rule R2 terminal set security idp idp-policy base-policy rulebase-ips rule R2 match attacks predefined-attacks FTP:USER:ROOT set security idp idp-policy base-policy rulebase-ips rule R2 then action recommended
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの設定モードにおけるCLIエディターの使用を参照してください。
端末ルールを設定するには、次の手順を実行します。
IDP ポリシーを作成します。
[edit] user@host# set security idp idp-policy base-policy
ルールを定義し、その一致条件を設定します。
[edit security idp idp-policy base-policy] user@host# set rulebase-ips rule R2 match source-address internal destination-address any
ルールの終端フラグを設定します。
[edit security idp idp-policy base-policy] user@host# set rulebase-ips rule R2 terminal
攻撃検出から除外する攻撃を指定します。
[edit security idp idp-policy base-policy] user@host# set rulebase-ips rule R2 match attacks predefined-attacks FTP:USER:ROOT
ルールのアクションを指定します。
[edit security idp idp-policy base-policy] user@host# rulebase-ips rule R2 then action recommended
業績
設定モードから、 show security idp
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security idp idp-policy base-policy { rulebase-ips { rule R2 { match { source-address internal; destination-address any; attacks { predefined-attacks FTP:USER:ROOT; } } then { action { recommended; } } terminal; } } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
IDP ポリシーの DSCP ルールについて
差別化されたサービス コード ポイント(DSCP)は、IP パケット ヘッダーで定義された 6 ビット フィールドでエンコードされた整数値です。これは、サービスクラス(CoS)の区別を強制するために使用されます。CoS では、デフォルトのパケット転送動作を上書きし、特定のトラフィック フローにサービス レベルを割り当てることができます。
DSCP 値を IDP ポリシー ルールのアクションとして設定できます。まず、IDP ポリシーで一致条件を定義してトラフィックを定義し、それに DiffServ マーキング アクションを関連付けます。動作集約分類子は、DSCP 値に基づいて、トラフィックの転送クラスと損失の優先度を設定し、トラフィックが受信する転送処理を決定します。
IDP ポリシー ルールに一致するすべてのパケットには、一致するポリシーで指定された DSCP 値で書き換えられた IP ヘッダーの CoS フィールドがあります。トラフィックが異なる DSCP 値を持つ複数のルールに一致する場合、最初に一致した IDP ルールが有効になり、この IDP ルールがそのセッションのすべてのトラフィックに適用されます。
例:IDP ポリシーでの DSCP ルールの設定
この例では、IDP ポリシーで DSCP 値を設定する方法を示しています。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスの構成
セキュリティポリシーでIDPアプリケーションサービスを有効にする
セキュリティ ゾーンの作成
ルールの定義
概要
IDP ポリシーで DSCP 値を設定すると、ネットワーク上のさまざまなタイプのトラフィックに対して CoS 値(つまりさまざまな信頼性レベル)を関連付けることができます。
この例では、policy1 というポリシーを作成し、このポリシーのルールベースを指定して、このルールベースにルール R1 を追加する方法を示します。この例では、ルール R1:
trustと呼ばれる以前に設定されたゾーンからuntrustと呼ばれる以前に設定された別のゾーンへのトラフィックを含む一致条件を指定します。一致条件には、HTTP - Critical という定義済みの攻撃グループも含まれています。一致条件のアプリケーション設定はデフォルトとして指定され、攻撃オブジェクトで構成されているすべてのアプリケーションと一致します。
ルール R1 の基準に一致するすべてのトラフィックに対して、IP ヘッダーの CoS フィールドを DSCP 値 50 で書き換えるアクションを指定します。
手記:コマンド
show security idp attack attack-list recursive predefined-group "HTTP - Critical"
を使用して、事前定義されたグループ「HTTP - Critical」に含まれる内容の詳細を確認します。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルのCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security idp idp-policy base-policy set security idp idp-policy base-policy rulebase-ips rule R1 match from-zone Zone-1 to-zone Zone-2 source-address any destination-address any application default set security idp idp-policy base-policy rulebase-ips rule R1 match attacks predefined-attack-groups "HTTP - Critical" set security idp idp-policy base-policy rulebase-ips rule R1 then action mark-diffserv 50
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。
IDP ポリシーで DSCP 値を設定するには:
ポリシーにわかりやすい名前を割り当てて、ポリシーを作成します。
[edit] user@host# edit security idp idp-policy base-policy
ルールベースをポリシーに関連付けます。
[edit security idp idp-policy base-policy] user@host# edit rulebase-ips
ルールベースにルールを追加します。
[edit security idp idp-policy base-policy rulebase-ips] user@host# edit rule R1
ルールの一致条件を定義します。
[edit security idp idp-policy base-policy rulebase-ips R1] user@host# set match from-zone trust to-zone untrust source-address any destination-address any application default user@host# set match attacks predefined-attack-group “HTTP - Critical”
ルールのアクションを指定します。
[edit security idp idp-policy base-policy rulebase-ips R1] user@host# set then action mark-diffserv 50
必要に応じて、ルールの通知またはログのオプションを引き続き指定します。
ポリシーをアクティブ化します。
[edit] user@host# set security idp active-policy base-policy
業績
設定モードから、 show security idp
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security idp idp-policy base-policy{ rulebase-ips { rule R1 { match { from-zone trust; source-address any; to-zone untrust; destination-address any; application default; attacks { predefined-attack-groups HTTP-Critical; } } then { action { mark-diffserv { 50; } } } } } active-policy base-policy;
デバイスの設定が完了したら、設定モードから commit
を入力します。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。