eCDN WAFv2

Web Application Firewall (WAF) は、悪意をもつ行為者を軽減し、ストアフロントを保護する上で重要なコンポーネントです。詳細については、eCDN Web アプリケーションファイアウォールを参照してください。

WAFv2 では、特定の管理ルールを上書きし、特定のトラフィックニーズに合わせて各ルールセットをカスタマイズできます。WAFv2 ルールセットは、ゼロデイ脆弱性、トップ 10 の攻撃手法、盗まれた/公開された認証情報の使用、機密データの抽出などの脅威から保護するように特別に設計されており、新しい脆弱性が発見されると定期的に更新され、パフォーマンスの向上と誤検知の削減が行われます。

WAFv2 ルールセットには、次のものが含まれます。

  • eCDN 管理ルールセット
  • OWASP 管理ルールセット
  • 公開認証情報チェックルールセット

Business Manager は、各インスタンス (Development (開発)、Staging (ステージング)、Production (本番)) に固有の WAFv2 設定の eCDN 構成をサポートしているため、インスタンスを個別に管理できます。WAFv2 に移行、設定、または更新する場合、これらの変更は他のインスタンスにレプリケートされません。このアプローチにより、開発およびステージングから本番環境への移行時に WAFv2 セキュリティ設定のテストとデプロイが簡素化されます。

ルールセット ID: efb7b8c949ac4650a09736fc376e9aee

eCDN セキュリティチームによって作成されたこのルールセットは、すべてのアプリケーションに対して迅速かつ効果的な保護を提供します。デフォルトでは、ルールセット内の一部のルールは無効になっているか、デフォルトで log に設定されており、適切な保護の提供と誤検知の数の削減のバランスが取れています。

このルールセットでは、次の設定を構成できます。

  • アクション:
    • defaultblocklogmanaged_challengejs_challengelegacy_captcha
  • 有効化:
    • truefalse

ルールセット ID: 4814384a9e5d4991b9815dcfc25d2f1f

OWASP 管理ルールセットは、OWASP ModSecurity コアルールセット (CRS) の実装です。このルールセットは、公式コードリポジトリから入手可能な最新バージョンに基づいて、OWASP の更新について定期的に監視されます。OWASP 管理ルールセットは、単一のエンティティとして機能し、脅威スコアを計算し、そのスコアに基づいてアクションを実行するように設計されています。OWASP 管理ルールセット内の個々のルールには、独自のデフォルトアクションはありません。ルールセットのアクションは、計算された脅威スコアがスコアのしきい値を超えた場合に実行されるものです。

パラノイアレベル (PL) は、OWASP ルールをその攻撃性に応じて分類します。利用可能なパラノイアレベルは次のとおりです。

  • PL1
  • PL2
  • PL3
  • PL4 (最も攻撃的)

より高いパラノイアレベルに関連するルールは、より攻撃的であると見なされ、保護が強化されます。ただし、誤検知が原因で正当なトラフィックがブロックされる可能性があります。OWASP 管理ルールセットのパラノイアレベルを構成すると、選択したレベルまでのすべてのパラノイアレベルに属するすべてのルールが有効になります。たとえば、ルールセットのパラノイアレベルを PL3 に構成すると、パラノイアレベル PL1、PL2、および PL3 に属するルールが有効になります。

現在のリクエストに一致する各 OWASP ルールには、スコアが関連付けられています。リクエスト脅威スコアは、リクエストに一致したすべての OWASP ルールの個々のスコアの合計です。

異常スコアのしきい値 (または異常スコア) は、構成された OWASP 管理ルールセットのアクションを WAF が適用するための最小累積スコアを定義します。このスコアは、一致する OWASP ルールから取得されます。

利用可能なスコアのしきい値:

  • 低: 60 以上
  • 中: 40 以上 (推奨デフォルト値)
  • 高: 25 以上

このルールセットでは、次の設定を構成できます。

  • アクション
    • blocklogmanaged_challengejs_challengelegacy_captcha
  • パラノイアレベル (PL)
    • 1234
  • 異常スコア
    • lowmediumhigh
  • 有効化
    • truefalse

ルールセット ID: c2e184081120413c86c3ab7e14069605

公開認証情報チェックルールセットには、公開されている盗まれた認証情報のデータベースに対してリクエスト内のユーザー名とパスワードのペアを検索する一連のルールが含まれています。リクエストが特定のルールの式と一致し、公開認証情報チェックが true の場合、ルールで構成されたアクションが実行されます。 詳細については、公開認証情報チェックのしくみを参照してください。

