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?

「AWS WAFで構築するIP制限×マネージドルールの多層防御」

Posted at

固定IPだけ信じるな!AWS WAFのマネージドルールと組み合わせる防御設計

はじめに

AWS WAFでIP制限(Allow/Deny)を設定しているだけで「十分に守れている」と思っていませんか?

実際には、固定IP制限だけでは防げない攻撃が多く存在します。本記事では、AWS WAFのマネージドルール(Anonymous IP / Reputation IP)を活用した多層防御設計について、実例を交えて解説します。

対象読者:

  • AWS WAFの導入を検討中、または運用中のインフラ・セキュリティ担当者
  • 静的なIP制限に限界を感じている方

AWS WAFのルール構成と種類

AWS WAFでは、大きく分けて以下の2種類のルールを設定できます。

  • カスタムルール:自分で条件を定義する(IP制限や文字列パターンなど)
  • マネージドルール:AWSやサードパーティが提供するルールセット(サブスクリプション形式)

今回取り上げるのは以下の3種類のルールです:

種類 概要
IP制限(Allow/Deny) 特定IPからのアクセスのみ許可 or 拒否
Anonymous IP list VPN / プロキシ / Tor など匿名化サービスのIPを遮断
Amazon IP reputation list 過去に悪質な挙動を示したIP(スキャナー・ボットなど)を遮断

3つの防御レイヤーを理解する

レイヤー1:静的IP制限(Allow/Deny)

  • 明示的に社内ネットワークなど「信頼できるIP」だけを許可
  • アクセス元が固定のアプリや社内向けUIなどに有効
{
  "IPSet": {
    "Addresses": ["203.0.113.0/24"]
  },
  "Action": "ALLOW"
}

レイヤー2:Anonymous IP list

  • TorやVPNなどを経由した匿名性の高いIPアドレスを自動で検出・遮断します。
  • 主に以下のようなケースに有効です:
    • ボットによるスクレイピング
    • 匿名プロキシを使った偽装アクセス
    • 地理的な回避手段を用いた不正利用

特徴:匿名化サービスの利用を自動識別するため、固定IPでの制御が難しいトラフィックに強い。

💡 Torとは?
Tor(The Onion Router)は、通信を多層の暗号化経路で中継することでユーザーのIPアドレスやアクセス元を匿名化するネットワークです。
例えば、攻撃者がTorを経由してアクセスすると、実際のIPアドレスが隠されてしまい、通常のIP制限では検知できません
AWS WAFの「Anonymous IP list」は、このような匿名化技術(Tor、VPN、プロキシ等)を利用したアクセス元IPを自動で検出・遮断します。


レイヤー3:Amazon IP reputation list

  • AWSがグローバルに収集した「悪質なIPアドレスのレピュテーションデータ」に基づき、攻撃元を遮断します。
  • 主に以下のような攻撃に対応します:
    • ボットによる自動攻撃
    • DDoS攻撃
    • スキャニングツールによる調査アクセス

多層防御におけるルール順と設計のポイント

AWS WAFではルールの評価順序が非常に重要です。
誤った順序でルールを適用すると、正当なアクセスが遮断されたり、逆に攻撃を通してしまう可能性があります。


✅ 推奨ルール順序の例

  1. Allow list(信頼済みIP)
  2. Anonymous IP list
  3. Reputation IP list
  4. その他のカスタム検知(例:SQLインジェクション、XSSなど)
  5. Default Action: Block

⚠️ 設計上の注意点

  • Allowルールを上位に配置して、誤検知による遮断を防ぐ
  • マネージドルールは初期は「Countモード」で導入し、安全性をログで確認
  • ルールが多すぎるとパフォーマンスと料金に影響(特にCloudFront連携時)

ルール評価順序の図解(多層防御フロー)

以下は、WAFでアクセスを評価する際のルール順序のイメージです:

image.png

💡 Countモードを活用しながら CloudWatch Logs で効果を確認 → 問題なければ Block に切り替えるのが安全です。

よくある勘違いと落とし穴

❌ 誤解 ✅ 実際には…
Anonymous IP listで完全に匿名アクセスを防げる 一部のVPNや企業プロキシは対象外になる可能性あり
Reputation listを使えばすべての攻撃は防げる Zero-day攻撃や新種のBotは検知されないことも
IP制限だけで十分 クラウド環境やBotネットなどの動的なIPには非対応

AWS WAFルール構成の実装例(Terraform)

# Terraform (例) - CloudFrontと連携するWAF Web ACL
resource "aws_wafv2_web_acl" "example" {
  name        = "multi-layer-waf"
  scope       = "CLOUDFRONT"

  default_action {
    allow {}
  }

  rule {
    name     = "AllowTrustedIP"
    priority = 1
    action {
      allow {}
    }
    statement {
      ip_set_reference_statement {
        arn = aws_wafv2_ip_set.trusted_ips.arn
      }
    }
    visibility_config {
      sampled_requests_enabled     = true
      cloudwatch_metrics_enabled   = true
      metric_name                  = "AllowTrustedIP"
    }
  }

  rule {
    name     = "BlockAnonymousIP"
    priority = 10
    override_action {
      count {}  # 検証段階では count モードを推奨
    }
    statement {
      managed_rule_group_statement {
        name        = "AnonymousIPList"
        vendor_name = "AWS"
      }
    }
    visibility_config {
      sampled_requests_enabled     = true
      cloudwatch_metrics_enabled   = true
      metric_name                  = "BlockAnonymousIP"
    }
  }

  rule {
    name     = "BlockBadReputationIP"
    priority = 20
    override_action {
      count {}
    }
    statement {
      managed_rule_group_statement {
        name        = "AmazonIpReputationList"
        vendor_name = "AWS"
      }
    }
    visibility_config {
      sampled_requests_enabled     = true
      cloudwatch_metrics_enabled   = true
      metric_name                  = "BlockBadReputationIP"
    }
  }

  visibility_config {
    cloudwatch_metrics_enabled     = true
    sampled_requests_enabled       = true
    metric_name                    = "multi-layer-waf"
  }
}



まとめ

  • IP制限は静的に信頼済みIPを管理するための手段
  • Anonymous IP list / Reputation list は動的に変化する攻撃元の遮断に有効
  • この2種類を組み合わせることで、ゼロトラスト的な多層防御を構築できる
  • WAFルールの評価順序とCountモードでの検証導入が成功のカギ


参考リンク


おわりに

この記事では、AWS WAFを使った多層的なIP制御の設計パターンについて解説しました。

静的なIP制限に頼るだけでなく、AWSが提供するマネージドルールを活用することで、より柔軟かつ堅牢なセキュリティ対策が可能です。
WAFの構成見直しや初期導入時の参考になれば幸いです。

👍 記事が役に立ったら「いいね」やコメントをお願いします!

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?