0
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】AWS WAFでSQLインジェクションを防ぐ具体的な設定方法

Posted at

きっかけ

OWASP ZAPでSQLインジェクションの脆弱性を検知

  • OWASP ZAP(Zed Attack Proxy)を使用して、対象のWebアプリケーションに対して自動スキャンを実施。
  • SQLインジェクションの脆弱性が検知されたことを確認。

対象ドメインにSQLインジェクションを試す

  • 検知された脆弱性を確認するため、対象ドメインに対して手動でSQLインジェクションを試行。
    • 例: https://example.com/login?username=admin&password=password' OR '1'='1
  • SQLインジェクションが成功し、不正なアクセスが可能であることを確認。

設定手順

AWS Management Consoleにログイン

Web ACLの作成

  1. Web ACLsを選択し、Create web ACLをクリックします。
  2. NameDescriptionを入力します。
    • 例: Name: SQLi-Protection-WebACL, Description: Web ACL to protect against SQL injection
  3. Resource typeで保護対象のリソースタイプを選択します。
    • Global resources (CloudFront Distributions): CloudFrontを使用している場合。
    • Regional resources (Application Load Balancers, API Gatewayなど): ALBやAPI Gatewayを使用している場合。
  4. Regionを選択します(Regional resourcesの場合)。
  5. Nextをクリックします。

ルールとルールグループの追加

  1. Add rulesをクリックし、Add managed rule groupsを選択します。
  2. AWSManagedRulesSQLiRuleSetを選択します。
    • このルールグループは、SQLインジェクション攻撃を防ぐためのマネージドルールを提供します。
  3. Add ruleをクリックしてルールを追加します。
  4. Nextをクリックします。

ルールの優先順位を設定

  1. 追加したルールの優先順位を確認します。
    • 必要に応じて、ルールの順序を調整します。
  2. Nextをクリックします。

メトリクスの設定

  1. Configure metricsで、CloudWatchメトリクスを有効にするかどうかを選択します。
    • メトリクスを有効にすると、WAFの動作状況をモニタリングできます。
  2. Nextをクリックします。

Web ACLの確認と作成

  1. 設定内容を確認します。
  2. Create web ACLをクリックして、Web ACLを作成します。

リソースへの関連付け

  1. 作成したWeb ACLを、保護したいリソース(CloudFrontディストリビューションまたはALB)に関連付けます。
    • Associated AWS resourcesセクションで、関連付けるリソースを選択します。

動作確認

  1. SQLインジェクションのブロック確認:
    • SQLインジェクションを試行し、AWS WAFがリクエストをブロックすることを確認します。
    • 例: https://example.com/login?username=admin&password=password' OR '1'='1
  2. 通常のリクエストの通過確認:
    • 通常のリクエストが通過し、アプリケーションが正常に動作することを確認します。

ログの設定(オプション)

  1. Logging and metricsセクションで、ログの設定を行います。
    • ログをCloudWatch LogsやS3に出力し、後で分析できるようにします。

まとめ

  • AWS WAFを使用して、SQLインジェクションを防ぐためのルールを設定。
  • マネージドルールグループを活用し、簡単にセキュリティを強化。
  • ログとメトリクスを設定し、WAFの動作状況をモニタリング。
0
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
0
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?