Proofpoint On-Demand 로그 수집
이 문서에서는 기본 제공 API 통합을 사용하여 Proofpoint On-Demand 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 파서는 JSON 로그에서 필드를 추출하여 Chronicle UDM 형식으로 변환합니다. 이 파서는 이메일 메타데이터가 포함된 형식과 SMTP 트랜잭션 세부정보가 포함된 형식의 두 가지 기본 로그 형식을 처리하며, 조건부 로직을 사용하여 필드를 적절하게 파싱하고 사용 가능한 데이터를 기반으로 통합 데이터 모델 (UDM) 필드를 채웁니다. 파서는 또한 불필요한 문자 삭제 및 타임스탬프 변환과 같은 데이터 정리도 수행합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Proofpoint 주문형 원격 Syslog 라이선스
- Proofpoint에 대한 권한 있는 액세스
Proofpoint On-Demand API 액세스 구성하기
- Proofpoint Admin 포털에 로그인합니다.
- 클러스터 ID (관리 인터페이스의 오른쪽 상단에 출시 번호 옆에 표시됨)를 복사합니다.
- 설정 > API 키 관리로 이동합니다.
- 새로 만들기를 클릭하여 새 API 키 만들기 대화상자를 엽니다.
- 고유한 이름을 입력합니다(예:
Google SecOps Key). - API 키를 생성합니다.
- 새 API 키의 더보기 메뉴에서 세부정보 보기를 선택합니다.
- API 키를 복사합니다.
피드 설정
피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정 > 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- Proofpoint 피드 팩을 클릭합니다.
- Proofpoint On-Demand 로그 유형을 선택합니다.
- 다음을 클릭합니다.
- 다음 입력 파라미터의 값을 지정합니다.
- 소스 유형: 서드 파티 API
- 인증 HTTP 헤더: Proofpoint API 키를
Authorization: Bearer {API_KEY}형식으로 입력하고 다음 WebSocket-Key 데이터가 포함된 새 줄을 추가합니다.Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ== - 클러스터 ID: 이전에 복사한 Proofpoint 클러스터 ID를 입력합니다.
고급 옵션
- 피드 이름: 피드를 식별하는 미리 입력된 값입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
- 피드 만들기를 클릭합니다.
UDM 매핑 테이블
다음 표에는 Proofpoint 주문형 로그 필드와 UDM 필드의 매핑이 나와 있습니다.
이벤트 유형 매핑
다음 표에는 Proofpoint On-Demand 이벤트 유형 매핑이 나와 있습니다. 자세한 내용은 Metadata.EventType 및 Metadata를 참고하세요.
| 이벤트 유형 | 매핑 | 비고 |
|---|---|---|
EMAIL_TRANSACTION |
metadata.event_type |
(([has_sender_email] == "true" or [has_recipient_email] == "true") and (([has_principal] == "true" or [has_principal_user] == "true")))인 경우 |
GENERIC_EVENT |
metadata.event_type |
event_type의 기본 대체입니다. |
NETWORK_CONNECTION |
metadata.event_type |
[has_principal] == "true" and [has_target] == "true"인 경우 |
STATUS_UPDATE |
metadata.event_type |
[has_principal] == "true"인 경우 |
일반 로그 필드
| 로그 필드 | UDM 매핑 | 비고 |
|---|---|---|
aliasedRcptsvalue.alias |
additional.fields |
|
aliasedRcptsvalue.primary |
additional.fields |
|
alignment.fromDomain |
additional.fields |
|
alignmentresult.identity |
security_result.detection_fields |
|
alignmentresult.identityOrg |
security_result.detection_fields |
|
alignmentresult.result |
security_result.detection_fields |
|
ALLOW |
security_result.action |
[tls][verify] == "OK" 또는 [filter][disposition] in ["continue", "accept", "CLEAR", "OK", "redirect"]인 경우 |
app_protocol_output |
network.application_protocol |
data 필드에서 추출됩니다. |
audit.action |
security_result.about.resource.attribute.labels |
|
audit.level |
security_result.severity_details |
data 필드의 키-값 쌍에서 추출됩니다. |
audit.resourceType |
target.resource.name |
data 필드의 키-값 쌍에서 추출됩니다. |
audit.tags.value |
security_result.detection_fields |
|
audit.user.email |
principal.user.email_addresses |
[audit][user][email] =~ "^.+@.+$"인 경우 |
audit.user.id |
principal.user.userid |
data 필드의 키-값 쌍에서 추출됩니다. |
audit.user.ipAddress |
principal.asset.ip,principal.ip |
|
autheresults.method |
security_result.detection_fields |
|
autheresults.result |
additional.fields |
|
BLOCK |
security_result.action |
[tls][verify] == "FAIL" 또는 [filter][disposition] in ["discard", "reject"]인 경우 |
campaignID |
security_result.detection_fields |
|
cc |
network.email.cc |
[cc] =~ "^.+@.+$"인 경우 |
CHALLENGE |
security_result.action |
[filter][disposition] in ["hold", "retry"]인 경우 |
charsets |
security_result.detection_fields |
|
classification |
security_result.detection_fields |
|
cluster |
security_result.detection_fields |
|
cmd |
principal.process.command_line |
data 필드에서 추출됩니다. |
completelyRewritten |
security_result.detection_fields |
|
connection.country |
principal.location.country_or_region |
data 필드의 키-값 쌍에서 추출됩니다. |
connection.helo |
network.smtp.helo |
data 필드의 키-값 쌍에서 추출됩니다. |
connection.host |
principal.asset.hostname,principal.hostname |
data 필드의 키-값 쌍에서 추출됩니다. |
connection.ip |
principal.asset.ip,principal.ip |
|
connection.resolveStatus |
additional.fields |
|
connection.sid |
security_result.detection_fields |
|
connection.tls.inbound.cipher |
network.tls.cipher |
data 필드의 키-값 쌍에서 추출됩니다. [tls_cipher] not in ["", "null", "None", "none", "NONE"] AND [tls_version] not in ["", "null", "None", "none", "NONE"]인 경우 |
connection.tls.inbound.cipherBits |
additional.fields |
|
connection.tls.inbound.version |
network.tls.version |
data 필드의 키-값 쌍에서 추출됩니다. [tls_cipher] not in ["", "null", "None", "none", "NONE"] AND [tls_version] not in ["", "null", "None", "none", "NONE"]인 경우 |
data |
network.email.to,target.user.email_addresses |
[email] =~ "^.+@.+$"인 경우 |
detectedExt |
additional.fields |
|
detectedName |
additional.fields |
|
disposition |
additional.fields |
|
duration |
security_result.detection_fields |
|
emailaddr |
target.user.email_addresses |
|
emailaddrnorm |
target.user.email_addresses |
|
emailaddrparsed |
target.user.email_addresses |
|
envelope.from |
network.email.from |
|
ERROR |
security_result.severity |
[audit][level] =~ "(?i)(error)"인 경우 |
eventTime |
metadata.event_timestamp |
|
event_type |
security_result.summary |
|
extracted_bytes |
network.sent_bytes |
data 필드에서 추출됩니다. |
extracted_internal_id |
additional.fields |
|
extracted_msgid |
additional.fields |
|
extracted_queue_status |
additional.fields |
|
extracted_target_host |
target.asset.hostname,target.hostname |
data 필드에서 추출됩니다. |
extracted_throughput |
additional.fields |
|
extracted_transfer_time |
additional.fields |
|
FAIL |
security_result.action |
[filter][disposition] in ["FAIL", "TEMP"]인 경우 |
field_ |
additional.fields |
NOT = "agent"인 경우 |
FILTER |
metadata.product_event_type |
[is_filter] == "true"인 경우 |
filter.actions.action |
additional.fields |
|
filter.actions.isFinal |
security_result.detection_fields |
|
filter.actions.module |
additional.fields,security_result.detection_fields |
|
filter.actions.rule |
additional.fields,security_result.detection_fields |
|
filter.disposition |
security_result.action_details |
data 필드의 키-값 쌍에서 추출됩니다. [filter_disposition] not in ["", "null", "None", "none", "NONE"]인 경우 |
filter.durationSecs |
additional.fields |
|
filter.isMsgEncrypted |
additional.fields |
|
filter.isMsgInDigest |
additional.fields |
|
filter.isMsgOnHold |
additional.fields |
|
filter.isMsgReinjected |
additional.fields |
|
filter.isMsgSplit |
additional.fields |
|
filter.langs |
additional.fields |
|
filter.modules.av.virusNames.0 |
security_result.threat_name |
data 필드의 키-값 쌍에서 추출됩니다. |
filter.modules.banner.insertedBanner |
security_result.detection_fields |
|
filter.modules.dkimv.domain |
security_result.detection_fields |
|
filter.modules.dkimv.result |
security_result.detection_fields |
|
filter.modules.dkimv.selector |
security_result.detection_fields |
|
filter.modules.dmarc.filterdResult |
security_result.detection_fields |
|
filter.modules.dmarc.isVerified |
additional.fields |
|
filter.modules.dmarc.srvid |
additional.fields |
|
filter.modules.pdr.v2.response |
security_result.detection_fields |
|
filter.modules.pdr.v2.rscore |
additional.fields |
|
filter.modules.spam.authority.analysis |
additional.fields |
|
filter.modules.spam.authority.cartVersion |
additional.fields |
|
filter.modules.spam.authority.isComplete |
additional.fields |
|
filter.modules.spam.authority.isTruncated |
additional.fields |
|
filter.modules.spam.authority.score |
additional.fields |
|
filter.modules.spam.classifiers.profile |
additional.fields |
|
filter.modules.spam.classifiers.status.clx |
additional.fields |
|
filter.modules.spam.classifiers.status.nostradamus |
additional.fields |
|
filter.modules.spam.classifiers.status.supernova |
additional.fields |
|
filter.modules.spam.classifiers.status.uribl |
additional.fields |
|
filter.modules.spam.scores.classifiers.adult |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.bulk |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.cot |
additional.fields |
|
filter.modules.spam.scores.classifiers.impostor |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.lowpriority |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.malware |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.mlx |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.mlxlog |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.phish |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.spam |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.suspect |
security_result.detection_fields |
|
filter.modules.spam.scores.classifiers.unknownsender |
additional.fields |
|
filter.modules.spam.scores.classifiers.unsafe |
additional.fields |
|
filter.modules.spam.scores.engine |
security_result.detection_fields |
|
filter.modules.spam.scores.overall |
security_result.detection_fields |
|
filter.modules.spam.triggeredClassifier |
security_result.category_details |
|
filter.modules.spam.version.definitions |
security_result.summary |
data 필드의 키-값 쌍에서 추출됩니다. |
filter.modules.spam.version.engine |
metadata.product_version |
data 필드의 키-값 쌍에서 추출됩니다. |
filter.modules.spf.domain |
additional.fields |
|
filter.modules.urldefense.counts.noRewriteIsEmail |
additional.fields |
|
filter.modules.urldefense.counts.noRewriteIsExcludedDomain |
additional.fields |
|
filter.modules.urldefense.counts.noRewriteIsSchemeless |
additional.fields |
|
filter.modules.urldefense.counts.noRewriteIsUnsupportedScheme |
additional.fields |
|
filter.modules.urldefense.counts.rewritten |
additional.fields |
|
filter.modules.urldefense.counts.total |
security_result.detection_fields |
|
filter.modules.urldefense.counts.unique |
additional.fields |
|
filter.modules.urldefense.counts.unrewritten |
additional.fields |
|
filter.modules.urldefense.version.engine |
additional.fields |
|
filter.modules.zerohour.score |
additional.fields |
|
filter.msgSizeBytes |
network.received_bytes |
data 필드의 키-값 쌍에서 추출됩니다. |
filter.origGuid |
additional.fields |
|
filter.qid |
additional.fields |
|
filter.quarantine.expirationTs |
security_result.detection_fields |
|
filter.quarantine.folder |
security_result.detection_fields |
|
filter.quarantine.folderId |
security_result.detection_fields |
|
filter.quarantine.module |
security_result.detection_fields |
|
filter.quarantine.rule |
security_result.detection_fields |
|
filter.quarantine.type |
security_result.detection_fields |
|
filter.reinjectedType |
additional.fields |
|
filter.routes |
additional.fields |
|
filter.splitType |
additional.fields |
|
filter.startTime |
metadata.event_timestamp |
|
filter.suborgs.sender |
additional.fields |
|
from_hashed |
additional.fields |
|
fromadd |
network.email.from |
data 필드의 키-값 쌍에서 추출됩니다. [fromadd] =~ "^.+@.+$"인 경우 |
GUID |
metadata.product_log_id |
data 필드에서 추출됩니다. |
guid |
metadata.product_log_id |
data 필드에서 추출됩니다. |
headerfromHashedvalue |
additional.fields |
|
headertoHashedvalue |
additional.fields |
|
hostname |
principal.asset.hostname,principal.hostname |
message 필드에서 추출됩니다. |
id |
additional.fields |
|
impostorScore |
security_result.detection_fields |
|
INBOUND |
network.direction |
[rule] == "outbound", [filter][routeDirection] == "inbound" 또는 [quarantineRule] =~ "outbound"인 경우 |
INFORMATIONAL |
security_result.severity |
[audit][level] =~ "(?i)(notice)"인 경우 |
intermediary.ip |
intermediary.asset.ip,intermediary.ip |
|
intermediary.ip1 |
intermediary.asset.ip,intermediary.ip |
|
intermediary_hostname |
intermediary.asset.hostname,intermediary.hostname |
data 필드에서 추출됩니다. |
isArchive |
additional.fields |
|
isCorrupted |
additional.fields |
|
isDeleted |
additional.fields |
|
isProtected |
additional.fields |
|
isTimedOut |
additional.fields |
|
isVirtual |
additional.fields |
|
item.cluster |
security_result.detection_fields |
|
item.GUID |
security_result.detection_fields |
|
item.headerFrom |
security_result.detection_fields |
|
item.id |
security_result.detection_fields |
|
item.impostorScore |
security_result.detection_fields |
|
item.malwareScore |
security_result.detection_fields |
|
item.messageID |
security_result.detection_fields |
|
item.messageSize |
security_result.detection_fields |
|
item.modulesRun |
additional.fields |
|
item.phishScore |
security_result.detection_fields |
|
item.policyRoutes |
additional.fields |
|
item.QID |
security_result.detection_fields |
|
item.quarantineFolder |
security_result.detection_fields |
|
item.quarantineRule |
security_result.detection_fields |
|
item.sender |
principal.user.email_addresses |
[item_sender] =~ "^.+@.+$"인 경우 |
item.senderIP |
principal.asset.ip,principal.ip |
|
item.spamScore |
security_result.detection_fields |
|
item.subject |
network.email.subject |
|
item.threats.classification |
security_result.detection_fields |
|
item.threats.threat |
security_result.detection_fields |
|
item.threats.threatID |
security_result.detection_fields |
|
item.threats.threatStatus |
security_result.detection_fields |
|
item.threats.threatTime |
security_result.detection_fields |
|
item.threats.threatType |
security_result.detection_fields |
|
item.threats.threatUrl |
security_result.detection_fields |
|
key.data |
security_result.detection_fields |
|
labeledCharset |
additional.fields |
|
labeledExt |
additional.fields |
|
labeledMime |
about.file.mime_type |
|
labeledName |
about.file.full_path |
|
malwareScore |
security_result.detection_fields |
|
matches.offset |
additional.fields |
|
matches.part |
additional.fields |
|
MEDIUM |
security_result.severity |
[audit][level] =~ "(?i)(warn)"인 경우 |
messageID |
network.email.mail_id |
data 필드에서 추출됩니다. |
messageSize |
security_result.detection_fields |
|
messageTime |
metadata.event_timestamp |
|
metadata.customerId |
principal.resource.attribute.labels |
|
metadata.origin.data.agent |
network.http.parsed_user_agent,network.http.user_agent |
data 필드의 키-값 쌍에서 추출됩니다. |
metadata.origin.data.cid |
additional.fields |
|
metadata.origin.data.mode |
additional.fields |
|
metadata.origin.data.theater |
additional.fields,principal.location.country_or_region |
principal.location.country_or_region는 data 필드의 키-값 쌍에서 추출됩니다. |
metadata.origin.data.version |
metadata.product_version |
data 필드의 키-값 쌍에서 추출됩니다. |
metadata.origin.schemaVersion |
additional.fields |
|
mod |
security_result.detection_fields |
|
modulesRun |
additional.fields |
|
msg.header.cc |
additional.fields |
|
msg.header.from |
additional.fields,principal.user.email_addresses |
principal.user.email_addresses는 루프를 사용하여 이 필드에 매핑되며, JSON 배열 요소가 여기에 병합되거나 JSON이 아닌 문자열이 여기에 매핑됩니다. |
msg.header.message-id.0 |
additional.fields,network.email.mail_id |
|
msg.header.reply-to.0 |
additional.fields,network.email.reply_to |
|
msg.header.to |
additional.fields,target.user.email_addresses |
target.user.email_addresses은 루프를 사용하여 JSON이 아닌 문자열로 여기에 매핑됩니다. |
msg.header.x-mailer |
additional.fields |
|
msg.lang |
additional.fields |
|
msg.normalizedHeader.from |
principal.user.email_addresses |
루프를 사용하여 이 필드에 매핑됩니다. JSON 배열 요소가 여기에 병합되고 JSON이 아닌 문자열이 여기에 매핑됩니다. |
msg.normalizedHeader.subject |
network.email.subject |
msg.normalizedHeader.subject가 subject 원시 로그 필드 값과 같지 않은 경우 |
msg.normalizedHeader.to |
target.user.email_addresses |
루프를 사용하여 이 필드에 매핑됩니다. JSON이 아닌 문자열은 여기에 매핑됩니다. |
msg.normalizedHeader.x-mailer |
additional.fields |
|
msg.parsedAddresses.from.0 |
additional.fields,network.email.from |
|
msg.parsedAddresses.to |
target.user.email_addresses |
루프를 사용하여 이 필드에 매핑됩니다. JSON이 아닌 문자열은 여기에 매핑됩니다. |
msg.sizeBytes |
additional.fields |
|
msgBlocked.filename |
about.file.full_path |
|
msgBlocked.labeledMime |
about.file.mime_type |
|
msgBlocked.msgPart.detectedSizeBytes |
about.file.size |
|
msgBlocked.msgPart.md5 |
about.file.md5 |
|
msgheadersubject |
additional.fields |
|
msgheaderxmailervalue |
additional.fields |
|
msgPart.dataBase64 |
additional.fields |
|
msgPart.detectedCharset |
additional.fields |
|
msgPart.detectedMime |
additional.fields |
|
msgPart.detectedSizeBytes |
about.file.size |
|
msgPart.filename |
about.file.full_path |
|
msgPart.md5 |
about.file.md5 |
|
msgPart.metadata.appversion |
additional.fields |
|
msgPart.metadata.codepage |
additional.fields |
|
msgPart.metadata.color-scheme |
additional.fields |
|
msgPart.metadata.content-language |
additional.fields |
|
msgPart.metadata.format-detection |
additional.fields |
|
msgPart.metadata.history[1]/stevt:action |
additional.fields |
|
msgPart.metadata.history[1]/stevt:softwareagent |
additional.fields |
|
msgPart.metadata.history[1]/stevt:when |
additional.fields |
|
msgPart.oContentType |
additional.fields |
|
msgPart.sha256 |
about.file.sha256 |
|
msgs.metadata._PROOFPOINT_CONTENT_LENGTH_ |
additional.fields |
|
msgs.metadata.application |
additional.fields |
|
msgs.metadata.appname |
additional.fields |
|
msgs.metadata.author |
security_result.detection_fields |
|
msgs.metadata.company |
security_result.detection_fields |
|
msgs.metadata.createdate |
additional.fields |
|
msgs.metadata.documentid |
additional.fields |
|
msgs.metadata.instanceid |
additional.fields |
|
msgs.metadata.modifydate |
additional.fields |
|
msgs.metadata.pagecount |
additional.fields |
|
msgs.metadata.subject |
additional.fields |
|
msgs.metadata.title |
additional.fields |
|
msgs.textExtracted |
additional.fields |
|
msgUrls.url |
additional.fields,security_result.detection_fields |
|
normalizedHeader.x_originating_ip |
principal.asset.ip,principal.ip |
|
normalizedHeaderfromHashed |
additional.fields |
|
normalizedHeaderHashedvalue |
additional.fields |
|
normalizedHeaderMessageidvalue |
additional.fields |
|
normalizedheaderreplytohashed |
additional.fields |
|
normalizedheaderreturnpath |
additional.fields |
|
oContentType |
additional.fields |
|
OUTBOUND |
network.direction |
[rule] == "outbound", [filter][routeDirection] == "outbound" 또는 [quarantineRule] =~ "outbound"인 경우 |
parsed.useragent |
network.http.parsed_user_agent |
|
parsed_stat_value |
security_result.detection_fields |
|
parsedAddress |
network.email.cc |
[parsedAddress] =~ "^.+@.+$"인 경우 |
parsedAddressesfromHashedvalue |
additional.fields |
|
parsedaddressesreplytohashed |
additional.fields |
|
parsedAddrestoHashedvalue |
additional.fields |
|
phishScore |
security_result.detection_fields |
|
pid |
principal.process.pid |
message 필드에서 추출됩니다. |
PoD |
metadata.product_name |
정적 할당 |
policy_route.* |
additional.fields |
[list_values] / map 함수를 사용했습니다. |
policyRoutes |
additional.fields |
|
pps.agent |
observer.hostname |
|
prod_event_name |
metadata.product_event_type |
message 필드에서 추출됩니다. |
Proofpoint |
metadata.vendor_name |
정적 할당 |
QID |
security_result.detection_fields |
|
QUARANTINE |
security_result.action |
[filter][disposition] == "quarantine"인 경우 |
quarantineFolder |
security_result.detection_fields |
|
quarantineRule |
security_result.detection_fields |
|
queryEndTime |
metadata.collected_timestamp |
|
rcd.error |
additional.fields |
|
rcd.record |
additional.fields |
|
rcpt |
additional.fields,security_result.detection_fields |
|
rcpt_hashed |
additional.fields |
|
reply |
network.email.reply_to |
data 필드의 키-값 쌍에서 추출됩니다. [reply] =~ "^.+@.+$"인 경우 |
replytohashed |
additional.fields |
|
res.emailIdentities.header.from |
additional.fields |
|
res.emailIdentities.smtp.mailfrom |
additional.fields |
|
res.emailIdentities.smtp.mailfromHashed |
additional.fields |
|
res.method |
additional.fields |
|
res.propspec.header.d |
additional.fields |
|
res.propspec.header.s |
additional.fields |
|
rules.name |
additional.fields |
|
rules.severity |
additional.fields |
|
s |
network.session_id |
data 필드에서 추출됩니다. |
safeBlockedListMatches_listType |
security_result.detection_fields |
|
safeBlockedListMatchesvalue.listType |
security_result.detection_fields |
|
safeBlockedListMatchesvalue.rule |
security_result.detection_fields |
|
sandbox.status |
additional.fields |
|
sec_result_action |
security_result.action |
|
sec_result_category |
security_result.category |
|
sender |
principal.user.email_addresses |
[sender] =~ "^.+@.+$"인 경우 |
senderIP |
principal.asset.ip,principal.ip |
|
SENDMAIL |
metadata.product_event_type |
[message] =~ "sendmail"인 경우 |
sendmail_hostname |
principal.asset.hostname,principal.hostname |
data 필드에서 추출됩니다. |
sendmail_process_name |
principal.process.file.full_path |
data 필드에서 추출됩니다. |
sendmail_qid |
additional.fields |
|
sendmail_ts |
metadata.collected_timestamp |
data 필드에서 추출됩니다. |
sig.engine |
security_result.detection_fields |
|
sig.isPresent |
security_result.detection_fields |
|
sig.signature |
security_result.detection_fields |
|
sizeDecodedBytes |
additional.fields |
|
sm.daemon |
additional.fields |
|
sm.delay |
additional.fields |
|
sm.dsn |
additional.fields |
|
sm.from |
network.email.from |
data 필드의 키-값 쌍에서 추출됩니다. [email_src] =~ "^.+@.+$"인 경우 |
sm.guid |
metadata.product_log_id |
data 필드의 키-값 쌍에서 추출됩니다. [message] =~ "sendmail"인 경우 |
sm.mailer |
additional.fields |
|
sm.messageTs |
additional.fields |
|
sm.msgid |
network.email.mail_id |
data 필드의 키-값 쌍에서 추출됩니다. |
sm.nrcpts |
additional.fields |
|
sm.pri |
additional.fields |
|
sm.qid |
security_result.detection_fields |
|
sm.stat |
security_result.description |
data 필드의 키-값 쌍에서 추출됩니다. |
sm.xdelay |
additional.fields |
|
smtoemail |
network.email.to |
[sm_to_email] =~ "^.+@.+$"인 경우 |
spamScore |
security_result.detection_fields |
|
SpamType |
security_result.detection_fields |
|
subject |
network.email.subject |
|
suborgs |
additional.fields |
|
threat |
security_result.detection_fields |
|
threatType |
security_result.detection_fields |
|
tls.verify |
security_result.action_details |
data 필드의 키-값 쌍에서 추출됩니다. [tls_verify] not in ["", "null", "None", "none", "NONE"]인 경우 |
to |
network.email.to |
[to] =~ "^.+@.+$"인 경우 |
ts |
metadata.event_timestamp |
|
uinteger |
network.received_bytes,network.sent_bytes |
|
UNKNOWN_ACTION |
security_result.action |
[filter][disposition] in ["hold", "retry"]인 경우 |
UNKNOWN_SEVERITY |
security_result.severity |
|
urlsource |
security_result.detection_fields |
|
value |
additional.fields |
|
x_originating_ip |
principal.asset.ip,principal.ip |
UDM 매핑 델타 참조
2026년 10월 13일에 Google SecOps는 Proofpoint On-Demand 파서의 새 버전을 출시했습니다. 이 버전에는 Proofpoint On-Demand 로그 필드를 UDM 필드에 매핑하는 방식에 대한 중요한 변경사항과 이벤트 유형 분류 (매핑)에 대한 업데이트가 포함되어 있습니다.
로그 필드 매핑 델타
다음 표에서는 Proofpoint On-Demand 로그 필드가 UDM 필드에 매핑되는 방식의 변경사항을 보여줍니다. 이전 매핑 열에는 2026년 10월 13일 이전에 노출된 필드가 나열되고 현재 매핑 열에는 새 필드가 나열됩니다.
| 로그 필드 | 이전 매핑 | 현재 매핑 |
|---|---|---|
connection.sid |
additional.fields |
security_result.detection_fields |
filter.modules.pdr.v2.response |
additional.fields |
security_result.detection_fields |
filter.modules.urldefense.counts.total |
additional.fields |
security_result.detection_fields |
filter.quarantine.expirationTs |
additional.fields |
security_result.detection_fields |
filter.quarantine.folder |
additional.fields |
security_result.detection_fields |
filter.quarantine.folderId |
additional.fields |
security_result.detection_fields |
filter.quarantine.module |
additional.fields |
security_result.detection_fields |
filter.quarantine.rule |
additional.fields |
security_result.detection_fields |
filter.quarantine.type |
additional.fields |
security_result.detection_fields |
messageTime |
additional.fields |
metadata.event_timestamp |
messagesBlocked.spamScore |
additional.fields |
security_result.detection_fields |
metadata.customerId |
additional.fields |
principal.resource.attribute.labelsmod |
msgParts.detectedSizeBytes |
additional.fields |
about.file.size |
msg_header_from_json_array.value |
additional.fields |
principal.user.email_addresses |
principal.resource.attribute.labelsmod |
additional.fields |
security_result.detection_fields |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.