Back

WafCharmルールについて (AWS WAF v2)

AWS WAF v2Old PlanNew PlanAdvancedLegacyFeature / Spec.

概要

WafCharmではAdvancedとLegacyの2つのRuleポリシーがあります。

Advanced:WafCharmコンソールにて追加された新しいルール構成です。レートベースルールやGeo-match、Botルールなどのルール設定が可能です。新プランでのみご利用可能です。

Legacy:旧管理画面にてご提供していたルール構成です。ルール設定のうち、IPアドレスに関する内容のみ設定可能です。新プラン・旧プランでご利用可能です。

Advancedを選択した場合、以下のルール設定が提供されます。

  • IPアドレス
  • GEO(Geo-match)
  • Rate-base
  • Bot
  • 正規表現
  • Body size
  • 例外設定

Legacyを選択した場合、以下のルール設定が提供されます。

  • IPアドレス
  • 例外設定

上記のうち、IPアドレスルールの1つであるDenylistと、正規表現ルール(旧デフォルトルール)はRuleポリシーに関わらず必ず適用されます。それ以外のルールについては、お客様の設定状況によって登録有無が異なります。

AdvancedおよびLegacyで登録される正規表現ルール(旧デフォルトルール)は、構成などの細かい部分は異なりますが、内容としては基本的には同等です。

WCUについて

上記の通り、WAF Configの設定によって適用されるルール数などが異なりますため、WCUの使用量も異なります。

Legacyでは1100 WCUを適用時に使用します。Advancedの場合、設定状況などにより変化しますが、最小構成で800〜900WCU程度を使用します。

なお、AWSの仕様により、同じAWSアカウントかつ同じリージョンに複数Web ACLが存在しており、同じルールグループを複数のWeb ACLで使用している場合、使用するWCUが適用時より少なくなる場合があります。WCU計算の詳細については公開されておらず、具体的な数値は状況により変動いたします。適用時には上記の通りのWCUが必要となりますが、適用後には変化する場合もございます。

ルールの優先順位

Advanced

Advanced Ruleポリシーでは、セクションごとにルールが分類されています。

  • Bypass Botルールセクション
    • ルールグループ
    • Priority:101
    • Botルールのラベリング用セクションです。
  • Bypassルールセクション
    • ルールグループ
    • Priority:111
    • IPアドレスによるAllowルール(Allowlist)などのリクエストを許可するためのルール、後続のルールから除外するためのルール、およびASNをWAFログに出力するルール用のセクションです。
  • レートベースルールセクション
    • ルール
    • Priority:201 ~ 210
    • レートベースルール用のセクションです。レートベースルールを使用しない場合、存在しないことがあります。
  • Scopingルールセクション
    • ルールグループ
    • Priority:301
    • IPアドレスによるBlockルール(Denylist)、ボディサイズを元に検知するルールなど、リクエストをさらに絞り込むためのセクションです。Geo-matchルールを追加した場合、このセクションに含まれます。
  • ユースケースルールセクション
    • カスタマイズルール
      • ルールグループ
      • Priority:401
      • カスタマイズを行った場合のみ存在します。
    • Botルール
      • ルール
      • Priority:411 ~ 413
      • Botルールを有効にし、かつCount以外のアクションで利用した場合のみ存在します。Botルールを使用しない場合、存在しないことがあります。
    • 正規表現ルール
      • ルールグループ
      • Priority:421
      • デフォルトで適用されるWafCharmルールです。

注意点

  • Priorityは変更できません。AWSマネージメントコンソール上で移動したとしても、自動的に上記の値に戻ります。
    • AWSマネージメントコンソール上などからルールの適用を行った場合などは、Web ACL画面上のPriority値が0や1といった値に切り替わる場合がございます。その場合でも、WafCharmが管理するルールで予約しているPriority値は変わらず、更新時などに再び上記の値に戻りますのでご安心ください。その際、お客様の指定したルールのPriority値は変更しません。
  • お客様管理ルールを追加される場合、WafCharmでは現時点では0〜99、あるいは1000以降のPriorityをご利用いただけるようお願いしております。
    • WafCharmで予約済みのPriorityを使用された場合、WafCharm側でエラーが発生します。AWSマネージメントコンソールなど、WafCharm外から予約済みのPriorityでルールを適用した場合、その後のWafCharmからの更新がエラーによりできなくなりますので、Priorityは被らないように設定してください。
    • レートベースルールなど、その時点で使用していないルールにおいても同様です。WafCharmコンソールのレートベースルール設定を行っていない場合でも、Priority 201 ~ 210 の使用はお控えください。
  • 誤動作の懸念があるため、お客様作成ルールに「WafCharm」や「wafcharm」という単語を用いることはお控えください。

Legacy

Legacy Ruleポリシーでの優先順位は以下の通りです。

  • Allowlistルール (WafCharm管理画面からご登録の場合)
  • お客様作成ルール
  • WafCharm_Common_Basic_Group
  • WafCharm_Common_Advanced_Group
  • Denylistルール

注意点

  • 上記の順序は、お客様がAWSマネジメントコンソールにて変更したとしても、定期的なタイミングで再度上記の状態となります。
    • お客様作成ルール内での優先度は維持されます。
    • 誤動作の懸念があるため、お客様作成ルールに「WafCharm」や「wafcharm」という単語を用いることはお控えください。
  • Legacyの場合は、固定のPriority値はありません。全体の順序として上記の通りとなり、具体的な数値には左右されませんのでご注意ください。
  • Legacyでは、一部のルールを除き、すべてのルールがルールグループを用いて適用されます。
  • カスタマイズで適用するルールの位置は、条件などによって異なります。基本的には、Allowlistルールの後ろか、WafCharm_Common_Advanced_Groupの後ろに配置されます。

WafCharmルールが対応可能な攻撃

WafCharmでは、基本的にはアプリケーションの脆弱性をついたサイバー攻撃を防御するためのルールをご提供しています。

基本的な考え方としては、WAFへの通信段階で異常と判断できる条件が必要です。アプリケーションの立場からすると正規のリクエストとして実行されるようなものや、すでに漏洩したパスワードを使用したアクセスなどは検知できません。

対応攻撃例一覧

  • SQLインジェクション
  • OSコマンドインジェクション
  • コードインジェクション
  • ヘッダインジェクション
  • パストラバーサル・ディレクトリトラバーサル
  • クロスサイトスクリプティング
  • XXE攻撃
  • 悪質なUser-Agentに関する防御
  • その他特定のミドルウェアやOSに関する脆弱性等(※)

など

※特定の脆弱性に対する攻撃は、それが上の対応攻撃例一覧に分類される場合において、一部を除いてその分類項目として検知されます。
例:管理画面にアクセスできる、特定のミドルウェア依存の脆弱性を用いたSQLインジェクションを受けた場合も、あくまでSQLインジェクションとして検知する。

対応できない攻撃の例

  • CSRF

など

注意点

  • セキュリティの観点より、WafCharmが提供するルールの一覧や詳細は開示しておりません。
  • ルールアクション以外に、WafCharmが提供するルールの編集を行った場合、動作保証ができませんのでご注意ください。