目次

ステートフルファイアウォールの設定の定義

Workload Security ステートフルファイアウォール設定メカニズムは、トラフィック履歴、TCPおよびIPヘッダ値の正確さ、およびTCP接続状態の遷移のコンテキストで各パケットを分析します。UDPやICMPなどのステートレスプロトコルの場合、履歴トラフィック分析に基づいた擬似ステートフルメカニズムが実装されます。パケットは、ステートフルメカニズムによって次のように処理されます。

  1. 静的ファイアウォールルール条件によってパケットの通過が許可された場合、パケットはステートフルルーチンに渡されます。
  2. パケットを調べて、既存の接続に属しているかどうかが判断されます。
  3. TCPヘッダの正当性 (シーケンス番号、フラグの組み合わせなど) が調査されます。

新しいステートフル設定を作成するには、次の手順を実行する必要があります。

  1. ステートフルな設定を追加します。
  2. ステートフル設定情報を入力する
  3. パケットインスペクションオプションを選択する

ステートフル設定が完了したら、次の方法についても学習できます。

ステートフル設定を追加する

[ポリシー]→[共通オブジェクト]→[その他]→[ファイアウォールステートフル設定] でステートフル設定を定義する方法には次の3つがあります。

  • 新しい設定を作成するには、 [新規]→[新しいファイアウォールステートフル設定]をクリックします。
  • XMLファイルから設定をインポートするには、 [新規]→[ファイルからインポート] の順にクリックします。
  • 既存の設定をコピーして変更します。 [プロパティ] [ ] をクリックします。

ステートフル設定情報を入力する

設定の [名前][説明] を入力します。

パケットインスペクションオプションを選択する

IP、TCP、UDP、およびICMPパケット検査、エンド・エンドのアクティブFTP、またはパッシブFTPのオプションを定義できます。

IPパケットインスペクション

[一般] タブで、[フラグメント化されたすべての受信パケットを拒否する] を選択して、フラグメント化されたパケットをすべてドロップします。破棄されたパケットは断片化分析をバイパスし、IP断片化パケットのログエントリを生成します。合計長がIPヘッダ長よりも短いパケットは、通知なしでドロップされます。

攻撃者は、ファイアウォールルールをバイパスするために、断片化されたパケットを作成して送信することがあります。 { .warning }

初期設定では、ファイアウォールエンジンは、フラグメント化されたパケットに対して一連のチェックを実行します。これは初期設定の動作で、変更することはできません。次のような特徴を持つパケットは、破棄されます。
  • フラグメンテーションフラグ/オフセットが無効: IPヘッダのDFフラグとMFフラグのいずれかが1に設定されている場合、またはヘッダに1に設定されたDFフラグと0以外のオフセット値が含まれている場合、パケットはドロップされます。
  • 最初のフラグメントが小さすぎます: MFフラグが1に設定されており、オフセット値が0で、パケットの合計長が120バイト (ヘッダの合計の最大長) 未満の場合、パケットはドロップされます。
  • IPフラグメントが範囲を超えている: 合計パケット長と組み合わされたオフセットフラグの値が最大データグラム長である65,535バイトを超えた場合、パケットは破棄されます。
  • IPフラグメントオフセットが小さすぎます: ゼロ以外のオフセットフラグの値が60バイト未満の場合、パケットはドロップされます。

TCPパケットインスペクション

[TCP] タブで有効化するオプションを次の中から選択します。

  • CWR、ECEフラグを含むTCPパケットを拒否します。 ネットワーク輻輳が発生したときに設定されます。

    RFC 3168では、ECN (Explicit Congestion Notification) に使用する予約済みフィールドの6ビットのうち2ビットを、次のように定義しています。
    • ビット8から15: CWR-ECE-URG-ACK-PSH-RST-SYN-FIN
    • TCPヘッダフラグのビット名参照:
      • ビット8: CWR (Congestion Window Reduced) [RFC3168]
      • ビット9: ECE (ECN-Echo) [RFC3168]
    サービス拒否攻撃などによって生成される自動パケット送信では、これらのフラグが設定されたパケットが生成されることがよくあります。 { .warning }

  • TCPステートフルインスペクションを有効にする: TCPレベルでのステートフルインスペクションを有効にします。ステートフルTCPインスペクションを有効にすると、次のオプションが利用可能です。

    • TCPステートフルログを有効にする: このオプションを選択すると、TCPステートフルインスペクションイベントのログが有効になります。
    • 1台のコンピュータからへの受信接続数を制限する: 1台のコンピュータからの接続数を制限すると、サービス拒否攻撃の影響を軽減できます。
    • 1台のコンピュータへの送信接続数をに制限する: 1台のコンピュータへの送信接続数を制限すると、Nimdaに似たワームの影響を大幅に減らすことができます。
    • 単一のコンピュータからの半開接続の数を制限する: ここで制限を設定することで、SYN FloodのようなDoS攻撃から保護することができます。ほとんどのサーバーには半開接続を閉じるためのタイムアウト設定がありますが、ここで値を設定することで、半開接続が重大な問題になるのを防ぐことができます。指定されたSYN-SENT (リモート) エントリの制限に達した場合、その特定のコンピュータからの後続のTCPパケットは破棄されます。

      単一コンピュータからのオープン接続を許可する数を決定する際に、使用している種類のプロトコルで妥当と考えられる単一コンピュータからのハーフオープン接続数と、輻輳を引き起こすことなくシステムが維持できる単一コンピュータからのハーフオープン接続数との間の数を選択します。

    • 確認応答済みパケット数がを超えた場合にACKストーム保護を有効にする: このオプションを設定すると、ACKストーム攻撃が発生したことを示すイベントがログに記録されます。

      • ACKストーム検出時に接続を切断: このオプションを設定すると、このような攻撃が検出された場合に接続が切断されます。 ACKストーム保護オプションは、バージョン8.0以前のAgentでのみ使用できます。

