パケットフィルタリング型ファイアウォール【packet filtering firewall】
概要

通信はIPデータグラム単位で処理され、各データグラムに含まれる送信元IPアドレス、宛先IPアドレス、プロトコル種別、送信元ポート番号、宛先ポート番号などの情報を参照して判定が行われる。管理者はこれらの属性に対するルールを事前に設定し、条件に一致するパケットのみ通過させる。
例えば、「外部からの宛先ポート443番(HTTPS)への通信は許可し、それ以外は拒否する」といったルールを記述することで、外部から内部のWebサーバへのアクセスのみを通過させることができる。通常、ファイアウォールはネットワーク境界に置かれるため、外部から内部への通信と逆方向の通信は異なるルールで運用するのが一般的である。
ルールの記述に使うことができる情報はインターネット層のIP(IPアドレスやプロトコル番号など)、トランスポート層のUDPやTCP(ポート番号など)のヘッダ情報のみで、HTTPやSMTPなど個別のアプリケーション層プロトコルの情報を用いることはできない。これらのプロトコルが運ぶデータそのもの(ペイロード)に含まれる不正なコードなどは検知できない。
ステートレスとステートフル
処理は個々のデータグラム単位で独立して行われ、過去の通信の状態を記憶しない。この方式は「ステートレス」と呼ばれ、処理が単純なため高速に動作するが、TCPの接続状態を把握できないため、戻りパケットの正当性を文脈から判断できないという制約がある。
この弱点を補ったのが「ステートフルインスペクション」(SPI)であり、TCP接続の確立状態を追跡して整合性のないパケットを遮断できる。現代のファイアウォールはほぼステートフル型が標準となっており、純粋なステートレスのパケットフィルタリングはルータのアクセス制御リスト(ACL)など簡易なファイアウォール機能で使われる。