fw monitor

説明

Firewall Monitorは、Check Pointのトラフィックキャプチャツールです。

セキュリティゲートウェイ閉じた Check Point ソフトウェアを実行してトラフィックを検査し、接続されたネットワークリソースにセキュリティポリシーを適用する専用Check Pointサーバ。では、トラフィックは異なる検査ポイント - インバウンド方向のチェーンモジュールとアウトバウンド方向のチェーンモジュールを通過します(「fw ctl chain 」コマンドを参照)。

FW Monitorツールは、各Chain Moduleのトラフィックを双方向でキャプチャします。

キャプチャしたトラフィックは、後で同じ FW Monitor ツールや、Wireshark などの特殊なツールで解析することができます。

注:

IPv4用構文

fw monitor {-h | -help}

fw monitor [-d] [-D] [-ci <Number of Inbound Packets>] [-co <Number of Outbound Packets>] [-e <INSPECT Expression> | -f {<INSPECT Filter File> | -}] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-i] [-l <Length>] [-m {i,I,o,O,e,E}] [-o <Output File> [-w]] [[-pi <Position>] [-pI <Position>] [-po <Position>] [-pO <Position>] | -p all [-a]] [-T] [-u | -s] [-U] [-v <VSID>] [-x <Offset>[,<Length>] [-w]]

IPv6用構文

fw6 monitor {-h | -help}

fw6 monitor [-d] [-D] [-ci <Number of Inbound Packets>] [-co <Number of Outbound Packets>] [-e <INSPECT Expression> | -f {<INSPECT Filter File> | -}] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-i] [-l <Length>] [-m {i,I,o,O,e,E}] [-o <Output File> [-w]] [[-pi <Position>] [-pI <Position>] [-po <Position>] [-pO <Position>] | -p all [-a]] [-T] [-u | -s] [-U] [-v <VSID>] [-x <Offset>[,<Length>] [-w]]

パラメータ

パラメータ

説明

{-h | -help}

内蔵の使用状況を表示します。

-d

-D

デバッグ モードでコマンドを実行し、FW モニターが指定された INSPECT フィルタを起動しコンパイルする方法に関するいくつかの情報を表示します。

  • -d

    簡単なデバッグ出力です。

  • -D

    バーボーズ出力。

- 両方のパラメータを指定することで、より詳細な情報を表示することができます。

-ci <Number of Inbound Packets>

-co <Number of Outbound Packets>

キャプチャするパケット数を指定します。

FW Monitorは、指定されたパケット数をカウントした場合、トラフィックキャプチャを停止します。

  • -ci

    カウントするインバウンドパケット数を指定します。

  • -co

    カウントするインバウンドパケット数を指定します。

ベストプラクティス- "-ci" と "-co" パラメータを一緒に使用することができます。特に大量のトラフィックが発生したときに有効です。このようなシナリオでは、FW Monitor は、非常に多くのリソース(コンソールやファイルへの書き込み用)をバインドするので、ブレークシーケンス(CTRL+C )の認識に非常に長い時間がかかる場合があります。

-e <INSPECT Expression>

or

-f {<INSPECT Filter File> | -}

非加速トラフィックの特定のパケットのみをキャプチャします。

  • "-e <INSPECT Expression>"

    コマンドラインで INSPECT フィルタ式を定義します。

  • "-f <INSPECT Filter File>"

    指定されたファイルから INSPECT フィルタ式を読み込みます。INSPECTフィルター式を含むプレーンテキストファイルのフルパスと名前を入力する必要があります。

  • "-f -"

    標準入力からINSPECTフィルター式を読み取ります。INSPECT フィルタ式を入力した後、EOF (End Of File) 文字として^D (CTRL+D) を入力する必要があります。

 

警告- これらの INSPECT フィルタは、アクセラレーションされたトラフィックには適用されません

重要- INSPECTフィルター式は必ず一重引用符(ASCII値39)または二重引用符(ASCII値34)で正しく囲んでください。

注:

  • 便利なマクロの定義については、$FWDIR/lib/fwmonitor.def ファイルを参照してください。

  • 以下の構文例を参照してくださいe」パラメータの使用例)。

-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"

キャプチャフィルタを指定します(アクセラレーション・トラフィックとノンアクセラレーション・トラフィックの両方に対して)。

 

