Contents
(1) L3 / L4 の基本プロトコル
FW が標準でステート管理するもの。
| プロトコル | 説明 |
|---|---|
| TCP | SYN, ACK, FIN, SEQ で完全ステート管理 |
| UDP | pseudo-state(疑似ステート)でタイマ管理 |
| ICMP | ID と SEQ による関連セッション管理 |
| GRE | トンネルセッションをトラッキング |
| ESP(IPsec) | SPI(Security Parameters Index)でステート管理 |
| AH(IPsec) | ヘッダ整合性を検証しつつステート管理 |
(2) NAT / ALG が必要なプロトコル(ステートを深く追跡)
これらは 制御チャネルとデータチャネルが分かれる特殊プロトコル。
Firewall はそれらを解析して、関連するポートを自動で開ける(ALG)。
| プロトコル | 内容 | FW動作 |
|---|---|---|
| FTP(Active/Passive) | 20/21 の制御+データで複雑 | PORT/PASVを解析してデータチャネル開放 |
| SIP(VoIP) | 5060 + 動的ポート多数 | INVITE/SDP を読み取ってRTPポート許可 |
| H.323(VoIP) | 制御とメディアで多数のポート | 関連チャネルを自動開放 |
| RTSP(動画ストリーミング) | TCP 554 + 動的ポート | SETUP/PLAY を解析 |
| TFTP | 制御+データが動的に変わる | 自動でデータポートを開ける |
| DNS(インスペクション) | 53/UDP/TCP | 応答サイズやIDを確認 |
これらは ステートフル+アプリケーションインスペクションのハイブリッドで動作します。
(3) トンネル・VPN系プロトコル
Firewall はこれらもステート管理します。
| プロトコル | 説明 |
|---|---|
| IKEv1 / IKEv2 | IPsecの交渉状態を管理 |
| IPsec ESP/AH | SPIを基準にセッション管理 |
| L2TP | PPPフレームの状態管理 |
| PPTP | GRE と TCP1723 の関連付け |
| SSL/TLS | セッションごとに状態管理 |
(4) アプリケーションプロトコルでのステート
多くの FW(特に次世代FW)は L7 までステート管理します。
| プロトコル | 内容 |
|---|---|
| HTTP/HTTPS | リクエスト/レスポンスをコネクション単位で管理 |
| SSH | セッションごとの鍵交換状態を維持 |
| Telnet | コネクション管理 |
| SMTP/POP3/IMAP | メールセッション管理 |
| RDP | 3389/TCP の状態管理 |
次世代 FW(NGFW)では「アプリケーション識別」+「ステート管理」が標準。
2. ステートフルテーブルに登録される内容(重要)
FW が保持する状態は、プロトコルによって違う。
🟩 TCP の場合
FW が追跡する項目:
- 送信元IP / ポート
- 宛先IP / ポート
- シーケンス番号
- ACK番号
- TCPフラグ(SYN/ACK/FIN/RST)
- セッション状態(ESTABLISHED, FIN-WAIT 等)
- タイムアウト
- NAT変換後の宛先
- バイト数 / パケット数
UDP の場合(疑似ステート)
- セッション開始 IP/Port
- タイムアウト(デフォルト 2分など)
- NAT情報
※UDP はコネクションレスなので、完全ステートではなく
「一定時間だけ通信を関連付ける仕組み」。
ICMP の場合
- Identifier(ID)
- Sequence number
- NAT情報
- タイムアウト
SIP / RTSP / FTP のような複雑プロトコル
FW は制御チャネルを解析し、
- 何番ポートでデータが流れるか
- どの相手と通信するか
を読み取って、そのポートだけ一時的に許可します。