こんにちは、馬場です。
2019年11月末にAWS WAF v2が出たので軽く触ってみました。
丁寧な説明は他の方々におまかせして、個人的に気になった点を書きます。
WAF Capacity Unit (WCU)
旧WAFでは、ルールの設定数で制限があったのですが、v2では考え方が変わりました。
個々のルールに対してポイント(Capacity)が設定され、1つのWeb ACLにつき、標準で 1500 WCU までのルールが設定できるというルールになりました。
WCU上限値は緩和申請可能です。
3rd party製のマネージドルールの提供が少ない
旧WAFでは多くの会社がマネージドルールを提供しており、Marketplaceから購入できました。
v2では、2019年12月時点では、サイバーセキュリティクラウド(CSC)さんの2ルールと、Fortinetさん1ルールのみの提供です。
これからですかね。
AWS公式のマネージドルール
AWS公式のマネージドルールが出ました。
こちらはMarketplace経由ではないので、ルール個別で費用はかかりません。
割と一般的に設定されるものが揃っているイメージです。
手動でのルール設定も可能、設定の柔軟性が上がった
引き続き手動によるルール設定も可能です。
設定方法は旧WAFを踏襲しているようですが、コンディション複数のand/or条件記載が書きやすくなったり、ルール評価時の変換処理(URLデコードとか小文字化とか)が一度に指定出来るようになったので、設定の柔軟性が上がっています。
クエリパラメータ名指定の文字制限
ちょいと前のアップデートで、リクエストに含まれるクエリパラメータのチェック機能が実装されています。
とある案件で、これを利用した条件設定を試みたのですが、チェックするパラメータ名の指定で、指定可能な文字列は30文字が上限でした。
案件では、たまたまチェックすべきパラメータ名が30文字を超えており、、、しかも、パラメータ名部分は部分一致や正規表現も使えず(valueは使えるのに・・)、実装を断念した苦い思い出が。。。
v2でここの仕様がどうなったのか確認しました。
旧WAFでは、パラメータ名入力時点で30文字を超えるとエラー表示が出てたのですが、v2では出ない・・・っ!
おぉーー!これは期待出来ます。
続けて確定ボタンをポチっとな。
・・・
・・・
・・・
・・・あれ?
・・・反応がない・・・。
どうやっても確定ボタンが反応しないので、画面上の色んなボタンをポチポチ。
デフォルトのvisual editorではなく、JSON editorに切り替えられたので validateボタンをポチっ。
・・・やっぱダメじゃん。
さいごに
パラメータ名指定部分の仕様が変わっていないのは残念ですが、旧WAFと比べるとメリットが多いので、新規でAWS WAFを構築する場合はv2で良いのではと思います。
なお、引き続き旧WAFは継続されるようなので、慌てて移行する必要もなさそうです。
ただ、旧WAFの名称が「AWS WAF Classic」なので、いつか終わるんじゃね感が漂います。。。