の新しいコンソールエクスペリエンスの紹介 AWS WAF
更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスの使用」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でのテキスト変換の使用 AWS WAF
このセクションでは、リクエストを検査する前に が適用 AWS WAF する変換を提供する方法について説明します。
パターンを探したり制約を設定したりするステートメントでは、リクエストを検査する前に が適用 AWS WAF する変換を指定できます。変換では、 AWS WAFをバイパスするために攻撃者が使用する異常なフォーマットの一部を削除するために、ウェブリクエストが再フォーマットされます。
これを JSON 本文リクエストコンポーネントの選択で使用する場合、 AWS WAF は JSON から検査する要素を解析および抽出した後、変換を適用します。詳細については、「JSON 本文」を参照してください。
複数の変換が指定された場合、 AWS WAF は変換の適用順序も設定します。
WCU - テキスト変換ごとには 10 個の WCU。
AWS WAF コンソールと API のドキュメントには、以下の場所におけるこれらの設定に関するガイダンスも記載されています。
-
コンソールのルールビルダー - [Text transformation] (テキスト変換)。このオプションは、リクエストコンポーネントの使用時に選択できます。
-
API ステートメントのコンテンツ –
TextTransformations
テキスト変換のオプション
各変換リストには、コンソールと API の仕様が表示され、説明が続きます。
- Base64 decode –
BASE64_DECODE -
AWS WAF は Base64-encoded文字列をデコードします。
- Base64 decode extension –
BASE64_DECODE_EXT -
AWS WAF は Base64-encodedされた文字列をデコードしますが、無効な文字を無視する寛容な実装を使用します。
- Command line –
CMD_LINE -
このオプションは、攻撃者がオペレーティングシステムのコマンドラインコマンドを挿入し、異常なフォーマットを使用して、コマンドの一部またはすべてを偽装する状況を緩和します。
このオプションを使用して、次の変換を実行します。
-
次の文字を削除します:
\ " ' ^ -
次の文字の前にあるスペースを削除します:
/ ( -
次の文字をスペースに置き換えます:
, ; -
複数のスペースを 1 つのスペースに置き換えます。
-
大文字
A-Zを小文字a-zに変換します。
-
- Compress whitespace –
COMPRESS_WHITE_SPACE -
AWS WAF は、複数のスペースを 1 つのスペースに置き換え、次の文字をスペース文字 (ASCII 32) に置き換えることで空白を圧縮します。
-
フォームフィード (ASCII 12)
-
タブ (ASCII 9)
-
改行 (ASCII 10)
-
キャリッジリターン (ASCII 13)
-
垂直タブ (ASCII 11)
-
改行なしスペース (ASCII 160)
-
- CSS decode –
CSS_DECODE -
AWS WAF は、CSS 2.x エスケープルール を使用してエンコードされた文字をデコードします
syndata.html#characters。この関数は、デコード処理で最大 2 バイトを使用するため、通常はエンコードされない CSS エンコーディングを使用してエンコードされた ASCII 文字を発見するのに役立ちます。また、バックスラッシュと 16 進数以外の文字の組み合わせである回避対策にも役立ちます。たとえば、javascriptのja\vascriptを設定します。 - Escape sequences decode –
ESCAPE_SEQ_DECODE -
AWS WAF は、次の ANSI C エスケープシーケンスをデコードします:
\a、\b、、\f、\n\r、\t、\v、、\\\?、\xHH、 (16 進数)\"、\0OOO(8\'進数)。有効でないエンコーディングは出力に残ります。 - Hex decode –
HEX_DECODE -
AWS WAF は 16 進数の文字の文字列をバイナリにデコードします。
- HTML entity decode –
HTML_ENTITY_DECODE -
AWS WAF は、16 進数形式
&#xhhhh;または 10 進数形式で表される文字を対応する文字&#nnnn;に置き換えます。AWS WAF は、次の HTML エンコード文字をエンコードされていない文字に置き換えます。このリストでは小文字の HTML エンコーディングを使用しますが、処理では大文字と小文字が区別されません。例えば、
&QuOt;と"は同じように扱われます。HTML でエンコードされた文字
以下に置き換えます
""&&<<>> 、または 改行なしスペース、10 進数 160

\n、10 進数 10	\t、10 進数 9{、または{{|,|, または||}、、または}}!!##$$&percent;、、または%%'\(())*、、または**++,,..//::;;==??˜、、または˜~−-[、、または[[\\\]、、または]]&hat;^_、、または&underbar;_`、、または`` - JS decode –
JS_DECODE -
AWS WAF は JavaScript エスケープシーケンスをデコードします。
\uHHHHコードがFF01-FF5Eの全角 ASCII コード範囲内にある場合、高位バイトを使用して下位バイトが検出され、調整されます。そうでない場合は、下位バイトのみが使用され、上位バイトはゼロになり、情報が失われる可能性があります。 - Lowercase –
LOWERCASE -
AWS WAF は、大文字 (A~Z) を小文字 (a~z) に変換します。
- MD5 –
MD5 -
AWS WAF は、入力内のデータから MD5 ハッシュを計算します。計算されたハッシュは生のバイナリ形式です。
- None –
NONE -
AWS WAF は、テキスト変換なしで、受信したウェブリクエストを検査します。
- Normalize path –
NORMALIZE_PATH -
AWS WAF は、入力の先頭にない複数のスラッシュ、ディレクトリの自己参照、およびディレクトリのバックリファレンスを削除することで、入力文字列を正規化します。
- Normalize path Windows –
NORMALIZE_PATH_WIN -
AWS WAF はバックスラッシュ文字をスラッシュに変換し、
NORMALIZE_PATH変換を使用して結果の文字列を処理します。 - Remove nulls –
REMOVE_NULLS -
AWS WAF は入力からすべての
NULLバイトを削除します。 - Replace comments –
REPLACE_COMMENTS -
AWS WAF は、C 形式のコメント (/* ... */) の各出現を 1 つのスペースに置き換えます。コメントが複数連続しているときは、圧縮しません。コメントの終端がないときもスペース (ASCII 0x20) に置き換えられます。コメントの終端 (*/) のみがあるときは変更されません。
- Replace nulls –
REPLACE_NULLS -
AWS WAF は、入力の各バイトをスペース文字 (ASCII
NULL0x20) に置き換えます。 - SQL hex decode –
SQL_HEX_DECODE -
AWS WAF は SQL 16 進数のデータをデコードします。たとえば、 は (
0x414243) を () に AWS WAF デコードしますABC。 - URL decode –
URL_DECODE -
AWS WAF は URL エンコードされた値をデコードします。
- URL decode Unicode –
URL_DECODE_UNI -
URL_DECODEと同様ですが、Microsoft 固有の%uエンコーディングをサポートしています。コードがFF01-FF5Eの全角 ASCII コード範囲内にある場合、高位バイトを使用して下位バイトが検出され、調整されます。それ以外の場合は、下位バイトのみが使用され、高位バイトはゼロになります。 - UTF8 to Unicode –
UTF8_TO_UNICODE -
AWS WAF は、すべての UTF-8 文字シーケンスを Unicode に変換します。これは、入力を正規化し、非英語の言語における誤検知(偽陽性や偽陰性)を最小限に抑えるのに役立ちます。