> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/supported-logs/cloudflare.md).

# Cloudflare 로그

## 개요

Panther는 Cloudflare 로그를 Cloudflare의 [Logpush](https://developers.cloudflare.com/logs/about/) 서비스를 통해 수집할 수 있으며, 이 서비스는 로그를 Amazon Web Services (AWS) S3, Google Cloud Storage (GCS) 또는 Azure Blob Storage로 직접 스트리밍합니다.

{% hint style="info" %}
Cloudflare의 Logpush는 Cloudflare Enterprise 고객에게만 제공됩니다. 이 페이지의 일부 Cloudflare 로그 유형(예: [감사 로그](https://developers.cloudflare.com/logs/reference/log-fields/account/audit_logs))은 Logpush 없이 가져올 수 있지만, Panther가 지원하는 스키마는 Logpush로 전달될 때의 데이터 구조에 의존합니다.
{% endhint %}

{% hint style="info" %}
Panther는 Cloudflare에서 제공되는 30개 이상의 로그 유형 중 네 가지를 기본적으로 지원합니다. Cloudflare 데이터세트에 지원되지 않는 로그 유형이 포함되어 있다면, 대신 다음을 생성하는 것이 좋습니다: [S3 Data Transport 소스](/ko/data-onboarding/data-transports/aws/s3.md).

다음 중 어떤 것이든 연결할 수 있습니다 [Panther가 관리하는 Cloudflare 스키마](#supported-log-types) (다음을 제외하고 [`Cloudflare.Firewall`](#cloudflare.firewall))을 이 사용자 지정 로그 소스에 그대로 연결할 수 있습니다. Firewall 로그의 경우, 관리되는 [`Cloudflare.Firewall`](#cloudflare.firewall) 스키마를 복제한 뒤 `kind` 필드를 편집하여 `필수: true`.

추가 로그 유형의 경우, 다음을 사용하여 새 사용자 지정 스키마를 만드세요: [Infer Schema](https://docs.panther.com/data-onboarding/custom-log-types#how-to-infer-a-schema) 기능을 사용하면 샘플 이벤트에서 구조를 자동으로 생성할 수 있습니다.
{% endhint %}

## Cloudflare 로그를 Panther에 온보딩하는 방법

Cloudflare 로그를 S3 버킷, GCS 버킷 또는 Azure Blob 소스로 스트리밍하여 Panther로 수집할 수 있습니다.

### 사전 요구 사항

{% tabs %}
{% tab title="AWS S3" %}

* AWS 계정에 새 S3 버킷을 만드세요.
  * Cloudflare 로그 전용으로 새 S3 버킷을 만드는 것을 권장합니다. 기본 설정을 사용할 수 있습니다.
  * 버킷을 생성하는 리전을 확인해 두세요. Cloudflare에 제공해야 합니다.
    {% endtab %}

{% tab title="GCP GCS" %}

* Google Cloud Platform(GCP) 계정에 새 GCS 버킷을 만드세요.
  * Cloudflare 로그 전용으로 새 GCS 버킷을 만드는 것을 권장합니다. 기본 설정을 사용할 수 있습니다.
    {% endtab %}

{% tab title="Azure Blob" %}

* Azure 계정에 새 Blob Storage를 만드세요.
  * Cloudflare 로그 전용으로 새 Blob Storage를 만드는 것을 권장합니다. 기본 설정을 사용할 수 있습니다.
    {% endtab %}
    {% endtabs %}

### 1단계: Panther에서 Cloudflare 소스 설정

1. Panther Console의 왼쪽 탐색 모음에서 **로그 소스**.
2. 클릭합니다 **새로 만들기**.
3. “Cloudflare”를 검색한 다음 해당 타일을 클릭합니다.
   * 슬라이드아웃 패널에서 **전송 메커니즘** 오른쪽 상단의 드롭다운에는 미리 다음이 채워져 있습니다 **AWS S3 버킷** 옵션. 이 선택을 그대로 두거나 다음을 선택하세요: **Google Cloud Storage** 또는 **Azure Blob Storage**.
4. 클릭합니다 **설정 시작**.
5. 선택한 Data Transport를 구성하려면 Panther의 문서를 따르세요: [AWS S3](/ko/data-onboarding/data-transports/aws/s3.md), [Google Cloud Storage](/ko/data-onboarding/data-transports/google/cloud-storage.md) 또는 [Azure Blob Storage](/ko/data-onboarding/data-transports/azure/blob-storage.md).

### 2단계: Logpush를 구성하여 로그를 클라우드 스토리지 위치로 스트리밍합니다

{% hint style="info" %}
Logpush 작업의 데이터세트 유형을 선택할 때, Cloudflare에는 계정 범위 데이터와 존 범위 데이터에 대한 옵션이 있다는 점에 유의하세요. [감사 로그](#cloudflare.audit) 다음은 계정 범위이며, 반면 [Firewall](#cloudflare.firewall), [HttpRequest](#cloudflare.httprequest), 및 [Spectrum](#cloudflare.spectrum) 은 존 범위입니다.
{% endhint %}

{% tabs %}
{% tab title="AWS S3" %}

* Cloudflare의 다음 지침을 따르세요: [Amazon S3에 Logpush 사용 문서](https://developers.cloudflare.com/logs/get-started/enable-destinations/aws-s3/).
  {% endtab %}

{% tab title="GCP GCS" %}

* Cloudflare의 다음 지침을 따르세요: [Google Cloud Storage에 Logpush 사용](https://developers.cloudflare.com/logs/get-started/enable-destinations/google-cloud-storage/) 문서.
  {% endtab %}

{% tab title="Azure Blob" %}

* Cloudflare의 다음 지침을 따르세요: [Microsoft Azure에 Logpush 사용](https://developers.cloudflare.com/logs/get-started/enable-destinations/azure/) 문서.
  {% endtab %}
  {% endtabs %}

## Panther가 관리하는 디택션

참고 [Panther가 관리하는](/ko/detections/panther-managed.md) Cloudflare용 룰은 다음의 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/master/rules/cloudflare_rules).

## 지원되는 로그 유형

### Cloudflare.Audit

Cloudflare UI에서 이벤트 필드를 선택할 때는 다음을 포함해야 합니다: `When`, `ID`, 및 `ResourceType` 필드를 포함해야 합니다. Panther에서 필요하기 때문입니다.

```yaml
# Panther가 생성한 코드입니다; 수정하지 마세요. (@generated)
schema: Cloudflare.Audit
파서:
  네이티브:
    name: Cloudflare.Audit
description: 감사 로그는 Cloudflare 계정 내에서 이루어진 변경 이력의 요약입니다. 감사 로그에는 로그인 및 로그아웃과 같은 계정 수준 작업뿐만 아니라 존 구성 변경도 포함됩니다.
referenceURL: https://developers.cloudflare.com/logs/reference/log-fields/account/audit_logs
필드:
  - name: ActionResult
    description: 해당 작업이 성공했는지 여부
    유형: boolean
  - name: ActionType
    description: 수행된 작업의 유형
    유형: string
  - name: ActorEmail
    description: 행위자의 이메일
    유형: string
    지표:
      - email
  - name: ActorID
    description: Cloudflare 시스템에서 행위자의 고유 식별자
    유형: string
    지표:
      - username
  - name: ActorIP
    description: 행위자의 물리적 네트워크 주소
    유형: string
    지표:
      - ip
  - name: ActorType
    description: 감사 추적을 시작한 사용자의 유형
    유형: string
  - 이름: ID
    필수: true
    description: 감사 로그의 고유 식별자
    유형: string
  - name: Interface
    description: 감사 로그의 진입점 또는 인터페이스
    유형: string
  - name: Metadata
    description: 감사 로그 관련 추가 정보입니다. 메타데이터는 key:value 쌍으로 구성됩니다. Key와 Value 형식은 ResourceType에 따라 달라질 수 있습니다.
    유형: json
  - name: NewValue
    description: 감사 대상 항목의 새 값을 포함합니다
    유형: json
  - name: OldValue
    description: 감사 대상 항목의 이전 값을 포함합니다
    유형: json
  - name: OwnerID
    description: 실제로 작업을 수행했거나 대신 수행된 사용자의 식별자입니다. 사용자가 직접 작업을 수행한 경우 이 값은 ActorID와 동일합니다.
    유형: string
    지표:
      - username
  - name: ResourceID
    description: Cloudflare 시스템 내 리소스의 고유 식별자
    유형: string
  - name: ResourceType
    필수: true
    description: 변경된 리소스의 유형
    유형: string
  - name: When
    필수: true
    description: 변경이 발생한 시점
    유형: timestamp
    시간 형식:
      - cloudflare
    이벤트 시간 여부: true
```

### Cloudflare.Firewall

Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "Datetime" 필드를 포함해야 합니다.

참조: [방화벽 로그 필드에 대한 Cloudflare 문서.](https://developers.cloudflare.com/logs/reference/log-fields/#firewall-events)

```yaml
schema: Cloudflare.Firewall
description: Cloudflare Firewall 로그입니다. Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "Datetime" 필드를 포함해야 합니다.
referenceURL: https://developers.cloudflare.com/logs/log-fields#firewall-events
필드:
    - name: Action
      description: Cloudflare 방화벽이 이 요청에 대해 수행한 주요 동작의 코드
      유형: string
    - name: ClientASN
      description: 방문자의 ASN 번호
      유형: bigint
    - name: ClientASNDescription
      description: 방문자의 ASN을 문자열로 나타낸 값
      유형: string
    - name: ClientCountry
      description: 요청이 시작된 국가
      유형: string
    - name: ClientIP
      description: 방문자의 IP 주소(IPv4 또는 IPv6)
      유형: string
      지표:
        - ip
    - name: ClientIPClass
      description: '방문자의 IP 주소 분류입니다. 가능한 값은 다음과 같습니다: unknown | clean | badHost | searchEngine | whitelist | greylist | monitoringService |securityScanner | noRecord | scan | backupService | mobilePlatform | tor'
      유형: string
    - name: ClientRefererHost
      description: referer 호스트
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRefererPath
      description: 방문자가 요청한 referer 경로
      유형: string
    - name: ClientRefererQuery
      description: 방문자가 요청한 referer 쿼리 문자열
      유형: string
    - name: ClientRefererScheme
      description: 방문자가 요청한 referer URL 스킴
      유형: string
    - name: ClientRequestHost
      description: 방문자가 요청한 HTTP 호스트 이름
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRequestMethod
      description: 방문자가 사용한 HTTP 메서드
      유형: string
    - name: ClientRequestPath
      description: 방문자가 요청한 경로
      유형: string
    - name: ClientRequestProtocol
      description: 방문자가 요청한 HTTP 프로토콜 버전
      유형: string
    - name: ClientRequestQuery
      description: 방문자가 요청한 쿼리 문자열
      유형: string
    - name: ClientRequestScheme
      description: 방문자가 요청한 URL 스킴
      유형: string
    - name: ClientRequestUserAgent
      description: 방문자의 user-agent 문자열
      유형: string
    - name: Datetime
      필수: true
      description: 이벤트가 엣지에서 발생한 날짜와 시간
      유형: timestamp
      시간 형식:
        - cloudflare
      이벤트 시간 여부: true
    - 이름: Description
      description: 이 이벤트의 룰 설명
      유형: string
    - name: EdgeColoCode
      description: 이 요청을 제공한 Cloudflare 데이터센터의 공항 코드
      유형: string
    - name: EdgeResponseStatus
      description: 브라우저에 반환된 HTTP 응답 상태 코드
      유형: smallint
    - name: Kind
      description: '이벤트의 종류이며, 현재 가능한 값은 다음뿐입니다: firewall'
      유형: string
    - name: MatchIndex
      description: 체인에서 룰 일치 인덱스
      유형: bigint
    - name: Metadata
      description: 추가 제품별 정보입니다. 메타데이터는 key:value 쌍으로 구성됩니다. Key와 Value 형식은 Cloudflare 보안 제품에 따라 달라질 수 있으며 시간이 지나면서 변경될 수 있습니다.
      유형: json
    - name: OriginResponseStatus
      description: 브라우저에 반환된 HTTP origin 응답 상태 코드
      유형: smallint
    - name: OriginatorRayID
      description: challenge/jschallenge를 발행한 요청의 RayID
      유형: string
      지표:
        - trace_id
    - name: RayID
      description: 요청의 RayID
      유형: string
      지표:
        - trace_id
    - name: Ref
      description: 이 이벤트에 대한 사용자가 정의한 룰 참조
      유형: string
    - name: RuleID
      description: 이 요청으로 트리거된 Cloudflare 보안 제품별 RuleID
      유형: string
    - name: Source
      description: 이 요청으로 트리거된 Cloudflare 보안 제품
      유형: string
```

### Cloudflare.HttpRequest

Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "EdgeStartTimestamp" 필드를 포함해야 합니다.

참조: [요청 로그 필드에 대한 Cloudflare 문서.](https://developers.cloudflare.com/logs/reference/log-fields/#http-requests)

```yaml
schema: Cloudflare.HttpRequest
description: Cloudflare HTTP 요청 로그입니다. Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "EdgeStartTimestamp" 필드를 포함해야 합니다.
referenceURL: https://developers.cloudflare.com/logs/log-fields#http-requests
필드:
    - name: BotDetectionIDs
      description: 요청에 대해 수행된 Bot Management 휴리스틱 디택션과 연관된 ID 목록입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: array
      요소:
        유형: bigint
    - name: BotScore
      description: Cloudflare Bot Score(Bot Management 고객에게 제공됨; 활성화하려면 계정 팀에 문의하세요)
      유형: bigint
    - name: BotScoreSrc
      description: Bot Score가 계산되는 기반 디택션 엔진 또는 소스입니다. 가능한 값은 Not Computed | Heuristics | Machine Learning | Behavioral Analysis | Verified Bot 입니다.
      유형: string
    - name: BotTags
      description: 봇 트래픽의 유형입니다(사용 가능한 경우). 가능한 값 목록은 Bot Tags를 참조하세요. Logpush v2에서만 사용할 수 있습니다.
      유형: array
      요소:
        유형: string
    - name: CacheCacheStatus
      description: unknown | miss | expired | updating | stale | hit | ignored | bypass | revalidated
      유형: string
    - name: CacheReserveUsed
      description: 이 요청을 제공하는 데 Cache Reserve가 사용되었습니다. Logpush v2에서만 사용할 수 있습니다.
      유형: boolean
    - name: CacheResponseBytes
      description: 캐시에서 반환된 바이트 수
      유형: bigint
    - name: CacheResponseStatus
      description: 캐시가 엣지에 반환한 HTTP 상태 코드입니다. 모든 요청(캐시 불가능한 요청 포함)은 캐시를 거칩니다. CacheStatus 필드도 참조하세요.
      유형: smallint
    - name: CacheTieredFill
      description: 이 요청을 제공하는 데 Tiered Cache가 사용되었습니다
      유형: boolean
    - name: ClientASN
      description: 클라이언트 AS 번호
      유형: bigint
    - name: ClientCountry
      description: 클라이언트 IP 주소의 국가
      유형: string
    - name: ClientDeviceType
      description: 클라이언트 장치 유형
      유형: string
    - name: ClientIP
      description: 클라이언트의 IP 주소
      유형: string
      지표:
        - ip
    - name: ClientIPClass
      description: unknown | clean | badHost | searchEngine | whitelist | greylist | monitoringService | securityScanner | noRecord | scan |backupService | mobilePlatform | tor
      유형: string
    - name: ClientMTLSAuthCertFingerprint
      description: 클라이언트가 mTLS 인증 중 제시한 인증서의 SHA256 지문입니다. mTLS 연결의 첫 번째 요청에만 채워집니다. Logpush v2에서만 사용할 수 있습니다.
      유형: string
      지표:
        - sha256
    - name: ClientMTLSAuthStatus
      description: mTLS 인증 상태입니다. mTLS 연결의 첫 번째 요청에만 채워집니다. Logpush v2에서만 사용할 수 있습니다. 가능한 값은 unknown | ok | absent | untrusted | notyetvalid | expired 입니다.
      유형: string
    - name: ClientRegionCode
      description: 클라이언트 IP 주소의 ISO-3166-2 지역 코드입니다.
      유형: string
    - name: ClientRequestBytes
      description: 클라이언트 요청의 바이트 수
      유형: bigint
    - name: ClientRequestHost
      description: 클라이언트가 요청한 호스트
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRequestMethod
      description: 클라이언트 요청의 HTTP 메서드
      유형: string
    - name: ClientRequestPath
      description: 클라이언트가 요청한 URI 경로
      유형: string
    - name: ClientRequestProtocol
      description: 클라이언트 요청의 HTTP 프로토콜
      유형: string
    - name: ClientRequestReferer
      description: HTTP 요청 referrer
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRequestScheme
      description: 방문자가 요청한 URL 스킴입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRequestSource
      description: 요청이 외부 소스 또는 Cloudflare 내의 다른 서비스에서 온 것인지 식별합니다. 가능한 값 목록은 ClientRequestSource 필드를 참조하세요. Logpush v2에서만 사용할 수 있습니다.
      유형: string
      지표:
        - 호스트 이름
    - name: ClientRequestURI
      description: 클라이언트가 요청한 URI
      유형: string
    - name: ClientRequestUserAgent
      description: 클라이언트가 보고한 user agent
      유형: string
    - name: ClientSrcPort
      description: 클라이언트 소스 포트
      유형: int
    - name: ClientSSLCipher
      description: 클라이언트 SSL 암호화 방식
      유형: string
    - name: ClientSSLProtocol
      description: 클라이언트 SSL(TLS) 프로토콜
      유형: string
    - name: ClientTCPRTTMs
      description: TCP 왕복 시간(SRTT)의 평활 평균입니다. 연결의 초기 요청에 대해서는 연결 설정 중에만 측정됩니다. 같은 연결의 후속 요청에 대해서는 해당 요청이 수신되는 시점까지의 전체 연결 수명 동안 측정됩니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: ClientXRequestedWith
      description: X-Requested-With HTTP 헤더
      유형: string
    - name: ContentScanObjResults
      description: 콘텐츠 스캔 결과 목록
      유형: array
      요소:
        유형: string
    - name: ContentScanObjTypes
      description: 콘텐츠 유형 목록
      유형: array
      요소:
        유형: string
    - name: Cookies
      description: Cookies의 문자열 key-value 쌍
      유형: json
    - name: EdgeCFConnectingO2O
      description: 요청이 Cloudflare 엣지에서 여러 존을 거쳤다면 True입니다. 이는 orange to orange(o2o) 요청으로 간주됩니다. Logpush v2에서만 사용할 수 있습니다.
      유형: boolean
    - name: EdgeColoCode
      description: 요청을 수신한 데이터센터의 IATA 공항 코드
      유형: string
    - name: EdgeColoID
      description: Cloudflare 엣지 colo ID
      유형: bigint
    - name: EdgeEndTimestamp
      description: 엣지가 클라이언트에게 응답 전송을 완료한 시각
      유형: timestamp
      시간 형식:
        - cloudflare
    - name: EdgePathingOp
      description: 이 요청에 대해 어떤 유형의 응답이 발행되었는지 나타냅니다(unknown = 특정 동작 없음)
      유형: string
    - name: EdgePathingSrc
      description: 보안 검사에 따라 요청이 어떻게 분류되었는지 자세히 설명합니다(unknown = 특정 분류 없음)
      유형: string
    - name: EdgePathingStatus
      description: 이 요청의 처리 방식을 결정하는 데 어떤 데이터가 사용되었는지 나타냅니다(unknown = 데이터 없음)
      유형: string
    - name: EdgeRateLimitAction
      description: 차단 룰이 수행한 동작입니다. 동작이 없으면 비어 있습니다
      유형: string
    - name: EdgeRateLimitID
      description: 차단(ban) 또는 simulate 동작을 트리거한 rate-limiting 룰의 내부 RuleID입니다. 동작이 없으면 0입니다
      유형: string
    - name: EdgeRequestHost
      description: 엣지에서 오리진으로 보내는 요청의 Host 헤더
      유형: string
      지표:
        - 호스트 이름
    - name: EdgeResponseBodyBytes
      description: 클라이언트에 반환된 HTTP 응답 본문의 크기입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: EdgeResponseBytes
      description: 엣지가 클라이언트에 반환한 바이트 수
      유형: bigint
    - name: EdgeResponseCompressionRatio
      description: 엣지 응답 압축 비율
      유형: float
    - name: EdgeResponseContentType
      description: 엣지 응답 Content-Type 헤더 값
      유형: string
    - name: EdgeResponseStatus
      description: Cloudflare가 클라이언트에 반환한 HTTP 상태 코드
      유형: smallint
    - name: EdgeServerIP
      description: 오리진에 요청을 보내는 엣지 서버의 IP
      유형: string
      지표:
        - ip
    - name: EdgeStartTimestamp
      필수: true
      description: 엣지가 클라이언트로부터 요청을 수신한 시각
      유형: timestamp
      시간 형식:
        - cloudflare
      이벤트 시간 여부: true
    - name: EdgeTimeToFirstByteMs
      description: Cloudflare 엣지에서 측정한 Time To First Byte의 전체 관측치입니다. TCP 연결이 설정된 후 시작되며, Cloudflare가 사용자에게 응답의 첫 바이트 반환을 시작할 때 끝납니다. TLS 핸드셰이크 시간(새 연결의 경우)과 오리진 응답 시간을 포함합니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: FirewallMatchesActions
      description: Cloudflare 방화벽 제품이 이 요청에 수행한 동작 배열입니다. 이 동작과 연결된 개별 방화벽 제품은 FirewallMatchesSources에서 찾을 수 있으며, 각각의 RuleIds는 FirewallMatchesRuleIDs에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesRuleIDs 및 FirewallMatchesSources와 같습니다. 가능한 동작은 allow | log | simulate | drop | challenge | jschallenge | connectionClose | challengeSolved | challengeFailed | challengeBypassed | jschallengeSolved | jschallengeFailed | jschallengeBypassed | bypass 입니다.
      유형: array
      요소:
        유형: string
    - name: FirewallMatchesRuleIDs
      description: 요청과 일치한 방화벽 제품의 RuleID 배열입니다. 해당 RuleID와 연결된 방화벽 제품은 FirewallMatchesSources에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesActions 및 FirewallMatchesSources와 같습니다.
      유형: array
      요소:
        유형: string
    - name: FirewallMatchesSources
      description: 요청과 일치한 방화벽 제품입니다. 동일한 제품이 여러 번 나타날 수 있으며, 이는 서로 다른 룰 또는 동작이 활성화되었음을 의미합니다. RuleID는 FirewallMatchesRuleIDs에서 찾을 수 있고, 동작은 FirewallMatchesActions에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesRuleIDs 및 FirewallMatchesActions와 같습니다. 가능한 소스는 asn | country | ip | ipRange | securityLevel | zoneLockdown | waf | firewallRules | uaBlock | rateLimit |bic | hot | l7ddos | sanitycheck | protect 입니다.
      유형: array
      요소:
        유형: string
    - name: JA3Hash
      description: SSL/TLS 클라이언트를 프로파일링하는 데 사용되는 JA3 지문의 MD5 해시입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: string
      지표:
        - md5
    - name: OriginDNSResponseTimeMs
      description: 오리진 이름에 대한 DNS 응답을 수신하는 데 걸린 시간입니다. 일반적으로 몇 밀리초가 걸리지만 CNAME 레코드를 사용하면 더 오래 걸릴 수 있습니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: OriginIP
      description: 오리진 서버의 IP
      유형: string
      지표:
        - ip
    - name: OriginRequestHeaderSendDurationMs
      description: 연결을 설정한 후 오리진으로 요청 헤더를 보내는 데 걸린 시간입니다. 이 값은 일반적으로 0입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: OriginResponseBytes
      description: 오리진 서버가 반환한 바이트 수
      유형: bigint
    - name: OriginResponseDurationMs
      description: 업스트림 응답 시간으로, 요청을 수신한 첫 번째 데이터센터에서 측정합니다. Argo Smart Routing과 Tiered Cache에 걸린 시간, 그리고 오리진 서버에 연결하고 응답을 받는 시간까지 포함합니다. 이 필드는 OriginResponseTime을 대체합니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: OriginResponseHeaderReceiveDurationMs
      description: Cloudflare가 요청 헤더 전송을 마친 후 오리진이 응답 헤더를 반환하는 데 걸린 시간입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: OriginResponseHTTPExpires
      description: RFC1123 형식의 오리진 'expires' 헤더 값
      유형: timestamp
      시간 형식:
        - '%a, %d %b %Y %H:%M:%S %Z'
    - name: OriginResponseHTTPLastModified
      description: RFC1123 형식의 오리진 'last-modified' 헤더 값
      유형: timestamp
      시간 형식:
        - '%a, %d %b %Y %H:%M:%S %Z'
    - name: OriginResponseStatus
      description: 오리진 서버가 반환한 상태
      유형: smallint
    - name: OriginResponseTime
      description: 오리진이 엣지에 응답을 반환하는 데 걸린 나노초 수
      유형: bigint
    - name: OriginSSLProtocol
      description: 오리진에 연결하는 데 사용된 SSL(TLS) 프로토콜
      유형: string
    - name: OriginTCPHandshakeDurationMs
      description: 오리진과의 TCP 핸드셰이크를 완료하는 데 걸린 시간입니다. 오리진 연결이 재사용되면 0입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: OriginTLSHandshakeDurationMs
      description: 오리진과의 TLS 핸드셰이크를 완료하는 데 걸린 시간입니다. 오리진 연결이 재사용되면 0입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - name: ParentRayID
      description: 이 요청이 Worker 스크립트를 사용해 만들어진 경우 상위 요청의 Ray ID
      유형: string
      지표:
        - trace_id
    - name: RayID
      description: 요청의 ID
      유형: string
      지표:
        - trace_id
    - name: RequestHeaders
      description: RequestHeaders의 문자열 key-value 쌍
      유형: json
    - name: ResponseHeaders
      description: ResponseHeaders의 문자열 key-value 쌍
      유형: json
    - name: SecurityAction
      description: 종료 동작을 트리거한 보안 룰의 룰 동작(있는 경우)
      유형: string
    - name: SecurityActions
      description: Cloudflare 보안 제품이 이 요청에 수행한 동작 배열입니다. 이 동작과 연결된 개별 보안 제품은 FirewallMatchesSources에서 찾을 수 있으며, 각각의 RuleIds는 FirewallMatchesRuleIDs에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesRuleIDs 및 FirewallMatchesSources와 같습니다. 가능한 동작은 allow | log | simulate | drop | challenge | jschallenge | connectionClose | challengeSolved | challengeFailed | challengeBypassed | jschallengeSolved | jschallengeFailed | jschallengeBypassed | bypass 입니다.
      유형: array
      요소:
        유형: string
    - name: SecurityLevel
      description: 이 요청 시점에 구성된 보안 수준입니다. 이는 IP Reputation 시스템의 민감도를 결정하는 데 사용됩니다
      유형: string
    - name: SecurityRuleDescription
      description: 종료 동작을 트리거한 보안 룰의 룰 설명(있는 경우)
      유형: string
    - 이름: SecurityRuleID
      설명: 종료 작업을 트리거한 보안 룰의 룰 ID(있는 경우)
      유형: string
    - 이름: SecurityRuleIDs
      설명: 요청과 일치한 보안 룰 ID 배열입니다. RuleID와 연결된 방화벽 제품은 FirewallMatchesSources에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesActions 및 FirewallMatchesSources와 동일합니다.
      유형: array
      요소:
        유형: string
    - 이름: SecuritySources
      설명: 요청과 일치한 Cloudflare 보안 제품 배열입니다. 동일한 제품이 여러 번 나타날 수 있으며, 이는 활성화된 서로 다른 룰 또는 작업을 나타냅니다. 룰 ID는 FirewallMatchesRuleIDs에서 찾을 수 있고, 작업은 FirewallMatchesActions에서 찾을 수 있습니다. 배열의 길이는 FirewallMatchesRuleIDs 및 FirewallMatchesActions와 동일합니다. 가능한 소스는 asn | country | ip | ipRange | securityLevel | zoneLockdown | waf | firewallRules | uaBlock | rateLimit |bic | hot | l7ddos | sanitycheck | protect 입니다.
      유형: array
      요소:
        유형: string
    - 이름: SmartRouteColoID
      설명: Argo Smart Routing이 사용되는 경우 원본 서버에 연결하는 데 사용된 Cloudflare 데이터센터입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - 이름: UpperTierColoID
      설명: Tiered Cache가 사용되는 경우 캐시된 복사본이 있는지 확인한 “상위 계층” 데이터센터입니다. Logpush v2에서만 사용할 수 있습니다.
      유형: bigint
    - 이름: WAFAction
      설명: 트리거된 경우 WAF가 취한 작업
      유형: string
    - 이름: WAFAttackScore
      설명: WAF 디택션 모듈이 생성한 전체 요청 점수입니다.
      유형: bigint
    - 이름: WAFFlags
      설명: '추가 구성 플래그: simulate (0x1) | null'
      유형: string
    - 이름: WAFMatchedVar
      설명: 가장 최근에 일치한 변수의 전체 이름
      유형: string
    - 이름: WAFProfile
      설명: 낮음 | 중간 | 높음
      유형: string
    - 이름: WAFRCEAttackScore
      설명: RCE 공격에 대한 WAF 점수입니다.
      유형: bigint
    - 이름: WAFRuleID
      설명: 적용된 WAF 룰의 ID
      유형: string
    - 이름: WAFRuleMessage
      설명: 트리거된 룰과 연결된 룰 메시지
      유형: string
    - 이름: WAFSQLiAttackScore
      설명: SQLi 공격에 대한 WAF 점수입니다.
      유형: bigint
    - 이름: WAFXSSAttackScore
      설명: XSS 공격에 대한 WAF 점수입니다.
      유형: bigint
    - 이름: WorkerCPUTime
      설명: 워커를 실행하는 데 소요된 시간(마이크로초 단위, 있는 경우)
      유형: bigint
    - 이름: WorkerStatus
      설명: 워커 데몬에서 반환된 상태
      유형: string
    - 이름: WorkerSubrequest
      설명: 이 요청이 워커 서브요청이었는지 여부
      유형: boolean
    - 이름: WorkerSubrequestCount
      설명: 이 요청을 처리할 때 워커가 발생시킨 서브요청 수
      유형: bigint
    - 이름: WorkerWallTimeUs
      설명: 워커 호출의 시작과 종료 사이에 경과한 실제 시간(마이크로초 단위)
      유형: bigint
    - 이름: ZoneID
      설명: 내부 zone ID
      유형: bigint
    - 이름: ZoneName
      설명: zone의 사람이 읽을 수 있는 이름(예: cloudflare.com). Logpush v2에서만 사용할 수 있습니다.
      유형: string
    - 이름: JA4
      설명: SSL/TLS 클라이언트를 프로파일링하는 데 사용되는 JA4 지문입니다.
      유형: string
    - 이름: JA4Signals
      설명: 이 JA4 지문에 대해 계산된 요청 간 통계입니다. JA4Signals 필드는 key:value 쌍으로 구성되며, 값은 숫자입니다.
      유형: json
    - 이름: LeakedCredentialCheckResult
      설명: 유출된 자격 증명 검사 결과
      유형: string
```

### Cloudflare.Spectrum

Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "Timestamp" 필드를 반드시 포함하세요.

참조: [Spectrum 이벤트의 로그 필드에 대한 Cloudflare 문서.](https://developers.cloudflare.com/logs/reference/log-fields/#spectrum-events)

```yaml
schema: Cloudflare.Spectrum
설명: Cloudflare Spectrum 로그입니다. Cloudflare UI에서 이벤트 필드를 선택할 때는 Panther에서 필요하므로 "Timestamp" 필드를 반드시 포함하세요.
referenceURL: https://developers.cloudflare.com/logs/log-fields#spectrum-events
필드:
    - 이름: Application
      설명: 이벤트가 발생한 애플리케이션의 고유한 public ID
      유형: string
    - name: ClientASN
      description: 클라이언트 AS 번호
      유형: bigint
    - 이름: ClientBytes
      설명: Spectrum 서비스가 클라이언트로부터 읽은 바이트 수
      유형: bigint
    - name: ClientCountry
      description: 클라이언트 IP 주소의 국가
      유형: string
    - name: ClientIP
      description: 클라이언트의 IP 주소
      유형: string
      지표:
        - ip
    - 이름: ClientMatchedIpFirewall
      설명: 연결이 어떤 IP Firewall 룰과도 일치했는지 여부; UNKNOWN | ALLOW | BLOCK_ERROR | BLOCK_IP | BLOCK_COUNTRY | BLOCK_ASN | WHITELIST_IP |WHITELIST_COUNTRY | WHITELIST_ASN
      유형: string
    - 이름: ClientPort
      설명: 클라이언트 포트
      유형: int
    - 이름: ClientProto
      설명: 클라이언트가 사용한 전송 프로토콜; tcp | udp | unix
      유형: string
    - 이름: ClientTcpRtt
      설명: 클라이언트와 Spectrum 간의 TCP 왕복 시간(나노초)
      유형: bigint
    - 이름: ClientTlsCipher
      설명: 클라이언트와 Spectrum 간에 협상된 암호화 스위트
      유형: string
    - 이름: ClientTlsClientHelloServerName
      설명: 클라이언트에서 Spectrum으로 전송된 Client Hello 메시지의 서버 이름
      유형: string
    - 이름: ClientTlsProtocol
      설명: 클라이언트와 Spectrum 간에 협상된 TLS 버전; unknown | none | SSLv3 | TLSv1 | TLSv1.1 | TLSv1.2 | TLSv1.3
      유형: string
    - 이름: ClientTlsStatus
      설명: 클라이언트에서 Spectrum으로의 TLS 세션 상태를 나타냅니다; UNKNOWN | OK | INTERNAL_ERROR | INVALID_CONFIG | INVALID_SNI | HANDSHAKE_FAILED | KEYLESS_RPC
      유형: string
    - 이름: ColoCode
      description: 요청을 수신한 데이터센터의 IATA 공항 코드
      유형: string
    - 이름: ConnectTimestamp
      설명: 연결의 양쪽 구간(client/edge, edge/origin 또는 nexthop)이 설정된 시점의 타임스탬프
      유형: timestamp
      시간 형식:
        - cloudflare
    - 이름: DisconnectTimestamp
      설명: 연결이 종료된 시점의 타임스탬프
      유형: timestamp
      시간 형식:
        - cloudflare
    - 이름: Event
      설명: connect | disconnect | clientFiltered | tlsError | resolveOrigin | originError
      유형: string
    - 이름: IpFirewall
      설명: 연결 시점에 IP Firewall이 활성화되어 있었는지 여부
      유형: boolean
    - 이름: OriginBytes
      설명: Spectrum이 원본에서 읽은 바이트 수
      유형: bigint
    - name: OriginIP
      설명: 원본 IP 주소
      유형: string
      지표:
        - ip
    - 이름: OriginPort
      설명: 원본 포트
      유형: int
    - 이름: OriginProto
      설명: 원본이 사용한 전송 프로토콜; tcp | udp | unix
      유형: string
    - 이름: OriginTcpRtt
      설명: Spectrum과 원본 간의 TCP 왕복 시간(나노초)
      유형: bigint
    - 이름: OriginTlsCipher
      설명: Spectrum과 원본 간에 협상된 암호화 스위트
      유형: string
    - 이름: OriginTlsFingerprint
      설명: 원본 인증서의 SHA256 해시
      유형: string
    - 이름: OriginTlsMode
      설명: 상위 연결이 암호화되는지 여부와 방식; unknown | off | flexible | full | strict
      유형: string
    - 이름: OriginTlsProtocol
      설명: Spectrum과 원본 간에 협상된 TLS 버전; unknown | none | SSLv3 | TLSv1 | TLSv1.1 | TLSv1.2 | TLSv1.3
      유형: string
    - 이름: OriginTlsStatus
      설명: Spectrum에서 원본으로의 TLS 세션 상태; UNKNOWN | OK | INTERNAL_ERROR | INVALID_CONFIG | INVALID_SNI | HANDSHAKE_FAILED | KEYLESS_RPC
      유형: string
    - 이름: ProxyProtocol
      설명: 주어진 연결에 적용된 프록시 프로토콜 형식; off | v1 | v2 | simple
      유형: string
    - 이름: Status
      설명: 연결 종료 사유를 나타내는 코드
      유형: bigint
    - 이름: Timestamp
      필수: true
      설명: 이벤트가 발생한 시점의 타임스탬프
      유형: timestamp
      시간 형식:
        - cloudflare
      이벤트 시간 여부: true
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/cloudflare.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
