WAF プラグインは、ModSecurity ベースのルールエンジンを使用して不審なリクエストをブロックします。OWASP ModSecurity Core Rule Set (CRS) をサポートし、Web サイトに基本的な保護を提供します。
WAF プラグインは、オープンソースの ModSecurity ルールを使用します。デフォルトのルールは静的であり、最新のセキュリティリスクを特定したり、リアルタイムでルールセットを更新したりすることはできません。より強力な保護を実現するには、クラウドネイティブ API Gateway インスタンスの Web アプリケーションファイアウォール (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ルートは、クラウドネイティブ API Gateway ルートの作成時に定義されます。クライアントリクエストがこのルートに一致する場合、ルートレベルのルールが有効になります。 -
*.example.comおよびtest.comドメイン名は、リクエスト内のドメイン名と照合されます。クライアントリクエストがこれらのドメイン名のいずれかに一致する場合、ドメインレベルのルールが有効になります。 -
ルールは設定された順序で評価されます。「deny」アクションなど、リクエストをブロックするルールが一致した場合、後続のルールは評価されません。