すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:waf

最終更新日:Jan 08, 2025

wafプラグインは、ModSecurityに基づくルール保護エンジンです。 wafプラグインを使用すると、設定されたルールに基づいて疑わしいリクエストをブロックできます。 wafプラグインはOWASP ModSecurity Core Rule Set(CRS)をサポートしており、Webサイトの基本的な保護機能を提供します。 このトピックでは、wafプラグインの設定方法について説明します。

説明

wafプラグインは、オープンソースのModSecurityルールに基づいています。 デフォルトルールは静的ルールです。 デフォルトルールを使用して最新のセキュリティリスクを特定したり、ルールセットをリアルタイムで更新したりすることはできません。 より強力なセキュリティ保護機能を得るには、Microservices Engine(MSE)インスタンスのWAF保護を有効にする必要があります。 詳細については、「WAFへのMSEインスタンスの追加」をご参照ください。

プラグインの種類

セキュリティ保護プラグイン。

フィールド

名前

データ型

必須

デフォルト値

説明

useCRS

bool

いいえ

false

OWASP CRSを有効にするかどうかを指定します。 詳細については、coreruleset を参照してください。

secRules

stringの配列

いいえ

-

wafプラグイン用に設定されたカスタム保護ルール。 構文の詳細については、ModSecurityドキュメント を参照してください。

設定例

デフォルトルールの使用

デフォルトルールを有効にして、疑わしいリクエストをブロックします。

useCRS: true

デフォルトルールを有効にして、疑わしいリクエストを検出しますが、ブロックしません。

useCRS: true
secRules:
  - "SecRuleEngine DetectionOnly" // 検出のみのモードに設定

カスタム保護ルールの使用

useCRS: true
secRules: 
  - "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""  // /admin へのリクエストを拒否
  - "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\"" // リクエストボディに "maliciouspayload" が含まれるリクエストを拒否

上記のルール設定に基づいて、以下のリクエストはブロックされます。

curl http://example.com/admin
curl http://example.com -d "maliciouspayload"

特定のルートまたはドメイン名に対する保護ルールの有効化

useCRS: true
secRules: 
  - "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\"" // /admin へのリクエストを拒否
  - "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\"" // リクエストボディに "maliciouspayload" が含まれるリクエストを拒否

以下のプラグイン設定を route-1 ルートに適用します。

secRules:
  - "SecAction \"id:102,phase:1,deny\"" // ID 102 のルールを拒否アクションに設定

以下のプラグイン設定を *.example.com および test.com ドメイン名に適用します。

secRules:
  - "SecAction \"id:102,phase:1,pass\"" // ID 102 のルールを許可アクションに設定
説明
  • route-1 ルートは、ゲートウェイルートの作成時に指定されたルートです。 クライアントリクエストがルートと一致する場合、ルートに設定されているルールが有効になります。

  • *.example.com および test.com ドメイン名は、リクエスト内のドメイン名と照合するために使用されます。 クライアントリクエストがドメイン名のいずれかと一致する場合、一致したドメイン名に設定されているルールが有効になります。

  • 設定したルールは順番に有効になります。 最初のルールが一致すると、後続のルールは無視されます。