皆さんこんにちは。案件担当(兼構築担当)の川合です。
今回は、AWS WAFを一旦カウントモードで少し様子見をしてから本番リリースする作業について記事にしたいと思います。
簡単にAWS WAFのルールアクションを変更出来ないかと思い調べた内容になります。
目次
AWS WAF の適用タイミング
新システムの導入当初からAWS WAFを利用していれば、本番リリース作業までにテストをして誤検知などあればルールをカスタマイズする事で本番リリース後の誤検知を減らす事が可能です。
ただ、システムが本番稼働後にセキュリティ要件が追加になり後から追加する事も多々あるかと思います。
その場合、既に本番稼働しているので正常な通信を誤検知して遮断してしまうとWebの閲覧障害にも起因してしまいます。
その際には、いきなり通信を遮断するのではなく検知するだけにして正常な通信を誤って遮断するような動作がないか事前に確認する事でこのような問題を低減する事が可能です。
カウントモードとは
AWS WAFのルールアクションには、3種類存在します。
- 許可
- ブロック
- カウント
カウントモードは、通信を遮断しませんが該当ルールに合致するアクセスが発生すればその内容を記録する事が可能です。
ルールに合致する攻撃的なアクセスが多発した場合は、通信自体は許可されますが対象のルールに合致したアクセスがあればどの程度発生していたが記録されます。
記録された内容を確認して、本来遮断されるはずだったアクセスが正常だったのか、はたまた誤検知だったのかどうか判断する事が可能です。
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/waf-rule-action.html
正常な通信であれば、そもそもAWS WAF に適用ルールに合致はしませんのでカウントの件数は増えません。ただ、他のサーバーとの連携などが誤って攻撃的なアクセスと判断されている場合は、カウント件数が増えますのでそこから対象のIPアドレスであったりアクセス先・元を調べてその通信を今後は除外すると言った対応が可能です。
カウントモードの変更を簡単にしたい
事前にカウントモードでテストした後に、最終的には攻撃的なアクセスを遮断するためブロックモードに変更する必要があります。カウントモードで運用していたルールの量が多いと、その分設定を変更する作業が多く発生してしまいます。
ルール単位でルールアクションを変更する事も出来ますが、さすがに面倒なのでルールグループでグループ化しておく事で簡単にルールを変更する事が出来ます。
ルールの一括変更
ルールグループにルールを纏めておくことで、カウントモードの変更を一括で変更する事が出来ます。
Web ACLsに紐づけているルールグループを編集しようとすると、以下のような画面になります。
既にカウントモードに変更していますが、Rules のセクションの右側に【Set all rule actions to count】という変更箇所がありますのでスイッチを切り替えるとルールグループ内の全てのルールを一括で変更出来ます。
実際に変更してみると、以下のようにRules action が変更されます。
この状態で右下のSave rule をクリックしてルールを保存する事で設定が反映されます。
変更後に対象のルールを見てみると、カウントモードから変更されている事が確認出来ます。
まとめ
AWS WAFのルールアクションを簡単に変更する方法についての内容でした。
どちらかというと、システム導入時にAWS WAFを入れておいて事前にテストする割合の方が体感多いですが、後から要件であったり、特定のPATHに攻撃的なアクセスが多いので後から追加する事もあったりします。
既に稼動中の環境に追加する際は、なるべく影響を少なくするために事前テストは不可欠です。
テストをする中で、機能連携のため特定のIPアドレスをホワイトリストに入れて常に許可したり、単一のIPアドレスから攻撃的なアクセスが多いので遮断ルールを追加したりと色々カスタマイズする事がやはり出てきます。
その際には、まずカウントモードで動作させてみて事前テストを実施されることを強くおすすめします。
プロフィール
サーバ構築周り全般を対応しております。
LINK
クラウドベリージャム:プロフィールページ