
WafCharmにてIPアドレスリストを更新した時に「Apply Status」が失敗になった時の備忘録
こんにちは、こーへいです。
今回はWafCharmにてIPアドレスリストを更新した時に「Apply Status」が失敗になったのでその解決策を備忘します。
Apply Statusとは
各種リソース上で表示されるエラーについて(AWS WAF Classic/AWS WAF v2)
Apply Status:ルールの再適用結果です。
とドキュメントに記載があります。要はWafCharm側でルールを変更した時に、AWS WAFにルールが反映されたかどうかのチェックの様です。
結論
AWS WAF側にてWafCharmとは別に独自に設定していたIP制限ルールが存在すると失敗します
追記
執筆後、直接の原因は私が独自で追加したルールのPriorityがWafCharm側のBypass BotルールセクションのPriority101と被っているからとアドバイスいただきました。
WafCharmルールについて (AWS WAF v2)より
その為根本原因の解決は以下記事を参考にしてください。本記事については取り下げようかと考えましたが、「Apply Status」の失敗をきっかけに本記事に辿り着くこともあるかと思いますので引き続き公開することにしました。
試してみた
上記のAWS WAFのマネジメントコンソール側で設定したIP制限のルールが存在する状態で、WafCharm側でもIPアドレスベースのルール制御を設定します。
今回はAllowリストに私のクライアント端末のIPアドレスを追加します。
すると、Apply Statusは失敗状態になってしまいました。
次にAWS WAFにて独自に設定したIP制限のルールを削除します。
その状態でWafCharmから「再適用」を選択します。
無事成功しました。
AWS WAFを確認してもWafCharmで作成されたIP sets「WafCharm_AllowIps」にて反映されていました。
基本的にはルールはWafCharm側から設定しましょう
今回の事象の様にエラーが発生するリスクを考え、まずはWafCharm側でルールの追加ができそうか確認してみてください。
WafCharmではAWS WAFのルールをチューニングをしているので、AWS WAFで独自な設定を追加することで適切なルールにならないリスクがありますし、ルールも分かれてしまうのでAWS WAF自体の料金が上がってしまいます。
なるべくWafCharm側での一元管理になる様にしましょう。
またWafCharm側のコンソールでは追加したいルールが対応していない場合もWafCharmに相談可能と思いますので、ルールのカスタマイズについて (AWS WAF v2)を参考に問い合わせも考慮ください。
その他参考
- WAF Configのルール設定 (AWS WAF v2)
- WafCharmで設定できるルールの詳細が記載されています。
- 設定後の動作確認 (AWS WAF v2)
- WafCharm導入後に設定されるルールについて