AWS WAF によってブロックされているファイルをアップロードするにはどうすればよいですか?

最終更新日: 2021 年 2 月 22 日

AWS WAFによってブロックされている拡張子を使用するファイルをアップロード(POST)する必要があります。AWS WAF によってブロックされているファイルをアップロードするにはどうすればよいですか?

簡単な説明

AWS WAF によって POST リクエストがブロックされる理由を理解するには、以下の点を考慮してください。

  • AWS WAF BODY フィルターは、POST リクエストのペイロードの最初の 8,192 バイトのみを検査し、悪意のあるスクリプトがないかどうかを検査します。
  • SQLinjection ルールとクロスサイトスクリプティング (XSS) ルールは、メタデータにランダムな文字を含むファイルに敏感です。これらのランダムな文字は、実際の XSS または SQLinjection と類似しているため、Web アクセスコントロールリスト(Web ACL)ルールをトリガーできます。

AWS WAF は、特定のファイルタイプに対するフィルタリングをサポートしていません。ファイルや画像のアップロードによって引き起こされる誤検出を排除するには、他の方法を使用する必要があります。

解決方法

注: ルールは、ウェブ ACL にリストされている順序で処理されます。次の推奨事項については、必要に応じてルールの優先順位を必ず並べ替えます。

ユースケースに最適な方法を選択してください。

  • 文字列一致ルールステートメント (AWS WAF) または文字列一致条件 (AWS WAF クラシック) を使用して選択的除外を適用します。ファイルの BODY に関連する特定のフレーズをセーフリストに追加します。URI に特定のパスがある場合は、そのパスをセーフリストに追加します。
  • ファイルのアップロードには別のドメインを使用します。これがユースケースでは費用対効果の高いオプションであるかどうかを必ず確認してください。
  • 埋め込まれたコードやデータのファイルや画像をスキャン(スクラブ)します。このアクションは、ファイルをアップロードする前に、クライアント側で実行できます。または、除外ルールを作成する必要がある場合は、ファイルをアップロードした後にバックエンドでこのアクションを実行できます。
  • アップロードする前にファイルを圧縮します。
    注: 悪意のあるファイルを圧縮しないでください。
  • 既知の IP アドレスからアップロードが行われる場合は、各 IP アドレスをセーフリストに追加します。
  • base64 エンコーディングを使用します。すべての画像データはエンコードされます。つまり、AWS WAF は画像で XSS をトリガーできません。
    注: 悪意のある画像のエンコードは絶対に行わないで下さい。
  • チャンクの削除やビットのランダム化などの画像最適化手法を実装します。

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


請求に関するサポートまたは技術サポートが必要ですか?