Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

内蔵ルール

PRX-WAFには3つのカテゴリにわたる398の事前構築ルールと、バイナリにコンパイルされた10以上の検出チェッカーが付属しています。これらを組み合わせることで、OWASPトップ10と既知のCVEエクスプロイトの包括的なカバレッジを提供します。

OWASP Core Rule Set(310ルール)

OWASP CRSルールはOWASP ModSecurity Core Rule Set v4からPRX-WAFのネイティブYAMLフォーマットに変換されています。最も一般的なWebの攻撃ベクターをカバーしています:

ファイルCRS IDルール数カテゴリ
sqli.yaml942xxx約87SQLインジェクション
xss.yaml941xxx約41クロスサイトスクリプティング
rce.yaml932xxx約30リモートコード実行
lfi.yaml930xxx約20ローカルファイルインクルード
rfi.yaml931xxx約12リモートファイルインクルード
php-injection.yaml933xxx約18PHPインジェクション
java-injection.yaml944xxx約15Java / Expression Languageインジェクション
generic-attack.yaml934xxx約12Node.js、SSI、HTTPスプリッティング
scanner-detection.yaml913xxx約10セキュリティスキャナーUA検出
protocol-enforcement.yaml920xxx約15HTTPプロトコル準拠
protocol-attack.yaml921xxx約10リクエストスマグリング、CRLFインジェクション
multipart-attack.yaml922xxx約8マルチパートバイパス
method-enforcement.yaml911xxx約5HTTPメソッドアローリスト
session-fixation.yaml943xxx約6セッション固定
web-shells.yaml955xxx約8Webシェル検出
response-*.yaml950〜956xxx約13レスポンス検査

ワードリストデータファイル

OWASP CRSルールはrules/owasp-crs/data/に保存された20以上のワードリストファイルに対してフレーズマッチ(pm_from_file)を使用します:

  • scanners-user-agents.data -- 既知のスキャナーユーザーエージェント文字列
  • lfi-os-files.data -- 機密OSファイルパス
  • sql-errors.data -- データベースエラーメッセージパターン
  • その他多数

ModSecurityコミュニティルール(46ルール)

OWASP CRSで完全にカバーされていない脅威カテゴリのための手作りルール:

ファイルルール数カテゴリ
ip-reputation.yaml約15ボット/スキャナー/プロキシIP検出
dos-protection.yaml約12DoSと異常なリクエストパターン
data-leakage.yaml約10PIIと認証情報漏洩検出
response-checks.yaml約9レスポンスボディ検査

CVE仮想パッチ(39ルール)

高プロファイルCVEの標的型検出ルール。これらは仮想パッチとして機能し、エクスプロイトの試みが脆弱なアプリケーションに到達する前にブロックします:

ファイルCVE説明
2021-log4shell.yamlCVE-2021-44228、CVE-2021-45046Apache Log4j JNDIルックアップによるRCE
2022-spring4shell.yamlCVE-2022-22965、CVE-2022-22963Spring Framework RCE
2022-text4shell.yamlCVE-2022-42889Apache Commons Text RCE
2023-moveit.yamlCVE-2023-34362、CVE-2023-36934MOVEit Transfer SQLインジェクション
2024-xz-backdoor.yamlCVE-2024-3094XZ Utilsバックドア検出
2024-recent.yaml複数2024年の高プロファイルCVE
2025-recent.yaml複数2025年の高プロファイルCVE

TIP

CVEパッチルールはデフォルトでパラノイアレベル1に設定されており、すべての設定でアクティブです。特定のエクスプロイトペイロードを標的とするため、誤検知率が非常に低いです。

内蔵検出チェッカー

YAMLルールに加えて、PRX-WAFにはバイナリにコンパイルされた検出チェッカーが含まれています。これらは検出パイプラインの専用フェーズで実行されます:

フェーズチェッカー説明
1〜4IPアローリスト/ブロックリストCIDRベースのIPフィルタリング
5CC/DDoSレートリミッターIPごとのスライディングウィンドウレート制限
6スキャナー検出脆弱性スキャナーフィンガープリント(Nmap、Niktoなど)
7ボット検出悪意のあるボット、AIクローラー、ヘッドレスブラウザ
8SQLインジェクションlibinjection + regexパターン
9XSSlibinjection + regexパターン
10RCE / コマンドインジェクションOSコマンドインジェクションパターン
11ディレクトリトラバーサルパストラバーサル(../)検出
14機密データAho-Corasickマルチパターン PII/認証情報検出
15アンチホットリンクホストごとのRefererベース検証
16CrowdSecバウンサー決定 + AppSec検査

ルールの更新

付属ツールを使用して上流ソースからルールを同期できます:

bash
# Check for updates
python rules/tools/sync.py --check

# Sync OWASP CRS to a specific release
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/ --tag v4.10.0

# Sync to latest
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/

# Hot-reload after updating
prx-waf rules reload

ルール統計

CLIで現在のルール統計を表示:

bash
prx-waf rules stats

出力例:

Rule Statistics
===============
  OWASP CRS:    310 rules (21 files)
  ModSecurity:   46 rules (4 files)
  CVE Patches:   39 rules (7 files)
  Custom:         3 rules (1 file)
  ─────────────────────────
  Total:        398 rules (33 files)

  Enabled:      395
  Disabled:       3
  Paranoia 1:   280
  Paranoia 2:    78
  Paranoia 3:    30
  Paranoia 4:    10

次のステップ

Released under the Apache-2.0 License.