Oracle Cloud Infrastructureドキュメント

WAF保護ルール

保護ルールは、Webトラフィックとルール条件を一致させ、条件が満たされたときに実行するアクションを決定します。 保護ルール設定を使用すると、保護ルールが一致したときに適用するパラメータを定義できます。 推奨は、WAFセキュリティ・プロファイルを最適化するのに役立ちます。 セキュリティ操作チームは、すべてのイベントを事前にモニターして、特定のルールセットのアクションに関する推奨を提供します。 詳細については、「サポートされている保護ルール」を参照してください。

コンソールを使用した場合

アクションを保護ルールに適用するには
ルール設定を編集するには
推奨を受け入れるには
変更を公開するには
変更を破棄するには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

保護ルール推奨のリストおよび受入れ

次の操作を使用して、推奨ルールのリストを取得します:

{
   "name": "SQL authentication bypass attempts",
   "action": "OFF",
   "description": "Detects basic SQL authentication bypass attempts.",
   "exclusions": [],
   "key": "981244",
   "tags": "SQL Injections, Recommended"
   },

   {

   "modSecurityRuleIds": [
      "950001",
      "959070",
      "959071",
      "959072",
      "950908",
      "959073"
				],

   "name": "Common SQL Injections",
   "action": "OFF",
   "description": "detects common SQL injection attacks",
   "exclusions": [],
   "key": "950001",
   "tags": "SQL Injections, WASCTC, OWASP, A1, PCI, Recommended"

   },
			

前述のGETコールの出力のキー値を使用して、キーの配列を渡す次の操作を使用して1つ以上の推奨を受け入れることができます:

本文:

[
   “981244”,
   "950001”
]

保護ルール固有の設定

複数の保護ルール設定は、特定の保護ルールの設定です。

設定 ルールID ルール名
許可されたHTTPメソッド 911100 HTTPリクエスト・メソッドの制限
最大合計引数長 960341 引数の制限合計
引数の最大数 960335 引数制限の数
引数の最大長 960208 値の制限
isResponseInspected 90007 リクエスト中のクレジット・カード漏えい: MasterCard
  90009 リクエスト中のクレジット・カード漏えい: American Express
  90012 リクエスト中のクレジット・カード漏えい: Discover
  90020 レスポンス中のクレジット・カード漏えい: Discover
  90021 レスポンス中のクレジット・カード漏えい: JCB
  90022 クレジット・カード追跡1データ漏えい
  90023 クレジット・カード追跡2データ漏えい
  90024 クレジット・カードPAN漏えい

引数という用語は、PUT/POSTリクエストの問合せパラメータまたは本文パラメータを指します。 たとえば、引数の最大数が2で、RuleID 960335がBLOCKに設定されている場合、次のリクエストはブロックされます:

    GET /myapp/path?query=one&query=two&query=three
    POST /myapp/path with Body {"arg1":"one","arg2":"two","arg3":"three"}
    POST /myapp/path?query=one&query=two with Body {"arg1":"one"}

「引数の最大長」は、引数の名前または値の長さです。 「引数の長さ合計」は、名前と値の長さの合計を指します。

除外

保護ルールによって、誤検出がトリガーされることがあります。 偽陽性を生成するリクエストに特定の引数またはcookieが含まれており、これらのリクエストを識別するために使用できます。この例外は、通常、ルールで実行されるアクションから除外されます。 除外はAPIを使用して作成する必要があります。 次の除外パラメータを使用できます:

名前
REQUEST_COOKIES Cookie値
REQUEST_COOKIES_NAMES Cookie名(値は関係ありません)
ARGS 引数(問合せパラメータまたはPOST/PUTデータ)
ARGS_NAMES 問合せパラメータ名(値は無関係です)

この例では、パススルーを含む引数を持つリクエストを許可する例外を除いて、WAF Rule 911100 (Restrict HTTP Request Methods)にブロックが適用されます。

PUT / waasPolicies /<policy_ocid>/wafConfig/protectionRules

本文:

[
 {
	"key":"911100",
	"action":"BLOCK",
 	"exclusions": 
	 [
		{
		 "target":"REQUEST_COOKIES",
		 "exclusions":["yourcompany.com", "Wed, 21 Oct 2015 07:28:00 GMT", "12345", "219ffwef9w0f"]
		},
		{
				"target":"REQUEST_COOKIES_NAMES",
				"exclusions":["OAMAuthnCookie", "JSESSIONID", "HCM-PSJSESSIONID"]
		},
		{
		 "target":"ARGS",
		 "exclusions":["passthrough"]
 		}
 	 ]
 }
]

これにより、202 Accepted HTTPステータスが返されます。つまり、エッジ・ノードに変更がプロビジョニングされるまで、ポリシーはUPDATING状態になります。