の新しいコンソールエクスペリエンスの紹介 AWS WAF
更新されたエクスペリエンスを使用して、 コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「コンソールの使用」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
での事前解析テキスト変換の使用 AWS WAF
事前解析テキスト変換は、未加工のクエリ文字列を正規化してから AWS WAF 、個々のクエリ引数に解析します。これらの変換は、パーサー差分攻撃と HTTP パラメータ汚染 (HPP) に対処し、攻撃者はクエリ文字列区切り文字をエンコードまたは操作して検査ルールをバイパスします。
事前解析テキスト変換は、リクエストコンポーネントが SingleQueryArgumentまたは の場合にのみ使用できますAllQueryArguments。 AWS WAF は、標準テキスト変換の前に事前解析テキスト変換を適用します。ルールステートメントごとに最大 10 個の事前解析テキスト変換を指定できます。事前解析テキスト変換ごとに、ルールステートメントのコストに 10 WCUs が追加されます。
API では、ルールステートメントのオプションPreParseTextTransformations設定を使用して事前解析テキスト変換を設定します。
注記
事前解析正規化が必要ない場合は、事前解析テキスト変換を指定しないでください。デフォルトの動作は でNONE、未加工のクエリ文字列は変更せずにパーサーに渡されます。
次の事前解析テキスト変換を使用できます。
- None –
NONE -
AWS WAF は、事前解析テキスト変換なしで、受信したウェブリクエストを検査します。
- URL decode –
URL_DECODE -
AWS WAF URL は解析前に raw クエリ文字列をデコードします。%HH シーケンスをデコードします (たとえば、%26 が & になり、%3D が = になります)。これにより、以前にエンコードされた新しいクエリパラメータの境界が公開される可能性があります。
- URL decode Unicode –
URL_DECODE_UNI -
と同様ですが
URL_DECODE、Unicode でエンコードされたシーケンス (%uHHH) もデコードします。コードがFF01-FF5Eの全角 ASCII コード範囲内にある場合、高位バイトを使用して下位バイトが検出され、調整されます。それ以外の場合は、下位バイトのみが使用され、高位バイトはゼロになります。 - Combine duplicate query arguments by comma –
COMBINE_DUPLICATE_QUERY_ARGS_BY_COMMA -
AWS WAF は、重複するクエリパラメータキーのすべての値を最初の出現位置の単一のカンマ区切り (0x2C) 文字列にマージし、後の重複を削除します。例えば、
a=1&b=2&a=3はa=1,3&b=2になります。この変換は、バックエンドが重複するクエリパラメータを配列に結合する場合に使用します。これは .NET、API Gateway、Express.js で一般的です。 AWS WAF は結合された値を 1 つのユニットとして検査します。 - Replace semicolons with ampersands –
REPLACE_SEMICOLONS_WITH_AMPERSANDS -
AWS WAF は、解析前に raw クエリ文字列内のすべてのセミコロン (0x3B) をアンパサンド (0x26) に置き換えます。 AWS API Gateway REST APIs を含む一部のウェブフレームワークとサービスは、セミコロンをアンパサンドに相当するクエリパラメータ区切り文字として扱います。この変換はクエリ文字列を正規化します。 AWS WAF その後、バックエンドと同じようにセミコロンで分割されるため、一貫したパラメータ解析が可能になります。