機密情報の検出

機密情報検出 (SID) を使用すると、機密情報の漏洩の可能性がある場所を特定できます。

WAF セキュリティポリシーの概要ログ

WAF ポリシーを Runtime Fabric に適用し、​[WAF policy (WAF ポリシー)]​ 設定で ​[Detect sensitive information (機密情報を検出)]​ オプションを選択した場合、要求と応答に機密情報の漏洩がないかどうかが検査されます。​rtfWafSecurityPolicySummary​ メッセージは、1 分の収集期間を使用して、違反した SID ルールのリストと、ルールに違反した要求および応答の件数をログに報告します。

rtfWafSecurityPolicySummary​ ログには WAF カテゴリが含まれ、SID 関連カテゴリも示されます。SID 関連カテゴリ内のいずれかのルールがトリガーされた場合、ルール ID と、違反の検出件数が表示されます。この件数は、収集期間中に特定のルールに違反した要求と応答の件数です。

次にログの例を示します。これは、収集期間中に ​requestSidPiiCore​ カテゴリをトリガーした SID ルール ID ​600100​ (TAXID) がこのペイロード内で 1 回検出されたことを示しています。

{
	"timeStamp": "2019-04-15T16:13:00.045Z",
	"collectionIntervalInMinutes": "1",
	"node": "node-host",
	"wafSummary": {
		"requestScannerDetection": [

		],
		"requestProtocolEnforcement": [

		],
		"requestProtocolAttack": [

		],
		"requestApplicationAttackLfi": [

		],
		"requestApplicationAttackRfi": [

		],
		"requestApplicationAttackRce": [

		],
		"requestApplicationAttackPhp": [

		],
		"requestApplicationAttackXss": [

		],
		"requestApplicationAttackSqli": [

		],
		"requestApplicationAttackSessionFixation": [

		],
		"requestSidPiiCore": [{
			"ruleId": "600100",
			"count": 1
		}],
		"requestSidPiiEnhanced": [

		],
		"requestSidPci": [

		],
		"requestSidPhi": [

		],
		"responseDataLeakages": [

		],
		"responseDataLeakagesSql": [

		],
		"responseDataLeakagesJava": [

		],
		"responseDataLeakagesPhp": [

		],
		"responseDataLeakagesIis": [

		],
		"responseSidPiiCore": [

		],
		"responseSidPiiEnhanced": [

		],
		"responseSidPci": [

		],
		"responseSidPhi": [

		]
	}
}

SID 概要ログ

WAF ポリシーを Runtime Fabric に適用し、​[Detect sensitive information (機密情報を検出)]​ オプションを選択した場合、​rtfSidSummary​ ログが生成されます。この概要ログには、1 分の収集期間中に 1 つ以上のトリガーが発生したルールインスタンス (ルール ID、API、メソッド、方向、件数) のリストが含まれます。

件数はメッセージ (要求または応答) のみに適用され、収集期間中にどれだけの数のメッセージがルールインスタンスをトリガーしたかを示します。

たとえば、出生証明書申請の要求が過去 1 分間に 1 回のみ実行され、要求に次の内容が含まれていたとします。

DOB of Mother
SSN of Mother
DOB of Father
SSN of Father
DOB of Father
DOB of Baby
CCN to pay for the application

概要メッセージには、違反したルールごとに 1 つずつ、3 つの項目 (DOB、SSN、CCN) が含まれます。つまり、1 つのメッセージ内に同じルールの違反が複数あっても、1 つのメッセージ内の各ルール違反は 1 回のみ数えられます。

これは、ペイロード内で機密情報 (SSN) が検出された要求の ​rtfSidSummary​ ログの例です。

{
	"timeStamp": "2019-05-03T20:28:00.493Z",
	"collectionIntervalInMinutes": "1",
	"node": "node-host",
	"sidSummary": [{
		"api": "myapi",
		"envId": "a2f87a26-6ee9-4843-a145-bf258e630aa8",
		"method": "POST",
		"rule": "Social Security Number key value pair",
		"direction": "Request",
		"count": 1
	}]
}

サポートされるコンテンツタイプ

SID ルールでは、次のコンテンツタイプを照合して、機密データのタグと値を確認します。

  • 要求種別:

    • text/plain

    • application/json

  • 応答種別:

    • text/plain

    • application/json

ルールカテゴリ

機密情報検出ルールは、以下を含むルールカテゴリに属します。

  • PII: 個人情報 (生年月日、社会保障番号、パスポート番号など)。

  • PCI: 支払カード情報 (Visa または Mastercard 番号など)。

  • PHI: 保護健康情報。

RAML での SID ルールとルール ID の参照

SID ルールとルール ID は Anypoint Security ポリシー RAML 内で参照できます。

  1. 公開の MuleSoft 開発者ポータル​に移動し、「Anypoint Security Policies API」 (Anypoint Security ポリシー API) を検索します。

  2. RAML をダウンロードし、ZIP ファイルを展開します。

  3. <Download_location>/anypoint-security-policies-api-<version>-raml/dataTypes/policies/WafRules/Rulesets.json​ に移動します。

  4. 「​MULESOFT_SID​」を検索し、名前 (​msg​) と ​id​ を含め、SID ルールとその詳細を確認します。
    RAML ファイルのコンテンツの例を次に示します。

{
	"id": 600780,
	"ver": "",
	"rev": "1",
	"phase": "response",
	"severity": "WARNING",
	"accuracy": "5",
	"maturity": "1",
	"taglist": ["MULESOFT_SID"],
	"msg": "VISA CARD",
	"variables": "RESPONSE_BODY",
	"operator": "UkVTUE9OU0VfQk9EWSAoPzwhWy5cdy1dKTRbMC05XXszfShbIC1dPylbMC05XXs0fVwxWzAtOV17NH1cMVswLTldezR9KD8hWy5cdy1dKQo=",
	"paranoia": 1,
	"chain": "no"
}