注:

  • 以下の構文例を参照してくださいF」パラメータの使用例)。

  • -F" パラメータは、これらのカーネルデバッグフィルタを使用します。

    詳しくは、「カーネルデバッグフィルタ」をご覧ください。

    • 送信元IPアドレスの場合。

      simple_debug_filter_saddr_<N> "<IP Address>"

    • Source Portsについて。

      simple_debug_filter_sport_<N> <1-65535>

    • 宛先IPアドレスの場合。

      simple_debug_filter_daddr_<N> "<IP Address>"

    • Destination Portsについては、以下の通りです。

      simple_debug_filter_dport_<N> <1-65535>

    • プロトコル番号の場合。

      command_simple_debug_filter_proto_<N> <0-254>

  • 値0は"any"を意味する。

  • このパラメータは、最大5つのキャプチャフィルタをサポートします(構文内の "-F" パラメータのインスタンスは最大5つまで)。

    FWモニタは、指定されたすべての簡易キャプチャフィルタ間の論理 "OR "を実行します。

-H

IPアドレスフィルターを作成します。

詳しくは、「カーネルデバッグフィルタ」をご覧ください。

このパラメータは、最大3つのキャプチャフィルタをサポートします(構文内の "-H" パラメータのインスタンスは最大3つまで)。

例 - ホスト 1.1.1.1 との間で行われる HTTP トラフィックのみをキャプチャします。

fw ctl debug –H "1.1.1.1"

-i

標準出力をフラッシュします。

- このパラメータは、"-v <VSID>"パラメータとの組み合わせでのみ有効です。

ベストプラクティス- FW Monitor が各パケットのキャプチャデータを直ちに標準出力に書き込むようにするために、このパラメータを使用します。これは、実行中のFWモニタ・プロセスを終了させ、FWモニタが指定されたファイルにすべてのデータを書き込むことを確認したい場合に特に有効です。

-l <Length>

キャプチャしたパケットの最大長を指定します。FWモニタは、各パケットから指定されたバイト数だけを読み取ります。

注:

  • このパラメータはオプションで す。

  • このパラメータを使用すると、各パケットからヘッダーのみをキャプチャし(例えば、IPとTCP)、ペイロードを省略することができます。これにより、出力ファイルのサイズが小さくなります。これは、FWモニタの内部バッファが早く一杯にならないようにするためでもあります。

  • レイヤー3のIPヘッダーとレイヤー4のトランスポートヘッダをキャプチャするために、必要最小限のバイト数をキャプチャすることを確認してください。

-m {i, I, o, O, e, E}

FW Monitor がトラフィックをキャプチャする、チェインモジュールに対するキャプチャマスク(検査ポイント)を指定します。

セキュリティゲートウェイにおいて、各パケットが通過する検査ポイントです。

  • -m i

    プレインバウンドのみ(パケットがインバウンド方向でチェーンモジュールに入る前)

  • -m I

    ポストインバウンドのみ(パケットがインバウンド方向でチェーンモジュールを通過した後)

  • -m o

    Pre-Outboundのみ(パケットがアウトバウンド方向でチェーンモジュールに入る前)

  • -m O

    ポストアウトバウンドのみ(パケットがアウトバウンド方向でチェーンモジュールを通過した後)

  • -m e

    プレアウトバウンドVPNのみ(パケットがアウトバウンド方向でVPNチェーンモジュールに入る前に)

  • -m E

    ポストアウトバウンドVPNのみ(パケットがアウトバウンド方向にVPNチェーンモジュールを通過した後)

 

注:

  • キャプチャマスクを複数指定することができます(例えば、EgressパケットのNATを見るには、"... -m o O ..." と入力します)。

  • このキャプチャーマスクパラメータ"-m {i, I, o, O, e, E}"は、チェーンモジュールの位置パラメータ"-p{i | I | o | O}"と一緒に使うことができます。

  • インバウンド方向では

    • すべてのチェーンポジションbefore FireWall Virtual Machine モジュールは Pre-Inbound です (fw ctl chainコマンドは、このモジュールを「fw VM inbound 」と表示します)。

    • FireWall Virtual Machineモジュール後のすべてのチェーンモジュールはポストインバウンドです。

  • アウトバウンド方向では

    • FireWall Virtual Machineモジュール前のすべてのチェーンポジションはPre-Outboundです。

    • FireWall Virtual Machineモジュール後のすべてのチェーンモジュールはPost-Outboundです。

  • デフォルトでは、FW Monitor は、FireWall Virtual Machine モジュール内のトラフィックのみをキャプチャします。

  • パケット方向は、特定のパケットごとに関係し、接続の方向には関係しない。

  • 検査ポイントの後にある"q"、"Q"の文字は、インタフェースにQoS閉じた セキュリティゲートウェイ上のCheck Point Software Bladeは、ポリシーベースのトラフィック帯域幅管理を提供し、ビジネスクリティカルなトラフィックに優先順位を付け、帯域幅を保証し、遅延を制御します。ポリシーが適用されていることを意味します。

 

