Panther 분석 도구로 풍부화 공급자 관리하기
PAT를 사용하여 맞춤 및 Panther 관리형 풍부화 구성하기
개요
인리치먼트 소스(조회 테이블이라고도 함)는 수신 로그에 더 많은 컨텍스트를 추가할 수 있게 해줍니다. 다음을 위해 스키마와 매핑을 관리할 수 있습니다 사용자 지정 인리치먼트 및 일부 Panther 관리 인리치먼트를 통해 Panther 분석 도구(PAT).
이 가이드는 다음을 안내합니다:
사용하여 사용자 지정 인리치먼트 소스에 대한 사용자 지정 스키마를 생성하고 업로드하기
pantherlog도구.수정하기
셀렉터와LogTypes인리치먼트 소스의 YAML 구성 파일에서.로그 유형 및 셀렉터는 수동으로 설정될 수 있습니다 이전에 생성한 Snowflake 사용자 이름, 예를 들면 지표 필드에 의해 자동으로 매핑될 수 있습니다.
PAT를 통해 인리치먼트 소스의 YAML 구성 파일 업로드.
Panther 콘솔에서 인리치먼트 테스트하기.
팀이 CLI 워크플로를 사용하는 경우, 콘솔의 Detection Packs를 통해 관리하는 대신 PAT 및 CI/CD를 사용하여 인리치먼트를 관리하는 것이 권장됩니다.
Panther 콘솔에서 활성화한 후 PAT로 인리치먼트 테이블을 관리하기로 선택한 경우 먼저 Panther 콘솔에서 Detection Packs를 비활성화해야 합니다. Panther 콘솔과 PAT를 동시에 사용하여 인리치먼트 소스를 관리하는 것은 지원되지 않습니다.
이 가이드는 다음에 적용됩니다 사용자 지정 인리치먼트 와 이러한 Panther 관리 인리치먼트 소스.
"자신의 API 키 사용" 로그 풀러 와 Panther 로그 소스 풀러는 PAT를 사용한 CLI 워크플로에서 활성화할 수 없습니다.
사용자 지정 인리치먼트 vs. Panther 관리 인리치먼트
사용자 지정 인리치먼트 는 귀하가 관리합니다. 스키마를 생성하고 업로드한 다음 인리치먼트 테이블의 YAML 구성 파일을 업로드해야 합니다.
Panther 관리 인리치먼트 공급자 는 Panther가 관리합니다. 그들의 스키마는 Panther가 정의하며, 필요에 맞게 수정할 수 있는 YAML 구성 파일은 panther-analysis 저장소 GitHub에 있습니다.
PAT로 사용자 지정 및 Panther 관리 인리치먼트를 관리하는 방법
사전 요구 사항
YAML 구성 파일. YAML 구성 파일은 직접 생성해야 합니다.
데이터 샘플(새 스키마를 생성해야 하는 경우) 또는 Panther에서 이미 생성된 기존 YAML 스키마.
1단계: 스키마 생성 및 업로드
사용자 지정 인리치먼트는 귀하가 생성하고 Panther에 업로드한 스키마와 연관되어야 합니다. 이미 Panther에서 생성한 스키마를 사용자 지정 인리치먼트에 연관시키려면 이 단계를 건너뛸 수 있습니다.
샘플 로그 데이터를 사용하여 스키마를 생성하세요.
다음을 사용할 수 있습니다
pantherlog샘플 데이터 세트로부터 스키마를 추론하기 위해. 샘플 JSON 로그 파일에서 스키마를 생성하려면infer명령을 사용하세요:추론된 스키마를 검토하고 Panther에 업로드하기 전에 필요한 조정을 수행하는 것을 잊지 마세요. 이 프로세스에 대한 자세한 내용은 pantherlog 문서.
스키마 업로드.
스키마를 생성한 후 다음을 따라 Panther에 업로드할 수 있습니다 스키마 세부 정보 페이지 오른쪽 상단에서 클릭하십시오 지침에서 단계를 완료했습니다.
2단계: YAML 구성 파일 생성
사용자 지정 인리치먼트의 경우 YAML 구성 파일을 처음부터 생성해야 합니다. 이 파일에 포함되어야 하는 키를 보려면 Lookup Table Specification Reference 를 참조하세요.
3단계: PAT를 통해 사용자 지정 인리치먼트 업로드
사용자 지정 인리치먼트 구성 파일을 생성한 후 PAT를 사용하여 Panther에 업로드할 수 있습니다 업로드 명령어:
업로드가 발생하려면 --api-token 와 --api-host를 각각 제공해야 합니다. 다른 옵션으로는 필터링, 최소 테스트 등 이 포함됩니다.
YAML 구성 파일을 업로드하기 전에 해당하는 스키마를 업로드했는지 확인하세요.
4단계: 사용자 지정 인리치먼트 테스트
사용자 지정 인리치먼트가 올바르게 설정되었는지 테스트하는 여러 방법이 있습니다.
방법 1: Panther 콘솔 또는 CLI에서 테스트 데이터 인리치
Panther 콘솔의 디텍션 편집기에서, 다음을 클릭하여 테스트 데이터 보강 사용자 지정 인리치먼트가 올바르게 작동하는지 확인하세요. 이는 유닛 테스트 내에서 테스트 데이터를 입력하고 인리치먼트 프로세스의 출력을 확인할 수 있게 합니다.
다음을 위해 테스트 데이터 보강 정상적으로 작동하려면 유닛 테스트에는 p_log_type 올바른 로그 유형을 식별하는 항목이 있어야 합니다. 이는 Panther의 인리치먼트 로직의 기초가 됩니다.
PAT의 다음을 사용하여 사용자 지정 인리치먼트가 제대로 작동하는지 확인하세요
enrich-test-dataPanther에서 수신된 HTTP 데이터에서 스키마를 추론하려면 에 대해 자세히 알아보십시오enrich-test-data에 대해 더 읽을 수 있습니다.
방법 2: 다음 확인하기 panther_signals PantherFlow 문서
변경 사항이 적용되었는지 확인하려면 다음을 확인할 수 있습니다 panther_signals.public.correlation_signals 데이터베이스/테이블에서 p_enrichment 필드. 해당 필드에 예상되는 사용자 지정 인리치먼트 세부 정보가 포함되어 있는지 확인하세요.
방법 3: SQL 쿼리 사용
또한 LEFT JOIN 을 사용하여 이벤트 로그와 인리치먼트 테이블 간에 수행할 수 있습니다. 쿼리에서 셀렉터가 정의되어 있는지 확인하세요. 이렇게 하면 로그의 데이터가 사용자 지정 인리치먼트의 데이터와 올바르게 일치하는지 확인할 수 있습니다.
예를 들어, 이 쿼리는 사용자 지정 셀렉터(구성 파일 YAML에 정의한 셀렉터와 동일해야 함)를 사용하여 이벤트 데이터를 사용자 지정 인리치먼트와 매칭하려고 시도합니다:
전제 조건
YAML 구성 파일. 다음을 사용할 수 있습니다 panther-analysis의 Panther 제공 구성 파일.
1단계: 필요에 따라 YAML 구성 파일 수정
Panther 관리 인리치먼트를 활성화하는 경우, 필요에 맞게 구성을 수정할 수 있습니다 Panther는 를.
인리치먼트를 위해 Panther가 제공한 YAML 구성 파일을 수정할 때는 사용자 지정하려면 항상
AssociatedLogTypes키의 내용만 수정해야 합니다.셀렉터간격(intervals)과 같은 다른 매개변수의 변경은 문제를 일으키는 것으로 알려져 있습니다.스키마를 보관하는 중이고 해당 스키마가 현재 하나 이상 로그 소스와 연결되어 있으면 확인 모달에서 먼저 스키마를 분리하라는 메시지가 표시됩니다. 분리한 후 클릭하십시오참고: 이 로그 유형(
예시
)과 셀렉터(Cloudflare.FirewallClientIP)가 이러한 방식으로 수동으로 설정되지 않았더라도,은(는) 각각 로그 유형 및 셀렉터로 추가될 것입니다, 그 이유는 Cloudflare.Firewall 와 p_any_ip_addresses 지표 필드에 의한 자동 매핑 입니다..
이는 )가 이러한 방식으로 수동으로 설정되지 않았더라도, 가 지표 필드로 지정되어 있기 때문입니다, cidr 스키마에서 및 Tor 조회 테이블의 기본 키인 Cloudflare.Firewall 는 자체 데이터 스키마에서 지표로 지정되어 있습니다, cidr이기 때문입니다. cidr Tor.ExitNode 이 예에서,.
tor_exit_nodes 인리치먼트는 새 셀렉터 로그 유형 와 PrimaryKey.
의 값은
예제는 기본적으로 포함된 하나의정의되어cidr.아래 예시는 기본적으로 포함된 하나를 보여줍니다.
AssociatedLogTypesLogTypeMap:
이것은 다음을 지원하도록 추가합니다 AssociatedLogTypes ip_address 스키마: 필드를 Cloudflare.Firewall 는 상위 필드이거나 중첩된 필드에 대한 JSON 경로일 수 있습니다.
참고:
셀렉터- LogType: Cloudflare.Firewall
인리치먼트 구성 파일을 수정한 후 PAT를 사용하여 Panther에 업로드할 수 있습니다
3단계: 인리치먼트 테스트 업로드 명령어:
업로드가 발생하려면 --api-token 와 --api-host를 각각 제공해야 합니다. 다른 옵션으로는 필터링, 최소 테스트 등 이 포함됩니다.
인리치먼트가 올바르게 설정되었는지 테스트하는 여러 방법이 있습니다.
인리치먼트가 올바르게 작동하는지 확인하려면. 이는 유닛 테스트 내에서 테스트 데이터를 입력하고 인리치먼트 프로세스의 출력을 확인할 수 있게 합니다.
방법 1: Panther 콘솔 또는 CLI에서 테스트 데이터 인리치
Panther 콘솔의 디텍션 편집기에서, 다음을 클릭하여 테스트 데이터 보강 PAT의 다음을 사용하여 인리치먼트가 제대로 작동하는지 확인하세요
다음을 위해 테스트 데이터 보강 정상적으로 작동하려면 유닛 테스트에는 p_log_type 올바른 로그 유형을 식별하는 항목이 있어야 합니다. 이는 Panther의 인리치먼트 로직의 기초가 됩니다.
필드. 해당 필드에 예상되는 인리치먼트 세부 정보가 포함되어 있는지 확인하세요.
enrich-test-dataPanther에서 수신된 HTTP 데이터에서 스키마를 추론하려면 에 대해 자세히 알아보십시오enrich-test-data에 대해 더 읽을 수 있습니다.
방법 2: 다음 확인하기 panther_signals PantherFlow 문서
변경 사항이 적용되었는지 확인하려면 다음을 확인할 수 있습니다 panther_signals.public.correlation_signals 데이터베이스/테이블에서 p_enrichment 이벤트 로그와 인리치먼트 테이블 간에 SQL에서 LEFT JOIN을 수행할 수 있습니다. 쿼리에서 셀렉터가 정의되어 있는지 확인하세요. 이렇게 하면 로그의 데이터가 인리치먼트 테이블의 데이터와 올바르게 일치하는지 확인할 수 있습니다.
방법 3: SQL 쿼리 사용
또한 LEFT JOIN 예를 들어, 이 쿼리는 사용자 지정 셀렉터(인리치먼트 구성에서 정의한 셀렉터와 동일해야 함)를 사용하여 이벤트 데이터를 인리치먼트 데이터와 매칭하려고 시도합니다:
SELECT * FROM panther_logs.public.<log_type> AS e LEFT JOIN panther_lookups.public.<lookup_table_name> AS lt ON e.<field_path> = lt.<field_path> WHERE e.p_occurs_since('1 day')
마지막 업데이트
도움이 되었나요?

