Go to main content
Oracle® Solaris 11.3 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

パケットフィルタファイアウォールとパケット処理

このセクションでは、パケットがファイアウォールホストに到着し、ネットワークデバイスと IP モジュールの間に位置するファイアウォールによって処理される方法について説明します。図 3は、ネットワークデバイスとホストの IP スタックの間で転送されるすべてのパケットをファイアウォールモジュールがどのようにして検査できるかを示しています。図 4は、ファイアウォールモジュールの内部でパケットがどのように処理されるかを示しています。

Oracle Solaris でのパケットフィルタファイアウォールモジュール

次の図は、ファイアウォールホストがパケットをリモートソースからリモート宛先にどのように転送するかを示しています。転送は、この図のいちばん下に示されています。

図 3  OpenBSD パケットファイアウォール

image:図は、パケットを転送しているパケットフィルタファイアウォールホストを示しています。

左側は受信側 (RX)、つまりインバウンドパスです。右側は送信側 (TX) です。パケットは、インバウンド NIC からホストに入力されます。インバウンドパケットが IP モジュールに向けて移動するとき、ファイアウォールはそれをインターセプトし、インバウンド規則を適用します。インバウンドポリシーがそのパケットを受け入れた場合、ファイアウォールはそのインバウンドパケットを IP モジュールに送信します。

IP モジュールは、IP ヘッダー内の宛先アドレスを使用してルートを見つけます。一致するルートが見つかった場合、IP モジュールはそのパケット (TX) を送信します。そのパケットがアウトバウンド NIC に向けて転送されるとき、ファイアウォールはそれを再度インターセプトします。このとき、ファイアウォールはそのパケットにアウトバウンド規則を適用します。アウトバウンドポリシーがそのパケットを受け入れた場合、ファイアウォールはそれをアウトバウンド NIC に送信し、それがパケットをリモート宛先に送信します。

PF でのパケット処理

図 4は PF ファイアウォールモジュールによるパケット検査プロセスを示しています。破線のボックスは、管理オプションを示します。PF 規則には、IP パケットのフラグメントの再構築、NAT 規則の処理、アクションのログ記録、および状態の作成のためのオプションを含めることができます。

図 4  OpenBSD パケットファイアウォール内のパケットのフロー

image:図は、OpenBSD パケットファイアウォールを通過するパケットのフローを示しています。

パケットがファイアウォールに入力されるとすぐに、ファイアウォールは、基本的なパケット整合性チェックを実行します。また、管理者が set reassemble yes ディレクティブを指定している場合は、フラグメントの完全なパケットへの再構築も行います。これらの整合性チェックにより、無効なフラグが設定されたパケットは破棄されます。次に、ファイアウォールは、そのパケットを既存の状態に一致させようとします。

    次の 3 つの結果が考えられます。

  • 状態は見つかりましたが、そのパケットに対して無効です。たとえば、TCP パケットのシーケンス番号が予測された範囲内にない可能性があります。

  • 状態は見つかり、有効であるため、そのパケットは受け入れられます。

  • 状態が見つかりません。その場合、ファイアウォールは、一致する規則を見つけようとします (規則のチェック)。

状態が見つからない最後のケースの場合、ファイアウォールは、一致する規則を見つけるために規則のリストを検索します。一致する規則が見つからなかった場合、ファイアウォールは、それ以上のアクションなしでそのパケットを受け入れます。


注 -  図 4では、「それ以上のアクションなし」のケースを示していません。

規則が見つかった場合は、その規則に block または pass のどちらかのポリシーアクションが付属しています。デフォルトでは、PF の pass 規則は、一致するパケットに関する状態を作成します。状態の作成を回避するには、特定の規則で no state オプションを使用します。

パケットが block 規則に一致した場合、そのパケットは破棄されます。blockpass のどちらのアクションも、パケットをログに記録するためのオプションの log アクションを受け付けます。

    pass 規則では、そのパケットに対するオプションの NAT アクションやルーティングアクションが追加される可能性があります。

  • NAT アクションは、発信元アドレス、宛先アドレス、またはその両方のアドレスを変更します。

  • ルーティングアクション (ポリシーベースのルーティング (PBR) と呼ばれます) は、パケットをその宛先に転送するためのアウトバウンド NIC を選択します。PBR は、IP モジュールがパケットをルーティングするために使用する 2 つのパラメータ (送信インタフェースと次のホップアドレス) をオーバーライドできます。それ以外の場合は、IP モジュールがルーティングに関するすべての決定を行います。

    PBR は、IP モジュールでのルーティングより柔軟です。IP モジュールのルーティングテーブルは、宛先アドレスのみを使用して、パケットの転送にどのネットワークインタフェースを使用するかを決定します。ファイアウォールは、パケットをどのネットワークインタフェースで転送するかを決定するときに、パケットヘッダー内のほぼすべてのフィールドを使用できます。

図 3に示すように、受け入れられたパケットがファイアウォールを離れると、インバウンドパケットが IP モジュールに転送され、アウトバウンドパケットが対応する NIC (TX) に転送されます。