
BLOG NO.9 WAFの誤検知対策
セキュリティ強化のためにWAFを導入した結果、これまでのサービスへのアクセスが攻撃であると判断されブロックされてしまう、といった問題は多く生じています。このことをWAFの誤検知といい、WAFの導入で最も頭の痛い問題の一つとなっています。
WAFの導入にあたっては、対象となるサイトの脆弱性を診断し、アプリケーションやサーバの脆弱性が認められえると、これに対応したルールをインストールして対策します。しかし、オーバースペックで厳密な診断や誤ったルール選択で、インストールしたルールが正常なアクセスをブロックする状況が発生します。
誤検知を排除することはWAF導入での重要な項目なのですが、多くの工数を必要とする作業になります。具体的にどのような作業が必要かみてみましょう。
OWASP ModSecurity Core Rule Set (CRS)には各ルール毎にシビリティレベル(Severity Level)という値が設定されています。この値は検知した攻撃の脅威に応じて1〜5のレベルが割当てられています。WAFはルール毎にこの値を積算し、ブロックするかどうかを判断しています。ブロックするための閾値(anomaly scoring threshold)は設定が可能です。
1. ルールをインストールしたら、anomaly scoring thresholdを1,000位の値に設定します。つまり、ある攻撃のSeverity Levelの積算値が1,000まではブロックしない設定にします。
2. この後、対象となるサイトへの一般的なアクセスをテストとして実施します。この結果、アクセスは正常に行われますが、WAFはアクセスが攻撃と判断した場合ログを出力します。
3. 出力されたログに、テストとして実施したアクセスが含まれている場合、このルールが誤検知していると判断し、インストールしたルールを排除します。
4. 上記のテストをSeverity Levelの積算値が5程度まで段階的に実施し、テストのアクセスがログに現れないことを確認します。また、テストのアクセスがブロックされていないことを確認します。
では、LoadMasterでこの一連の作業をどのように実施するかみてみましょう。LoadMasterはFalse Positive Analysisという機能を実装しており、上記の2番で出力したログのサマリーを表示する機能があります。
この表示を確認することで、ログを確認することなく誤検知の判断ができ、更に誤検知と判断したルールは赤枠のボタンをクリックすることで排除できます。
WAF導入で頭の痛い問題はLoadMasterを使うことで、複雑なログの内容解析をすることなく、シンプルに解決することができます。
By ADC Engineers