Webアプリケーションファイアウォール(WAF)ルールは、アプリケーションに対するHTTP/HTTPSのウェブトラフィック(リクエスト)の検査方法、リクエスト内のどのパラメータや条件をどこで探すべきか、そしてリクエストがそれらの定義に一致した際にWAFがどのようなアクションを実行すべきかを定義するために使用されます。セキュリティルールの集合によってセキュリティポリシーが構成されます。
脅威のランドスケープが絶えず拡大する中、新しいサービスやページとともにアプリケーションは絶えず進化するため、セキュリティポリシーは定期的に更新する必要があります。セキュリティポリシーの更新とは、アプリケーションの最も関連性の高いセキュリティ上の脅威やニーズに対応できるよう、そのセキュリティポリシーを構成する一連のルールを更新し、微調整することを意味します。
WAFセキュリティに関する詳細なガイドについては、詳細情報(WAFセキュリティ)をご参照ください。
各WAFには、標準で基本的なルールセットが備わっています。ほとんどの場合、これらのルールは既知のシグネチャに基づく特定のブロックリストや、悪評の広まったIPリストなどをベースにしています。
WAFの性能が優れていればいるほど、事前定義されたルールセットはより広範かつ堅牢になり、最新のサイバーセキュリティ上の脅威に対してより適切に対応できるようになります。これらのルールは事前定義されたものですが、WAFベンダーは顧客が最新の脅威から確実に保護されるよう、継続的かつ絶えず更新を行う必要があります。
高度なWAFを使用すると、アナリスト、セキュリティ専門家、その他のユーザーが詳細なカスタマイズオプションを備えた高度なルールを定義でき、アプリケーションのセキュリティとパフォーマンスの向上、およびアプリケーションサーバーのネットワーク負荷の軽減を実現できます。
カスタムルールの例をいくつか示します:
-
IPアドレスまたはヘッダーに基づいて、Webサイトの特定セクションへのアクセスをブロックする
-
検索エンジンボットによるWebサイトへのアクセスを防止する
-
メンテナンスページへトラフィックをリダイレクトする
-
特定のリクエストに追加のヘッダーを付与する
-
ヘッダーの値を別の値に変更する
ルールは通常、ルールのメタデータ、一連の条件、およびアクションで構成されます。
メタデータ
ルールごとに、ルール名とルール説明を設定できます。ルールのメタデータ情報はルールの説明に使用され、ルールがトリガーされた際に生成されるセキュリティイベントの一部としても表示されます。また、ルールの状態を有効または無効に設定することも可能です。
条件
条件は、リクエストの内容に対して条件をマッチさせることで、ルールをトリガーするために使用されます。ルールごとに複数の条件を設定できます。
アクション
ルールの条件セクションに記述されている条件にリクエストが一致した場合に、アクションが実行されます。利用可能なアクションは、選択されたルールの種類によって異なります。
ルールは通常、アクションの種類に応じて4つの主要なグループに分類されます:
優先度
業界標準のほとんどのWAFでは、HTTP/Sリクエストは事前定義された優先度に従ってルールと照合されます。例えば、リダイレクトルール → セキュリティルール → 書き換えルールの順であり、各グループ内で既存ルールの内部優先度を設定することができます。
Radware WAFのセキュリティポリシーは、事前定義ルールとカスタムルールの2種類のルールで構成されています。
事前定義ルール
この一連のルールこそが、Radware WAFを他にはないターンキーソリューションにしている要因です。これらのルールのいくつかはRadwareの高度な機械学習アルゴリズムとRadwareデータレイクによって自動生成され、いくつかはバックエンドのRadwareサイバー専門家チームによって更新され、さらにいくつかはRadwareのERT Active Attackers Feed(Radwareのグローバルインテリジェンス、ハニーポット、デセプションネットワーキング、デバイスフィンガープリンティングなど)によって生成されます。
これらのルールは動的であり、最新の脅威から保護するために絶えず適応します。Radwareの事前定義WAFルールの主な種類は以下の通りです:
-
OWASPトップ10
-
既知のCVE(OWASPリストの上位)
-
ボット対策ルール
-
RFC違反
-
匿名プロキシのブロック
-
シグネチャベースの保護
-
SQLインジェクション保護
-
DDoS保護
-
JSONバリデーション保護
カスタムルール
RadwareのカスタムWAFルールは、高度なアプリケーションのトラフィック制御および操作のための設定と構成を含む高度なルールです。Radwareカスタムルールの6つの主要なカテゴリは以下の通りです:
正当なトラフィックへの影響を最小限に抑えつつ最高のセキュリティカバレッジを実現するのは、WAFがネガティブモデル(禁止事項を定義し、それ以外を許可する)とポジティブモデル(許可事項を定義し、それ以外を拒否する)を組み合わせる場合です。これら2つのモデルを組み合わせることで、きめ細かく正確なポリシー定義が可能となり、その結果として誤検知(フォールスポジティブ)や検知漏れ(フォールスネガティブ)を回避できます。ネガティブセキュリティモデルによる保護は、既知の脆弱性に対する最新のシグネチャに基づいており、アプリケーションの脆弱性エクスプロイトに対して最も精度の高い検知・ブロック技術を提供します。ポジティブセキュリティモデルは、ゼロデイ攻撃の阻止に有効です。ポジティブセキュリティルールおよびメカニズムにより、エンコードされた入力やXML、JSONなどの構造化フォーマット内を含め、すべてのクライアント側入力に対する値のタイプと値の範囲を定義できます。ポジティブセキュリティプロファイルは、ユーザー入力をアプリケーションが正常に機能するために必要なレベルにのみ制限し、それによってゼロデイ攻撃をブロックします。
前述のセキュリティモデルを採用するには、ポリシーやルールの定義が必要となり、多大な労力がかかる場合があります。セキュリティポリシーの構築には通常、管理者の綿密な作業が求められますが、それでもヒューマンエラーに起因する攻撃のリスクがシステムに残ってしまいます。高度なWAFソリューションには、自動化を活用して所有コスト(TCO)を削減し、こうした手動プロセスに伴うヒューマンエラーを回避する機能が求められます。
自動ポリシー生成とは
ポジティブセキュリティポリシーの作成にかかる工数を削減し、ヒューマンエラーのリスクを回避するため、WAFは機械学習機能に基づいたルールの自動定義およびメンテナンス機能(自動ポリシー生成)を備えている必要があります。自動ポリシー生成は多くの場合、正当なアプリケーションのトランザクションを識別してプロファイル化し、それに基づいて「許可」ルールを作成する機能に基づいています。
継続的ポリシー最適化とは
高いセキュリティレベルを維持し、正当なトラフィックの妨げにならないよう誤検知(フォールスポジティブ)を最小限に抑えるためには、セキュリティポリシーを常時最適化することが極めて重要です。高い運用コストや手動による介入なしにこの両方を達成するには、人工知能(AI)を活用し、定期的にログファイルを自動で検証できるアプリケーション保護ソリューションが必要です。
-
リダイレクトルール – 条件を満たした場合に、トラフィックを別の宛先にリダイレクトするために使用されます
-
セキュリティルール – 条件を満たした場合に、トラフィックのブロックまたは許可を行うために使用されます。
-
レート制限ルール – 設定されたしきい値に従ってトラフィック量を制御するために使用されます
-
削除/書き換え/挿入ルール – 通常、条件を満たした際にHTTPリクエストおよびレスポンスのコンポーネントを変更するために使用されます。
-
リダイレクトルール – 条件を満たした際にヘッダーを変更し、トラフィックを別の宛先にリダイレクトするために使用されます
-
セキュリティおよびアクセス制御ルール – 条件を満たした際にトラフィックのブロックまたは許可を行うために使用されます。このルールのグループには、地理的ブロック(ジオブロック)やセキュリティバイパスルールなどが含まれます
-
レート制限ルール – 設定されたしきい値に従ってトラフィック量を制御するために使用されます
-
レスポンス配信ルール – ルールの条件を満たした際に、サーバーレスポンスのヘッダーを変更(削除、書き換え、挿入)するために使用されます。
-
API保護ルール – 特定のAPIエンドポイントからのリクエストクォータの設定や完全なブロック、ならびにタイプ、ヘッダー、ボディ、パス、パラメータなど、満たすべき特定のAPI条件を設定するために使用されます。
-
ボット管理ルール – 悪意のあるボットが検出された場合に、識別されたボットの種類に応じてどのようなアクションを実行するかを設定するために使用されます
追加リソース