WAF

Web アプリケーションファイアウォールで、SQL インジェクションや XSS などの攻撃をフィルタリングする

AWSセキュリティ

WAF とは

AWS WAF (Web Application Firewall) は、HTTP リクエストを検査し、SQL インジェクションXSSDDoS などの攻撃をフィルタリングするセキュリティサービスである。CloudFront、ALB、API Gateway に適用する。

WAF のルール

WAF のルールを以下にまとめる。

ルール 防ぐ攻撃
SQL インジェクション ' OR 1=1 --
XSS <script>alert(1)</script>
レートベース DDoS、ブルートフォース
IP ブロック 特定 IP からのアクセス拒否
Geo ブロック 特定国からのアクセス拒否
Bot 制御 悪意のあるボットのブロック

よく使うマネージドルール

よく使うマネージドルールを以下にまとめる。

ルールグループ 防御対象
AWSManagedRulesCommonRuleSet OWASP Top 10
AWSManagedRulesSQLiRuleSet SQL インジェクション
AWSManagedRulesKnownBadInputsRuleSet 既知の悪意ある入力
AWSManagedRulesBotControlRuleSet ボット
AWSManagedRulesAmazonIpReputationList 悪意ある IP

レートベースルール

レートベースルールの例を示す。

- Name: RateLimit
  Priority: 2
  Statement:
    RateBasedStatement:
      Limit: 2000        # 5分間で2000リクエスト
      AggregateKeyType: IP
  Action:
    Block: {}

CloudFront + WAF

CloudFront + WAF を図で示す。

ユーザー → CloudFront (WAF) → API Gateway → Lambda
              ↑ ここで攻撃をブロック

WAF を CloudFront に適用すると、エッジロケーションで攻撃トラフィックをブロックし、オリジンへの負荷を軽減する。

コスト

コストの特性を以下にまとめる。

項目 料金
Web ACL $5/月
ルール $1/ルール/月
リクエスト $0.60/100 万リクエスト
マネージドルール $1〜$10/月

WAF のログ

WAF のログを S3 に保存し、Athena で分析する。ブロックされたリクエストのパターンを確認し、誤検知 (False Positive) を調整する。

より深く学ぶには関連書籍が役立つ。

この記事は役に立ちましたか?

関連用語

関連する記事