AWS Firewall には、ステートフル(stateful) と ステートレス(stateless) のルールタイプがあり、それぞれ異なる用途や機能に適しています。AWS Firewall では、必要に応じてこれらのルールを使い分けてセキュリティポリシーを実現します。
1. ステートフル(Stateful)ルール
- 概要:ステートフルルールは、トラフィックの状態(ステート)を追跡するため、各接続のセッション情報を保持します。
-
特徴:
- 一度許可した接続に対する応答トラフィックは、自動的に許可されます。つまり、アウトバウンドで許可されたトラフィックのインバウンド応答を明示的に許可する必要はありません。
- ステートフルな追跡により、不正なトラフィックや攻撃を高精度に検出・防止できます。
- パケットレベルだけでなく、セッション全体を監視できるため、複雑なルール設定が可能です。
-
使用例:
- 内部ネットワークからのアウトバウンドアクセスや、外部から内部へのインバウンド接続を追跡・制御する場面で使用。
- インバウンド通信の接続維持が必要な場合や、接続のトラッキングが求められる用途。
2. ステートレス(Stateless)ルール
- 概要:ステートレスルールは、各トラフィックパケットを独立して処理し、セッション情報を保持しません。
-
特徴:
- 各パケットはその都度独立して評価され、過去の通信履歴やセッション情報には依存しません。
- 一方向の通信ごとに明示的な許可ルールが必要で、アウトバウンドとインバウンドの両方向でルールを設定します。
- 比較的軽量でスケーラブルなため、大量のトラフィックを効率的にフィルタリング可能。
-
使用例:
- トラフィックのフィルタリングが中心で、セッション情報のトラッキングが必要ない場合。
- シンプルなパケットフィルタリングが求められる用途(例:特定ポートやIPアドレスでのアクセス制限)。
まとめ
特性 | ステートフルルール | ステートレスルール |
---|---|---|
状態管理 | あり(セッションを追跡) | なし(各パケットを独立して処理) |
リソース消費 | 高い(セッション追跡によりメモリを消費) | 低い(セッション情報の保存が不要) |
応答トラフィック | 自動的に許可 | 明示的なルール設定が必要 |
使用用途 | 内部ネットワークの保護、精度の高いセキュリティ設定 | 大量トラフィックのシンプルなフィルタリング |
AWSでの具体的な使い分け
AWSでは、例えば AWS Network Firewall はステートフルファイアウォール機能を提供し、複雑なルールとセッション管理が可能です。一方、セキュリティグループはステートフル、ネットワークACLはステートレスとして動作します。