← ← ホームに戻る

AppSec / Repository

waf-defense-rulepacks

Web Application Firewalls (WAFs) 向けの、実戦で鍛えられた実運用対応ルールセット。ModSecurity、AWS WAF、Cloudflare 向けに、OWASP Top 10 の攻撃、API の悪用、現代的な回避手法に対する包括的な保護を提供します。

GitHubで見る ↗

プロジェクトについて

WAF Defense Rulepacks は、業界で最も広く導入されている Web Application Firewalls 向けに最適化されたセキュリティルールの厳選コレクションです。Web Application Firewall (WAF) はユーザーと Web アプリケーションの間に位置し、すべての HTTP リクエストを検査して、SQL injection、cross-site scripting (XSS)、command injection、path traversal など既知の攻撃パターンに一致するものをブロックします。 このプロジェクトは、特定の WAF プラットフォームに最適化された 3 つの完全なルールセットを提供します: ModSecurity (Apache と Nginx で使われるオープンソース標準)、AWS WAF (Amazon のクラウドネイティブファイアウォール)、Cloudflare WAF (広く使用されている CDN 統合型ファイアウォール) です。各ルールセットは、OWASP Top 10 の脆弱性カテゴリ全体、API 特有の攻撃パターン (broken authentication、excessive data exposure、mass assignment)、およびデフォルトの WAF 設定を回避する現代的な回避技術をカバーします。 各ルールには、どの攻撃を検知するのか、検知パターンがどのように機能するのか、潜在的な false positive シナリオ、チューニングの推奨事項を説明する詳細なコメントが含まれています。ルールは攻撃カテゴリと重要度で整理されているため、セキュリティチームは高信頼度のルールから段階的に保護を有効化し、特定のアプリケーションに合わせて調整しながら、徐々により積極的な検知を追加できます。 このプロジェクトには、既知の良性リクエストと悪性リクエストのサンプルを含む包括的なテストスイートも含まれており、本番導入前にルールの有効性を検証し、false positive 率を測定できます。

なぜ重要か

Web Application Firewall は、インターネット公開アプリケーションにとって重要な防御層ですが、その有効性はルール設定次第です。ほとんどのベンダーが提供するデフォルトの WAF ルールは基本的な保護しか提供せず、高度な攻撃、現代的な回避技術、アプリケーション固有の脆弱性を見逃します。調査によれば、WAF を使用している組織の 40% 以上がルールカバレッジに重大な欠陥を抱えており、WAF を導入していてもなお脆弱な状態にあります。 設定ミスのある WAF は危険な安心感を生みます。組織は保護されていると思い込みますが、実際には WAF は容易に回避されます。このプロジェクトは、実世界の攻撃トラフィックに対してテストされ、長年の Web アプリケーションセキュリティ経験に基づいて洗練され、セキュリティチームが各ルールの内容と理由を正確に理解できるよう徹底的に文書化されたルールを提供することで、そのギャップを埋めます。 PCI-DSS、SOC 2、GDPR などのコンプライアンス対象組織にとって、ルールが文書化された適切に構成された WAF を持つことは、しばしば規制上の要件です。これらの rulepacks は、コンプライアンスに必要な技術的保護と監査用ドキュメントの両方を提供します。

ステップバイステップガイド

  1. WAF プラットフォームに適した rulepack (ModSecurity、AWS WAF、Cloudflare のいずれか) を選択します。各 rulepack は独自のディレクトリにあり、README には前提条件と互換性要件が説明されています。WAF のバージョンが記載された最小要件を満たしていることを確認してください。
  2. 各プラットフォーム向けに提供される自動インストールスクリプトを使用してルールを取り込みます。ModSecurity では 'install-modsec.sh' を実行すると、ルールが正しいディレクトリに配置され、設定が更新されます。AWS WAF では、/aws-waf/terraform/ 内の Terraform テンプレートを使用して rule group を作成します。Cloudflare では、/cloudflare/deploy.sh の API スクリプトを使用します。
  3. 環境に応じてブロック閾値と感度レベルを設定します。まず 'detection-only' モード (ブロックせずログのみ) から始めるには DETECTION_MODE=true を設定します。本番で active blocking mode に切り替える前に、1〜2 週間 false positive を監視してください。/docs/tuning.md のチューニングガイドにはステップバイステップの手順があります。
  4. WAF ログを定期的に監視し、アプリケーションの正当なトラフィックパターンに基づいてルールを調整します。付属のログ分析スクリプトを使用して潜在的な false positive を特定し、既知の良性リクエスト向けの例外ルールを作成してください。新たな攻撃手法に対応する新規ルールについては、四半期ごとの更新速報を確認してください。

使用技術

ModSecurityJSONTerraformYAML