最近、多くの Web アプリケーションが攻撃を受けており、公開されている認証情報のデータベースからユーザー名とパスワードのペアを使用してログインが大量に試行されています。公開認証情報チェックルールセットには、次の CMS アプリケーション用の事前定義ルールが含まれています。

  • WordPress
  • Joomla
  • Drupal
  • Ghost
  • Plone
  • Magento

この管理ルールセットには、次の一般的なパターンの一般的なルールも含まれています。

  • username 引数と password 引数を含む POST リクエストを使用して送信されたフォームを確認します。
  • JSON として送信された認証情報を、email キーと password キーで確認します。
  • JSON として送信された認証情報を、username キーと password キーで確認します。

デフォルトでは、公開認証情報チェックルールセットは、ルールセット内の管理ルールによってフラグが立てられたリクエストに HTTP ヘッダーを追加することで動作します( rewrite アクションがあると表示されます)。追加された HTTP ヘッダーの名前は Exposed-Credential-Check で、その値は 1 です。その後、アプリケーションはパスワードのリセットを強制したり、2 要素認証プロセスを開始したり、その他のアクションを実行したりできます。リクエスト公開された認証情報を含むリクエストにチャレンジまたはブロックする場合は、ルールセットのアクションを更新できます。ただし、別のルールセットアクションに変更する前に、公開認証情報チェックルールセットをログモードでテストすることを強くお勧めします。

このルールセットでは、次の設定を構成できます。

  • アクション:
    • defaultblocklogmanaged_challengejs_challengelegacy_captcha
  • 有効化:
    • truefalse

管理ルールセットの構成は、Business Manager と CDN-API の両方を使用して行うことができます。

ルールセットのアクションを更新する場合、default 以外のアクションを選択すると、ルールセット内の すべて の管理ルールのアクションが上書きされます。たとえば、デフォルトでは、eCDN 管理ルールセットの一部のルールは block に設定されており、他のルールは log に設定されています。eCDN 管理ルールセットのアクションを block に更新すると、ルールセット内のすべてのルールが block に設定されます。特定の管理ルールのアクションを変更する場合は、個別のルールの上書きを設定できます。

同様に、各管理ルールセットの一部のルールはデフォルトで無効になっています。ルールセット全体を無効にすると、ルールセット内のすべての管理ルールが無効になります。ただし、ルールセットを有効にしても、ルールセット内のすべてのルールが有効になるわけではありません。ルールセットを有効にすると、各ルールのデフォルトステータスが維持されます。ルールのデフォルトステータスを更新する場合は、個々のルールの上書きを設定できます。

  1. 埋め込み CDN 設定 に移動します。更新するゾーンを見つけて、WAF タブに移動します。ゾーンが WAFv2 を使用していることを確認します。
  2. 必要に応じて、チェックボックスとドロップダウンメニューを使用して WAFv2 ルールセット設定を更新します。
  1. getWafManagedRulesets を使用し、ゾーン ID を指定して WAFv2 管理ルールセットとその現在の構成を取得します。

成功レスポンスの例 (200 HttpStatus コード):

  1. updateWafManagedRuleset を使用し、ゾーンとルールセット ID を指定して目的のルールセットを構成します。リクエストボディに少なくとも 1 つのフィールドを指定する必要があります。

成功レスポンスの例 (200 HttpStatus コード):

個々の管理ルールの上書きの設定は、CDN-API を使用して行う必要があります。

特定の管理ルールが原因で誤検知が発生した場合は、上書きを構成してルールのアクションまたはデフォルトの有効ステータスを調整できます。個々の管理ルールの上書きを使用すると、使用可能なルールセットレベルの設定を超えてゾーンの WAFv2 構成を微調整できます。

  1. getWafManagedRulesInRuleset を使用し、ゾーンとルールセット ID を指定して特定の管理ルールセット内のすべてのルールを表示します。レスポンスには、ルールセットの現在のアクションと有効なステータスを考慮して、各ルールの現在の構成が表示されます。また、レスポンスには、ルールに関連付けられたタグ (wordpress など) も表示され、特定のルールグループを検索するときに便利です。

