Palo Alto Cortex XDR 이벤트 로그 수집

다음에서 지원:

이 문서에서는 Google Cloud Storage를 사용하여 Palo Alto Cortex XDR 이벤트 로그를 Google Security Operations에 처리하는 방법을 설명합니다. 파서는 Palo Alto Networks Cortex XDR JSON 로그에서 보안 이벤트 데이터를 추출합니다. 필드를 매핑하고, 데이터 유형을 변환하고, event_typeevent_sub_type 필드에 연결된 조건부 로직에 따라 공급업체, 제품, 이벤트 유형과 같은 메타데이터로 이벤트를 보강하여 데이터를 통합 데이터 모델 (UDM)로 정규화합니다. 또한 네트워크 연결, 파일 및 레지스트리 작업, 프로세스 정보, 사용자 활동을 처리합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Google Cloud 저장소가 Google Cloud 환경에 설정되어 활성 상태입니다.
  • Google Cloud 에 대한 액세스 권한 및 적절한 권한
  • Palo Alto Cortex XDR에 대한 액세스 권한

Google Cloud 스토리지 버킷 만들기

  1. Google Cloud 콘솔에 로그인합니다.
  2. Cloud Storage 버킷 페이지로 이동합니다.

    버킷으로 이동

  3. 만들기를 클릭합니다.

  4. 버킷 만들기 페이지에서 버킷 정보를 입력합니다. 다음 단계를 완료할 때마다 계속을 클릭하여 다음 단계로 진행합니다.

  5. 시작하기 섹션에서 다음을 수행합니다. * 버킷 이름 요구사항을 충족하는 고유한 이름을 입력합니다 (예: cortex-xdr-events-googlesecops). * 계층적 네임스페이스를 사용 설정하려면 펼치기 화살표를 클릭하여 파일 지향 및 데이터 집약적인 워크로드에 최적화 섹션을 펼친 다음 이 버킷에서 계층적 네임스페이스 사용 설정을 선택합니다.

    Note: You can't enable hierarchical namespace in an existing bucket.
    
    * To add a bucket label, click the expander arrow to expand the **Labels** section.
    * Click **Add label** and specify a key and a value for your label.
    
  6. 데이터 저장 위치 선택 섹션에서 다음을 수행합니다. * 위치 유형을 선택합니다. * 위치 유형 메뉴를 사용하여 버킷 내 객체 데이터가 영구적으로 저장될 위치를 선택합니다.

    Note: If you select the **dual-region** location type, you can also choose to enable **turbo replication** by selecting the relevant checkbox.
    
    * To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.
    
  7. 데이터의 스토리지 클래스 선택 섹션에서 버킷의 기본 스토리지 클래스를 선택하거나, 버킷 데이터의 자동 스토리지 클래스 관리에 자동 클래스를 선택합니다.

  8. 객체 액세스를 제어하는 방식 선택 섹션에서 아니요를 선택하여 공개 액세스 방지를 적용하고 버킷의 객체에 대한 액세스 제어 모델을 선택합니다.

  9. 객체 데이터 보호 방법 선택 섹션에서 다음을 수행합니다. * 데이터 보호에서 버킷에 설정할 옵션을 선택합니다. * 객체 데이터를 암호화하는 방법을 선택하려면 데이터 암호화 펼치기 화살표를 클릭하고 데이터 암호화 방법을 선택합니다.

  10. 만들기를 클릭합니다.

Cortex XDR 이벤트 전달 구성

  1. Cortex XDR 웹 UI에 로그인합니다.
  2. 설정 > 구성 > 데이터 관리 > 이벤트 전달로 이동합니다.
  3. 활성화 섹션에서 라이선스를 활성화합니다.
  4. GB 이벤트 전달을 사용 설정하여 저장을 위해 Cortex XDR Pro의 파싱된 로그를 GB당 외부 SIEM으로 내보냅니다.
  5. 엔드포인트 이벤트 전달을 사용 설정하여 Cortex XDR Pro EP 및 Cloud Endpoints의 원시 엔드포인트 데이터를 내보냅니다.
  6. 선택사항을 저장합니다.
  7. 표시된 저장소 경로를 복사합니다.
  8. 액세스 키가 포함된 서비스 계정 JSON 웹 토큰을 생성하고 다운로드합니다.
  9. 안전한 위치저장합니다.

