Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイアウォールフィルター一致条件について

ファイアウォールフィルターの用語を定義する前に、用語で指定した一致条件がどのように処理されるか、および目的のフィルタリング結果を得るためにさまざまなタイプの一致条件を指定する方法を理解する必要があります。一致条件は、一致条件を定義する文字列(一致ステートメントと呼ばれる)で構成されます。一致条件とは、パケットに含める必要のある値またはフィールドです。

フィルター一致条件

ファイアウォールフィルター条件のステートメントでは、次のいずれかのステートメントでアクションをトリガーするパケット条件を指定します。fromthen さまざまなオプション 、または .thenthen interfacethen vlan この from ステートメントの条件は、実行するアクションに一致する必要があります。一致が発生するためにはパケットが項内のすべての条件に一致する必要があるため、一致条件を指定する順序は重要ではありません。

条件に一致条件を指定しない場合、その条件はすべてのパケットに一致します。

ステートメント内の 個々の条件に値のリストを含めることはできません。from たとえば、数値範囲や複数の送信元アドレスまたは宛先アドレスを指定することはできません。

ステートメント内の個々の条件を 否定することはできません。from 否定条件は明示的な不一致です。

数値フィルター一致条件

数値フィルター条件は、ポート番号やプロトコル番号などの数値で識別されるパケット フィールドに一致します。数値フィルター一致条件では、条件を識別するキーワードと、パケット内のフィールドが一致する必要がある単一の値を指定します。

数値は、以下のいずれかの方法で指定できます。

  • 単一番号 - フィールドの値が数値と一致する場合、一致が発生します。たとえば、以下のように表示されます。

  • 1 つの数値のテキスト シノニム - フィールドの値がシノニムに対応する数値と一致する場合、一致が発生します。たとえば、以下のように表示されます。

フィルター項目に複数の値を指定するには、独自の match ステートメント(一致条件を定義する文字列)に各値を入力します。たとえば、 の 値が 10 または 30 の場合、次の項で一致が発生します。vlan

数値フィルター一致条件には、以下の制限が適用されます。

  • 値の範囲は指定できません。

  • カンマ区切り値のリストを指定することはできません。

  • 数値フィルター一致条件で特定の値を除外することはできません。たとえば、一致条件が特定の値と等しくない場合にのみ一致する条件を指定することはできません。

インターフェイスフィルター一致条件

インターフェイスフィルター一致条件は、パケット内のインターフェイス名の値と一致することができます。インターフェイスフィルター一致条件の場合は、インターフェイスの名前を指定します。例::

ポートおよびVLANインターフェイスは、論理ユニット番号を使用しません。ただし、ルーター インターフェイスに適用されるファイアウォール フィルターでは、インターフェイス フィルター一致条件で論理ユニット番号を指定できます。次に例を示します。

次のように、 インターフェイス名の一部としてワイルドカードを含めることができます。*

IPアドレスフィルター一致条件

アドレスフィルター一致条件は、IP送信元プレフィックスや宛先プレフィックスなどのパケット内のプレフィックス値に一致させることができます。アドレスフィルター一致条件では、フィールドを識別するキーワードと、パケットが一致する必要があるそのタイプのプレフィックスを1つ指定します。

アドレスは単一のプレフィックスで指定します。フィールドの値がプレフィックスと一致する場合、一致が発生します。たとえば、以下のように表示されます。

各プレフィックスには暗黙的な 0/0 except ステートメントが含まれています。つまり、指定されたプレフィックスに一致しないプレフィックスは、明示的に一致しないと見なされます。

アドレス プレフィックスを指定するには、プレフィックス/プレフィックス長の表記を使用します。prefix-length を省略した場合、デフォルトは /32 になります。たとえば、以下のように表示されます。

フィルター条件に複数の IP アドレスを指定するには、それぞれのアドレスを独自の match ステートメントに入力します。たとえば、フィールドの値が 次の送信元アドレス プレフィックスのいずれかに一致する場合、次の項で一致が発生します。source-address

MAC アドレス フィルター一致条件

MACアドレスフィルター一致条件は、パケット内の送信元と宛先のMACアドレス値に一致させることができます。MAC アドレス フィルター一致条件では、フィールドを識別するキーワードと、パケットが一致する必要があるそのタイプの値を 1 つ指定します。

以下の形式で、MAC アドレスを 16 進数6 バイトで指定できます。

フィルター条件に複数のMACアドレスを指定するには、それぞれのMACアドレスを独自の match ステートメントに入力します。たとえば、フィールドの値が次のアドレスのいずれかと一致する場合、 次の用語で一致が発生します。source-mac-address

ビットフィールドフィルタ一致条件

ビットフィールド フィルター条件は、フィールドの特定のビットが設定されている場合、または設定されていない場合にパケット フィールドに一致します。IPオプション、TCPフラグ、およびIPフラグメント化フィールドを照合できます。ビットフィールドフィルター一致条件では、フィールドを識別するキーワードを指定し、オプションがフィールドに存在するかどうかをテストします。

一致させるビットフィールド値を指定するには、値を二重引用符で囲みます。たとえば、TCP フラグ フィールドのビットが設定されている場合 、一致が発生します。RST

通常、テストするビットはキーワードを使用して指定します。ビットフィールド一致キーワードは、常に 1 つのビット値にマップされます。また、ビット フィールドを 16 進数または 10 進数で指定することもできます。

複数のビットフィールド値を一致させるには、「」 で説明されている論理演算子を使用します。表 1演算子は、優先順位の高いものから低いものの順にリストされています。操作は左結合です。

表 1: 複数のビットフィールド演算子を一致させるための論理演算子

論理演算子

説明

!

否定。

&

論理AND。

|

論理OR。

一致を無効にするには、値の前に感嘆符を付けます。例えば、TCP フラグ フィールドの RST ビットが設定されていない場合にのみ、一致が発生します。

以下の論理 AND 演算の例では、パケットが TCP セッションの最初のパケットである場合に一致が発生します。

以下の論理OR演算の例では、パケットがTCPセッションの確立または破棄の一部である場合に一致が発生します。

論理 OR 演算の場合、1 つの項に最大 2 つの一致条件を指定できます。論理 OR 演算で 2 つ以上のビットフィールド値を一致させる必要がある場合は、同じ一致条件を追加のビットフィールド値を使用して連続して設定します。次の例では、設定されている 2 つの条件が TCP フラグ フィールドの SYN、ACK、FIN、または RST ビットと一致します。

テキスト同義語を使用して、一般的なビットフィールド一致を指定できます。これらの一致を 1 つのキーワードとして指定します。以下のテキスト同義語の例では、パケットがTCPセッションの最初のパケットである場合に一致が発生します。