AWS ファイアウォールサービスの多層防御戦略
AWS WAF、Shield、Network Firewall、DNS Firewall、セキュリティグループ、ネットワーク ACL、Firewall Manager による多層防御のアーキテクチャと、各レイヤーでの脅威対策を学びます。
AWS におけるファイアウォールの多層防御
AWS では、ネットワークの各レイヤーに応じた専用のファイアウォール機能を組み合わせることで、多層的なセキュリティ防御を実現します。単一の防御層に依存せず、複数の防御機構を重ね合わせることで、攻撃者が一つの層を突破しても、次の層で阻止できる設計が可能です。
ファイアウォールとは
ファイアウォールは、ネットワークトラフィック上の悪意のあるアクセスや攻撃を防ぐ機能です。許可されたトラフィックのみを通過させ、不正なリクエストやパケットを遮断することで、アプリケーションとデータを保護します。
多層防御の全体像
AWS の多層防御は、以下のレイヤーで構成されます:
各レイヤーの役割を理解し、適切に組み合わせることが重要です。
レイヤー 1: DNS Firewall(DNS レベル)
Route 53 Resolver DNS Firewall は、DNS クエリレベルで悪意のあるドメインへのアクセスを制御します。
機能
-
DNS クエリのフィルタリング
VPC 内のリソースが外部ドメインにアクセスする際、DNS クエリを Route 53 Resolver が受信し、DNS Firewall がフィルタリングします。 -
ドメインリストによる制御
アクセスを許可するドメイン(ホワイトリスト)、拒否するドメイン(ブラックリスト)、またはその両方を定義できます。
構成要素
| 項目 | 説明 |
|---|---|
| DNS Firewall ルールグループ | DNS クエリをフィルタリングするルールのコレクション。複数のルールを一つのグループにまとめ、VPC に関連付けます。 |
| ドメインリスト | DNS フィルタリングを適用するドメインのコレクション。既知のマルウェア配信サイト、フィッシングサイト、C&C サーバーなどを登録します。 |
使用シーン
- マルウェア C&C 通信のブロック: 感染したインスタンスが外部の指令サーバーに接続するのを防ぐ
- データ漏洩の防止: 許可されていない外部ストレージサービスへのアクセスを制限
- コンプライアンス要件: 特定の国のドメインへのアクセスを禁止
レイヤー 2: AWS Shield(DDoS 対策)
AWS Shield は、L3/L4 における DDoS 攻撃から CloudFront と Route 53 を保護します。
Shield Standard(無料)
すべての AWS ユーザーに自動的に適用される DDoS 保護です。
-
自動緩和システム
エッジロケーションで全ての着信パケットを検査し、DDoS 攻撃の 96% を自動軽減します。 -
対象サービス
CloudFront と Route 53 に自動適用されます。これらのサービスを利用するだけで、追加設定なしで DDoS 保護が有効になります。 -
攻撃タイプ
- SYN/ACK フラッド: TCP コネクション確立を悪用した攻撃
- UDP リフレクション攻撃: DNS・NTP などのサービスを踏み台にした増幅攻撃
- HTTP フラッド: 大量の HTTP リクエストでサーバーを過負荷にする攻撃
Shield Advanced(有料)
より高度な保護と 24/7 サポートを提供します。
-
拡張保護
EC2、ELB、Elastic IP、Global Accelerator にも適用可能で、より大規模で複雑な攻撃に対応します。 -
DDoS レスポンスチーム(DRT)
攻撃発生時に AWS のセキュリティエンジニアが 24 時間 365 日体制でサポートします。 -
コスト保護
DDoS 攻撃によるスケールアウトで発生した追加料金を補償します。 -
攻撃可視化
リアルタイムの攻撃メトリクスと詳細なレポートを CloudWatch で確認できます。
レイヤー 3: AWS WAF(アプリケーションレベル)
AWS WAF は、L7(アプリケーション層)で Web アプリケーションを保護するファイアウォールです。
適用対象
- CloudFront: エッジロケーションで攻撃を遮断
- Application Load Balancer(ALB): リージョン内でバックエンドを保護
- API Gateway: REST API・HTTP API へのリクエストをフィルタリング
- AppSync: GraphQL API を保護
主要機能
1. 悪意のあるリクエストの遮断
| 攻撃タイプ | 検出方法 | 対策 |
|---|---|---|
| SQL インジェクション | SQL 文のパターンマッチング(' OR '1'='1'、UNION SELECT など) |
リクエストをブロックし、CloudWatch にログ記録 |
| クロスサイトスクリプティング(XSS) | <script> タグや JavaScript イベントハンドラの検出 |
リクエストを拒否し、カスタムエラーページを返す |
| パストラバーサル | ../../../etc/passwd のようなディレクトリ移動パターン |
リクエストを遮断 |
2. カスタムルールの設定
Rate-based ルール(レート制限):
特定の IP アドレスから 5 分間に 2,000 リクエストを超えた場合、一時的にブロックします。クレデンシャルスタッフィング攻撃やスクレイピングを防ぎます。
IP ベースフィルター:
既知の悪意のある IP アドレスレンジ(Tor 出口ノード、スパムボットなど)からのアクセスを拒否します。
正規表現パターン:
User-Agent ヘッダーが特定のボットパターン(例: BadBot/1.0)に一致する場合、リクエストを拒否します。
サイズ制限:
POST リクエストのボディサイズが 8KB を超える場合、拒否します。過大なペイロードによるサーバー負荷を防ぎます。
Geo マッチ:
特定の国からのアクセスを制限します。ライセンス契約や規制要件で配信地域が限定される場合に使用します。
3. AWS Managed Rules
AWS が管理・更新するルールセットを利用できます:
- Core Rule Set(CRS): OWASP Top 10 の脅威に対応
- Known Bad Inputs: 既知の脆弱性を突く攻撃パターン
- SQL Database: SQL インジェクション対策
- Linux/Windows OS: OS コマンドインジェクション対策
- PHP/WordPress: アプリケーション固有の脆弱性対策
4. CloudWatch との連携
- リクエストのログ記録: 許可・拒否されたリクエストの詳細を S3・CloudWatch Logs・Kinesis Data Firehose に保存
- メトリクスの監視: ブロックされたリクエスト数、許可されたリクエスト数を CloudWatch で可視化
- アラーム設定: 異常なトラフィックパターンを検知し、SNS 経由で通知
レイヤー 4: AWS Network Firewall(VPC レベル)
AWS Network Firewall は、VPC 全体を保護するステートフルファイアウォールです。
主要機能
-
ステートフルファイアウォール
TCP コネクションの状態を追跡し、確立済みのセッションからの戻りトラフィックを自動的に許可します。 -
侵入防止システム(IPS)
既知の攻撃シグネチャを検出し、悪意のあるトラフィックをブロックします。 -
ドメイン名フィルタリング
送信トラフィックを FQDN(例:example.com)でフィルタリングし、許可されたドメインへのアクセスのみ許可します。 -
5 タプルフィルタリング
送信元 IP、送信先 IP、送信元ポート、送信先ポート、プロトコルの組み合わせでトラフィックを制御します。
構成要素
| 項目 | 説明 |
|---|---|
| ファイアウォール | VPC に配置される実体。各 AZ にファイアウォールエンドポイントを作成します。 |
| ファイアウォールポリシー | ファイアウォールの動作を定義するポリシー。ステートレス・ステートフルルールグループを含みます。 |
| ルールグループ | トラフィックの検査・処理方法を定義するルールのコレクション。複数のポリシーで再利用可能です。 |
Network Firewall の配置構成
配置パターン:
-
インターネットゲートウェイ(IGW)からのトラフィックを検査
インターネットからの全ての着信トラフィックが Network Firewall を経由します。 -
Firewall 専用サブネットを作成
各 AZ に Firewall エンドポイント専用のサブネット(例:/28)を作成します。 -
Gateway Load Balancer(GWLB)による分散
Network Firewall を設置すると、自動的に GWLB が構成され、複数の Firewall インスタンスにトラフィックを分散します。 -
アプリケーションサブネットへ転送
検査済みのトラフィックが、各アプリケーションサブネット内の EC2・ALB に到達します。
使用シーン
- マルチ AZ 構成の集中的な防御: 各 AZ のトラフィックを一元的に検査
- 送信トラフィックのフィルタリング: EC2 からの外部通信を許可されたドメインのみに制限
- IPS による既知の脅威のブロック: Snort ルールと互換性のあるシグネチャで攻撃を検出
レイヤー 5: ネットワーク ACL(サブネットレベル)
ネットワーク ACL(Network Access Control List) は、サブネット境界でトラフィックを制御します。
特徴
-
ステートレス
往路と復路のトラフィックを個別にルール設定する必要があります。 -
ブラックリスト形式のアクセス拒否
特定の IP アドレスからの全てのトラフィックを拒否するルールを設定できます。 -
ルールの評価順序
ルール番号の小さい順に評価され、最初にマッチしたルールが適用されます。
使用シーン
- 特定 IP の完全ブロック: セキュリティグループでは実現できない明示的な拒否ルール
- サブネット全体の保護: DMZ サブネットへの不要なポートへのアクセスを拒否
レイヤー 6: セキュリティグループ(インスタンスレベル)
セキュリティグループは、EC2 インスタンス・RDS・Lambda などのリソースに適用する仮想ファイアウォールです。
特徴
-
ステートフル
許可した着信トラフィックの応答は自動的に許可されます。 -
デフォルトで全て拒否
明示的に許可したトラフィックのみが通過します。 -
動的な変更
インスタンスを再起動せずに、ルールを動的に追加・削除できます。
使用シーン
- インスタンス単位の細かい制御: Web サーバーは 80/443 ポートのみ、DB サーバーは 3306 ポートのみ許可
- セキュリティグループ間参照: ALB のセキュリティグループを送信元として EC2 のセキュリティグループを設定
AWS Firewall Manager(一元管理)
AWS Firewall Manager は、AWS Organizations に属する複数アカウントのファイアウォールルールを一元管理します。
主要機能
-
一元的なルール適用
組織全体に共通のファイアウォールポリシーを適用し、各アカウントで個別に設定する必要がありません。 -
自動的なルールデプロイ
新しく作成された VPC・リソースに、自動的にファイアウォールルールが適用されます。 -
管理対象のファイアウォール
- セキュリティグループ
- AWS WAF ルール
- AWS Shield Advanced 保護
- AWS Network Firewall ルール
- Route 53 Resolver DNS Firewall ルール
使用シーン
- コンプライアンス要件の強制: 全アカウントで必須のセキュリティグループルールを適用
- ベースラインセキュリティの確保: 組織全体で最低限のセキュリティ基準を維持
- 監査とレポート: ファイアウォールルールの適用状況を一元的に可視化
多層防御の設計原則
1. 各レイヤーで異なる脅威に対応
- DNS Firewall: マルウェア C&C 通信
- Shield: DDoS 攻撃
- WAF: アプリケーション層の攻撃
- Network Firewall: ネットワーク層の侵入
- ネットワーク ACL: サブネット境界の制御
- セキュリティグループ: インスタンス単位の保護
2. 防御の深さを確保
一つの層が突破されても、次の層で攻撃を阻止できる設計にします。
3. ログと監視の統合
- CloudWatch Logs: 全てのファイアウォールログを集約
- Security Hub: セキュリティアラートを一元管理
- GuardDuty: 機械学習で異常なアクティビティを検出
4. 自動化とポリシー管理
- Firewall Manager: 組織全体のルールを自動適用
- AWS Config: ファイアウォールルールのコンプライアンスをチェック
- Lambda: ルール違反を検出したら自動修復
まとめ
AWS は、DNS レベルから インスタンスレベルまで、各レイヤーに応じた専用のファイアウォール機能を提供しています。
DNS Firewall で悪意のあるドメインへのアクセスを制御し、Shield で DDoS 攻撃を自動緩和します。WAF でアプリケーション層の攻撃(SQL インジェクション・XSS)を遮断し、Network Firewall で VPC 全体をステートフルに保護します。
ネットワーク ACL でサブネット境界を制御し、セキュリティグループでインスタンス単位の細かいアクセス制御を実現します。
これらのファイアウォール機能を適切に組み合わせることで、多層的な防御を構築し、さまざまな脅威からアプリケーションとデータを保護できます。Firewall Manager で組織全体のファイアウォールポリシーを一元管理し、一貫したセキュリティ基準を維持することが重要です。
重要ポイント
- ▸AWS はレイヤーごとに異なるファイアウォール機能を提供し、多層防御を実現
- ▸セキュリティグループはインスタンスレベル、ネットワーク ACL はサブネットレベル、Network Firewall は VPC レベルで防御
- ▸AWS WAF は L7(アプリケーション層)で SQL インジェクション・XSS を遮断し、カスタムルールで柔軟に制御
- ▸AWS Shield Standard は無料で CloudFront・Route 53 に自動適用され、DDoS 攻撃の 96% を自動緩和
- ▸Network Firewall はステートフルファイアウォールと IPS 機能で VPC 全体を保護し、Gateway Load Balancer 経由でトラフィックを検査
- ▸Firewall Manager で複数アカウントのファイアウォールルールを一元管理し、AWS Organizations 全体に一貫したポリシーを適用
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます