Versa Networks Secure Access Service Edge (SASE) 로그 수집
이 문서에서는 Bindplane 에이전트를 사용하여 Versa Networks Secure Access Service Edge (SASE) 로그를 Google Security Operations로 수집하는 방법을 설명합니다.
Versa Networks SASE는 방화벽 이벤트, 위협 로그, 애플리케이션 분류, URL 필터링, IDS/IPS 감지, 알람 이벤트에 대한 syslog 메시지를 생성하는 통합 보안 및 네트워킹 플랫폼입니다. 파서는 syslog 메시지에서 키-값 쌍을 추출하여 통합 데이터 모델 (UDM)에 매핑합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Windows Server 2016 이상 또는
systemd가 설치된 Linux 호스트 - Bindplane 에이전트와 Versa Analytics 노드 간의 네트워크 연결
- 프록시 뒤에서 실행하는 경우 Bindplane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
- Versa SASE에 대한 액세스 권한
Google SecOps 수집 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
데이터 수집 인증 파일을 다운로드합니다. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
다음 안내에 따라 Windows 또는 Linux 운영체제에 Bindplane 에이전트를 설치합니다.
Windows 설치
- 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
다음 명령어를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet설치가 완료될 때까지 기다립니다.
다음을 실행하여 설치를 확인합니다.
sc query observiq-otel-collector서비스가 실행 중으로 표시되어야 합니다.
Linux 설치
- 루트 또는 sudo 권한으로 터미널을 엽니다.
다음 명령어를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh설치가 완료될 때까지 기다립니다.
다음을 실행하여 설치를 확인합니다.
sudo systemctl status observiq-otel-collector서비스가 active (running)으로 표시되어야 합니다.
추가 설치 리소스
추가 설치 옵션 및 문제 해결은 Bindplane 에이전트 설치 가이드를 참고하세요.
syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일 찾기
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
구성 파일 설정
config.yaml의 전체 내용을 다음 구성으로 바꿉니다.receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/versa_firewall: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body service: pipelines: logs/versa_firewall_to_chronicle: receivers: - tcplog exporters: - chronicle/versa_firewall
구성 매개변수
다음 자리표시자를 바꿉니다.
수신기 구성:
listen_address: 리슨할 IP 주소 및 포트입니다.0.0.0.0: 모든 인터페이스에서 수신 대기 (권장)- 포트
514는 표준 syslog 포트입니다 (Linux에서 루트 필요, 비루트의 경우1514사용). - Versa는 TCP 전송을 사용하므로
tcplog수신기가 필요합니다.
내보내기 도구 구성:
creds_file_path: 수집 인증 파일의 전체 경로입니다.- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps 콘솔에서 복사한 고객 IDendpoint: 지역 엔드포인트 URL:- 미국:
malachiteingestion-pa.googleapis.com - 유럽:
europe-malachiteingestion-pa.googleapis.com - 아시아:
asia-southeast1-malachiteingestion-pa.googleapis.com - 전체 목록은 리전 엔드포인트를 참고하세요.
- 미국:
구성 파일 저장
- 수정 후 파일을 저장합니다.
- Linux:
Ctrl+O,Enter,Ctrl+X순서로 누릅니다. - Windows: 파일 > 저장을 클릭합니다.
- Linux:
변경사항을 적용하려면 Bindplane 에이전트를 다시 시작하세요.
Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.
sudo systemctl restart observiq-otel-collector서비스가 실행 중인지 확인합니다.
sudo systemctl status observiq-otel-collector로그에서 오류를 확인합니다.
sudo journalctl -u observiq-otel-collector -f
Windows에서 Bindplane 에이전트를 다시 시작하려면 다음 옵션 중 하나를 선택하세요.
명령 프롬프트 또는 PowerShell(관리자 권한)
net stop observiq-otel-collector && net start observiq-otel-collector서비스 콘솔:
Win+R키를 누르고services.msc를 입력한 다음 Enter 키를 누릅니다.- observIQ OpenTelemetry Collector를 찾습니다.
- 마우스 오른쪽 버튼을 클릭하고 다시 시작을 선택합니다.
서비스가 실행 중인지 확인합니다.
sc query observiq-otel-collector로그에서 오류를 확인합니다.
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Versa Networks SASE 구성
관리자는 로그를 서드 파티 시스템으로 전달하기 위해 각 Versa Analytics 노드에서 원격 수집기를 구성해야 합니다.
로그 전달 사용 설정
- Versa 분석 서버에 로그인합니다.
cli명령어를 실행하여 CLI로 이동합니다.configure명령어를 실행하여 구성 모드로 전환한 다음load merge terminal을 입력합니다.다음 명령어를 복사하여 붙여넣어 로그 전달을 설정합니다 (
<collector_ip>및<collector_port>를 syslog 수집기의 IP 주소 및 포트로 바꿈).set system analytics log-collector-exporter destination-address <collector_ip> set system analytics log-collector-exporter destination-port <collector_port> set system analytics log-collector-exporter transport tcp set system analytics log-collector-exporter log-types firewall-log set system analytics log-collector-exporter log-types threat-log commit구성을 저장합니다.
save
세션 ID 로깅 사용 설정
IP 관련 정보를 로깅하려면 세션 ID 로깅을 사용 설정하세요.
- Versa Director에 로그인합니다.
- 감독 모드로 전환합니다.
- 구성 > 기기 > 테넌트 > 기기로 이동하여 어플라이언스 보기에 액세스합니다.
- 구성 > 기타 > 시스템 > 구성 > 구성을 선택합니다.
- 매개변수 창에서 수정을 클릭합니다.
- 매개변수 수정 창에서 LEF를 선택합니다.
- 방화벽 섹션에서 세션 ID 로깅 포함 체크박스를 선택합니다.
확인을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
accCkt |
additional.fields[].key: "accCkt"additional.fields[].value.string_value: accCkt |
accCkt 필드에서 직접 가져온 값입니다. |
accCktId |
additional.fields[].key: "accCktId"additional.fields[].value.string_value: accCktId |
accCktId 필드에서 직접 가져온 값입니다. |
accCktName |
additional.fields[].key: "accCktName"additional.fields[].value.string_value: accCktName |
accCktName 필드에서 직접 가져온 값입니다. |
accessType |
additional.fields[].key: "accessType"additional.fields[].value.string_value: accessType |
accessType 필드에서 직접 가져온 값입니다. |
action |
security_result.action: action |
action, type, idpAction, avAction 또는 urlAction이 '허용'이면 ALLOW입니다. action, type, idpAction, avAction 또는 urlAction이 'reject', 'drop', 'block', 'deny'인 경우 BLOCK idpAction이 UNKNOWN_ACTION이 아닌 경우 |
alarmCause |
security_result.detection_fields[].key: "alarmCause"security_result.detection_fields[].value: alarmCause |
alarmCause 필드에서 직접 가져온 값입니다. |
alarmClass |
security_result.detection_fields[].key: "alarmClass"security_result.detection_fields[].value: alarmClass |
alarmClass 필드에서 직접 가져온 값입니다. |
alarmClearable |
security_result.detection_fields[].key: "alarmClearable"security_result.detection_fields[].value: alarmClearable |
alarmClearable 필드에서 직접 가져온 값입니다. |
alarmEventType |
metadata.product_event_type: alarmEventType |
alarmEventType 필드에서 직접 가져온 값입니다. |
alarmKey |
security_result.detection_fields[].key: "alarmKey"security_result.detection_fields[].value: alarmKey |
alarmKey 필드에서 직접 가져온 값입니다. |
alarmKind |
security_result.detection_fields[].key: "alarmKind"security_result.detection_fields[].value: alarmKind |
alarmKind 필드에서 직접 가져온 값입니다. |
alarmOwner |
security_result.detection_fields[].key: "alarmOwner"security_result.detection_fields[].value: alarmOwner |
alarmOwner 필드에서 직접 가져온 값입니다. |
alarmSeqNo |
security_result.detection_fields[].key: "alarmSeqNo"security_result.detection_fields[].value: alarmSeqNo |
alarmSeqNo 필드에서 직접 가져온 값입니다. |
alarmSeverity |
security_result.severity_details: alarmSeverity |
alarmSeverity 필드에서 직접 가져온 값입니다. |
alarmText |
security_result.summary: alarmText |
alarmText 필드에서 직접 가져온 값으로, 큰따옴표가 삭제됩니다. |
alarmType |
security_result.description: alarmType |
alarmType 필드에서 직접 가져온 값입니다. |
appFamily |
metadata.product_event_type: appFamilysecurity_result.detection_fields[].key: "appFamily"security_result.detection_fields[].value: appFamily |
appFamily 필드에서 직접 가져온 값입니다. |
appId |
security_result.detection_fields[].key: "Application ID"security_result.detection_fields[].value: appId |
appId 필드에서 직접 가져온 값입니다. |
appIdStr |
security_result.detection_fields[].key: "appIdStr"security_result.detection_fields[].value: appIdStr |
appIdStr 필드에서 직접 가져온 값입니다. |
applianceName |
principal.hostname: applianceName |
applianceName, siteName 또는 site 필드에서 직접 가져온 값입니다. |
appProductivity |
security_result.detection_fields[].key: "appProductivity"security_result.detection_fields[].value: appProductivity |
appProductivity 필드에서 직접 가져온 값입니다. |
appRisk |
security_result.severity_details: appRisk |
appRisk 필드에서 직접 가져온 값입니다. |
appSubFamily |
security_result.detection_fields[].key: "appSubFamily"security_result.detection_fields[].value: appSubFamily |
appSubFamily 필드에서 직접 가져온 값입니다. |
avAccuracy |
additional.fields[].key: "avAccuracy"additional.fields[].value.string_value: avAccuracy |
avAccuracy 필드에서 직접 가져온 값입니다. |
avAction |
security_result.action: avAction |
로직은 action를 참고하세요. |
avMalwareName |
security_result.threat_name: avMalwareName |
avMalwareName 필드에서 직접 가져온 값입니다. |
avMalwareType |
security_result.category_details: avMalwareType |
avMalwareType 필드에서 직접 가져온 값입니다. |
classMsg |
security_result.description: classMsg |
classMsg 필드에서 직접 가져온 값으로, 큰따옴표가 삭제됩니다. |
clientIPv4Address |
target.ip: clientIPv4Address |
clientIPv4Address 필드에서 직접 가져온 값입니다. |
destIp |
target.ip: destIpdestinationIPv4Address: destIp |
destIp 필드에서 직접 가져온 값입니다. |
destinationIPv4Address |
target.ip: destinationIPv4Address |
destinationIPv4Address에서 직접 가져온 값 또는 networkPrefix 필드에서 파생된 값입니다. |
destinationIPv6Address |
target.ip: destinationIPv6Address |
destinationIPv6Address 필드에서 직접 가져온 값입니다. |
destinationPort |
target.port: destinationPort |
destinationPort 필드에서 직접 가져와 정수로 변환된 값입니다. |
destinationTransportPort |
target.port: destinationTransportPort |
destinationTransportPort 필드에서 직접 가져와 정수로 변환된 값입니다. |
deviceKey |
about.resource.attribute.labels[].key: "deviceKey"about.resource.attribute.labels[].value: deviceKey |
'알 수 없음'이 아닌 경우 deviceKey 필드에서 직접 가져온 값입니다. |
deviceName |
about.resource.attribute.labels[].key: "deviceName"about.resource.attribute.labels[].value: deviceName |
'알 수 없음'이 아닌 경우 deviceName 필드에서 직접 가져온 값입니다. |
duration |
network.session_duration.seconds: duration |
duration 필드에서 직접 가져와 정수로 변환된 값입니다. |
egressInterfaceName |
additional.fields[].key: "egressInterfaceName"additional.fields[].value.string_value: egressInterfaceName |
egressInterfaceName 필드에서 직접 가져온 값입니다. |
event.type |
metadata.event_type: event.type |
applianceName (또는 sourceIPv4Address 또는 user 또는 sourceIPv6Address)와 destinationIPv4Address (또는 remoteSite 또는 destinationIPv6Address 또는 clientIPv4Address 또는 hostname)가 모두 있으면 NETWORK_CONNECTION입니다. 그 외의 경우 STATUS_UPDATE를 사용합니다. applianceName가 비어 있으면 GENERIC_EVENT입니다. |
eventType |
principal.resource.attribute.labels[].key: "eventType"principal.resource.attribute.labels[].value: eventType |
eventType 필드에서 직접 가져온 값입니다. |
family |
security_result.detection_fields[].key: "family"security_result.detection_fields[].value: family |
family 필드에서 직접 가져온 값입니다. |
fc |
security_result.detection_fields[].key: "ForwardingClass"security_result.detection_fields[].value: fc |
fc 필드에서 직접 가져온 값입니다. |
fileTransDir |
additional.fields[].key: "fileTransDir"additional.fields[].value.string_value: fileTransDir |
fileTransDir 필드에서 직접 가져온 값입니다. |
filename |
target.file.names: filename |
filename 필드에서 직접 가져온 값입니다. |
flowCookie |
metadata.collected_timestamp: flowCookie |
flowCookie 필드에서 직접 가져온 값으로, UNIX 형식을 사용하여 타임스탬프로 변환됩니다. |
flowId |
principal.resource.product_object_id: flowId |
flowId 필드에서 직접 가져온 값입니다. |
forwardForwardingClass |
security_result.detection_fields[].key: "forwardForwardingClass"security_result.detection_fields[].value: forwardForwardingClass |
forwardForwardingClass 필드에서 직접 가져온 값입니다. |
fromCountry |
principal.location.country_or_region: fromCountrytarget.location.country_or_region: fromCountry |
fromCountry 필드에서 직접 가져온 값입니다. |
fromUser |
principal.user.userid: fromUser |
비어 있지 않거나 'unknown' 또는 'Unknown'이 아닌 경우 fromUser 필드에서 직접 가져온 값입니다. |
fromZone |
additional.fields[].key: "fromZone"additional.fields[].value.string_value: fromZone |
fromZone 필드에서 직접 가져온 값입니다. |
generateTime |
metadata.collected_timestamp: generateTime |
generateTime 필드에서 직접 가져온 값으로, UNIX 형식을 사용하여 타임스탬프로 변환됩니다. |
hostname |
target.hostname: hostname |
hostname 필드에서 직접 가져온 값입니다. |
httpUrl |
target.url: httpUrl |
httpUrl 필드에서 직접 가져온 값입니다. |
icmpTypeIPv4 |
additional.fields[].key: "icmpTypeIPv4"additional.fields[].value.string_value: icmpTypeIPv4 |
icmpTypeIPv4 필드에서 직접 가져온 값입니다. |
idpAction |
security_result.action: idpAction |
로직은 action를 참고하세요. |
ingressInterfaceName |
additional.fields[].key: "ingressInterfaceName"additional.fields[].value.string_value: ingressInterfaceName |
ingressInterfaceName 필드에서 직접 가져온 값입니다. |
ipsApplication |
additional.fields[].key: "ipsApplication"additional.fields[].value.string_value: ipsApplication |
ipsApplication 필드에서 직접 가져온 값입니다. |
ipsDirection |
security_result.detection_fields[].key: "ipsDirection"security_result.detection_fields[].value: ipsDirection |
ipsDirection 필드에서 직접 가져온 값입니다. |
ipsProfile |
security_result.detection_fields[].key: "ipsProfile"security_result.detection_fields[].value: ipsProfile |
ipsProfile 필드에서 직접 가져온 값입니다. |
ipsProfileRule |
security_result.rule_name: ipsProfileRule |
ipsProfileRule 필드에서 직접 가져온 값입니다. |
ipsProtocol |
network.ip_protocol: ipsProtocol |
ipsProtocol 필드에서 직접 가져온 값입니다. |
log_type |
metadata.description: log_typemetadata.log_type: log_type |
log_type 필드에서 직접 가져온 값입니다. |
mstatsTimeBlock |
metadata.collected_timestamp: mstatsTimeBlock |
mstatsTimeBlock 필드에서 직접 가져온 값으로, UNIX 형식을 사용하여 타임스탬프로 변환됩니다. |
mstatsTotRecvdOctets |
network.received_bytes: mstatsTotRecvdOctets |
mstatsTotRecvdOctets 필드에서 직접 가져와 부호 없는 정수로 변환된 값입니다. |
mstatsTotSentOctets |
network.sent_bytes: mstatsTotSentOctets |
mstatsTotSentOctets 필드에서 직접 가져와 부호 없는 정수로 변환된 값입니다. |
mstatsTotSessCount |
additional.fields[].key: "mstatsTotSessCount"additional.fields[].value.string_value: mstatsTotSessCount |
mstatsTotSessCount 필드에서 직접 가져온 값입니다. |
mstatsTotSessDuration |
network.session_duration.seconds: mstatsTotSessDuration |
mstatsTotSessDuration 필드에서 직접 가져와 정수로 변환된 값입니다. |
mstatsType |
security_result.category_details: mstatsType |
mstatsType 필드에서 직접 가져온 값입니다. |
networkPrefix |
target.ip: networkPrefixtarget.port: networkPrefix |
networkPrefix 필드에서 추출된 IP 주소입니다. networkPrefix 필드에서 추출된 포트가 정수로 변환됩니다. |
protocolIdentifier |
network.ip_protocol: protocolIdentifier |
protocolIdentifier 필드에서 직접 가져온 값으로, 정수로 변환되고 조회를 사용하여 IP 프로토콜 이름에 매핑됩니다. |
recvdOctets |
network.received_bytes: recvdOctets |
recvdOctets 필드에서 직접 가져와 부호 없는 정수로 변환된 값입니다. |
recvdPackets |
network.received_packets: recvdPackets |
recvdPackets 필드에서 직접 가져와 정수로 변환된 값입니다. |
remoteSite |
target.hostname: remoteSite |
remoteSite 필드에서 직접 가져온 값입니다. |
reverseForwardingClass |
security_result.detection_fields[].key: "reverseForwardingClass"security_result.detection_fields[].value: reverseForwardingClass |
reverseForwardingClass 필드에서 직접 가져온 값입니다. |
risk |
security_result.risk_score: risk |
risk 필드에서 직접 가져와 부동 소수점으로 변환된 값입니다. |
rule |
security_result.rule_name: rule |
rule 필드에서 직접 가져온 값입니다. |
sentOctets |
network.sent_bytes: sentOctets |
sentOctets 필드에서 직접 가져와 부호 없는 정수로 변환된 값입니다. |
sentPackets |
network.sent_packets: sentPackets |
sentPackets 필드에서 직접 가져와 정수로 변환된 값입니다. |
serialNum |
security_result.detection_fields[].key: "serialNum"security_result.detection_fields[].value: serialNum |
serialNum 필드에서 직접 가져온 값입니다. |
signatureId |
security_result.detection_fields[].key: "signatureID"security_result.detection_fields[].value: signatureId |
signatureId 필드에서 직접 가져온 값입니다. |
signatureMsg |
security_result.detection_fields[].key: "signatureMsg"security_result.detection_fields[].value: signatureMsg |
signatureMsg 필드에서 직접 가져온 값입니다. |
signaturePriority |
security_result.severity: signaturePriority |
signaturePriority이 'low' (대소문자 구분 안 함)이면 LOW signaturePriority이 'medium' (대소문자 구분 안 함)이면 MEDIUM입니다. signaturePriority이 'high' (대소문자 구분 안 함)이면 HIGH |
site |
principal.hostname: siteapplianceName: site |
site 필드에서 직접 가져온 값입니다. |
siteId |
additional.fields[].key: "siteId"additional.fields[].value.string_value: siteId |
siteId 필드에서 직접 가져온 값입니다. |
siteName |
principal.hostname: siteNameapplianceName: siteName |
siteName 필드에서 직접 가져온 값입니다. |
sourceIPv4Address |
principal.ip: sourceIPv4Address |
sourceIPv4Address 필드에서 직접 가져온 값입니다. |
sourceIPv6Address |
principal.ip: sourceIPv6Address |
sourceIPv6Address 필드에서 직접 가져온 값입니다. |
sourcePort |
principal.port: sourcePort |
sourcePort 필드에서 직접 가져와 정수로 변환된 값입니다. |
sourceTransportPort |
principal.port: sourceTransportPort |
sourceTransportPort 필드에서 직접 가져와 정수로 변환된 값입니다. |
subFamily |
security_result.detection_fields[].key: "subFamily"security_result.detection_fields[].value: subFamily |
subFamily 필드에서 직접 가져온 값입니다. |
tcpConnAborted |
additional.fields[].key: 'tcpConnAborted'additional.fields[].value.string_value: tcpConnAborted |
비어 있지 않거나 '0'이 아닌 경우 tcpConnAborted 필드에서 직접 가져온 값입니다. |
tcpConnRefused |
additional.fields[].key: "tcpConnRefused"additional.fields[].value.string_value: tcpConnRefused |
비어 있지 않거나 '0'이 아닌 경우 tcpConnRefused 필드에서 직접 가져온 값입니다. |
tcpPktsFwd |
network.sent_packets: tcpPktsFwd |
tcpPktsFwd 필드에서 직접 가져와 정수로 변환된 값입니다. |
tcpPktsRev |
network.received_packets: tcpPktsRev |
tcpPktsRev 필드에서 직접 가져와 정수로 변환된 값입니다. |
tcpReXmitFwd |
additional.fields[].key: "tcpReXmitFwd"additional.fields[].value.string_value: tcpReXmitFwd |
비어 있지 않거나 '0'이 아닌 경우 tcpReXmitFwd 필드에서 직접 가져온 값입니다. |
tcpReXmitRev |
additional.fields[].key: "tcpReXmitRev"additional.fields[].value.string_value: tcpReXmitRev |
비어 있지 않거나 '0'이 아닌 경우 tcpReXmitRev 필드에서 직접 가져온 값입니다. |
tcpSAA |
additional.fields[].key: "tcpSAA"additional.fields[].value.string_value: tcpSAA |
비어 있지 않거나 '0'이 아닌 경우 tcpSAA 필드에서 직접 가져온 값입니다. |
tcpSSA |
additional.fields[].key: "tcpSSA"additional.fields[].value.string_value: tcpSSA |
비어 있지 않거나 '0'이 아닌 경우 tcpSSA 필드에서 직접 가져온 값입니다. |
tcpSessCnt |
additional.fields[].key: "tcpSessCnt"additional.fields[].value.string_value: tcpSessCnt |
tcpSessCnt 필드에서 직접 가져온 값입니다. |
tcpSessDur |
network.session_duration.seconds: tcpSessDur |
tcpSessDur 필드에서 직접 가져와 정수로 변환된 값입니다. |
tcpSynAckReXmit |
additional.fields[].key: "tcpSynAckReXmit"additional.fields[].value.string_value: tcpSynAckReXmit |
비어 있지 않거나 '0'이 아닌 경우 tcpSynAckReXmit 필드에서 직접 가져온 값입니다. |
tcpSynReXmit |
additional.fields[].key: "tcpSynReXmit"additional.fields[].value.string_value: tcpSynReXmit |
비어 있지 않거나 '0'이 아닌 경우 tcpSynReXmit 필드에서 직접 가져온 값입니다. |
tcpTWHS |
additional.fields[].key: "tcpTWHS"additional.fields[].value.string_value: tcpTWHS |
비어 있지 않거나 '0'이 아닌 경우 tcpTWHS 필드에서 직접 가져온 값입니다. |
tenantId |
principal.resource.attribute.labels[].key: "tenantId"principal.resource.attribute.labels[].value: tenantId |
tenantId 필드에서 직접 가져온 값입니다. |
tenantName |
observer.hostname: tenantName |
tenantName 필드에서 직접 가져온 값입니다. |
threatType |
security_result.detection_fields[].key: "threatType"security_result.detection_fields[].value: threatType |
threatType 필드에서 직접 가져온 값입니다. |
toCountry |
target.location.country_or_region: toCountry |
toCountry 필드에서 직접 가져온 값입니다. |
toZone |
additional.fields[].key: "toZone"additional.fields[].value.string_value: toZone |
toZone 필드에서 직접 가져온 값입니다. |
traffType |
additional.fields[].key: "traffType"additional.fields[].value.string_value: traffType |
traffType 필드에서 직접 가져온 값입니다. |
ts |
metadata.event_timestamp: ts |
ts 필드에서 직접 가져와 타임스탬프로 변환된 값입니다. |
type |
security_result.action: type |
로직은 action를 참고하세요. |
urlAction |
security_result.action: urlAction |
로직은 action를 참고하세요. |
urlActionMessage |
security_result.summary: urlActionMessage |
urlActionMessage 필드에서 직접 가져온 값입니다. |
urlCategory |
principal.resource.attribute.labels[].key: "urlCategory"principal.resource.attribute.labels[].value: urlCategory |
urlCategory 필드에서 직접 가져온 값입니다. |
urlProfile |
additional.fields[].key: "urlProfile"additional.fields[].value.string_value: urlProfile |
urlProfile 필드에서 직접 가져온 값입니다. |
urlReputation |
security_result.severity_details: urlReputation |
urlReputation 필드에서 직접 가져온 값입니다. |
user |
principal.ip: user |
user 필드에서 직접 가져온 값입니다. |
vsnId |
principal.resource.attribute.labels[].key: "vsnId"principal.resource.attribute.labels[].value: vsnId |
vsnId 필드에서 직접 가져온 값입니다. 하드 코딩된 값입니다. 하드 코딩된 값입니다. |
applianceName |
event.idm.read_only_udm.intermediary.hostname |
변경 로그에서 매핑됨 |
postNATSourceIPv4Address |
event.idm.read_only_udm.principal.nat_ip |
변경 로그에서 매핑됨 |
postNATDestinationIPv4Address |
event.idm.read_only_udm.target.nat_ip |
변경 로그에서 매핑됨 |
postNAPTsourceTransportPort |
event.idm.read_only_udm.principal.nat_port |
변경 로그에서 매핑됨 |
postNAPTdestinationTransportPort |
event.idm.read_only_udm.target.nat_port |
변경 로그에서 매핑됨 |
natRuleName |
event.idm.read_only_udm.security_result.rule_name |
변경 로그에서 매핑됨 |
natEvent |
event.idm.read_only_udm.metadata.product_event_type |
변경 로그에서 매핑됨 |
log_type |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
flowCookie |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
flowId |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
sourceNatPoolName |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
destNatPoolName |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
deviceKey |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
deviceName |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
observationTimeMilliseconds |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
threatSeverity |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfBadCname |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfEvType |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfDomain |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfMsgType |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfProfileName |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
dnsfIpReputation |
event.idm.read_only_udm.security_result.category_details |
변경 로그에서 매핑됨 |
dnsfAction |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
HitCount |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
groupId |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
signatureRev |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
packetTime |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
moduleId |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
dnsfBadResolvedV4Addr |
event.idm.read_only_udm.target.ip 및 event.idm.read_only_udm.target.asset.ip |
변경 로그에서 매핑됨 |
dnsfIpGeoLocation |
event.idm.read_only_udm.target.location.country_or_region |
변경 로그에서 매핑됨 |
sourceIPv4Address |
event.idm.read_only_udm.metadata.description |
변경 로그에서 매핑됨 |
destinationIPv4Address |
event.idm.read_only_udm.metadata.description |
변경 로그에서 매핑됨 |
host |
event.idm.read_only_udm.target.hostname |
변경 로그에서 매핑됨 |
eipProfileName |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
traffScope |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
srcSGT |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
destSGT |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ucsBand |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ucsReason |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
urlLookupSrc |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
protocolInfo |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ecsBand |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ecsReason |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
appAuth |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ucsScore |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
policyActionName |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
policyActionModule |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
ecsScore |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
applianceId |
event.idm.read_only_udm.intermediary.asset.product_object_id |
변경 로그에서 매핑됨 |
inter_hostname |
event.idm.ready_only_udm.intermediary.hostname |
변경 로그에서 매핑됨 |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.