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

API Gateway:waf

最終更新日:Jan 09, 2025

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.comtest.comドメイン名は、リクエストのドメイン名と一致するために使用されます。 クライアント要求がいずれかのドメイン名と一致する場合、一致したドメイン名に設定されているルールが有効になります。

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