FortiGateの「ステートフルインスペクション(Stateful Inspection)」は、ネットワークセキュリティにおいて非常に重要な機能であり、ファイアウォールがパケット単位ではなく、通信セッション全体を把握・管理することを可能にする技術です。
これにより、FortiGateは単純なパケットフィルタリング以上の高度なセキュリティ機能を提供しています。
ステートフルインスペクションは、パケットのヘッダー情報だけではなく、その通信セッション(状態)全体を監視・管理する技術です。
これにより、許可されたセッションのみを継続させ、不正なアクセスやセッションハイジャックなどをブロックできます。
セッションとは、ある通信の「開始 → 継続 → 終了」という一連の流れのことです。
TCPでいえば、3ウェイ・ハンドシェイクから始まり、FINパケットによる終了までが一つのセッションです。
FortiGateは、通信の状態(State)を記録・追跡する「セッションテーブル(状態テーブル)」を用いてステートフルインスペクションを行います。
FortiGateは受信したパケットに対して以下の情報を記録します。
この情報に基づいて、戻ってくる応答パケットが正当なものかどうかを判断します。
初回のパケットはポリシーと照合されてチェックされますが、一度セッションが確立すると、後続のパケットはセッションテーブルを元に許可・拒否されるため、パフォーマンスが向上します。
例えば、インターネット側からLAN側へのTCP応答パケットが届いても、それに対応するセッションがなければ破棄されます。
これにより、ポートスキャンやSYN Floodなどの攻撃を防ぐことができます。
FortiGateはアプリケーション制御(Application Control)やIPS(侵入防止システム)と連携して動作します。
これらのセキュリティ機能もステートフルであり、セッションの中で現れるパターンをリアルタイムで検査します。
FortiGateではNAT(アドレス変換)とステートフルインスペクションが密接に連携します。
セッションごとのNAT情報もセッションテーブルに記録されており、戻りのパケットが正しくマッピングされます。
比較項目 | ステートレスインスペクション | ステートフルインスペクション |
---|---|---|
通信セッションの認識 | なし(パケット単体で判断) | あり(セッション単位で追跡) |
処理速度 | 比較的速い | 初回は遅いが、セッション確立後は高速 |
セキュリティ精度 | 低い(リクエストとレスポンスの関連性を追えない) | 高い(双方向通信を把握) |
利用用途 | 単純なフィルタリング、初期段階の通信分析 | ファイアウォール、IDS/IPS、アプリ制御など |
FortiGateでは、ポリシーでセッションの確立方向を明確に定義します。
例えば「LAN → WAN」は許可し、「WAN → LAN」はセッションが存在しない限り拒否されます。
config firewall policy
edit 1
set srcintf "internal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set logtraffic all
next
end
このポリシーでは、LAN内部からインターネットへのセッションが開始されると、戻りパケットも許可されます。
FortiGateは単なるステートフルインスペクションにとどまらず、「ディープパケットインスペクション(DPI)」や「SSLインスペクション」、「Webフィルタリング」、「アプリケーション識別」などの高度な機能も組み合わせています。
これにより、アプリケーション層(L7)まで検査し、たとえばYouTubeとGoogle Driveの通信を同じ443番ポートでも区別して制御可能です。
FortiGateのステートフルインスペクションは、以下のような高度なセキュリティを実現する基盤技術です。
これにより、FortiGateは家庭用から企業ネットワークまで幅広く対応できる堅牢なセキュリティアプライアンスとして機能しています。
以上、FortiGateのステートフルインスペクションについてでした。
最後までお読みいただき、ありがとうございました。