目次

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

攻撃者は、ファイアウォールルールをバイパスするために、フラグメント化されたパケットを作成して送信する場合があります。

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

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]
    サービス拒否攻撃などによって生成される自動パケット送信では、これらのフラグが設定されたパケットが生成されることがよくあります。

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

    • TCPステートフルログを有効にする: TCPステートフルインスペクションイベントがログに記録されます。
    • 単一コンピュータからの受信接続数の上限: 単一コンピュータからの接続数を制限すると、DoS攻撃の影響を低減できます。
    • 単一コンピュータへの送信接続数の上限: 単一コンピュータへの送信接続数を制限すると、Nimdaなどのワームの影響を大幅に低減できます。
    • 単一コンピュータからのハーフオープン接続数の上限: この制限を設定すると、SYNフラッドなどのDoS攻撃から保護できます。ほとんどのサーバでは、ハーフオープン接続を終了するためにタイムアウトが設定されています。この値を設定することにより、ハーフオープン接続が重大な問題にならないようにします。SYN-SENT (リモート) エントリが指定された制限に達した場合、その特定のコンピュータからの後続のTCPパケットは破棄されます。

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

    • すでに確認されたパケット数が次を超過したときにACKストーム防御を有効にする: このオプションを設定して、ACKストーム攻撃が発生した場合のイベントを記録します。

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

FTPオプション

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

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

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

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

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

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

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

  • 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バックドアなど、さまざまな種類の攻撃の予兆である可能性があります。

  • ICMPステートフルログを有効にする: このオプションを選択すると、ICMPステートフルインスペクションイベントのログを記録できるようになります。

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

[エクスポート] をクリックし、リストから該当するエクスポート処理を選択すると、すべてのステートフル設定を.csvまたは.xmlファイルにエクスポートできます。ステートフル設定を選択し、[エクスポート] をクリックして、リストから該当するエクスポート処理を選択すると、特定のステートフル設定をエクスポートすることもできます。

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

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

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

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

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