Cohesity 로그 수집

다음에서 지원:

개요

이 파서는 grok 패턴을 사용하여 Cohesity 백업 소프트웨어 syslog 메시지에서 필드를 추출합니다. 이 스크립트는 표준 syslog 메시지와 JSON 형식 로그를 모두 처리하여 추출된 필드를 UDM에 매핑하고, 사용자 및 대상 식별자의 존재 여부에 따라 event_type을 동적으로 할당합니다.

시작하기 전에

  • Google SecOps 인스턴스가 있는지 확인합니다.
  • Cohesity 관리에 대한 권한이 있는지 확인합니다.

Cohesity 로그를 수집하도록 Google SecOps에서 피드 구성

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새로 추가를 클릭합니다.
  3. 피드 이름 필드에 피드 이름을 입력합니다 (예: Cohesity Logs).
  4. 소스 유형으로 Webhook을 선택합니다.
  5. 로그 유형으로 Cohesity를 선택합니다.
  6. 다음을 클릭합니다.
  7. 선택사항: 다음 입력 파라미터의 값을 지정합니다.
    • 분할 구분 기호: 로그 줄을 구분하는 데 사용되는 구분 기호입니다(예: \n).
    • 애셋 네임스페이스: 애셋 네임스페이스입니다.
    • 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
  8. 다음을 클릭합니다.
  9. 확정 화면에서 피드 구성을 검토한 다음 제출을 클릭합니다.
  10. 보안 비밀 키 생성을 클릭하여 이 피드를 인증하기 위한 보안 비밀 키를 생성합니다.
  11. 비밀 키를 복사하여 저장합니다. 이 보안 비밀 키는 다시 볼 수 없습니다. 필요한 경우 새 보안 비밀 키를 재생성할 수 있지만 이 작업을 하면 이전 보안 비밀 키는 더 이상 사용할 수 없게 됩니다.
  12. 세부정보 탭의 엔드포인트 정보 필드에서 피드 엔드포인트 URL을 복사합니다. 클라이언트 애플리케이션에서 이 엔드포인트 URL을 지정해야 합니다.
  13. 완료를 클릭합니다.

웹훅 피드에 대한 API 키 만들기

  1. Google Cloud 콘솔 > 사용자 인증 정보로 이동합니다.

    사용자 인증 정보로 이동

  2. 사용자 인증 정보 만들기를 클릭한 후 API 키를 선택합니다.

  3. Chronicle API에 대한 API 키 액세스를 제한합니다.

엔드포인트 URL 지정

  1. 클라이언트 애플리케이션에서 웹훅 피드에 제공된 HTTPS 엔드포인트 URL을 지정합니다.
  2. 다음 형식의 커스텀 헤더의 일부로 API 키와 보안 비밀 키를 지정하여 인증을 사용 설정합니다.

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    권장사항: API 키를 URL에 지정하는 대신 헤더로 지정하세요.

  3. 웹훅 클라이언트가 커스텀 헤더를 지원하지 않는 경우 다음 형식의 쿼리 매개변수를 사용하여 API 키와 보안 비밀 키를 지정할 수 있습니다.

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    다음을 바꿉니다.

    • ENDPOINT_URL: 피드 엔드포인트 URL입니다.
    • API_KEY: Google SecOps에 인증하기 위한 API 키입니다.
    • SECRET: 피드를 인증하기 위해 생성한 보안 비밀 키입니다.

Google SecOps용 Cohesity에서 Webhook 구성

  1. Cohesity 클러스터 관리에 로그인합니다.
  2. 보호 작업 섹션으로 이동합니다.
  3. webhook을 구성할 보호 작업을 선택합니다.
  4. 보호 작업 옆에 있는 작업 메뉴 (세로 점 3개) > 수정을 클릭합니다.
  5. 알림 탭을 선택합니다.
  6. + 웹훅 추가를 클릭합니다.
  7. 다음 매개변수의 값을 지정합니다.
    • 이름: 웹훅을 설명하는 이름을 입력합니다 (예: Google SecOps).
    • URL: Google SecOps <ENDPOINT_URL>를 입력합니다.
    • 메서드: 게시를 선택합니다.
    • Content Type(콘텐츠 유형): application/json을 선택합니다.
    • 페이로드: 이 필드는 전송하려는 특정 데이터에 따라 다릅니다.
    • 웹훅 사용 설정: 체크박스를 선택하여 웹훅을 사용 설정합니다.
  8. 구성 저장: 저장을 클릭하여 웹훅 구성을 보호 작업에 적용합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