成功レスポンスの例 (200 HttpStatus コード):

  1. updateWafManagedRuleInRuleset を使用し、ゾーン、ルールセット、およびルール ID を指定してルールの上書きを構成します。リクエストボディに少なくとも 1 つのフィールドを指定する必要があります。

管理ルールを更新する際に、以下の設定を構成できます。

  • アクション:
    • defaultblocklogmanaged_challengejs_challengelegacy_captcha
    • default アクションは、既存のアクションの上書きをリセットし、ルールをデフォルトのアクションに戻します。
    • アクションフィールドは、eCDN 管理ルールセットおよび公開認証情報チェックルールセットにのみ適用できます。OWASP 管理ルールセットは、合計脅威スコアを計算してからルールセット全体のアクションを適用することによって動作するため、アクションの上書きの設定は適用されません。
  • 有効化:
    • truefalse

成功レスポンスの例 (200 HttpStatus コード):

WAFv2 に移行するには、Business Manager UI と CDN-API を使用します。デフォルトでは、新しく作成されたゾーンは WAFv2 を使用します。

Business Manager は、各インスタンス (Development (開発)、Staging (ステージング)、Production (本番)) に固有の WAFv2 設定を含む eCDN 構成をサポートしているため、インスタンスを個別に WAFv2 に移行できます。

WAFv2 への移行はロールバックできません。

WAFv2 移行では、次のゾーン構成設定が構成されます。

  • Cloudflare 管理ルールセット
    • 有効
    • ログ記録
  • OWASP 管理ルールセット
    • 有効
    • ログ記録
    • PL1
  • 公開認証情報チェックルールセット
    • 無効
    • デフォルト

Cloudflare 管理ルールセットと OWASP 管理ルールセットは log (ログ記録) に設定されます。別の WAF アクションに切り替える前に、WAFv2 管理ルールセットの動作を log モードでテストしてください。ログモードで動作をモニタリングすると、誤検知を特定し、必要に応じて Business Manager または CDN-API を使用してルールセット設定を調整できます。

WAFv2 ルールには WAF ルールへの 1 対 1 のマッピングがなく、既存の WAFv1 ルールのカスタマイズは必要ないか、適用できない場合があります。

WAF の初めての使用の説明に従って、log モードでセキュリティ設定を再評価します。次のいずれかの方法を使用して、WAF ログを確認します。

OWASP 管理ルールセットでは、以前の OWASP WAFv1 機密性設定に基づいて、以下の WAFv2 設定をお勧めします。

  1. OWASP WAFv1 機密性 (高) → パラノイアレベル: PL2、異常スコア: 中 (40 以上)
  2. OWASP WAFv1 機密性 (中) → パラノイア レベル: PL1、異常スコア: 低 (25 以上)
  3. OWASP WAFv1 機密性 (低) → パラノイア レベル: PL1、異常スコア: 中 (40 以上)
  1. 埋め込み CDN 設定 に移動します。更新するゾーンを選択して、WAF タブに移動します。このゾーンでは WAFv1 を使用する必要があります。WAFv2 移行の開始 を選択します。
  2. 情報を確認し、WAFv2 移行の完了 を選択します。
  3. 最終警告が表示されます。WAFv2 移行の開始 を選択します。移行には最大で 60 秒かかります。移行が完了すると、ポップアップが表示されます。
  1. migrateZoneToWafV2 を使用し、ゾーン ID を指定してゾーンを WAFv2 に移行します。結果の WAFv2 構成は、リクエストボディで返されます。移行には最大で 60 秒かかる場合があります。

成功レスポンスの例 (200 HttpStatus コード):

  • 影響を直ちに軽減するには、ルールセットを log に設定します。
  • WAFv2 ファイアウォールイベントを可視化するには、logTypefirewall_events に設定して eCDN Logpush を設定します。ゾーン内のファイアウォールイベントのログを表示し、誤検知の原因となっているルールセットとルールに関する分析情報を得ることができます。問題のある管理ルールを特定したら、updateWafManagedRuleInRuleset CDN-API エンドポイントを使用して、ルールのアクションを上書きするか、ルールを完全に無効にします。
  • OWASP 管理ルールセットから誤検知が発生した場合は、ルールセットのパラノイアレベルとスコアしきい値を調整できます。
  • skip_wafv2 アクションを含むカスタムルールを作成して、特定のリクエストで WAFv2 を完全にスキップできます。ルール式に一致するトラフィックは、WAFv2 によって評価されません。