FTPオプション

バージョン8.0以前のエージェントを使用している場合は、[ FTPオプション ] タブで次のオプションを有効にできます。

  • アクティブFTP
    • 受信を許可: このコンピュータがサーバとして機能しているときにアクティブFTPを許可します。
    • 送信を許可: このコンピュータがクライアントとして動作しているときにアクティブFTPを許可します。
  • パッシブFTP
    • 受信を許可: このコンピュータがサーバとして機能しているときにパッシブFTPを許可します。
    • Allow Outgoing: このコンピュータがクライアントとして動作しているときにパッシブFTPを許可します。

UDPパケットインスペクション

[UDP] タブで次のオプションを有効化できます。

  • UDPステートフルインスペクションを有効にする: UDPトラフィックのステートフルインスペクションを有効にする場合に選択します。

    UDPステートフルメカニズムは、未承諾の受信UDPパケットをドロップします。送信UDPパケットごとに、ルールはUDPステートフルテーブルを更新し、要求から60秒以内にUDP応答が発生した場合にのみUDP応答を許可します。特定の受信UDPトラフィックを許可する場合は、 Force Allow ルールを作成します。たとえば、DNSサーバを実行している場合は、 Force Allow ルールを作成して、宛先ポート53への受信UDPパケットを許可します。

UDPトラフィックのステートフルインスペクションを行わないと、攻撃者はDNSサーバになりすまし、送信元ポート53からファイアウォールの背後にあるコンピュータに迷惑なUDP応答を送信する可能性があります。 { .warning }

  • UDPステートフルログを有効にする: このオプションを選択すると、UDPステートフル検査イベントのログが有効になります。

ICMPパケットインスペクション

バージョン8.0以前のエージェントを使用している場合は、[ ICMP ] タブで次のオプションを有効にできます。

  • ICMPステートフルインスペクションを有効にする: ICMPトラフィックのステートフルインスペクションを有効にする場合に選択します。

    ICMP (疑似) ステートフルメカニズムは、受信要求のないICMPパケットをドロップします。送信ICMPパケットごとに、ルールはICMPステートフルテーブルを作成または更新し、要求から60秒以内にICMP応答が発生した場合にのみICMP応答を許可します。サポートされるICMPペアの種類: Type 0と8、13と14、15と16、17と18。

たとえば、ステートフルICMPインスペクションを有効にすると、エコー要求が送信された場合にICMPエコー応答を許可できます。要求されていないエコー応答は、Smurf増幅攻撃、マスターとデーモン間のトライブフラッドネットワーク通信、Loki2バックドアなど、さまざまな種類の攻撃の予兆である可能性があります。 { .warning }

  • ICMPステートフルログを有効にする: このオプションを選択すると、ICMPステートフル検査イベントのログが有効になります。

ステートフル設定をエクスポートする

すべてのステートフル設定を .csv または .xml ファイルにエクスポートするには、[エクスポート] をクリックし、リストから対応するエクスポートを選択します。特定のステートフル設定をエクスポートするには、最初にステートフル設定を選択し、[エクスポート] をクリックし、リストから対応するエクスポート処理を選択します。

ステートフル設定を削除する

ステートフル設定を削除するには、[ ファイアウォールステートフル設定 ] リストで設定を右クリックし、[削除] 、 [ OK] の順にクリックします。

1台以上のコンピュータに割り当てられたステートフル設定、またはポリシーの一部であるステートフル設定は削除できません。

ステートフル設定が割り当てられたポリシーとコンピュータの表示

ステートフルインスペクション設定に割り当てられたポリシーとコンピュータは、[割り当て対象] タブに表示できます。リスト内のポリシーまたはコンピュータをクリックすると、そのプロパティが表示されます。