구성 Google Cloud Secret Manager

  1. GCP에 로그인합니다.
  2. Secret Manager 페이지로 이동합니다.
  3. 처음 사용하는 경우 Secret Manager API사용 설정하라는 메시지가 표시됩니다.
  4. EVENT_FRWD_CRTX_KEY라는 보안 비밀을 만들고 다운로드한 JSON xdr_sa_key.json의 콘텐츠를 보안 비밀의 값으로 복사합니다.

Palo Alto Cortex XDR 이벤트 로그를 수집하도록 Google SecOps에서 피드 구성

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새로 추가를 클릭합니다.
  3. 피드 이름 필드에 피드 이름을 입력합니다 (예: PANW Cortex XDR 이벤트 로그).
  4. 소스 유형으로 Google Cloud Storage를 선택합니다.
  5. 로그 유형으로 Palo Alto Cortex XDR 이벤트를 선택합니다.
  6. Chronicle 서비스 계정으로 서비스 계정 가져오기를 클릭합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 매개변수의 값을 지정합니다.

    • 스토리지 버킷 URI: Google Cloud 스토리지 버킷 URL (예: gs://cortex-xdr-events-chronicle)입니다.
    • URI Is A: 하위 디렉터리가 포함된 디렉터리를 선택합니다.
    • 소스 삭제 옵션: 원하는 삭제 옵션을 선택합니다.
    • 애셋 네임스페이스: 애셋 네임스페이스입니다.
    • 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
  9. 다음을 클릭합니다.

  10. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

  11. 피드가 생성되면 피드 목록에서 피드를 찾아 선 오른쪽에 있는 작업 점 3개를 클릭합니다.

  12. 피드 사용 중지를 선택합니다.

Cloud Storage에 대한 Secret JSON 액세스 구성

  1. GCP에 로그인합니다.
  2. Secret Manager 페이지로 이동합니다.
  3. 보안 비밀 EVENT_FRWD_CRTX_KEY를 선택합니다.
  4. 권한 탭으로 이동합니다.
  5. 이전에 만든 버킷 cortex-xdr-events-chronicle에 대한 Storage 객체 관리자Storage 기존 버킷 리더 액세스 권한을 부여합니다.

Cloud Storage용 Google SecOps 권한 구성

  1. IAM 및 관리자 > IAM으로 이동합니다.
  2. Chronicle 서비스 계정을 찾습니다.
  3. 이전에 만든 버킷 cortex-xdr-events-chronicle에 대한 액세스 권한을 스토리지 객체 뷰어 (roles/storage.objectViewer)에 부여합니다.

Project Cloud Storage에 PANW Cortex XDR 이벤트 로그 처리 구성

  1. Google Cloud에서 API 및 서비스 > 라이브러리로 이동합니다.
  2. Cloud RunArtifact Registry API를 사용 설정합니다.
  3. 상단 탐색 메뉴의 아이콘을 클릭하여 Cloud Shell을 엽니다.
  4. 다음 명령어를 사용하여 맞춤 코드를 다운로드합니다.

    git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
    
  5. 다음 명령어를 실행하여 디렉터리로 이동합니다.

    cd google-cloud-cortex-chronicle/
    
  6. vi과 같은 편집기로 env.properties 파일을 엽니다.

  7. 다음 구성 세부정보를 제공합니다.

    REGION=us-central1 # Update according to your project region
    REPO_NAME=panw-chronicle
    IMAGE_NAME=sync_cortex_bucket
    GCP_PROJECT_ID=chrxxxxxxxxx # Update according to your project ID
    JOB_NAME=cloud-run-job-cortex-data-sync # The Cloud Job name 
    ROJECT_NUMBER=80xxxxx9 # Update according to your project number
    # JOB ENV VARIABLES
    SRC_BUCKET=xdr-us-xxxxx-event-forwarding # Update with the Cortex XDR GCS bucket name
    DEST_BUCKET=cortex-xdr-events-chronicle # Update with the GCS name of the bucket you created
    SECRET_NAME=EVENT_FRWD_CRTX_KEY # Need to match the secret you created
    JOB_SCHEDULE_MINS=30
    
  8. deploy.sh 스크립트에 필요한 권한을 제공합니다.

    chmod 744 deploy.sh
    
  9. deploy.sh 스크립트를 실행합니다.

    ./deploy.sh
    
  10. 스크립트 출력에서 사용된 Cloud Job 서비스 계정을 찾습니다.

  11. Cloud Job 서비스 계정에 이전에 만든 보안 비밀에 액세스할 수 있는 Secret Manager 보안 비밀 상위 요소 권한을 부여합니다 (예: EVENT_FRWD_CRTX_KEY).

  12. Secret Manager > EVENT_FRWD_CRTX_KEY (비밀번호) > 권한으로 이동합니다.

  13. Google SecOps 플랫폼에서 SIEM 설정 > 피드 > XDR 이벤트 피드 이름 > 피드 사용 설정으로 이동합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
action_file_path target.file.full_path 직접 매핑됨
action_file_size target.file.size 부호 없는 정수로 직접 매핑 및 변환
action_local_ip principal.ip 다른 IP 주소와 직접 매핑 및 병합됨
action_local_port principal.port 정수로 직접 매핑 및 변환
action_module_path target.process.file.full_path 직접 매핑됨
action_network_connection_id network.session_id 직접 매핑됨
action_network_protocol network.ip_protocol 이름이 protocol_number_src로 변경되고 parse_ip_protocol.include를 사용하여 파싱되고 network.ip_protocol에 매핑되었습니다.
action_process_image_command_line target.process.command_line 직접 매핑됨
action_process_image_md5 target.process.file.md5 직접 매핑됨
action_process_image_path target.process.file.full_path 직접 매핑됨
action_process_image_sha256 target.process.file.sha256 직접 매핑됨
action_process_os_pid target.process.pid 직접 매핑되고 문자열로 변환됨
action_process_user_sid target.user.windows_sid 직접 매핑됨
action_process_username target.user.userid, target.administrative_domain 소문자로 변환되고 도메인 및 사용자를 위해 파싱된 후 적절하게 매핑됩니다.
action_registry_data target.registry.registry_value_data 직접 매핑됨
action_registry_key_name target.registry.registry_key 직접 매핑됨
action_registry_value_name target.registry.registry_value_name 직접 매핑됨
action_remote_ip target.ip 다른 IP 주소와 직접 매핑 및 병합됨
action_remote_port target.port 정수로 직접 매핑 및 변환
action_total_download network.received_bytes 부호 없는 정수로 직접 매핑 및 변환
action_total_upload network.sent_bytes 부호 없는 정수로 직접 매핑 및 변환
agent_hostname principal.hostname, observer.hostname 소문자로 변환 및 매핑됨
agent_ip_addresses observer.ip JSON으로 파싱되고 개별 IP로 분할된 후 병합됨
agent_os_sub_type target.platform_version 직접 매핑됨
event_id metadata.product_log_id 직접 매핑됨
event_sub_type metadata.product_event_type 문자열로 변환되며 metadata.event_typemetadata.product_event_type의 조건부 매핑에 사용됩니다.
event_timestamp metadata.event_timestamp, timestamp 문자열로 변환되고 UNIX_MS 타임스탬프로 파싱되고 매핑됨
event_type metadata.event_type 문자열로 변환되며 metadata.event_typemetadata.product_event_type의 조건부 매핑에 사용됩니다.
os_actor_process_command_line principal.process.command_line 직접 매핑됨
os_actor_process_image_md5 principal.process.file.md5 직접 매핑됨
os_actor_process_image_path principal.process.file.full_path 직접 매핑됨
os_actor_process_image_sha256 principal.process.file.sha256 직접 매핑됨
os_actor_process_instance_id principal.process.product_specific_process_id 'PAN:' 접두사가 추가되고 매핑됨
os_actor_process_os_pid principal.process.pid 문자열로 변환되고 매핑됨
os_actor_primary_user_sid principal.user.windows_sid 'S-' 또는 's-'로 시작하면 매핑됩니다.
os_actor_primary_username principal.user.userid, principal.administrative_domain 소문자로 변환되고 도메인 및 사용자를 위해 파싱된 후 적절하게 매핑됩니다.
_action security_result.action _security_result에 병합된 후 매핑됨
metadata.log_type metadata.log_type 'PAN_CORTEX_XDR_EVENTS'로 하드코딩됨
metadata.product_name metadata.product_name 'Cortex XDR'으로 하드코딩됨
metadata.vendor_name metadata.vendor_name 'PAN'으로 하드코딩됨
target.platform target.platform agent_os_sub_type에 'Windows'가 포함된 경우 'WINDOWS'로 설정

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가의 답변을 받아 보세요.