機密データのマスキング
機密データのマスキング機能は、組織のリスクを低減し、コンプライアンスの要件を満たすのに役立ちます。
データマスキングは、Contrast Webインターフェイス、Syslogまたはセキュリティログに送信される脆弱性や攻撃レポートの情報にマスクをかけることで、アプリケーション内の機密データを保護します。
Contrastでは、機密データやデータタイプをいくつかのカテゴリに分類しています。これらは特定のキーワードで構成され、エージェントが自動的に識別しレポート内でマスクされます。RulesAdmin以上の権限を持つユーザは、機密データを管理できます。
Contrastエージェントにより、クエリパラメータ、リクエストヘッダ、Cookieおよびボディの機密データがマスクされます。エージェントによって、入力名に使用されている特定のキーワードが検索されて機密データが認識されます。一致するものが見つかった場合、その入力値にはマスクがかけられ、contrast-redacted-{datatype}という形式のプレースホルダに置き換えられます。datatypeの部分は、キーワードが含まれる機密データの分類になります。
Contrastエージェントは、application/x-www-form-urlencoded以外のコンテンツタイプがあるリクエストボディの個々のフィールドはマスクしません。ただし、リクエストボディ全体をマスクするようにエージェントを設定することができます。また、Assessを使用している場合の脆弱性レポートのデータフローに表示されるデータや、Protectを使用している場合の攻撃イベントのベクトルで表示されるデータもマスクされません。
To mask the entire HTTP request body, enable the following configuration option for your agent by setting it in your agent's YAML configuration file or as an environment variable:
.NET Core and .NET Framework:
application.sensitive_data_masking_policy.mask_http_body: trueJava:
application.sensitive_data_masking_policy.mask_http_body=trueNode.js:
agent.node.mask_http_body=truePython:
application.sensitive_data_masking_policy.mask_http_body: true
Whether you need to restart the agent after setting this option depends on how you set it:
Using a YAML file: .NET Core and .NET Framework do not require an agent restart to apply the change.
Java, Node.js, and Python require an agent restart to apply the change.
Using an environment variable: all agents require a restart, regardless of language.
注記
Contrastログに記録されるステートメントには、Contrastエージェントによって「可能な限り」機密データが出力されないようにしていますが、ログレベルがDEBUG以下に設定されていると、Contrastログに機密データが記録される可能性があります。できる限り、本番環境のシステムでは、DEBUG以下でログを記録するよう設定しないでください。機密データを扱うシステムが、DEBUG以下でログを記録するように設定されている場合は、機密データの漏洩を防ぐために、これらのログが外部システムに送信されないようにするための措置を講じる必要があります。
例えば、以下は脆弱性レポートの一部としてエージェントによって送信されたHTTPリクエストで、エージェントによって機密データと判断された2つの入力があります。これらは、Contrast Webインターフェイス、syslogサーバやセキュリティログに送信される前に入力値をマスクするために使用されたプレースホルダを示しています。
PUT /employee/5 HTTP/1.1 Host: yourdomain.com Content-Type: application/x-www-form-urlencoded Content-Length: 30 apikey: contrast-redacted-authentication-info ssn=contrast-redacted-government-id&department=sales
この場合、ヘッダの値の「apikey」が「Authentication Info」データタイプにあるキーワードと一致しているためマスクされます。また、Contrastの組織にある「Government ID」データタイプのキーワードと「ssn」が一致しているため、フォームパラメータもマスクされます(キーワードの一致では、大文字と小文字は区別されません)。