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 制御悪意のあるボットのブロック

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

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

ルールグループ防御対象
AWSManagedRulesCommonRuleSetOWASP Top 10
AWSManagedRulesSQLiRuleSetSQL インジェクション
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) を調整する。

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

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

関連用語

関連する記事