AWS WAF(Web Application Firewall)は、Web アプリケーションを悪意あるトラフィックから保護するサービスです。
「インバウンド拒否ルール」と「Web ACL」は、AWS WAFの中心的な概念です。
🔐 AWS WAF の基本構成
コンポーネント |
説明 |
Web ACL |
Web Application Firewall Access Control List の略。WAFポリシーの本体。複数のルールを組み合わせて構成。 |
ルール |
特定の条件(IPアドレス、SQLインジェクションなど)を定義し、Allow / Block / Count のアクションを設定。 |
ルールグループ |
複数のルールを1つにまとめた単位(AWS 管理 or カスタム)。 |
🛡️ Web ACL の概要
- CloudFront、ALB、API Gateway、AppSync に適用可能
- トラフィックがルールにマッチすると "Block"(拒否)、"Allow"(許可)、または "Count"(ログのみ) のアクションが実行されます。
- 複数ルールを順番に評価(優先度順)
🚫 インバウンド拒否ルール(Blockルール)
🔹 概要
「インバウンド拒否ルール」とは、WAFで受信リクエストをブロック(拒否)するルールです。
🔹 主な拒否条件(ルールの条件)
ルールタイプ |
内容 |
例 |
IP マッチ条件 |
特定のIPアドレスや範囲を拒否 |
例:特定国からのアクセスをブロック |
Geo マッチ条件 |
国や地域ベースでブロック |
例:中国・ロシアからのアクセスを拒否 |
SQLインジェクション対策 |
リクエストに悪意あるSQLが含まれるか |
例:' OR '1'='1 などを検出 |
XSS対策 |
クロスサイトスクリプティングの検出 |
例:<script> タグを含むリクエスト |
Rate-based(レート制限) |
一定時間内の過剰アクセスをブロック |
例:1分あたり100リクエスト以上でブロック |
📋 Web ACL の作成・適用の流れ
- Web ACL を作成
- ルールやルールグループを追加
- CloudFrontやALBなどのリソースにアタッチ
🔧 例:特定IPからのアクセスを拒否するルール
-
拒否対象:
203.0.113.0/24
からのアクセス
{
"Name": "BlockIPRule",
"Priority": 1,
"Action": {
"Block": {}
},
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:region:account-id:ipset/my-bad-ipset"
}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "BlockIPRule"
}
}
🧠 ポイント
項目 |
内容 |
Blockルール |
マッチしたリクエストを即ブロック(403を返す) |
優先度(Priority) |
数字が小さい方が優先的に評価される |
Web ACL適用対象 |
ALB, CloudFront, API Gateway など |
Countモード |
実際にBlockせずログだけ取得できる(テスト用) |
✅ まとめ
用語 |
意味 |
Web ACL |
複数ルールをまとめたWAFポリシー。ALBなどにアタッチ可能 |
インバウンド拒否ルール |
特定条件に合致したリクエストを**ブロック(403)**するルール |
使用例 |
国・IP制限、XSS/SQLi対策、DoS制限など |