【すてーとふるいんすぺくしょん】

ステートフルインスペクション とは?

最終更新:
💡 通信の状態とルールを照合する門番

通信の接続状態を状態テーブルで追跡し、パケットをルールや期待する状態と照合して通すか判断するファイアウォールの技術。記録する項目や検査の厳しさは実装・設定によって異なる。

📌 このページのポイント
ステートフルインスペクション パケットをルールと状態に照合 📨 パケット IP・ポートなど 🛡️ FW 通すか判断 📋 状態テーブルの記録例 送信元 192.0.2.10 : 51000 宛先 198.51.100.20 : 443 TCP:確立済み 照合 状態・ルールに合う? 通過の判断材料 内容の安全性は別 万能な攻撃検出ではない UDPはTCPと異なる方法で追跡する 状態の保持には上限やタイムアウトがある
矢印はパケットの到着と状態テーブルへの照合を示す。アドレスとポートは架空の説明例で、全内容の記録ではない。状態に合うかとルールを使って判断し、検査の細かさは実装・設定による。状態が合えば内容も安全という意味ではない。
ひよこ ひよこ
普通のパケットフィルタリングと何が違うの?
ペンギン先生 ペンギン先生
ステートレスな方式は、各パケットのIPアドレスやポート、プロトコルなどをルールに照らして判断する。ステートフルな方式は、さらに追跡している接続の状態も判断に使うんだ。
ひよこ ひよこ
状態を覚えるって、会話を全部保存するの?
ペンギン先生 ペンギン先生
全内容や全履歴を保存する意味ではないよ。状態テーブルに送信元と宛先のIPアドレス、ポート、接続状態などを記録する。例えばTCPで接続を始めた段階か、確立した段階かを追跡するんだ。
ひよこ ひよこ
知らない接続の応答も通しちゃう?
ペンギン先生 ペンギン先生
確立済み接続の一部を装うパケットを、状態テーブルとの不一致から拒否できるよ。ただし、チェックの細かさや途中から見える通信の扱いは実装・設定による。どんな環境でも必ず同じパケットを止めるとは限らないんだ。
ひよこ ひよこ
UDPにも接続状態があるの?
ペンギン先生 ペンギン先生
TCPのような接続開始・終了の手順はないよ。IPアドレスやポートなどで関連する通信を追跡し、対応する応答かを判断する。終了を手順で判定できない場合は、一定時間で記録を消すタイムアウトを使うんだ。
ひよこ ひよこ
許可された通信なら内容も安全?
ペンギン先生 ペンギン先生
状態が合うことと、内容が安全なことは別だよ。アプリケーションの内容を調べたり、攻撃を検出したりするには、そのための機能や対策も必要になるんだ。
ひよこ ひよこ
状態テーブルがいっぱいになることはある?
ペンギン先生 ペンギン先生
接続を追跡する資源には上限があるよ。例えばAmazon EC2の接続追跡には上限とタイムアウトがあり、枠を使い切ると通信に影響する。上限や処理の仕方は製品・構成ごとに確認するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ステートフルインスペクション」って出てきたら「通信の流れを記憶して検査するファイアウォール技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Stateful Packet Inspection」 = 状態を保持するパケット検査
💬 「Stateful(状態を持つ)」+「Inspection(検査)」。通信の文脈を覚えておいて判断するから「ステートフル」なんだよ

参考資料

← 用語集にもどる