パケットフローの例。

  • FireWall仮想マシンモジュールでクライアントからサーバへ。

    [Client] --> ("i") {FW VM attached to eth1} ("I") [Security Gateway] ("o") {FW VM attached to eth2} ("O") --> [Server]

  • FireWall仮想マシンモジュールを通じて、サーバからクライアントへ。

    [Client] <-- ("O") {FW VM attached to eth1} ("o") [Security Gateway] ("I") {FW VM attached to eth2} ("i") <-- [Server]

-o <Output File>

FW Monitorがキャプチャした生データを書き込む出力ファイルを指定します。

重要- 明示的にパスを指定しない場合、FWモニタはこの出力ファイルを現在の作業ディレクトリーに作成します。この出力ファイルは非常に大きなサイズに高速に成長する可能性があるため、常に最大のパーティションへのフルパスを指定することをお勧めします/var/log/.

この出力ファイルのフォーマットは、snoop などのツールで使用されているものと同じです(RFC 1761 を参照)。

キャプチャしたトラフィックは、後で同じ FW Monitor ツールや、Wireshark などの特殊なツールで解析することができます。

-pi <Position>

-pI <Position>

-po <Position>

-pO <Position>

or

-p all [-a]

FW Monitor Chain Module をカーネル Chain Module の間の指定された位置に挿入します("fw ctl chain" コマンドを参照してください)。

FWモニタがキャプチャしたデータを指定された出力ファイルに書き込む場合(パラメータ "-o <Output File>" )、FWモニタチェーンモジュールの位置もフィールドの1つとして書き込まれます。

これらの位置にのみ、FWモニタチェーンモジュールを挿入することができます。

  • -pi <Position>

    FW Monitor Chain Module を指定された Pre-Inbound ポジションに挿入します。

  • -pI <Position>

    指定されたポストインバウンドの位置にFWモニタチェーンモジュールを挿入します。

  • -po <Position>

    FW Monitor Chain Module を指定された Pre-Outbound ポジションに挿入します。

  • -pO <Position>

    指定されたポストアウトバウンドの位置にFWモニタチェーンモジュールを挿入する。

  • -p all [-a]

    FW Monitor Chain Moduleを全ポジション(InboundとOutboundの両方)に挿入します。

    警告- このパラメータは、CPUに非常に高い負荷を与えますが、最も完全なトラフィックキャプチャを提供します。

    -a" パラメータは、チェーンの絶対位置を使用するように指定します。このパラメータは、チェーン ID を相対値 (これは"fw ctl chain"コマンドのマッチング出力でのみ意味を持ちます) から絶対値へと変更します。

 

注:

  • <Position>はこれらのいずれかになります。

    • 相対位置番号

      "fw ctl chain"コマンドの出力では、一番左のカラムの数字(例えば、0、5、14)を参照してください。

    • 相対位置のエイリアス

      fw ctl chain"コマンドの出力では、一番右のカラムの括弧内の内部チェーンモジュール名を参照します(例:sxl_in,fw,cpas)。

    • 絶対位置

      "fw ctl chain"コマンドの出力では、左から2列目の数字を参照してください(例:-7fffffff, -1fffff8, 7f730000)。構文では、これらの数字を16進数で記述する必要があります(例:-0x7fffff, -0x1fffff8, 0x7f730000)。

  • このチェインモジュールの位置パラメーター"-p{i | I| o | O} ..."は、キャプチャーマスクパラメーター"-m {i, I, o, O, e, E}"とともに使用することができます。

  • インバウンド方向では

    • FireWall Virtual Machine モジュール前のすべてのチェーンポジションは Pre-Inbound です (fw ctl chainコマンドは、このモジュールを「fw VM inbound 」と表示します)。

    • FireWall Virtual Machineモジュール後のすべてのチェーンモジュールはポストインバウンドです。

  • アウトバウンド方向では

    • FireWall Virtual Machineモジュール前のすべてのチェーンポジションはPre-Outboundです。

    • FireWall Virtual Machineモジュール後のすべてのチェーンモジュールはPost-Outboundです。

  • デフォルトでは、FW Monitor は、FireWall Virtual Machine モジュール内のトラフィックのみをキャプチャします。

  • チェーンモジュールの位置パラメーター "-p{i | I| o | O} ..." パラメーターは加速されたトラフィックには適用されず、デフォルトのインバウンドとアウトバウンドの位置で引き続きモニターされます。

  • 検査ポイントの詳細については、以下の該当表を参照してください。

