Panther Analysis Tool로 보강 제공자 관리하기

PAT를 사용해 커스텀 및 Panther 관리 보강 구성하기

개요

엔리치먼트 소스(조회 테이블이라고도 함)는 들어오는 로그에 더 많은 컨텍스트를 추가할 수 있게 해줍니다. 다음을 위해 스키마와 매핑을 관리할 수 있습니다. 사용자 정의 엔리치먼트 및 특정 Panther 관리형 엔리치먼트는 Panther 분석 도구(PAT)를 통해.

이 가이드는 다음 절차를 안내합니다:

circle-info
  • 팀에서 CLI 워크플로를 사용하는 경우 콘솔의 Detection Pack을 통해 관리하는 대신 PAT와 CI/CD를 사용하여 엔리치먼트를 관리하는 것이 권장됩니다.

  • Panther 콘솔에서 사용을 활성화한 후 PAT를 통해 엔리치먼트 테이블을 관리하기로 선택한 경우 먼저 Panther 콘솔에서 Detection Pack을 비활성화해야 합니다. Panther 콘솔과 PAT를 동시에 사용하여 엔리치먼트 소스를 관리하는 것은 지원되지 않습니다.

circle-exclamation

사용자 정의 엔리치먼트 vs Panther 관리형 엔리치먼트

  • 사용자 정의 엔리치먼트 는 귀하가 관리합니다. 스키마를 생성하고 업로드한 다음 엔리치먼트 테이블의 YAML 구성 파일을 업로드해야 합니다.

  • Panther 관리형 엔리치먼트 제공자는 Panther가 관리합니다. 그들의 스키마는 Panther가 정의하며, 필요에 따라 수정할 수 있는 YAML 구성 파일은 panther-analysis 저장소arrow-up-right GitHub에서 찾을 수 있습니다.

PAT로 사용자 정의 및 Panther 관리형 엔리치먼트를 관리하는 방법

사전 요구사항

  • YAML 구성 파일. YAML 구성 파일은 직접 생성해야 합니다.

  • 데이터 샘플(새 스키마를 생성해야 하는 경우) 또는 Panther에서 생성된 기존 YAML 스키마.

1단계: 스키마 생성 및 업로드

사용자 정의 엔리치먼트는 귀하가 생성하고 Panther에 업로드한 스키마와 연결되어야 합니다. 이미 Panther에 생성한 스키마가 있어 이를 사용자 정의 엔리치먼트에 연결하려면 이 단계는 건너뛸 수 있습니다.

  1. 샘플 로그 데이터를 사용하여 스키마를 생성합니다.

    • 다음을 사용할 수 있습니다 pantherlog 샘플 데이터 세트에서 스키마를 추론하기 위해. 샘플 JSON 로그 파일에서 스키마를 생성하려면 infer 명령을 사용하세요:

    • 추론된 스키마를 검토하고 Panther에 업로드하기 전에 필요한 조정을 반드시 수행하세요. 이 프로세스에 대한 자세한 내용은 pantherlog 문서.

  2. 스키마 업로드.

2단계: YAML 구성 파일 생성

3단계: PAT를 통해 사용자 정의 엔리치먼트 업로드

사용자 정의 엔리치먼트 구성 파일을 생성한 후 PAT를 사용하여 Panther에 업로드할 수 있습니다. 업로드 명령:

업로드가 이루어지려면 --api-token과 --api-token--api-host를 각각 제공해야 합니다. 기타 옵션으로는 필터링, 최소 테스트 등 이 포함됩니다.

circle-exclamation

4단계: 사용자 정의 엔리치먼트 테스트

사용자 정의 엔리치먼트가 올바르게 설정되었는지 테스트하는 여러 방법이 있습니다.

방법 1: Panther 콘솔 또는 CLI에서 테스트 데이터에 엔리치 적용

Panther 콘솔의 디텍션 편집기에서 테스트 데이터 엔리치(Enrich Test Data) 를 클릭하여 사용자 정의 엔리치먼트가 올바르게 작동하는지 확인하세요. 이를 통해 단위 테스트 내에서 테스트 데이터를 입력하고 엔리치 결과를 확인할 수 있습니다.

circle-exclamation

방법 2: panther_signals 데이터베이스 확인

변경 사항이 적용되었는지 확인하려면 panther_signals.public.correlation_signals 데이터베이스/테이블에서 p_enrichment 필드를 확인하세요. 해당 필드에 예상되는 사용자 정의 엔리치먼트 세부 정보가 포함되어 있는지 확인하세요.

방법 3: SQL 쿼리 사용

또한 이벤트 로그와 엔리치먼트 테이블 간에 LEFT JOIN 을 수행할 수 있습니다. 쿼리에서 Selector가 정의되어 있는지 확인하세요. 이를 통해 로그의 데이터가 사용자 정의 엔리치먼트의 데이터와 올바르게 매칭되는지 확인할 수 있습니다.

예를 들어, 이 쿼리는 사용자 정의 Selector(구성 파일에 정의한 Selector와 동일해야 함)를 사용하여 이벤트 데이터를 사용자 정의 엔리치먼트와 매칭하려고 시도합니다:

마지막 업데이트

도움이 되었나요?