Cloudflare 로그 수집
개요
이 파서는 다양한 Cloudflare 로그 유형 (DNS, HTTP, 감사, 제로 트러스트, CASB)을 처리합니다. 먼저 일반 필드를 정규화한 다음 QueryName, Action, ID와 같은 특정 필드를 기반으로 조건부 로직을 적용하여 관련 데이터를 추출하고 UDM에 매핑합니다. 또한 데이터 유형 변환, IP 주소 및 해시의 grok 일치를 실행하고 중첩된 JSON 페이로드를 처리합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Google Cloud IAM에 대한 액세스 권한 관리
- Google Cloud Storage에 대한 액세스 권한 관리
- Cloudflare에 대한 액세스 권한 관리
스토리지 버킷 만들기 Google Cloud
- Google Cloud 콘솔에 로그인합니다.
Cloud Storage 버킷 페이지로 이동합니다.
만들기를 클릭합니다.
버킷 만들기 페이지에서 버킷 정보를 입력합니다. 다음 각 단계를 완료한 후 계속을 클릭하여 다음 단계로 진행합니다.
시작하기 섹션에서 다음을 수행합니다.
- 버킷 이름 요구사항을 충족하는 고유한 이름을 입력합니다 (예: cloudflare-data).
- 계층적 네임스페이스를 사용 설정하려면 펼치기 화살표를 클릭하여 파일 지향 및 데이터 집약적인 워크로드에 최적화 섹션을 펼친 다음 이 버킷에서 계층적 네임스페이스 사용 설정을 선택합니다.
- 버킷 라벨을 추가하려면 펼치기 화살표를 클릭하여 라벨 섹션을 펼칩니다.
- 라벨 추가를 클릭하고 라벨의 키와 값을 지정합니다.
데이터 저장 위치 선택 섹션에서 다음을 수행합니다.
- 위치 유형을 선택합니다.
- 위치 유형 드롭다운을 사용하여 버킷 내 객체 데이터가 영구적으로 저장될 위치를 선택합니다.
- 이중 리전 위치 유형을 선택하는 경우 관련 체크박스를 사용하여 터보 복제를 사용 설정할 수도 있습니다.
- 버킷 간 복제를 설정하려면 버킷 간 복제 설정 섹션을 펼칩니다.
데이터의 스토리지 클래스 선택 섹션에서 버킷에 기본 스토리지 클래스를 선택하거나, 버킷 데이터의 자동 스토리지 클래스 관리에 자동 클래스를 선택합니다.
객체 액세스를 제어하는 방식 선택 섹션에서 공개 액세스 방지를 적용하지 않음을 선택하고 버킷의 객체에 대한 액세스 제어 모델을 선택합니다.
객체 데이터 보호 방법 선택 섹션에서 다음을 수행합니다.
- 버킷에 설정할 데이터 보호 아래의 옵션을 선택합니다.
- 객체 데이터의 암호화 방법을 선택하려면 데이터 암호화라는 펼치기 화살표를 클릭하고 데이터 암호화 방법을 선택합니다.
만들기를 클릭합니다.
Google Cloud 서비스 계정 만들기
- IAM 및 관리자 > 서비스 계정으로 이동합니다.
- 새 서비스 계정 만들기
- 설명이 포함된 이름을 지정합니다 (예: cloudflare-logs).
- 이전 단계에서 만든 GCS 버킷에 스토리지 객체 생성자 역할이 있는 서비스 계정을 부여합니다.
- 서비스 계정의 서비스 계정 키를 만듭니다.
- 서비스 계정의 JSON 키 파일을 다운로드합니다. 이 파일을 안전하게 보관하세요.
Cloudflare IAM을 Google Cloud Storage에 사용 설정
- 스토리지 > 브라우저 > 버킷 > 권한으로 이동합니다.
- 스토리지 객체 관리자 권한이 있는 구성원
logpush@cloudflare-data.iam.gserviceaccount.com
을 추가합니다.
피드 설정
피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정 > 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: Cloudflare 로그).
- 소스 유형으로 Google Cloud Storage V2를 선택합니다.
- 로그 유형으로 Cloudflare를 선택합니다.
- Chronicle 서비스 계정으로 서비스 계정 가져오기를 클릭합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- 스토리지 버킷 URI:
gs://my-bucket/<value>
형식의 Google Cloud 스토리지 버킷 URL입니다. - 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
- 스토리지 버킷 URI:
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
Google Cloud Storage로 로그를 전송하도록 Cloudflare 구성
- Cloudflare 대시보드에 로그인합니다.
- Logpush와 함께 사용할 엔터프라이즈 계정 또는 도메인 (영역이라고도 함)을 선택합니다.
- 분석 및 로그 > Logpush로 이동합니다.
- Logpush 작업 만들기를 선택합니다.
- 대상 선택에서 Google Cloud Storage를 선택합니다.
다음 대상 세부정보를 입력하거나 선택합니다.
- 버킷: GCS 버킷 이름
- 경로: 스토리지 컨테이너 내 버킷 위치
- 체크박스: 로그를 일별 하위 폴더로 정리 (권장)
계속을 클릭합니다.
소유권 확인:
- Cloudflare에서 버킷으로 파일을 전송합니다.
- 토큰을 복사하여 붙여넣습니다.
- Google Cloud 콘솔 > 스토리지 > Cloudflare 버킷에 로그인합니다.
- 소유권 확인 파일을 엽니다.
- 소유권 토큰을 복사합니다.
- Cloudflare 콘솔에 소유권 토큰을 입력합니다.
- 계속을 선택합니다.
- 버킷으로 푸시할 데이터 세트를 선택합니다.
logpush 작업 구성:
- 작업 이름을 입력합니다.
- 로그가 일치하는 경우에서 로그에 포함하거나 삭제할 이벤트를 선택할 수 있습니다.
- 다음 필드 보내기: 모든 로그를 푸시하거나 푸시할 로그를 선택합니다.
제출을 선택하여 구성을 완료합니다.
UDM 매핑 테이블
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
AccountID |
target.resource.id , target.resource.product_object_id |
이벤트와 연결된 계정 ID입니다. |
Action |
security_result.action |
이벤트를 기반으로 취해진 조치입니다. allow 또는 allowed* 는 ALLOW 로 이어집니다. unknown 의 결과는 UNKNOWN_ACTION 입니다. 다른 값은 BLOCK 이 됩니다. 액세스 로그의 경우 이메일이 있으면 login 가 USER_LOGIN 에, logout 가 USER_LOGOUT 에, 기타 값이 USER_RESOURCE_ACCESS 에 매핑됩니다. |
ActionResult |
security_result.action |
true 이면 ALLOW 에 매핑됩니다. false 이면 BLOCK 에 매핑됩니다. 그렇지 않으면 UNKNOWN_ACTION 로 매핑됩니다. |
ActionType |
security_result.description |
실행된 작업에 대한 설명입니다. |
ActorEmail |
principal.user.email_addresses |
이벤트를 시작하는 행위자의 이메일 주소입니다. |
ActorID |
principal.user.product_object_id |
이벤트를 시작한 행위자의 ID입니다. |
ActorIP |
principal.ip , principal.asset.ip |
이벤트를 시작한 행위자의 IP 주소입니다. |
Allowed |
security_result.action |
true 이면 ALLOW 에 매핑됩니다. 그렇지 않으면 BLOCK 로 매핑됩니다. |
AppDomain |
target.administrative_domain |
이벤트와 관련된 애플리케이션의 도메인입니다. |
AppUUID |
target.resource.product_object_id |
이벤트와 관련된 애플리케이션의 UUID입니다. |
AssetDisplayName |
principal.asset.attribute.labels.value (여기서 키는 AssetDisplayName ) |
애셋의 표시 이름입니다. |
AssetExternalID |
principal.asset_id ('Cloudflare:' 접두사) |
애셋의 외부 ID입니다. |
AssetLink |
principal.url |
저작물과 연결된 링크입니다. |
AssetMetadata.agreedToTerms |
principal.user.attribute.labels.value (여기서 키는 agreedToTerms ) |
사용자가 약관에 동의했는지 여부입니다. |
AssetMetadata.changePasswordAtNextLogin |
principal.user.attribute.labels.value (여기서 키는 changePasswordAtNextLogin ) |
사용자가 다음 로그인 시 비밀번호를 변경해야 하는지 여부입니다. |
AssetMetadata.clientId |
principal.user.userid |
애셋 메타데이터의 클라이언트 ID입니다. |
AssetMetadata.customerId |
principal.user.userid |
저작물 메타데이터의 고객 ID입니다. |
AssetMetadata.familyName |
principal.user.last_name |
애셋 메타데이터의 사용자 성입니다. |
AssetMetadata.givenName |
principal.user.first_name |
애셋 메타데이터의 사용자 이름입니다. |
AssetMetadata.includeInGlobalAddressList |
principal.user.attribute.labels.value (여기서 키는 includeInGlobalAddressList ) |
사용자가 전체 주소록에 포함되는지 여부입니다. |
AssetMetadata.ipWhitelisted |
principal.user.attribute.labels.value (여기서 키는 ipWhitelisted ) |
사용자가 IP 허용 목록에 있는지 여부입니다. |
AssetMetadata.isAdmin |
principal.user.attribute.labels.value (여기서 키는 isAdmin ) |
사용자가 관리자인지 여부입니다. |
AssetMetadata.isDelegatedAdmin |
principal.user.attribute.labels.value (여기서 키는 isDelegatedAdmin ) |
사용자가 위임된 관리자인지 여부입니다. |
AssetMetadata.isEnforcedIn2Sv |
principal.user.attribute.labels.value (여기서 키는 isEnforcedIn2Sv ) |
사용자에게 2단계 인증이 시행되는지 여부입니다. |
AssetMetadata.isEnrolledIn2Sv |
principal.user.attribute.labels.value (여기서 키는 isEnrolledIn2Sv ) |
사용자의 2단계 인증 등록 여부입니다. |
AssetMetadata.kind |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
AssetMetadata.lastLoginTime |
principal.user.attribute.labels.value (여기서 키는 lastLoginTime ) |
사용자의 마지막 로그인 시간입니다. |
AssetMetadata.login |
principal.user.userid |
저작물 메타데이터의 로그인 이름입니다. |
AssetMetadata.name.familyName |
principal.user.last_name |
저작물 메타데이터의 성입니다. |
AssetMetadata.name.fullName |
principal.user.user_display_name |
애셋 메타데이터의 전체 이름입니다. |
AssetMetadata.name.givenName |
principal.user.first_name |
저작물 메타데이터의 이름입니다. |
AssetMetadata.nativeApp |
security_result.detection_fields.value (여기서 키는 nativeApp ) |
앱이 네이티브인지 여부입니다. |
AssetMetadata.owner.id |
principal.user.userid |
저작물 메타데이터의 소유자 ID입니다. |
AssetMetadata.primaryEmail |
principal.user.email_addresses |
저작물 메타데이터의 기본 이메일입니다. |
AssetMetadata.scopes |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
AssetMetadata.site_admin |
principal.user.attribute.labels.value (여기서 키는 site_admin ) |
사용자가 사이트 관리자인지 여부입니다. |
AssetMetadata.suspended |
principal.user.attribute.labels.value (여기서 키는 suspended ) |
사용자가 정지되었는지 여부입니다. |
AssetMetadata.url |
principal.url |
저작물 메타데이터의 URL입니다. |
AssetMetadata.userKey |
principal.user.attribute.labels.value (여기서 키는 userKey ) |
애셋 메타데이터의 사용자 키입니다. |
BlockedFileHash |
target.file.md5 , target.file.sha1 , target.file.sha256 |
차단된 파일의 해시입니다. grok을 사용하여 md5, sha1 또는 sha256을 추출합니다. |
BlockedFileName |
security_result.about.file.full_path |
차단된 파일의 이름입니다. |
BlockedFileReason |
security_result.summary |
파일이 차단된 이유입니다. |
BlockedFileSize |
target.file.size |
차단된 파일의 크기입니다. |
BotScore |
security_result.detection_fields.value (여기서 키는 BotScore ) |
요청에 할당된 봇 점수입니다. |
BytesReceived |
network.received_bytes |
수신된 바이트 수입니다. |
BytesSent |
network.sent_bytes |
전송된 바이트 수입니다. |
CacheCacheStatus |
additional.fields.value.string_value (여기서 키는 CacheCacheStatus ) |
캐시 상태입니다. |
CacheResponseBytes |
additional.fields.value.string_value (여기서 키는 CacheResponseBytes ) |
캐시된 응답의 바이트 수입니다. |
CacheResponseStatus |
additional.fields.value.string_value (여기서 키는 CacheResponseStatus ) |
캐시된 응답의 상태 코드입니다. |
ClientASN |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
ClientCountry |
principal.location.country_or_region |
클라이언트의 국가입니다. |
ClientDeviceType |
additional.fields.value.string_value (여기서 키는 ClientDeviceType ) |
클라이언트 기기 유형입니다. |
ClientIP |
principal.ip , principal.asset.ip |
클라이언트의 IP 주소입니다. |
ClientRequestMethod |
network.http.method |
클라이언트에서 사용하는 HTTP 요청 메서드입니다. |
ClientRequestHost |
target.hostname , target.asset.hostname |
클라이언트가 요청한 호스트 이름입니다. |
ClientRequestPath |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
ClientRequestProtocol |
network.application_protocol |
클라이언트 요청에 사용된 프로토콜입니다 (예: HTTP, HTTPS) 프로토콜 버전이 삭제됩니다. |
ClientRequestReferer |
network.http.referral_url |
클라이언트 요청의 리퍼러 URL입니다. |
ClientRequestURI |
target.url (있는 경우 ClientRequestHost 와 결합됨) |
클라이언트가 요청한 URI입니다. |
ClientRequestUserAgent |
network.http.user_agent |
클라이언트 요청의 사용자 에이전트입니다. network.http.parsed_user_agent 에도 파싱되고 매핑됩니다. |
ClientSSLCipher |
network.tls.cipher |
클라이언트에서 사용되는 SSL 암호입니다. |
ClientSSLProtocol |
network.tls.version |
클라이언트에서 사용한 SSL 프로토콜입니다. |
ClientSrcPort |
principal.port |
클라이언트의 소스 포트입니다. |
ClientTCPHandshakeDurationMs |
additional.fields.value.string_value (여기서 키는 ClientTCPHandshakeDurationMs ) |
클라이언트 TCP 핸드셰이크의 기간입니다. |
ClientTLSHandshakeDurationMs |
additional.fields.value.string_value (여기서 키는 ClientTLSHandshakeDurationMs ) |
클라이언트 TLS 핸드셰이크 기간입니다. |
ClientTLSVersion |
network.tls.version |
클라이언트에서 사용한 TLS 버전입니다. |
ColoID |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
Connection |
target.resource.attribute.labels.value (여기서 키는 Connection ) |
연결 유형 (예: saml)입니다. |
ConnectionCloseReason |
additional.fields.value.string_value (여기서 키는 ConnectionCloseReason ) |
연결 종료 이유입니다. |
ConnectionReuse |
additional.fields.value.string_value (여기서 키는 ConnectionReuse ) |
연결 재사용이 발생했는지 여부입니다. |
Country |
target.location.country_or_region |
이벤트와 연결된 국가입니다. |
CreatedAt |
metadata.event_timestamp |
이벤트 생성 타임스탬프입니다. |
Datetime |
metadata.event_timestamp |
이벤트의 날짜와 시간입니다. |
DestinationIP |
target.ip , target.asset.ip |
대상 IP 주소입니다. |
DestinationPort |
target.port |
대상 포트. |
DestinationTunnelID |
additional.fields.value.string_value (여기서 키는 DestinationTunnelID ) |
대상 터널의 ID입니다. |
DeviceID |
principal.asset_id ('Cloudflare:' 접두사) |
기기의 ID입니다. |
DeviceName |
principal.hostname , principal.asset.hostname , principal.asset.attribute.labels.value (여기서 키는 DeviceName ) |
기기 이름입니다. |
DownloadedFileNames |
security_result.about.labels.value (여기서 키는 DownloadFileNames ) |
다운로드한 파일의 이름입니다. |
DstIP |
target.ip , target.asset.ip |
대상 IP 주소입니다. |
DstPort |
target.port |
대상 포트. |
EdgeColoCode |
additional.fields.value.string_value (여기서 키는 EdgeColoCode ) |
Cloudflare 에지 위치 코드입니다. |
EdgeColoID |
additional.fields.value.string_value (여기서 키는 EdgeColoID ) |
Cloudflare 에지 위치 ID입니다. |
EdgeEndTimestamp |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
EdgeResponseBytes |
network.received_bytes |
에지에서 받은 응답의 바이트 수입니다. |
EdgeResponseContentType |
target.file.mime_type |
에지 응답의 콘텐츠 유형입니다. |
EdgeResponseStatus |
network.http.response_code |
에지 응답의 상태 코드입니다. |
EdgeServerIP |
target.ip , target.asset.ip |
에지 서버의 IP 주소입니다. |
EdgeStartTimestamp |
metadata.event_timestamp |
에지에서 요청이 시작된 시간의 타임스탬프입니다. |
Email |
principal.user.email_addresses , target.user.email_addresses |
이벤트와 연결된 이메일 주소입니다. |
EgressColoName |
additional.fields.value.string_value (여기서 키는 EgressColoName ) |
이그레스 colo의 이름입니다. |
EgressIP |
principal.ip , principal.asset.ip |
이그레스 IP 주소입니다. network.direction 를 OUTBOUND 로 설정합니다. |
EgressPort |
principal.port |
이그레스 포트입니다. |
EgressRuleID |
additional.fields.value.string_value (여기서 키는 EgressRuleID ) |
이그레스 규칙의 ID입니다. |
EgressRuleName |
additional.fields.value.string_value (여기서 키는 EgressRuleName ) |
이그레스 규칙의 이름입니다. |
FindingTypeDisplayName |
security_result.description |
발견 항목 유형의 표시 이름입니다. |
FindingTypeID |
security_result.rule_id |
발견 항목 유형의 ID입니다. |
FindingTypeSeverity |
security_result.severity |
발견 항목 유형의 심각도입니다. |
FirewallMatchesActions |
security_result.action |
방화벽 규칙에 의해 수행된 작업입니다. allow , Allow , ALLOW , skip , SKIP , Skip 은 ALLOW 에 매핑됩니다. challengeSolved 및 jschallengeSolved 은 ALLOW_WITH_MODIFICATION 에 매핑됩니다. drop 및 block 은 BLOCK 에 매핑됩니다. 다른 값은 UNKNOWN_ACTION 에 매핑됩니다. |
FirewallMatchesRuleIDs |
security_result.rule_id (첫 번째 ID의 경우) 후속 ID는 새 security_result 객체를 만듭니다. |
일치하는 방화벽 규칙의 ID입니다. |
FirewallMatchesSources |
security_result.rule_name |
일치한 방화벽 규칙의 소스입니다. |
HTTPHost |
target.hostname |
HTTP 호스트입니다. |
HTTPMethod |
network.http.method |
HTTP 메서드 |
HTTPVersion |
network.application_protocol |
값에 'HTTP'가 포함된 경우 network.application_protocol 를 HTTP 로 설정합니다. |
ID |
metadata.product_log_id |
이벤트 ID입니다. |
IngressColoName |
additional.fields.value.string_value (여기서 키는 IngressColoName ) |
인그레스 colo의 이름입니다. |
InstanceID |
principal.resource.product_object_id |
인스턴스의 ID입니다. |
IntegrationDisplayName |
additional.fields.value.string_value (여기서 키는 IntegrationDisplayName ) |
통합의 표시 이름입니다. |
IntegrationID |
metadata.product_deployment_id |
통합의 ID입니다. |
IntegrationPolicyVendor |
additional.fields.value.string_value (여기서 키는 IntegrationPolicyVendor ) |
통합 정책의 공급업체입니다. |
IPAddress |
target.ip , target.asset.ip |
이벤트와 연결된 IP 주소입니다. |
IsIsolated |
about.labels.value (여기서 key는 IsIsolated ), security_result.about.resource.attribute.labels.value (여기서 key는 IsIsolated ) |
이벤트가 격리되었는지 여부입니다. |
Location |
principal.location.name |
이벤트와 연결된 위치입니다. |
NewValue |
security_result.about.labels.value (여기서 키는 NewValue ) |
업데이트 후의 새 값입니다. |
Offramp |
additional.fields.value.string_value (여기서 키는 Offramp ) |
연결에 사용되는 오프램프입니다. |
OldValue |
security_result.about.labels.value (여기서 키는 OldValue ) |
업데이트 전의 이전 값입니다. |
OriginIP |
intermediary.ip , target.ip , target.asset.ip |
원본 IP 주소입니다. |
OriginPort |
target.port |
원본 포트입니다. |
OriginResponseBytes |
additional.fields.value.string_value (여기서 키는 OriginResponseBytes ) |
원본 응답의 바이트 수입니다. |
OriginResponseStatus |
additional.fields.value.string_value (여기서 키는 OriginResponseStatus ) |
원본 응답의 상태 코드입니다. |
OriginResponseTime |
additional.fields.value.string_value (여기서 키는 OriginResponseTime ) |
원본의 응답 시간입니다. |
OriginSSLProtocol |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
OriginTLSCertificateIssuer |
additional.fields.value.string_value (여기서 키는 OriginTLSCertificateIssuer ) |
출처 TLS 인증서의 발급자입니다. |
OriginTLSCertificateValidationResult |
additional.fields.value.string_value (여기서 키는 OriginTLSCertificateValidationResult ) |
원본 TLS 인증서 유효성 검사 결과입니다. |
OriginTLSCipher |
additional.fields.value.string_value (여기서 키는 OriginTLSCipher ) |
원본 TLS 연결에 사용된 암호화입니다. |
OriginTLSHandshakeDurationMs |
additional.fields.value.string_value (여기서 키는 OriginTLSHandshakeDurationMs ) |
원본 TLS 핸드셰이크의 지속 시간입니다. |
OriginTLSVersion |
additional.fields.value.string_value (여기서 키는 OriginTLSVersion ) |
원본에서 사용한 TLS 버전입니다. |
OwnerID |
target.user.product_object_id |
소유자의 ID입니다. |
Policy |
security_result.rule_name |
이벤트와 연결된 정책입니다. |
PolicyID |
security_result.rule_id |
정책의 ID입니다. |
PolicyName |
security_result.rule_name |
정책의 이름입니다. |
Protocol |
network.application_protocol , network.ip_protocol |
연결에 사용된 프로토콜입니다. 'tls' 또는 'TLS'가 아닌 경우 대문자로 변환되고 network.application_protocol 에 매핑됩니다. 그렇지 않으면 include 파일을 사용하여 파싱되고 network.ip_protocol 에 매핑됩니다. |
PurposeJustificationPrompt |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
PurposeJustificationResponse |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
QueryCategoryIDs |
security_result.about.labels.value , security_result.about.resource.attribute.labels.value (키가 QueryCategoryIDs 인 경우) |
질문 카테고리의 ID입니다. |
QueryName |
network.dns.questions.name |
DNS 쿼리의 이름입니다. metadata.event_type 을 NETWORK_DNS 로, network.application_protocol 를 DNS 로 설정합니다. |
QueryNameReversed |
network.dns.questions.name |
DNS 쿼리의 역순 이름입니다. |
QuerySize |
network.sent_bytes |
쿼리 크기입니다. |
QueryType |
network.dns.questions.type |
DNS 쿼리 유형입니다. DNS 쿼리 유형 코드를 기반으로 숫자 값에 매핑됩니다. |
RData |
network.dns.answers.type , network.dns.answers.data |
DNS 레코드 데이터입니다. RData 배열의 각 요소는 새 answer 객체를 만듭니다. |
RayID |
metadata.product_log_id |
요청과 연결된 Ray ID입니다. |
Referer |
network.http.referral_url |
리퍼러 URL |
RequestID |
metadata.product_log_id |
요청 ID입니다. |
ResolverDecision |
security_result.summary |
해결자가 내린 결정입니다. |
ResourceID |
target.resource.id , target.resource.product_object_id |
리소스의 ID입니다. |
ResourceType |
target.resource.resource_subtype |
리소스 유형입니다. |
RuleEvaluationDurationMs |
additional.fields.value.string_value (여기서 키는 RuleEvaluationDurationMs ) |
규칙 평가 기간입니다. |
SNI |
network.tls.client.server_name |
TLS 클라이언트 hello의 서버 이름 표시 (SNI)입니다. |
SecurityAction |
security_result.action |
취해진 보안 조치입니다. 빈 값 또는 SecurityAction 가 ALLOW 에 매핑되지 않습니다. challengeSolved 또는 jschallengeSolved 이 ALLOW_WITH_MODIFICATION 에 매핑됩니다. drop 또는 block 이 BLOCK 에 매핑됩니다. |
SecurityLevel |
security_result.severity |
보안 수준입니다. high 은 HIGH 에, med 은 MEDIUM 에, low 은 LOW 에 매핑됩니다. |
SessionEndTime |
additional.fields.value.string_value (여기서 키는 SessionEndTime ) |
세션 종료 시간입니다. |
SessionID |
network.session_id |
세션의 ID입니다. |
SessionStartTime |
metadata.event_timestamp |
세션의 시작 시간입니다. |
SourceIP |
principal.ip , principal.asset.ip , src.ip , src.asset.ip |
소스 IP 주소입니다. |
SourcePort |
principal.port , src.port |
소스 포트. |
SrcIP |
principal.ip , principal.asset.ip |
소스 IP 주소입니다. |
SrcPort |
principal.port |
소스 포트. |
TemporaryAccessDuration |
network.session_duration.seconds |
임시 액세스 기간입니다. |
Timestamp |
metadata.event_timestamp |
이벤트의 타임스탬프입니다. |
Transport |
network.ip_protocol |
전송 프로토콜입니다. 대문자로 변환되고 include 파일을 사용하여 파싱됩니다. |
UploadedFileNames |
security_result.about.labels.value (여기서 키는 UploadedFileNames ) |
업로드된 파일의 이름입니다. |
URL |
target.url |
이벤트와 관련된 URL입니다. |
UserAgent |
network.http.user_agent |
사용자 에이전트 문자열입니다. network.http.parsed_user_agent 에도 파싱되고 매핑됩니다. |
UserID |
principal.user.product_object_id , event.idm.read_only_udm.target.user.product_object_id |
사용자의 ID입니다. |
UserUID |
target.user.product_object_id |
사용자의 UID입니다. |
VirtualNetworkID |
principal.resource.product_object_id |
가상 네트워크의 ID입니다. |
WAFAction |
security_result.about.labels.value (여기서 키는 WAFAction ) |
웹 애플리케이션 방화벽 (WAF)에서 취한 조치입니다. |
WAFAttackScore |
security_result.about.resource.attribute.labels.value (여기서 키는 WAFAttackScore ) |
WAF에서 할당한 공격 점수입니다. |
WAFFlags |
security_result.about.resource.attribute.labels.value (여기서 키는 WAFFlags ) |
WAF 플래그입니다. |
WAFMatchedVar |
(매핑되지 않음) | IDM 객체에 매핑되지 않았습니다. |
WAFProfile |
security_result.about.labels.value (여기서 키는 WAFProfile ) |
WAF 프로필입니다. |
WAFRCEAttackScore |
security_result.about.resource.attribute.labels.value (여기서 키는 WAFRCEAttackScore ) |
WAF 원격 코드 실행 (RCE) 공격 점수입니다. |
WAFRuleID |
security_result.threat_id , security_result.about.labels.value (키가 WAFRuleID 인 경우) |
WAF 규칙의 ID입니다. |
WAFRuleMessage |
security_result.rule_name , security_result.threat_name |
WAF 규칙과 연결된 메시지입니다. |
WAFSQLiAttackScore |
security_result.about.resource.attribute.labels.value (여기서 키는 WAFSQLiAttackScore ) |
WAF SQL 삽입 공격 점수입니다. |
WAFXSSAttackScore |
security_result.about.resource.attribute.labels.value (여기서 키는 WAFXSSAttackScore ) |
WAF 교차 사이트 스크립팅 (XSS) 공격 점수입니다. |
ZoneID |
additional.fields.value.string_value (여기서 키는 ZoneID ) |
영역 ID입니다. |
event.idm.read_only_udm.metadata.event_type |
metadata.event_type |
이벤트 유형입니다. 로그 데이터를 기반으로 파서에 의해 설정됩니다. 설정되지 않았거나 NETWORK_DNS 이벤트에 주체 또는 타겟이 없는 경우 기본값은 GENERIC_EVENT 입니다. NETWORK_DNS , NETWORK_CONNECTION , USER_LOGIN , USER_LOGOUT , USER_RESOURCE_ACCESS , USER_RESOURCE_UPDATE_CONTENT , GENERIC_EVENT 일 수 있습니다. |
event.idm.read_only_udm.metadata.log_type |
metadata.log_type |
로그 유형입니다. 'CLOUDFLARE'로 설정됩니다. |
event.idm.read_only_udm.metadata.product_deployment_id |
metadata.product_deployment_id |
제품 배포 ID입니다. |
event.idm.read_only_udm.metadata.product_log_id |
metadata.product_log_id |
제품 로그 ID입니다. |
event.idm.read_only_udm.metadata.product_name |
metadata.product_name |
제품 이름입니다. 로그 데이터를 기반으로 파서에 의해 설정됩니다. 'Cloudflare Gateway DNS', 'Cloudflare Gateway HTTP', 'Cloudflare Audit', 'Web Application Firewall'일 수 있습니다. |
event.idm.read_only_udm.metadata.vendor_name |
metadata.vendor_name |
공급업체 이름으로, 'Cloudflare'로 설정됩니다. |
event.idm.read_only_udm.metadata.event_timestamp |
metadata.event_timestamp |
이벤트의 타임스탬프입니다. |
event.idm.read_only_udm.network.application_protocol |
network.application_protocol |
네트워크 연결에 사용된 애플리케이션 프로토콜입니다. |
event.idm.read_only_udm.network.direction |
network.direction |
네트워크 연결 방향입니다. EgressIP 및 SourceIP 가 있는 경우 OUTBOUND 로 설정합니다. |
event.idm.read_only_udm.network.dns.answers |
network.dns.answers |
DNS 답변입니다. |
event.idm.read_only_udm.network.dns.questions |
network.dns.questions |
DNS 질문 |
event.idm.read_only_udm.network.http.method |
network.http.method |
HTTP 메서드 |
event.idm.read_only_udm.network.http.parsed_user_agent |
network.http.parsed_user_agent |
파싱된 사용자 에이전트입니다. |
event.idm.read_only_udm.network.http.referral_url |
network.http.referral_url |
HTTP 추천 URL입니다. |
event.idm.read_only_udm.network.http.response_code |
network.http.response_code |
HTTP 응답 코드입니다. |
event.idm.read_only_udm.network.http.user_agent |
network.http.user_agent |
HTTP 사용자 에이전트입니다. |
event.idm.read_only_udm.network.ip_protocol |
network.ip_protocol |
IP 프로토콜입니다. |
event.idm.read_only_udm.network.received_bytes |
network.received_bytes |
수신된 바이트 수입니다. |
event.idm.read_only_udm.network.sent_bytes |
network.sent_bytes |
전송된 바이트 수입니다. |
event.idm.read_only_udm.network.session_duration.seconds |
network.session_duration.seconds |
네트워크 세션의 지속 시간(초)입니다. |
event.idm.read_only_udm.network.session_id |
network.session_id |
네트워크 세션 ID입니다. |
event.idm.read_only_udm.network.tls.cipher |
network.tls.cipher |
TLS 암호화 스위트입니다. |
event.idm.read_only_udm.network.tls.client.server_name |
network.tls.client.server_name |
TLS 클라이언트 서버 이름입니다. |
event.idm.read_only_udm.network.tls.version |
network.tls.version |
TLS 버전입니다. |
event.idm.read_only_udm.principal.asset.attribute.labels |
principal.asset.attribute.labels |
기본 저작물과 연결된 라벨입니다. |
event.idm.read_only_udm.principal.asset.hostname |
principal.asset.hostname |
기본 애셋의 호스트 이름입니다. |
event.idm.read_only_udm.principal.asset.ip |
principal.asset.ip |
기본 애셋의 IP 주소입니다. |
event.idm.read_only_udm.principal.asset_id |
principal.asset_id |
기본 애셋의 ID입니다. |
event.idm.read_only_udm.principal.hostname |
principal.hostname |
주 구성원의 호스트 이름입니다. |
event.idm.read_only_udm.principal.ip |
principal.ip |
주체의 IP 주소입니다. |
event.idm.read_only_udm.principal.location.country_or_region |
principal.location.country_or_region |
주체의 위치 국가 또는 지역입니다. |
event.idm.read_only_udm.principal.location.name |
principal.location.name |
주 구성원의 위치 이름입니다. |
event.idm.read_only_udm.principal.port |
principal.port |
주 구성원이 사용하는 포트입니다. |
event.idm.read_only_udm.principal.resource.product_object_id |
principal.resource.product_object_id |
주체의 리소스의 제품 객체 ID입니다. |
event.idm.read_only_udm.principal.url |
principal.url |
주 구성원과 연결된 URL입니다. |
event.idm.read_only_udm.principal.user.attribute.labels |
principal.user.attribute.labels |
주 사용자에게 연결된 라벨입니다. |
event.idm.read_only_udm.principal.user.email_addresses |
principal.user.email_addresses |
주 사용자의 이메일 주소입니다. |
event.idm.read_only_udm.principal.user.first_name |
principal.user.first_name |
주 사용자의 이름입니다. |
event.idm.read_only_udm.principal.user.last_name |
principal.user.last_name |
주 사용자의 성입니다. |
event.idm.read_only_udm.principal.user.product_object_id |
principal.user.product_object_id |
주 사용자의 제품 객체 ID입니다. |
event.idm.read_only_udm.principal.user.userid |
principal.user.userid |
기본 사용자의 사용자 ID입니다. |
event.idm.read_only_udm.principal.user.user_display_name |
principal.user.user_display_name |
주 사용자의 표시 이름입니다. |
event.idm.read_only_udm.src.asset.ip |
src.asset.ip |
소스 애셋의 IP 주소입니다. |
event.idm.read_only_udm.src.ip |
src.ip |
소스의 IP 주소입니다. |
event.idm.read_only_udm.src.port |
src.port |
소스의 포트입니다. |
event.idm.read_only_udm.target.administrative_domain |
target.administrative_domain |
타겟의 관리 도메인입니다. |
event.idm.read_only_udm.target.asset.hostname |
target.asset.hostname |
타겟 애셋의 호스트 이름입니다. |
event.idm.read_only_udm.target.asset.ip |
target.asset.ip |
타겟 애셋의 IP 주소입니다. |
event.idm.read_only_udm.target.file.mime_type |
target.file.mime_type |
타겟 파일의 MIME 유형입니다. |
event.idm.read_only_udm.target.file.md5 |
target.file.md5 |
타겟 파일의 MD5 해시입니다. |
event.idm.read_only_udm.target.file.sha1 |
target.file.sha1 |
타겟 파일의 SHA1 해시입니다. |
event.idm.read_only_udm.target.file.sha256 |
target.file.sha256 |
타겟 파일의 SHA256 해시입니다. |
event.idm.read_only_udm.target.file.size |
target.file.size |
타겟 파일의 크기입니다. |
event.idm.read_only_udm.target.hostname |
target.hostname |
타겟의 호스트 이름입니다. |
event.idm.read_only_udm.target.ip |
target.ip |
타겟의 IP 주소입니다. |
event.idm.read_only_udm.target.location.country_or_region |
target.location.country_or_region |
타겟의 위치 국가 또는 지역입니다. |
event.idm.read_only_udm.target.port |
target.port |
타겟의 포트입니다. |
event.idm.read_only_udm.target.resource.attribute.labels |
target.resource.attribute.labels |
타겟 리소스와 연결된 라벨입니다. |
event.idm.read_only_udm.target.resource.id |
target.resource.id |
타겟 리소스의 ID입니다. |
event.idm.read_only_udm.target.resource.product_object_id |
target.resource.product_object_id |
타겟 리소스의 제품 객체 ID입니다. |
event.idm.read_only_udm.target.resource.resource_subtype |
target.resource.resource_subtype |
타겟 리소스의 리소스 하위 유형입니다. |
event.idm.read_only_udm.target.url |
target.url |
타겟의 URL입니다. |
event.idm.read_only_udm.target.user.email_addresses |
target.user.email_addresses |
대상 사용자의 이메일 주소입니다. |
event.idm.read_only_udm.target.user.product_object_id |
target.user.product_object_id |
타겟 사용자의 제품 객체 ID입니다. |
event.idm.read_only_udm.security_result.about.file.full_path |
security_result.about.file.full_path |
보안 결과와 관련된 파일의 전체 경로입니다. |
event.idm.read_only_udm.security_result.about.labels |
security_result.about.labels |
보안 결과와 연결된 라벨입니다. |
event.idm.read_only_udm.security_result.about.resource.attribute.labels |
security_result.about.resource.attribute.labels |
보안 결과의 리소스와 연결된 라벨입니다. |
event.idm.read_only_udm.security_result.action |
security_result.action |
보안 결과에서 취한 조치입니다. |
event.idm.read_only_udm.security_result.detection_fields |
security_result.detection_fields |
보안 결과의 감지 필드입니다. |
event.idm.read_only_udm.security_result.description |
security_result.description |
보안 결과에 대한 설명입니다. |
event.idm.read_only_udm.security_result.rule_id |
security_result.rule_id |
보안 결과의 규칙 ID입니다. |
event.idm.read_only_udm.security_result.rule_name |
security_result.rule_name |
보안 결과의 규칙 이름입니다. |
event.idm.read_only_udm.security_result.severity |
security_result.severity |
보안 결과의 심각도입니다. |
event.idm.read_only_udm.security_result.summary |
security_result.summary |
보안 결과 요약입니다. |
event.idm.read_only_udm.security_result.threat_id |
security_result.threat_id |
보안 결과의 위협 ID입니다. |
event.idm.read_only_udm.security_result.threat_name |
security_result.threat_name |
보안 결과의 위협 이름입니다. |
event.idm.read_only_udm.extensions.auth.type |
extensions.auth.type |
인증 유형입니다. 로그인 및 로그아웃 이벤트의 경우 MACHINE 로 설정합니다. |
event.idm.read_only_udm.about |
about |
정보에 관한 내용 |
event.idm.read_only_udm.additional.fields |
additional.fields |
추가 필드 |
event.idm.read_only_udm.intermediary |
intermediary |
중개자 정보 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.