ClientIP principal.asset.ip ClientIP 필드에서 직접 매핑됩니다.
ClientIP principal.ip ClientIP 필드에서 직접 매핑됩니다.
description security_result.description description 필드에서 직접 매핑됩니다.
DomainName target.asset.hostname DomainName 필드에서 직접 매핑됩니다.
DomainName target.hostname DomainName 필드에서 직접 매핑됩니다.
EntityPath target.url EntityPath 필드에서 직접 매핑됩니다.
host principal.asset.hostname host 필드에서 직접 매핑됩니다.
host principal.hostname host 필드에서 직접 매핑됩니다. 타임스탬프로 파싱된 후 ts 필드에서 복사됩니다. principal_mid_present, target_mid_present, principal_user_present의 존재를 기반으로 파서 로직에 의해 결정됩니다. 가능한 값: NETWORK_CONNECTION, USER_UNCATEGORIZED, STATUS_UPDATE, GENERIC_EVENT. 'Cohesity'로 하드코딩되었습니다.
product_event_type metadata.product_event_type product_event_type 필드에서 직접 매핑됩니다. 'COHESITY'로 하드코딩되었습니다.
pid principal.process.pid pid 필드에서 직접 매핑됩니다.
Protocol network.application_protocol Protocol 필드에서 직접 매핑되며 대문자로 변환됩니다.
RecordID additional.fields (키: 'RecordID', 값: RecordID) RecordID 필드에서 직접 매핑되며 additional.fields 아래에 중첩됩니다.
RequestType security_result.detection_fields (키: 'RequestType', 값: RequestType) RequestType 필드에서 직접 매핑되며 security_result.detection_fields 아래에 중첩됩니다.
Result security_result.summary Result 필드에서 직접 매핑됩니다.
sha_value additional.fields (키: 'SHA256', 값: sha_value) sha_value 필드에서 직접 매핑되며 additional.fields 아래에 중첩됩니다.
target_ip target.asset.ip target_ip 필드에서 직접 매핑됩니다.
target_ip target.ip target_ip 필드에서 직접 매핑됩니다.
target_port target.port target_port 필드에서 직접 매핑되고 정수로 변환됩니다.
Timestamp metadata.collected_timestamp 타임스탬프로 파싱된 후 Timestamp 필드에서 직접 매핑됩니다.
ts events.timestamp 타임스탬프로 파싱된 후 ts 필드에서 직접 매핑됩니다.
UserID principal.user.userid UserID 필드에서 직접 매핑되고 문자열로 변환됩니다.
UserName principal.user.user_display_name UserName 필드에서 직접 매핑됩니다.
UserSID principal.user.windows_sid UserSID 필드에서 직접 매핑됩니다.

변경사항

2024-09-24

  • JSON 로그 형식을 지정하기 위한 'gsub'을 삭제했습니다.

2024-09-10

  • 로그에서 원치 않는 문자를 삭제하는 'gsub'이 추가되었습니다.
  • 'prin_ip'가 'principal.ip'에 매핑되었습니다.

2024-07-28

  • 'EntityId' 및 'RegisteredSource.EntityId'가 'principal.user.userid'에 매핑되었습니다.
  • 'Description' 및 'EventMessage'가 'metadata.description'에 매핑되었습니다.
  • 'IP'가 'principal.ip' 및 'principal.asset.ip'에 매핑되었습니다.
  • '사용자'가 'principal.user.user_display_name'에 매핑되었습니다.
  • 'Action, 'Domain, 'ServiceContext, 'AttributeMap.AttemptNum, 'cluster_id, 'cluster_name, 'ClusterInfo.ClusterId, 'ClusterInfo.ClusterName, 'TaskId, 'EntityName, 'EntityType, 'BackupJobId, 'BackupJobName, 'EnvironmentType, 'RegisteredSource.EntityName, 'RegisteredSource.EntityType, 'AttributeMap.BridgeConstituent, 'ReplicationTarget.ClusterName, 'ReplicationTarget.ClusterId가 'additional.fields'에 매핑되었습니다.

2024년 5월 16일

  • 파서를 새로 만들었습니다.