-T

各パケットのタイムスタンプを表示します。

DDMMMYYYY HH:MM:SS.mmmmmm

ベストプラクティス-出力をファイルに保存せず、画面に印刷する場合にこのパラメータを使用します。

-u

or

-s

各パケットのUUIDを表示します(UUIDまたはSUUIDのどちらか一方のみを表示することが可能で、両方を表示することはできません)。

  • -u

    パケットごとに接続のUniversal-Unique-ID(UUID)を表示します。

  • -s

    パケットごとに接続のセッションUUID(SUUID)を表示します。

-U

本パラメータで指定された簡易キャプチャフィルタを削除する。

-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"

-v <VSID>

VSXゲートウェイ閉じた 物理ネットワークデバイスの機能を提供するすべての仮想デバイスを含む、VSX仮想ネットワークをホストする物理サーバ。VS0と呼ばれる少なくとも1つの仮想システムを保持します。またはVSX閉じた 仮想システム拡張。Check Point Security Gatewayおよびその他のネットワークデバイスの仮想抽象化を備えたコンピュータまたはクラスタでホストされるCheckPoint仮想ネットワークソリューション。これらの仮想デバイスは、物理的な対応デバイスと同じ機能を提供します。クラスタメンバで、指定した仮想システムまたは仮想ルータ上のパケットをキャプチャします。

デフォルトでは、FW モニターはすべての仮想システムおよび仮想ルーター上のパケットをキャプチャします。

例:

fw monitor -v 4 -e "accept;" -o /var/log/fw_mon.cap

-w

ヘッダだけでなく、パケット全体をキャプチャする。

これらのパラメータのいずれかと一緒に使用する必要があります。

  • -o <Output File>

  • -x <Offset>[,<Length>]

-x <Offset>[,<Length>]

FW Monitorが各パケットのデータの取り込みを開始する位置を指定します。

オプションで、FW Monitorが取得するデータ量を制限することも可能です。

  • <Offset>

    各パケットの先頭から何バイトスキップするかを指定します。FW Monitorは、指定されたバイト数の後でのみ、各パケットのデータのキャプチャを開始します。

  • <Length>

    キャプチャしたパケットの最大長を指定します。FWモニタは、各パケットから指定されたバイト数だけを読み取ります。

例えば、IPヘッダーとTCPヘッダーをスキップする場合は、"-x 52,96" と入力します。

Security GatewayおよびFWモニタの出力における検査ポイント

- InboundとOutboundのトラフィック方向は、接続ではなく、各特定のパケットに関連します。

  • Inbound

    検査箇所名

    FireWallとの関係
    仮想マシン

    インスペクションポイントの表記
    をFWモニタの出力に表示します。

    プレインバウンド

    インバウンドFireWall VMの前に

    例えばeth4:i

    ポストインバウンド

    インバウンドのFireWall VMの後

    例えばeth4:I

    プレインバウンドVPN

    復号前のインバウンド

    id (例:eth4:id)

    ポストインバウンドVPN

    復号後のインバウンド

    ID (例:eth4:ID)

    プレインバウンドQoS

    QoS前のインバウンド

    例えばeth4:iq

    ポストインバウンドQoS

    QoS後のインバウンド

    IQ (例:eth4:IQ)

  • Outbound

    検査箇所名

    FireWallとの関係
    仮想マシン

    インスペクションポイントの表記
    をFWモニタの出力に表示します。

    プレアウトバウンド

    アウトバウンド用FireWall VMの前に

    例えばeth4:o

    ポストアウトバウンド

    アウトバウンド用FireWall VMの後

    例えばeth4:O

    プレアウトバウンドVPN

    暗号化前のアウトバウンド

    例えばeth4:e

    ポストアウトバウンドVPN

    暗号化後のアウトバウンド

    例えばeth4:E

    プレアウトバウンドQoS

    QoS前のアウトバウンド

    例えばeth4:oq

    ポストアウトバウンドQoS

    QoS後のアウトバウンド

    例えばeth4:OQ

一般的な例

e」パラメータの使用例

F」パラメータの使用例

このパラメータで最大5つのキャプチャフィルタを指定できます(構文内の"-F" パラメータは最大5つまで)。

FWモニタは、指定されたすべての簡易キャプチャフィルタ間の論理 "OR "を実行します。

値0は"any"として使用されます。