【新機能】AWS WAF に2つの新機能!非オクテット CIDR のサポートおよびクエリ文字列のパターンマッチング強化!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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 をクエリパラメータ名として指定すると、usernameUsERName もすべて一致と判断されます。

すべてのクエリパラメータ

単一クエリパラメータに似ていますが、単一のパラメータの値を調べるのではなく、クエリ文字列内のすべてのパラメータの値を照合して、一致する値を調べます。 たとえば、URLが www.xyz.com?UserName=abc&SalesRegion=seattle で、[すべてのクエリパラメータ] を選択すると、UserName または SalesRegion のいずれかの値が一致するとトリガーされます。設定画面でも、パラメータ指定はなく値の条件のみとなります。

さいごに

これまで、オクテット境界の CIDR 指定でヤキモキしてた方には嬉しいアップデートでしたね!CIDR 指定の自由度が上がったことで、IP リストが随分と整理できるようになったのではないでしょうか。また、クエリ文字列のパターンマッチング強化により、従来はクエリ文字列のパラメータと値が区別されていないことで、クエリパラメータ名で誤検知してしまった!ということもあったかと思いますが、クエリパラメータの指定によって誤検知を軽減することが出来そうですね!

以上!大阪オフィスの丸毛(@marumo1981)でした!

参考