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ドメイン名は、リクエスト内のドメイン名と照合するために使用されます。 クライアントリクエストがドメイン名のいずれかと一致する場合、一致したドメイン名に設定されているルールが有効になります。設定したルールは順番に有効になります。 最初のルールが一致すると、後続のルールは無視されます。