Webアプリケーションファイアウォール(WAF)ルールは、アプリケーションへのHTTP/HTTPS Webトラフィック(リクエスト)を検査する方法、つまり、リクエスト内のどこでどのパラメータや条件を探すのか、また、リクエストが定義に一致した場合にWAFはどのようなアクションを取るべきかを定義するために使用されます。そして、セキュリティルールの集合がセキュリティポリシーとなります。
アプリケーションは、新しいサービスやページの追加により絶えず進化しています。しかし、それと同時に脅威も増え続けているため、セキュリティポリシーを定期的に更新する必要があります。セキュリティポリシーの更新に際しては、対象アプリケーションに最も関連性の高い脅威とアプリケーションのニーズに対応するため、そのセキュリティポリシーを構成する一連のルールを更新および調整しなければなりません。
それぞれのWAFには、すぐに使用できる基本ルールのセットがあらかじめ搭載されています。ほとんどの場合、これらのルールは、既知のシグネチャや評判の悪いIPのリストなど、特定のブロックリストがベースとなっています。
優れたWAFであればあるほど、その事前定義されたルールセットはより幅広く堅牢で、関連性の高いものとなり、最新のサイバーセキュリティ脅威にも対応できます。これらのルールは事前に定義されていますが、WAFのベンダーは、最新の脅威から確実に顧客を防御するため、常に、そして継続的にルールを更新する必要があります。
アナリストやセキュリティの専門家、その他のユーザーは、Advanced WAFを使用して高度なルールを定義することができます。この高度なルールでは、詳細なカスタマイズオプションを用いて、アプリケーションのセキュリティとパフォーマンスを向上させ、アプリケーションサーバーのネットワーク負荷を軽減することができます。
カスタムルールの例:
-
IPアドレスやヘッダをもとにWebサイトの特定のセクションへのアクセスをブロックする
-
検索エンジンボットがWebサイトにアクセスしないようにする
-
トラフィックをメンテナンスページにリダイレクトする
-
特定のリクエストにヘッダを追加する
-
ヘッダの値を変更する
ルールは通常、ルールのメタデータ、条件のセット、そして1つのアクションで構成されます。
メタデータ
それぞれのルールに対して名前と説明を設定することができます。ルールのメタデータ情報は、ルール内容を説明するために使用されるだけでなく、ルールがトリガーされた際に生成されるセキュリティイベントの一部としても提示されます。また、ルールの状態を有効または無効に設定することも可能です。
条件
条件とリクエストの内容を照合してルールをトリガーするために使用されます。各ルールに対して複数の条件を設定できます。
アクション
アクションは、ルールの条件セクションに記載された条件とリクエストが一致する場合に発生します。選択したルールタイプによって利用できるアクションが異なります。
ルールは通常、アクションタイプに応じて4つの主なグループに配置されます。
優先度
業界標準のWAF HTTP/Sリクエストの多くは、あらかじめ定義された優先度に従って、ルールと照合されます。例えば、リダイレクトルール → セキュリティルール → リライトルールのようになっており、各グループ内で既存ルールの優先度を設定できます。
ラドウェアWAFセキュリティポリシーは、定義済みルールとカスタムルールの2種類で構成されています。
定義済みルール
ラドウェアWAFのターンキーソリューションとしての独自性は、その定義済みルールセットにあります。これらのルールは、ラドウェアの高度な機械学習アルゴリズムやデータレイクによって自動生成されたり、ラドウェアのバックエンドのサイバー専門家チームによって更新されたり、ラドウェアのERTアクティブアタッカーフィード(例:ラドウェアのグローバルインテリジェンス、ハニーポット、デセプションネットワーキング、デバイスフィンガープリンティングなど)で生成されたりします。
これらは動的なルールで、最新の脅威の防御にも常に対応します。下記は、ラドウェアの定義済みWAFルールタイプの例です。
-
OWASPトップ10
-
既知のCVE(OWASPリストに加えて)
-
ボット防御ルール
-
RFC違反
-
匿名プロキシのブロック
-
シグネチャベースの防御
-
SQLインジェクション防御
-
DDoS protection
-
Jsonバリデーション防御
カスタムルール
ラドウェアのカスタムWAFルールは、アプリケーションの高度なトラフィック制御および操作の構成や設定を含む詳細なルールです。ラドウェアのカスタムルールには、以下の6つの主なカテゴリーがあります。
WAFにおいて正当なトラフィックへの影響が最小限に、そしてセキュリティの対象範囲が最大になるのは、ネガティブセキュリティモデル(禁止する対象を定義し、それ以外を受け入れる)とポジティブセキュリティモデル(許可する対象を定義し、それ以外を拒否する)を組み合わせて使用した場合です。この2つのモデルを併用すると詳細かつ正確なポリシー定義が可能になるため、フォルスポジティブやフォルスネガティブを回避することができます。ネガティブセキュリティモデルによる防御は、既知の脆弱性に対する最新のシグネチャに基づいており、アプリケーション脆弱性エクスプロイトによる最も正確な検知およびブロック技術を提供します。ポジティブセキュリティモデルは、ゼロデイ攻撃の阻止に役立ちます。ポジティブセキュリティルールおよびメカニズムは、クライアント側のすべての入力、それに含まれるエンコードされた入力値、そしてXMLやJSONなどの構造化されたフォーマット内において、値タイプと値範囲の定義を許可します。ポジティブセキュリティプロファイルは、アプリケーションが適切に機能するために最低限必要なレベルまで、ユーザーによる入力を制限し、ゼロデイ攻撃を阻止できるようにします。
前述のセキュリティモデルを使用する場合は、ポリシーやルールを定義する必要がありますが、定義は往々にして非常に手間がかかります。一般に、セキュリティポリシーを作成する際は管理者側で厳密な作業が必要となりますが、そうした作業の後でも、システムが人為的ミスによる攻撃を受ける可能性は残ります。Advanced WAFソリューションでは、自動化により所有コストを削減し、手動プロセスに伴うヒューマンエラーを回避することができます。
ポリシー自動生成とは
ポジティブセキュリティポリシーの作成にかかる手間を減らし、ヒューマンエラーのリスクを回避するため、WAFは、自動のルール定義およびメンテナンスを可能にする機械学習機能に基づいたポリシー自動生成機能を提供しています。多くの場合、ポリシー自動生成は、正当なアプリケーショントランザクションを特定してプロファイルを作成し、それに基づいて「許可」ルールを作成する機能をベースとしています。
継続的なポリシー最適化とは
高いセキュリティレベルを維持し、フォルスポジティブを最小限に抑えて、セキュリティが正当なトラフィックの妨げとならないようにするには、セキュリティポリシーを常に最適化することが非常に重要です。運用コストを抑え、手動操作を伴わずにこれらを実現するためには、自動でログファイルを定期的に確認するアプリケーション防御ソリューションと人工知能が必要となります。
-
リダイレクトルール - 条件を満たす場合にトラフィックを別の場所にリダイレクトするために使用されます。
-
セキュリティルール - 条件を満たす場合にトラフィックをブロックまたは許可するために使用されます。
-
レート制限ルール - 設定した閾値に従ってトラフィック量を制御するために使用されます。
-
削除/リライト/挿入ルール - 通常は、条件を満たす場合に、HTTPリクエストとレスポンスのコンポーネントを変更するために使用されます。
-
リダイレクトルール - 条件を満たす場合に、ヘッダを変更してトラフィックを別の場所にリダイレクトするために使用されます。
-
セキュリティ&アクセス制御ルール - 条件を満たす場合にトラフィックをブロックまたは許可するために使用されます。このルールグループには、ジオブロッキングやセキュリティバイパスのルールが含まれることがあります。
-
レート制限ルール - 設定した閾値に従ってトラフィック量を制御するために使用されます。
-
レスポンスデリバリールール - ルールの条件を満たす場合に、サーバーのレスポンスのヘッダを変更(削除、リライト、挿入)するために使用されます。
-
API防御ルール - 特定のAPIエンドポイントからのリクエストクォータを設定、またはそれらをすべてブロックするために使用されます。また、タイプ、ヘッダ、ボディ、パス、パラメータなど特定のAPIの条件を設定する際にも使用されます。
-
ボット管理ルール - 悪質なボットが検出された場合に、検出されたボットの種類に応じて行うアクションを設定するために使用されます。
その他のリソース