見出し画像

AWSのWAFのマネージドルールあるあるにはまってしまった備忘録


今日は業務中に自社システムで画像データのアップロードができないという障害が発生しました。本人確認用の画像を送信しようとした際、システム側では問題が見当たらず、原因究明に時間がかかりました。

障害の概要

  • 発生した問題: jQueryのAjax通信を使って非同期で画像データを送信しようとしたが、通信が失敗。

  • インフラの変更点: 最近、ECSへの不正なリクエスト攻撃を防ぐためにWAF(Web Application Firewall)を導入していました。

WAF導入による影響

WAF導入後、通信がブロックされていた可能性が浮上しました。WAFはウェブアプリケーションを保護するためのファイアウォールですが、設定が不十分だと正規の通信もブロックされてしまうことがあります。特に、WAFのマネージドルールの設定は慎重に行う必要があります。

問題点

  1. WAFのログがCloudWatchやS3に出力されていなかった

    • ログの設定が有効化されていなかったため、障害のトラブルシューティングが困難に。

  2. WAFのマネージドルールがデフォルトのままだった

    • 導入時の設定で、デフォルトの閾値がそのまま適用されていたため、画像アップロードなど特定のリクエストがブロックされていた。

  3. RateLimitの問題はなかった

    • リクエストのレート制限は問題なさそうでしたが、マネージドルールによる通信のブロックが発生していました。

解決策と学び

最終的に、WAFのルールに紐づいているAWSリソースを一時的に解除することで、障害は解消されました。今回の障害を通して、以下の点を学びました。

  1. WAFのログ設定を有効化する重要性

    • ログをCloudWatchやS3に出力する設定を事前にしておけば、問題の原因をより早く特定できたはずです。

  2. 画像アップロードに対するWAFのブロックルール

    • 画像アップロードのリクエストは、WAFのルールでブロックされやすいことを学びました。特にAjaxを使った非同期通信では、HTTPリクエストの形式によってブロックされることがあります。

  3. WAFのマネージドルールの適切な設定

    • デフォルトのルール設定ではなく、サービスに応じてカスタマイズする必要があります。



いいなと思ったら応援しよう!

この記事が参加している募集