【新機能】AWS WAF に2つの新機能!非オクテット CIDR のサポートおよびクエリ文字列のパターンマッチング強化!
AWS WAF にうれしい2つの新機能が追加されました!
- 非オクテット CIDR 境界のサポート
- クエリ文字列のパラメータに対するパターンマッチングの強化
それでは1つずつ見ていきましょう!
非オクテット CIDR 境界のサポート
従来、AWS WAF の [IP 一致条件] では、オクテット境界(/8、/16、/24、/32)での CIDR 指定しか出来ませんでした。今回のアップデートにより、/16 〜 /32のアドレス範囲は非オクテット境界で CIDR 指定することが可能になりました。つまり、自由な指定が出来るってことですね。これは嬉しい!
IPv6 については、/16、/24、/32、/48、/56、/64、および /128 の IPv6 アドレス範囲指定のみサポートに変わりありません。
クエリパラメータのパターンマッチング強化
今回のアップデートにより、クエリパラメータの値に対してパターンマッチングを指定することが可能になりました!指定方法は、以下の2つです。
- 単一クエリパラメータ(値のみ)
- すべてのクエリパラメータ(値のみ)
単一クエリパラメータ
たとえば、URL が www.xyz.com?UserName=abc&SalesRegion=seattle
の場合、UserName
パラメータまたは SalesRegion
パラメータのいずれかにフィルタを追加できます。単一クエリパラメータを選択した場合、設定画面では以下のように、パラメータ名指定の項目が表示されます。
クエリパラメータ名は、最大長は 30 文字になります。
クエリ文字列に重複したパラメータがある場合
クエリ文字列に重複したパラメータがある場合、値は OR
として評価されます。 たとえば、URL が www.xyz.com?SalesRegion=boston&SalesRegion=seattle
では、値に一致する boston
または seattle
のいずれかが一致するとトリガーされます。
クエリパラメータ名は大文字と小文字が区別されません
たとえば、UserName
をクエリパラメータ名として指定すると、username
や UsERName
もすべて一致と判断されます。
すべてのクエリパラメータ
単一クエリパラメータに似ていますが、単一のパラメータの値を調べるのではなく、クエリ文字列内のすべてのパラメータの値を照合して、一致する値を調べます。 たとえば、URLが www.xyz.com?UserName=abc&SalesRegion=seattle
で、[すべてのクエリパラメータ] を選択すると、UserName
または SalesRegion
のいずれかの値が一致するとトリガーされます。設定画面でも、パラメータ指定はなく値の条件のみとなります。
さいごに
これまで、オクテット境界の CIDR 指定でヤキモキしてた方には嬉しいアップデートでしたね!CIDR 指定の自由度が上がったことで、IP リストが随分と整理できるようになったのではないでしょうか。また、クエリ文字列のパターンマッチング強化により、従来はクエリ文字列のパラメータと値が区別されていないことで、クエリパラメータ名で誤検知してしまった!ということもあったかと思いますが、クエリパラメータの指定によって誤検知を軽減することが出来そうですね!
以上!大阪オフィスの丸毛(@marumo1981)でした!