🛡️

S3+CloudFront+WAFで1,655件の攻撃を100%ブロックした話

に公開

はじめに

2026年1月4日〜6日のたった3日間で、弊社サイトに1,655件の攻撃が来ました。

結果は100%ブロック。誤検知ゼロ。コストは約60円。

実際のログを元に、何が起きて、どう防いだかを共有します。

結論から

項目 数値
攻撃数 1,655件
ブロック率 100%
誤検知 0件
コスト 約60円/3日
攻撃元IP 101種類

月換算で約600円。これで企業レベルの防御ができます。

システム構成

攻撃者 → CloudFront → WAF → S3(静的サイト)
              ↓
         403 Forbidden

シンプルな静的サイト構成。ポイントはWAFをCloudFrontの前段に配置していること。

攻撃の実態

日別の攻撃状況

日付 リクエスト ブロック ブロック率
1/4 1,555 653 42.0%
1/5 2,077 776 37.4%
1/6 663 226 34.1%

驚くべき事実: 全リクエストの約40%が攻撃でした。

攻撃元IPトップ5

IP 攻撃回数 特徴
4.230.44.177 293回 115種類のパスを総当たり
52.147.68.81 208回 1日で集中攻撃
20.42.220.101 144回 132種類のパス
52.141.42.203 128回 2日間継続
4.190.203.84 124回 3日間継続

ほぼMicrosoftクラウド経由。攻撃者はクラウドを踏み台にしています。

狙われたパス

/admin.php      - 20回 - 管理画面
/adminfuns.php  - 19回 - 管理機能
/aa.php         - 19回 - Webshell
/wp-admin/...   - 19回 - WordPress
/info.php       - 18回 - phpinfo()

PHPファイルばかり狙われている。

実際はS3静的サイトなのでPHPは動きません。攻撃は全て無意味。

User-Agent偽装

種類 割合
ブラウザ偽装 95.3%
Bot/Crawler 1.2%
Python 0.4%

攻撃者の95%が正規ブラウザを装っている。

単純なBot検知では防げません。WAFによるL7検知が必須です。

なぜ100%防げたか

1. 静的サイトの強み

攻撃 効果
PHPコード実行 無効(PHPがない)
SQLインジェクション 無効(DBがない)
ファイルアップロード 無効(機能がない)

S3静的サイトは攻撃対象が存在しない。

2. WAFのマネージドルール

有効にしたルール:

  • AWSManagedRulesCommonRuleSet
  • AWSManagedRulesKnownBadInputsRuleSet
  • AWSManagedRulesSQLiRuleSet

これだけで既知の攻撃パターンを自動検知。

3. 多層防御

CloudFront: DDoS保護、レート制限
    ↓
WAF: パターンマッチング
    ↓
S3: 静的コンテンツのみ

どの層でも攻撃を止められる構成。

コスト内訳

サービス 3日間 月換算
CloudFront 15円 150円
WAF 30円 300円
S3 5円 50円
Athena 10円 100円
合計 60円 600円

月600円で1,655件レベルの攻撃を完全防御。

WAF設定のポイント

# マネージドルールを3つ有効化
resource "aws_wafv2_web_acl" "main" {
  rule {
    name     = "AWSManagedRulesCommonRuleSet"
    priority = 1
    # ...
  }
  rule {
    name     = "AWSManagedRulesKnownBadInputsRuleSet"
    priority = 2
    # ...
  }
  rule {
    name     = "AWSManagedRulesSQLiRuleSet"
    priority = 3
    # ...
  }
}

デフォルトのマネージドルールだけでこの効果。カスタムルールなしでも十分強力です。

学んだこと

1. 「うちは狙われない」は幻想

3日で1,655件。自動スキャンは無差別です。

2. 静的サイト + WAFは最強

動的機能がなければ攻撃対象がない。WAFで念押し。

3. ログ分析は必須

攻撃を受けていることすら見なければわからない。

Athenaで数円で分析できます。

4. 月600円で企業レベル

中小企業でも大企業と同じ防御が可能。AWSの民主化。

もし手動で対応していたら?

1,655件の攻撃を人力で対応した場合の試算:

作業 工数
ログ確認(1件30秒) 約14時間
IPブロック(101件 × 5分) 約8時間
ルール作成(パターン別) 約5時間
継続監視(3日間) 約6時間
合計 約33時間

時給3,000円換算で約10万円。

効率よくやって半分だとしても5万円。WAFの月600円とは比較にならない。

比較

項目 WAF 手動
コスト 600円/月 10万円/3日
対応時間 0時間 33時間
夜間対応 自動 寝てる間に侵入
漏れ 0件 見逃しリスク

月600円で10万円分の作業が自動化される。

まとめ

Before: 何が起きてるかわからない
After:  1,655件の攻撃を100%ブロック、全て可視化

S3 + CloudFront + WAF。この構成、おすすめです。


関連記事


この分析は CloudLogAI で自動検知しました。

👉 仕組みの詳細はこちら:月170円で24時間AI監視

月170円で動くAI監視システムで、攻撃もパフォーマンス低下も早期に検知できます。

「うちのサイト、今どうなってるんだろう?」と思ったら、お気軽にどうぞ。

Discussion