ステートフルインスペクションファイアウォール/ダイナミックパケットフィルタリング
はじめに
2025年10月のプロジェクトマネージャ試験受験を終え、2026年春の情報処理安全確保支援士に向けて勉強中です。
本記事を含めた各知識のインデックスや学習の道のりについては、「情報処理安全確保支援士への道のり(随時更新中)」をご参照ください。
本記事は学習した内容を記載しています。
該当問題
情報処理安全確保支援士平成29年秋期 午前Ⅱ 問9
情報処理安全確保支援士令和2年秋期 午前Ⅱ 問14
情報セキュリティスペシャリスト平成26年春期 午前Ⅱ 問6
1. ステートフルインスペクション方式(Stateful Inspection)とは
ステートフルFWは 通信状態(セッション情報)を保持してパケットを判断するファイアウォール方式です。
Statelessとの違い:
- Stateless:パケット単体を見て許可/拒否
- Stateful:セッションの前後関係を理解し、応答パケットを自動許可
2. ステートテーブル(State Table)の役割
記録される主な内容:
- 送信元/宛先 IP/ポート
- プロトコル(TCP/UDP)
- TCPフラグ
- NAT前後のIP/Port
- セッション状態(ESTABLISHED など)
- タイムアウト
- セッション開始時刻
State Table に一致するパケットは 応答パケットとして自動許可 されます。
3. TCP の状態管理
Stateful FW は以下を追跡して不正パケットを排除します。
- SYN
- SYN/ACK
- ACK
- ESTABLISHED
- FIN/FIN-ACK
防御例:
- 不正な ACK の排除
- SYN Flood の半開状態管理
- Xmas/FIN スキャンの検知
4. UDP の疑似セッション管理
UDP は接続がないため、「送信直後の戻り通信を一定時間だけ有効化する」方式を採用します。
記録内容
- 送信元/宛先 IP/ポート
- タイムアウト
DNS 等の短い通信に適します。
5. Stateful FW が防げる攻撃
| 攻撃種別 | 防御理由 |
|---|---|
| 不正な新規接続 | State Table にないため遮断 |
| SYN Flood | 半開状態監視 |
| IP スプーフィング | 応答方向の整合性監視 |
| Port Scan | 不正な TCP フラグを検知 |
| 断片化攻撃 | 再組立(Reassembly)で検査 |
6. パケットフィルタ(Stateless)との比較
| 項目 | Stateless | Stateful |
|---|---|---|
| 判断材料 | IP/Port/Flag | IP/Port + セッション状態 |
| 応答パケット | 明示的許可が必要 | 状態一致で自動許可 |
| TCP状態理解 | なし | あり |
| 強度 | 中 | 高 |
7. NAT と Stateful FW の連携
State Table に NAT変換前後の情報を保持することで以下を実現します。
- 内部 → 外部の応答を正しく戻す
- 不正な外部通信は遮断
8. ファイアウォールの分類(体系整理)
- パケットフィルタ型(Stateless)
- ステートフルインスペクション型(Stateful)
- アプリケーションゲートウェイ
- NGFW(アプリ識別/SSL復号/IPS機能)
- UTM(FW+IPS+AV+SPAM)
9. 非同期通信/攻撃対策
- SYN Flood:Half-open 管理
- Fragmentation:再組立で異常検知
- IP Spoofing:RFC 2827 ベースのソース検証
- 非同期通信:State Table と不整合なら拒否
10. ダイナミックパケットフィルタリング(Dynamic Packet Filtering)【今回の追記】
10.1 ダイナミックパケットフィルタリングとは
ステートフルインスペクションの発展形であり、アプリケーションプロトコルの制御チャネルの内容を解析し、必要なデータチャネルのポートを動的に開く技術 です。
機能の本質
通常のパケットフィルタでは「どのポートを開けるべきか」がアプリケーションによって動的に変化するため静的ルールでは対応が困難です。
ダイナミックPFは下記の動作を行います。
- 制御チャネルの内容を理解する(=アプリ層情報を参照)
- 必要なセッション用ポートを FW が自動開放し、終了後閉じる
10.2 FTP の例(典型的な出題ポイント)
● アクティブモード FTP
外部から内部への新規接続が必要なため通常のFWでは通りません
- クライアント → サーバへ:TCP 21(制御)
- データ転送はサーバ → クライアントの TCP 20
● ダイナミックパケットフィルタリングの動作
FW は制御チャネル(PORT コマンド)を解析します。
- クライアントが通知した待受ポート番号を読む
- そのポートへのサーバからの接続だけを 一時許可
- データ転送終了後に自動で閉じる
● メリット
- 必要なポートだけを自動開放
- 転送中のセッションに限定して許可
- セキュリティと利便性の両立
10.3 Passive モード FTP の扱い
Passive モード:
- クライアント → サーバの制御チャネルで PASV コマンドを送る
- サーバが 使用するデータポート番号 を応答で通知
ダイナミックPF はこの応答を解析し、必要な宛先ポートだけを自動開放します。
10.4 VoIP(SIP/H.323)での利用
SIP や H.323 は多くの RTP メディアポートを動的に割り当てます。
ダイナミックPFは下記を解析し、必要なポートのみ FW が一時的に開きます。
- SIP INVITE メッセージの SDP 部分
- H.323 のコールセットアップ情報
10.5 Stateful Inspection との違い
| 項目 | Stateful Inspection | Dynamic Packet Filtering |
|---|---|---|
| 主な解析対象 | ネットワーク層/トランスポート層 | アプリケーション層(制御チャネル) |
| 目的 | セッション状態の追跡 | アプリ動作に必要なポートを動的開放 |
| FTP制御 | セッション管理のみ | PORT/PASV の内容まで理解してポート開放 |