1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bot対策の最前線:AWS Managed Rules × Bot Control の実践活用術

Posted at

✨ はじめに

Webサービスを公開していると、正規ユーザーのふりをした悪質なBotに悩まされることがあります。
アクセス数が増えるほど、WAFの効果的なボット対策は重要性を増します。

本記事では、AWS WAF の Managed RulesBot Control を活用し、
CloudFront配下での実戦的なBot対策を解説します。


✅ 対象読者

  • Botアクセスの急増に悩まされている方
  • AWS WAFをすでに導入済みの方
  • Bot Controlの仕組みや費用感がよく分からない方
  • CloudFront + S3 など静的配信環境でBot対策をしたい方

📊 全体構成図

[Client] 
   ↓
[AWS WAF (Managed Rule + Bot Control)]
   ↓
[CloudFront]
   ↓
[S3 or ALB/API Gateway]

🔍 Bot Controlとは?

AWS Bot Controlは、WAFの追加機能として提供される マネージドルールセット です。

項目 内容
提供形式 AWS Managed Rule
費用 WAFルール数+BotControl特別料金($10/WCUあたり)
前提条件 CloudFront専用(ALB/Regionalでは不可)
判定方法 ユーザーエージェント、IP、リクエストパターンなど

種類:

  • Known Bot(Good Bot含む)
  • Common Bot(SEOツールやクローラー等)
  • Malicious Bot(明らかに悪質なアクセス)

⚙️ Bot Control の設定手順

1. WAF WebACL作成(CloudFront用)

aws wafv2 create-web-acl \
  --name "my-cloudfront-waf" \
  --scope CLOUDFRONT \
  --default-action Block={} \
  ...

2. Bot Controlルールの追加

AWSマネージドルールから以下を選択:

  • AWS-AWSBotControlRuleSetBot Control for Targeted Bots

おすすめ設定

  • Known Bot → Allow
  • Malicious Bot → Block
  • Common Bot → CAPTCHA or Count

3. Rule Action の工夫

  • 初期はCount モードで影響を確認
  • 問題なければ Block へ切り替え

🛡️ Bot Controlだけでは防げないBotもいる

実務では、以下のようなBotがすり抜けるケースがあります:

  • 最新のUser-Agentに偽装
  • 正規IPレンジからのアクセス
  • Refererを設定し擬似的に正規流入

⚡️ 対応策

  • UA/Refererによる除外設定
  • URIパターンに対するRate-basedルール
  • JA3フィンガープリント分析

📊 WAFログ活用

Bot Controlの導入後は WAFログ (JSON)をAthenaで解析することで、以下のような分析が可能です:

  • BlockされたBotの種類、頻度
  • 特定パスへの異常アクセス
  • Challenge経由の通過数、傾向

Athenaクエリ例

SELECT terminatingRuleId, COUNT(*) as cnt
FROM waf_logs
WHERE action = 'BLOCK'
GROUP BY terminatingRuleId
ORDER BY cnt DESC

💰 Bot Controlの費用と削減テクニック

項目 価格の概要
Bot Controlの利用料 WebACLごとに約310/mo + WCU
WAFルール料金 $1/Rule + $0.6/100万リクエスト

削減ポイント

  • Countモードで不要なルールを判定
  • WAFのルール数を最小限に
  • CloudFrontのキャッシュ強化でパストを矩折

📝 まとめ

  • Bot ControlはCloudFront前接で効果的
  • すべてのBotを防げるわけではないのでCustom Ruleの使い切りが重要
  • WAFログとAthenaを連携し、効果を可視化
  • 費用を意識しつつ、ルールを精選して運用すること

📌 付録

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?