AWS WAFカスタムルール設計|Bot対策・レート制限・地理的ブロックの実践

現場実践|WAFカスタムルール設計
AWS WAFカスタムルール設計|Bot対策・レート制限・地理的ブロックの実践
「WAFのマネージドルールだけでは防げない攻撃がある」「Bot対策を強化したい」——AWS WAFのカスタムルール作成・Bot Control・地理的ブロック・ログ分析による継続的な改善方法を解説します。
💡 AWS WAFのマネージドルールは「よくある攻撃への基本防御」。それ以上のBot対策・スクレイピング防止・特定国からのブロックにはカスタムルールとBot Controlの追加が必要です。
1. WAFカスタムルールの種類
レートベースルール
同一IPから5分間に一定数以上のリクエストが来たらブロック。デフォルトHTTPフラッド攻撃への基本的な対策。閾値の設定が重要。
地理的マッチルール
特定の国・地域からのアクセスをブロックまたは許可のみに限定する。日本向けサービスで海外IPをブロックするユースケースが多い。
文字列マッチルール
リクエストのURL・ヘッダー・クエリ文字列に特定のパターンが含まれる場合にブロック。悪意のあるパスへのアクセスを防ぐ。
Bot Control
AWSが管理するBotシグネチャで良性Bot(Googlebot等)と悪性Botを識別してブロック。スクレイピング・コンテンツ窃取の対策に有効。
2. レートベースルールの設定例
// AWS CLIでレートベースルールを作成
{
"Name": "RateLimit-Login",
"Priority": 1,
"Action": {"Block": {}},
"Statement": {
"RateBasedStatement": {
"Limit": 100,
"AggregateKeyType": "IP",
"ScopeDownStatement": {
"ByteMatchStatement": {
"SearchString": "/api/login",
"FieldToMatch": {"UriPath": {}},
"TextTransformations": [{"Priority": 0, "Type": "NONE"}],
"PositionalConstraint": "STARTS_WITH"
}
}
}
}
}
// /api/loginへのリクエストが同一IPから5分間に100回を超えたらブロック3. WAFログの継続的な分析
- Kinesis Firehose経由でS3に出力:WAFログをS3に蓄積してAthenaで分析する
- よく確認するクエリ:「どのルールが最も発火しているか」「どのIPからが最も多くブロックされているか」「どのURIへの攻撃が多いか」
- ブロックIPのIPセット登録:繰り返し攻撃してくるIPをWAFのIPセットに登録して永続的にブロックする
📌 この記事のポイント
- WAFカスタムルールはレートベース・地理的ブロック・文字列マッチ・Bot Controlの4種類を組み合わせる
- ログインエンドポイントへのレートベースルール(100回/5分/IP)はブルートフォース攻撃への基本対策
- WAFログをS3→Athenaで分析して発火ルール・攻撃IPを把握し継続的にルールを改善する
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




