wafプラグインは、ModSecurityに基づくルール保護エンジンです。 wafプラグインを使用して、設定されたルールに基づいて疑わしいリクエストをブロックできます。 wafプラグインは、OWASP ModSecurityコアルールセット (CRS) をサポートして、Webサイトの基本的な保護機能を提供します。 このトピックでは、wafプラグインを設定する方法について説明します。
wafプラグインは、オープンソースのModSecurityルールに基づいています。 デフォルトのルールは静的ルールです。 デフォルトのルールを使用して、最新のセキュリティリスクを特定したり、ルールセットをリアルタイムで更新したりすることはできません。 より強力なセキュリティ保護機能を取得するには、クラウドネイティブAPI Gatewayインスタンスに対してWeb Application Firewall (WAF) 保護を有効にする必要があります。 詳細は、「WAFの有効化」をご参照ください。
プラグイン型
セキュリティ保護プラグイン。
フィールド
項目 | データ型 | 必須 / 任意 | デフォルト値 | 説明 |
useCRS | bool | 非対象 | false | OWASP CRSを有効にするかどうかを指定します。 詳細については、「coreruleset」をご参照ください。 |
secRules | 文字列の配列 | 非対象 | - | wafプラグイン用に設定されたカスタム保護ルール。 構文の詳細については、「ModSecurityドキュメント」をご参照ください。 |
設定例
デフォルトのルールを使用する
疑わしいリクエストをブロックするデフォルトルールを有効にします。
useCRS: trueデフォルトルールを有効にして、疑わしいリクエストを検出しますが、疑わしいリクエストはブロックしません。
useCRS: true
secRules:
- "SecRuleEngine DetectionOnly"カスタム保護ルールの使用
useCRS: true
secRules:
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""次のリクエストは、上記のルール設定に基づいてブロックされます。
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\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""次のプラグイン設定をroute-1ルートに適用します。
secRules:
- "SecAction \"id:102,phase:1,deny\""次のプラグイン設定を * .example.comおよびtest.comドメイン名に適用します。
secRules:
- "SecAction \"id:102,phase:1,pass\""route-1ルートは、Cloud-native API Gatewayルートの作成時に指定されたルートです。 クライアント要求がルートと一致する場合、ルートに設定されているルールが有効になります。* .example.comとtest.comドメイン名は、リクエストのドメイン名と一致するために使用されます。 クライアント要求がいずれかのドメイン名と一致する場合、一致したドメイン名に設定されているルールが有効になります。設定したルールは順番に有効になります。 最初のルールが一致する場合、後続のルールは無視されます。