사용자 정의 보강

저장된 자체 데이터로 이벤트 보강하기

개요

사용자 지정 보강(“조회 테이블”이라고도 함)을 사용하면 Panther에 사용자 지정 보강 데이터를 저장하고 참조할 수 있습니다. 즉, 이러한 추가 컨텍스트를 탐지에서 참조하고 경고에 전달할 수 있습니다. 신원/자산 정보, 취약성 컨텍스트 또는 네트워크 맵을 포함하는 사용자 지정 보강을 생성하는 것이 특히 유용할 수 있습니다.

다음이 있습니다 네 가지 가져오기 방법 옵션: 예약 검색, 정적 파일, S3 버킷 또는 Google Cloud Storage(GCS) 버킷.

사용자 지정 보강에 하나 이상의 로그 유형을 연결할 수 있습니다—그런 다음 해당 유형의 모든 수신 로그(보강 테이블 값과 일치하는 경우)에 보강 데이터가 포함됩니다. 보강 프로세스에 대해 자세히 알아보려면 수신 로그가 보강되는 방법. 또한 Python 탐지에서 보강 데이터를 동적으로 참조할 수 있습니다. 여기에 대해 알아보세요, 저장된 보강 데이터를 보는 방법, 그리고 보강 데이터가 포함된 로그 이벤트를 보는 방법.

데이터가 몇 가지 특정 탐지에만 필요하고 자주 업데이트되지 않을 경우, 보강 대신 전역 헬퍼arrow-up-right 를 사용하는 것을 고려하세요. 또한 IPinfo 및 Tor Exit Nodes와 같은 Panther 관리 보강 을(를) 사용할 수 있다는 점에 유의하세요.

사용자 지정 보강 수 및/또는 보강 테이블 크기 제한을 늘리려면 Panther 지원팀에 문의하세요.

수신 로그가 보강되는 방법

Panther의 보강은 전통적으로 다음 두 가지를 모두 정의합니다:

  • 기본 키: 보강 테이블 데이터의 필드.

    • 보강이 CLI 워크플로에서 정의된 경우, 이는 PrimaryKey 필드로 지정됩니다 YAML 구성 파일.

  • 하나 이상의 연관된 로그 유형(각각 하나 이상의 Selector 포함): Selector는 값이 보강 테이블의 기본 키 값과 비교되어 일치 항목을 찾는 이벤트 필드입니다.

로그가 Panther에 수집될 때, 해당 로그 유형이 보강에 연관된 유형이면 모든 Selector 필드의 값이 보강의 기본 키 값과 비교됩니다. Selector 필드의 값과 기본 키 값 사이에 일치 항목이 발견되면, 해당 로그는 일치하는 기본 키에 연관된 보강 데이터로 p_enrichment 필드에 보강됩니다. 자세한 내용은 p_enrichment 아래, p_enrichment 구조.

아래 이미지의 예에서 수신 로그의 이벤트에 있는 Selector 필드는 ip_address입니다. 보강 LUT1의 기본 키는 bad_actor_ip입니다. 오른쪽의 경고 이벤트에서, Selector 값( bad_actor_name)을 포함한 보강 데이터와 함께 로그가 보강된 이유는 Selector 값(1.1.1.1)과 기본 키 값(1.1.1.1).

A diagram showing how Lookup Tables work: On the left, there is a code box labeled "Incoming logs." An arrow branches off the logs and points to a Lookup Table including "bad_actor_ip" and "bad_actor_name." On the right, an arrow goes from the Lookup Table to an Alert Event, showing the alert you would receive based on the log example.

보강에 대해 로그 유형 및 Selector가 설정되는 방법

) 사이에 일치가 있었기 때문입니다.연관된 로그 유형 및 Selector를 보강 생성 시 수동으로 설정할 수 있습니다 (옵션 1), 및/또는 자동으로 매핑되도록 할 수 있습니다 ().

옵션 2

옵션 1: 로그 유형 및 Selector를 수동으로 선택

circle-info

보강을 생성할 때 보강과 연관할 하나 이상의 로그 유형을 선택할 수 있으며—각 로그 유형에 대해 하나 이상의 Selector 필드를 선택할 수 있습니다. ), 및/또는 자동으로 매핑되도록 할 수 있습니다 ( 이와 같이 로그 유형 및 Selector를 수동으로 선택하더라도,

를 참조하세요.

옵션 2: 기본 키 지표에 의해 로그 유형 및 Selector를 자동으로 매핑하도록 허용 보강 데이터의 기본 키는 필드를지표

- mitre_attack_technique

  1. 그런 다음 각 지표 값에 대해 Panther는 자동으로: 모든 활성

  2. 로그 스키마(또는 로그 유형) 중 해당 이벤트 필드를 동일한 지표로 지정한 항목을 찾습니다.

  3. 해당 로그 유형들을 보강에 연관시킵니다. 각 로그 유형에 대해 지표와 연관된 p_any

필드를 Selector로 설정합니다. 예를 들어, 보강 데이터의 스키마가 위에 표시된 것처럼 attack_ids 기본 키를 mitre_attack_technique 기본 키를 지표로 지정하면, Panther 인스턴스의 모든 로그 유형 중 동일한 지표 를 설정한 항목들이 보강에 연관되고, 각 항목은

p_any_mitre_attack_techniques

circle-info

Selector를 갖게 됩니다. 이 매핑은 보강의 데이터가 새로 고쳐질 때마다 발생합니다. 보강 데이터의 스키마가 Panther에서 관리되는 경우, 기본 키의 보강 데이터의 기본 키는 필드를 지표 필드

p_enrichment 구조

지정이 (하위 필드로) 보이지 않을 수 있습니다. 해당 지표는 백엔드 애플리케이션 코드에 정의될 수 있습니다. p_enrichment 로그 이벤트에 보강 데이터가 주입된 경우, 이벤트에 필드가 추가되고 탐지 내에서 deep_get() 또는DeepKey p_enrichment 을 사용하여 접근됩니다.

  • 해당

  • 필드에는 다음이 포함됩니다:

  • 수신 로그 이벤트와 일치한 하나 이상의 보강 이름 보강과 일치한 수신 로그의 Selector 이름 보강의 기본 키를 통해 일치한 보강의 데이터(일치한 Selector 값을 포함하는 삽입된

p_match p_enrichment 필드를 포함하여)

'p_match': <Selector 값>, p_enrichment <보강 키>: <보강 값>, 주의: 는 데이터 레이크의 로그 이벤트와 함께 저장되지 않습니다. 자세한 내용은

보강 데이터가 포함된 로그 이벤트 보기

를 참조하세요. 필드가 추가되고 탐지 내에서

탐지에서 보강 데이터에 접근하는 방법 수신 로그가 보강되는 방법옵션 1 (로그가 보강된 경우): 사용 p_enrichment 로그 이벤트가 수집 시 보강되었다면 (에서 설명한 바와 같이), 위에 설명된 구조를 가진필드 내의 데이터에 필드가 추가되고 탐지 내에서 event 객체 함수 필드가 추가되고 탐지 내에서 를 사용하여 접근할 수 있습니다. Python 탐지 작성에 대해 자세히 알아보려면.

을(를) 참조하세요. 이 방법의 전체 예시는 아래,.

사용자 지정 보강 데이터를 사용한 탐지 작성 에서 확인하세요.

옵션 2: 동적으로 사용 lookup() 또한 event.lookup()함수를 사용하여 Python 탐지에서 보강 데이터에 동적으로 접근할 수 있습니다. 수신 로그가 보강되는 방법.

이렇게 하면 수신 이벤트에 주입되지 않은 보강이라도 모든 보강에서 데이터를 검색할 수 있습니다(위에서 설명한 방식과 달리).

사용자 지정 보강 구성 전제 조건

  • 보강을 구성하기 전에 다음을 확인하세요:

    • 보강 데이터 전용 스키마

  • 이는 보강 데이터의 형태를 설명합니다.

    • 보강 데이터의 기본 키

    • 이 기본 키는 보강 스키마에 정의한 필드 중 하나입니다. 기본 키 값은 수신 로그의 Selector 값과 비교될 값입니다. 아래 기본 키 데이터 유형

  • 섹션을 참조하여 기본 키 요구 사항에 대해 자세히 알아보세요.

    • (선택 사항) 수신 로그의 Selector(s)

  • 이 Selector들의 값은 보강 데이터에서 일치 항목을 검색하는 데 사용됩니다.

  • 파일 업로드 또는 S3/GCS 버킷을 사용하는 경우:

    • JSON 또는 CSV 형식의 보강 데이터

      • JSON 파일은 라인, 배열 또는 객체 등 다양한 방식으로 이벤트를 포맷할 수 있습니다.

  • 예약 검색을 사용하는 경우:

아래

문자열

  • 숫자

  • 배열(문자열 또는 숫자의 배열)

  • 배열을 사용하면 보강 테이블의 한 행을 여러 문자열 또는 숫자 기본 키 값과 연결할 수 있습니다. 이는 동일한 행을 여러 기본 키에 대해 중복할 필요를 방지합니다.

    • 예시: 문자열 배열 vs. 문자열 기본 키 유형

chevron-right예를 들어 사용자 데이터를 사용자 지정 보강 테이블에 저장하여 특정 사용자와 연관된 수신 로그 이벤트에 추가 개인 정보를 보강하고 싶다고 가정해 보겠습니다. 사용자 이메일 주소로 매칭하려고 하므로 이메일 필드는 보강 테이블의 기본 키가 되고 로그 이벤트의 Selector가 됩니다.hashtag

보강 테이블의 기본 키 열을 문자열 유형으로 할지 문자열 배열 유형으로 할지 결정 중입니다.

먼저 로그 소스에서 수신할 것으로 예상되는 아래 두 이벤트를 검토하세요:

# 수신 로그 이벤트 1

[email protected][email protected] LogType )가 동일한 사용자Jane Doe 에 속한다는 점에 유의하세요..

Panther가 이러한 이벤트를 수신할 때 각 이벤트를 Jane의 전체 이름과 역할로 보강하고 싶습니다. 보강 후 이 이벤트들은 다음과 같을 것입니다:

이 보강은 다음 중 하나를 사용하여 달성할 수 있습니다:

  • (권장) 문자열 배열 유형의 기본 키 열

  • 문자열 유형의 기본 키 열

기본 키 열이 문자열 배열 유형인 보강 테이블을 사용하면 Jane의 여러 이메일 주소를 하나의 기본 키 항목에 포함시켜 하나의 데이터 행과 연결할 수 있습니다. 이는 다음과 같을 수 있습니다:

또는 기본 키 열이 문자열 유형인 보강 테이블을 정의할 수 있습니다. 그러나 이벤트와 보강 테이블 간의 일치는 사용자의 이메일 주소로 이루어지고 사용자는 여러 이메일 주소를 가질 수 있으므로(위 Jane의 경우와 같이) 각 이메일 주소마다 보강 테이블 행을 중복해야 합니다. 이는 다음과 같을 것입니다:

두 옵션 모두 동일한 결과(예: 로그 이벤트가 동일한 방식으로 보강됨)를 제공하지만, 문자열 배열 기본 키로 보강을 정의하는 것이 편의성과 유지보수 오류 가능성 감소로 권장됩니다.

Panther 콘솔에서 보강을 생성할 때 연관된 로그 유형 및 Selector를 설정할 수 있습니다. 자세한 내용은

다음을 충족한 후 전제 조건를 완료하면 다음 방법 중 하나를 사용하여 사용자 지정 보강을 생성하고 구성할 수 있습니다:

이러한 방법 중 하나를 선택한 후 Panther 콘솔 내에서 작업하거나 PAT.

circle-exclamation

옵션 1: 예약 검색으로 사용자 지정 보강 데이터 가져오기

circle-info

예약 검색으로 사용자 지정 보강 데이터를 가져오는 기능은 오픈 베타 Panther 버전 1.117부터 제공되며 모든 고객이 사용할 수 있습니다. 버그 보고서 및 기능 요청은 Panther 지원팀에 공유해 주세요.

사용자 지정 보강 데이터는 예약 검색의 결과로 자동으로 채워질 수 있습니다. 이 방법은 외부 스크립트나 수동 CSV 내보내기의 필요를 없애고 정의된 일정에 따라 자동으로 업데이트되는 보강 데이터를 유지할 수 있게 합니다.

circle-exclamation
chevron-right아래에 설명된 자동 매핑은 계속 적용된다는 점에 유의하세요.hashtag

Panther 콘솔을 통해 예약 검색으로 데이터 가져오기

  1. Panther 콘솔의 왼쪽 탐색 표시줄에서 구성 > 보강.

  2. 오른쪽 상단에서 새로 만들기, 그리고 나서 선택하십시오 맞춤 보강.

    • 또는, 다음에서 시작할 수 있습니다 조사 > 데이터 탐색기 페이지에서 쿼리를 입력한 다음 클릭하십시오 쿼리로 보강 생성.

  3. 에서 보강 기본 정보 페이지에서 필드를 작성하십시오:

    • 보강 이름: 맞춤 보강에 대한 설명적 이름입니다.

    • 사용 가능?: 이 토글이 다음으로 설정되어 있는지 확인하십시오 . 이 설정은 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.

    • 설명 - 선택 사항: 테이블에 대한 추가 설명입니다.

    • 참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

  4. 클릭 계속.

  5. 에서 가져오기 방법 선택 페이지에서, 쿼리로 데이터 가져오기 타일에서 클릭하십시오 선택.

    • 가져오기 방법이 자동으로 선택되며 데이터 탐색기에서 시작한 경우 이 페이지는 건너뜁니다 데이터 탐색기 페이지.

  6. 에서 연관 로그 유형(선택 사항) 페이지에서 로그 유형/선택자를 지정하십시오:

    circle-exclamation
    1. 클릭 로그 유형 추가.

    2. 클릭하십시오 로그 유형 드롭다운을 연 다음 로그 유형을 선택하십시오.

    3. 하나 이상 선택하십시오 , 보강하려는 로그 유형의 외래 키 필드입니다.

      • 또한 다음을 사용하여 중첩 객체의 속성을 참조할 수 있습니다 JSON 경로 구문arrow-up-right. 예를 들어, 맵의 필드를 참조하려면 다음을 입력할 수 있습니다 $.field.subfield.

    4. 클릭 로그 유형 추가 필요한 경우 다른 항목을 추가하려면.

  7. 클릭 계속.

  8. 에서 쿼리 설정 페이지에서 필드를 작성하십시오:

    • SQL 쿼리: 맞춤 보강에 대한 데이터를 반환할 SQL 쿼리를 작성하십시오. 데이터 탐색기에서 데이터 탐색기에서 테스트.

      • 쿼리가 Panther에 의해 수집된 데이터를 가져오는 경우 모든 표준 필드 다음으로 시작하는 p_ 접두사, 이러한 이름은 예약된 이름이기 때문입니다.

    • 스케줄 유형 및 빈도: 데이터 새로고침 빈도에 따라 스케줄 빈도를 구성합니다. 다음 중에서 선택:

      • 기간: 고정된 시간 간격으로 쿼리를 실행합니다(예: 2시간마다)

      • 크론: 다음을 사용하여 특정 날짜와 시간에 쿼리를 실행합니다 Cron 식

  9. 클릭 계속. Panther는 SQL 쿼리에서 자동으로 스키마를 생성합니다.

  10. 에서 테이블 스키마 페이지에서 자동으로 생성된 스키마를 검토하고 기본 키 이름 을(를) 드롭다운에서 선택하세요.

  11. 클릭 엔리치먼트 생성. 소스 설정 성공 페이지가 표시됩니다.

  12. 선택적으로 이 엔리치먼트가 데이터를 받지 못할 경우 알람을 설정하시겠습니까?, 전환하여 로 설정하면 알람이 활성화됩니다.

    • 다음을 작성하세요 배열(문자열 또는 숫자의 배열) LogType 기간 필드는 Panther가 이 알림을 얼마나 자주 전송해야 하는지 나타냅니다.

    • 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성하고 사용자화하려면 다음을 참조하세요 Panther 대상.

  13. 클릭 설정 완료.

circle-info

스케줄된 검색은 구성된 일정에 따라 실행되며 사용자 지정 엔리치먼트 데이터를 자동으로 업데이트합니다. 검색 기록은 검색 기록 페이지.

옵션 2: 파일 업로드를 통한 사용자 지정 엔리치먼트 데이터 가져오기

Panther 콘솔 또는 PAT를 통해 파일 업로드로 데이터를 가져올 수 있습니다:

chevron-right아래에 설명된 자동 매핑은 계속 적용된다는 점에 유의하세요.hashtag

Panther 콘솔을 통한 파일 업로드로 사용자 지정 엔리치먼트 데이터 가져오기

  1. Panther 콘솔의 왼쪽 탐색 표시줄에서 구성 > 엔리치먼트.

  2. 오른쪽 상단에서 새로 만들기.

  3. 에서 기본 정보 페이지:

    • 보강 이름: 맞춤 보강에 대한 설명적 이름입니다.

    • 사용 가능?: 이 토글이 다음으로 설정되어 있는지 확인하십시오 . 이 설정은 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.

    • 설명 - 선택 사항: 테이블에 대한 추가 설명입니다.

    • 참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

  4. 클릭 계속.

  5. 에서 연관 로그 유형(선택 사항) 페이지에서 선택적으로 로그 유형/선택기(Selector)를 지정:

    • 클릭 로그 유형 추가.

    • 클릭하십시오 로그 유형 드롭다운을 연 다음 로그 유형을 선택하십시오.

    • 하나 이상 선택하십시오 , 보강하려는 로그 유형의 외래 키 필드입니다.

      • 또한 다음을 사용하여 중첩 객체의 속성을 참조할 수 있습니다 JSON 경로 구문arrow-up-right. 예를 들어, 맵의 필드를 참조하려면 다음을 입력할 수 있습니다 $.field.subfield.

    • 클릭 로그 유형 추가 필요한 경우 다른 항목을 추가하려면 위 예시 화면에서는 AWS.CloudTrail 로그를 선택하고 다음을 입력했습니다 accountID LogType recipientAccountID CloudTrail 로그의 키를 나타내기 위해.

  6. 클릭 계속.

  7. 에서 테이블 스키마 페이지에서 테이블 스키마를 구성하세요: &#xNAN;참고: 아직 새 스키마를 생성하지 않았다면, 다음을 참조하세요 스키마 생성에 대한 문서arrow-up-right. 사용자 지정 엔리치먼트 데이터를 사용하여 스키마를 유추할 수도 있습니다. 스키마를 생성하면 엔리치먼트를 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 선택할 수 있습니다. &#xNAN;참고: CSV 스키마는 사용자 지정 엔리치먼트와 함께 작동하려면 열 헤더가 필요합니다.

    • 선택하세요 스키마 이름 을(를) 드롭다운에서 선택하세요.

    • 선택하세요 기본 키 이름 드롭다운에서. 이 값은 테이블의 고유한 열이어야 하며, 예를 들어 accountID. The image shows the Table Schema form from the Panther Console. The Schema Name field is filled in with "Custom.AWSaccountIDs" and the Primary Key Name field is set to "awsacctid."

  8. 클릭 계속.

  9. 에서 가져오기 방법 선택 페이지에서, 파일 업로드를 통한 가져오기 타일에서 클릭하십시오 설정.

  10. 에서 파일 업로드 페이지에서 파일을 끌어다 놓거나 클릭하세요 파일 선택 가져올 보강 데이터 파일을 선택합니다. 파일은 다음 형식이어야 합니다 .csv deep_get() .json 형식입니다. \

  11. 클릭 설정 완료. 소스 설정 성공 페이지가 표시됩니다.

  12. 선택적으로, 옆의 S이(가) 이 사용자 정의 보강이 데이터를 받지 못할 경우 알람을 설정하시겠습니까?설정을 전환하여 로 설정하면 알람이 활성화됩니다.

    • 다음을 작성하세요 배열(문자열 또는 숫자의 배열) LogType 기간 필드는 Panther가 이 알림을 얼마나 자주 전송해야 하는지 나타냅니다.

    • 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자화하려면 문서를 참조하세요 Panther 대상.

    The image shows a success page in the Panther Console after creating a Lookup Table. There is an option to set an  alarm in case this Lookup Table doesn't receive any data, and dropdown selectors to choose a time period when you receive the alerts. At the bottom, there is a section showing which destinations will receive the alert.

circle-info

사용자 정의 보강 업로드 실패로 생성된 알림은 다음에서 확인할 수 있습니다 시스템 오류 탭 내 알림 및 오류 Panther 콘솔의 페이지.

chevron-rightPAThashtag

PAT을 통해 파일 업로드로 사용자 정의 보강 데이터를 가져오기

circle-info

데이터 파일이 1MB보다 큰 경우 대신 S3 동기화 업로드 방법을 deep_get() GCS 동기화 업로드 방법을.

파일 및 폴더 설정

사용자 정의 보강에는 다음 파일이 필요합니다:

  • 보강 테이블의 YAML 구성 파일

    • 이 사용자 정의 보강 구성 파일은 이름에 다음을 포함하는 폴더에 저장되어야 합니다 lookup_tables. 이는 최상위 lookup_tables 디렉터리이거나, 이름이 *lookup_tables*.인 하위 디렉터리일 수 있습니다. 참조용으로 panther-analysisarrow-up-right 리포지토리를 사용할 수 있습니다.

  • 테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일

    • 이 데이터 스키마 파일은 디렉터리 외부에 저장되어야 합니다 lookup_tables 디렉터리. 다른 사용자 정의 로그 스키마와 함께 저장하도록 선택할 수 있으며, 예를 들어 /schemas panther-analysis 리포지토리 루트의 디렉터리에.

  • 테이블에 로드할 데이터를 포함하는 JSON 또는 CSV 파일(선택 사항, 아래 참고).

스키마 및 구성 파일 작성하기

테이블 구성은 일부 값을 참조하므로 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.

  1. YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블로 데이터를 업로드할 때 사용할 파일을 어떻게 읽을지 정의합니다. 데이터를 CSV 파일로 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.

  2. YAML 구성 파일을 만드세요. 필수 및 허용 값의 전체 목록은 다음에서 확인하세요 전체 필드 목록은.

    • 로컬 파일에 데이터가 저장된 사용자 정의 보강의 예시 구성은 다음과 같습니다:

  3. 리포지토리 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요 panther_analysis_tool update-custom-schemas --path ./schemas.

  4. 리포지토리 루트에서 커스텀 인리치먼트를 업로드하려면 panther_analysis_tool upload.

Panther Analysis Tool을 통해 커스텀 인리치먼트를 업데이트하십시오:

  1. 문제의 커스텀 인리치먼트에 대한 YAML 구성 파일을 찾으십시오.

  2. 파일을 열고 필드를 찾으십시오 Filename. 데이터 파일로 이어지는 파일 경로가 표시됩니다.

  3. 의 지시된 파일을 업데이트하거나 교체하십시오 Filename. 허용되는 값은 다음을 참조하십시오 전체 필드 목록은.

  4. 구성 파일을 저장한 다음 다음으로 변경 사항을 업로드하십시오:

    선택적으로 커스텀 인리치먼트만 업로드하도록 지정할 수 있습니다:

옵션 3: S3 버킷에서 사용자 지정 보강 데이터 동기화

S3 버킷에서 데이터 동기화를 Panther 콘솔 또는 PAT를 통해 설정할 수 있습니다:

chevron-right아래에 설명된 자동 매핑은 계속 적용된다는 점에 유의하세요.hashtag

Panther 콘솔을 통해 S3 버킷에서 커스텀 인리치먼트 데이터를 동기화

  1. Panther 콘솔의 왼쪽 탐색 표시줄에서 Configure > Enrichments.

  2. 오른쪽 상단에서 새로 만들기.

  3. 추가를 클릭하십시오 맞춤 보강 카드.

  4. 에서 기본 정보 페이지에서 필드를 작성하십시오:

    • 보강 이름: 맞춤 보강에 대한 설명적 이름입니다.

    • 사용 가능?: 이 토글이 다음으로 설정되어 있는지 확인하십시오 . 이 설정은 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.

    • 설명 - 선택 사항: 테이블에 대한 추가 설명입니다.

    • 참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

    • The image shows the Lookup Table Basic Information form from the Panther Console. The Lookup Name field is filled in with "Employee Directory." It is enabled. The description says "Directory with groups and permissions a specific user is associated with." There is a blue button labeled "Continue" at the bottom.

  5. 에서 연관된 로그 유형 페이지에서 선택적으로 로그 유형/선택기(Selector)를 지정:

    • 클릭 로그 유형 추가.

    • 클릭하십시오 로그 유형 드롭다운을 연 다음 로그 유형을 선택하십시오.

    • 하나 이상 선택하십시오 , 외래 키 필드는 커스텀 인리치먼트 데이터로 보강하려는 로그 유형을 형성합니다.

      • 또한 다음을 사용하여 중첩 객체의 속성을 참조할 수 있습니다 JSON 경로 구문arrow-up-right. 예를 들어, 맵의 필드를 참조하려면 다음을 입력할 수 있습니다 $.field.subfield.

  • 클릭 로그 유형 추가 필요한 경우 다른 항목을 추가하려면 The image shows the Associated Log Types form from the Panther Console. The Log Type field is set to AWS.VPCFlow. Selectors is set to "account." 위 예시 화면에서는 AWS.VPCFlow 로그를 선택하고 다음을 입력했습니다 account VPC Flow 로그에서 키를 나타내기 위해.

  1. 클릭 계속.

  2. 에서 테이블 스키마 페이지에서 테이블 스키마를 구성하십시오. &#xNAN;참고: 아직 새 스키마를 생성하지 않았다면, 다음을 참조하세요 스키마 생성에 대한 문서arrow-up-right. 스키마를 생성하면 커스텀 인리치먼트를 구성하는 동안 Table Schema 페이지의 드롭다운에서 해당 스키마를 선택할 수 있습니다.

    1. 선택하세요 스키마 이름 을(를) 드롭다운에서 선택하세요.

    2. 선택하세요 기본 키 이름 드롭다운에서. 이 값은 테이블의 고유한 열이어야 하며, 예를 들어 accountID.

  3. 클릭 계속.

  4. 에서 가져오기 방법 선택 페이지에서, S3 버킷에서 데이터 동기화 타일에서 클릭하십시오 설정. The image shows the "Choose Import Method" page in the Panther Console. The options are Import via File Upload and Sync Data from an S3 Bucket. The Setup button is circled next to "Sync Data from an S3 Bucket."

  5. S3 소스를 설정하십시오. 데이터는 다음 형식이어야 합니다 .csv deep_get() .json 형식.

    • 입력하십시오 Account ID, S3 버킷이 위치한 12자리 AWS 계정 ID입니다.

    • 입력하십시오 S3 URI, 특정 S3 버킷을 식별하는 고유 경로입니다.

    • 선택적으로 입력하십시오 KMS Key 데이터가 KMS-SSE로 암호화된 경우.

    • 입력하십시오 업데이트 기간, S3 소스가 업데이트되는 주기(기본값 1시간). The image shows the "Set up your S3 source" form from the Panther Console. There are fields for Account ID, S3 URI, KMS Key, and selectors to choose the Update Period.

  6. 클릭 계속.

  7. IAM 역할을 설정하십시오.

    • 이 작업을 수행하는 세 가지 옵션에 대한 지침은 다음 섹션인 IAM 역할 생성(Creating an IAM role)을 참조하십시오.

  8. 클릭 설정 완료. 소스 설정 성공 페이지가 표시됩니다.

  9. 선택적으로, 옆의 S이(가) 이 사용자 정의 보강이 데이터를 받지 못할 경우 알람을 설정하시겠습니까?설정을 전환하여 로 설정하면 알람이 활성화됩니다.

    • 다음을 작성하세요 배열(문자열 또는 숫자의 배열) LogType 기간 필드는 Panther가 이 알림을 얼마나 자주 전송해야 하는지 나타냅니다.

    • 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자화하려면 문서를 참조하세요 Panther 대상.

The image shows a success page in the Panther Console after creating a Lookup Table. There is an option to set an  alarm in case this Lookup Table doesn't receive any data, and dropdown selectors to choose a time period when you receive the alerts. At the bottom, there is a section showing which destinations will receive the alert.

circle-info

커스텀 인리치먼트 업로드 실패로 생성된 알림은 시스템 오류 탭 내 알림 및 오류 Panther 콘솔의 페이지.

IAM 역할 생성

S3 소스를 사용하는 Panther 커스텀 인리치먼트와 함께 사용할 IAM 역할을 생성하는 방법에는 세 가지 옵션이 있습니다:

AWS 콘솔 UI를 사용하여 IAM 역할 생성

  1. S3 소스로 커스텀 인리치먼트를 생성하는 과정 중 "Set Up an IAM role" 페이지에서 "Using the AWS Console UI"라는 타일을 찾으십시오. 타일 오른쪽에서 선택.

  2. 클릭 Launch Console UI. The image shows the screen after you choose to use AWS UI to set up your role. There is a green button in the center labeled "Launch Coonsole UI." At the bottom, there is a field to enter your Role ARN.

    • 템플릿 URL이 미리 채워진 상태로 새 브라우저 탭에서 AWS 콘솔로 리디렉션됩니다.

    • CloudFormation 스택은 S3 버킷에서 객체를 읽는 데 필요한 최소 권한을 가진 AWS IAM 역할을 생성합니다.

    • AWS의 CloudFormation 스택에서 "Outputs" 탭을 클릭하고 Role ARN을 기록하십시오.

  3. Panther 계정으로 돌아가십시오.

  4. "Use AWS UI to set up your role" 페이지에 Role ARN을 입력하십시오.

  5. 클릭 설정 완료.

CloudFormation 템플릿 파일을 사용하여 IAM 역할 생성

  1. S3 소스로 커스텀 인리치먼트를 생성하는 과정 중 "Set Up an IAM role" 페이지에서 "CloudFormation Template File"이라는 타일을 찾으십시오. 타일 오른쪽에서 선택.

  2. 클릭 CloudFormation template, 템플릿을 다운로드하여 자체 파이프라인을 통해 적용할 수 있습니다.

  3. AWS에 템플릿 파일 업로드:

    1. AWS 콘솔을 열고 CloudFormation 제품으로 이동하십시오.

    2. 클릭 스택 생성.

    3. 클릭 템플릿 파일 업로드 그리고 다운로드한 CloudFormation 템플릿을 선택하십시오.

  4. Panther의 "CloudFormation Template" 페이지에 Role ARN을 입력하십시오.

  5. 클릭 설정 완료.

수동으로 IAM 역할 생성

  1. S3 소스로 커스텀 인리치먼트를 생성하는 과정 중 "Set Up an IAM role" 페이지에서 다음 링크를 클릭하십시오 I want to set everything up on my own.

  2. 필요한 IAM 역할을 생성하십시오. 필요한 IAM 역할은 수동으로 또는 자체 자동화로 생성할 수 있습니다. 역할 이름 형식은 PantherLUTsRole-${Suffix}(예: PantherLUTsRole-MyLookupTable).

    • IAM 역할 정책에는 아래에 정의된 문(statement)이 포함되어야 합니다:

    • S3 버킷이 AWS KMS를 사용한 서버 측 암호화로 구성된 경우, Panther API가 해당 KMS 키에 액세스할 수 있도록 권한을 부여하는 추가 문을 포함해야 합니다. 이 경우 정책은 다음과 유사합니다:

  3. Panther의 "Setting up role manually" 페이지에 Role ARN을 입력하십시오.

    • 이는 AWS 계정의 CloudFormation 스택의 "Outputs" 탭에서 찾을 수 있습니다.

  4. 클릭 설정 완료, 그리고 새로운 직원 디렉터리 테이블이 나열된 Enrichments 목록 페이지로 리디렉션됩니다.

chevron-rightPAThashtag

PAT를 통해 S3 버킷에서 커스텀 인리치먼트 데이터 동기화

파일 및 폴더 설정

사용자 정의 보강에는 다음 파일이 필요합니다:

  • 보강 테이블의 YAML 구성 파일

    • 이 사용자 정의 보강 구성 파일은 이름에 다음을 포함하는 폴더에 저장되어야 합니다 lookup_tables. 이는 최상위 lookup_tables 디렉터리이거나, 이름이 *lookup_tables*.인 하위 디렉터리일 수 있습니다. 참조용으로 panther-analysisarrow-up-right 리포지토리를 사용할 수 있습니다.

  • 테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일

    • 이 데이터 스키마 파일은 디렉터리 외부에 저장되어야 합니다 lookup_tables 디렉터리(예: /schemas panther 분석 저장소의 루트에). 다른 사용자 정의 로그 스키마와 함께 저장하도록 선택할 수 있습니다.

  • 테이블에 로드할 데이터를 포함하는 JSON 또는 CSV 파일(선택 사항, 아래 참고).

스키마 및 구성 파일 작성하기

일반적으로 테이블 구성을 참조하는 값이 있으므로 먼저 데이터 스키마를 작성하는 것이 좋습니다.

  1. YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블로 데이터를 업로드할 때 사용할 파일을 어떻게 읽을지 정의합니다. 데이터를 CSV 파일로 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.

  2. 테이블 구성을 위한 YAML 파일을 만드십시오. S3의 파일에 저장된 데이터를 사용하는 커스텀 인리치먼트의 예시 구성은 다음과 같습니다:

    • 다음 사항에 유의하십시오, Refresh 필드에는 다음이 포함됩니다 RoleARN, ObjectPathPeriodMinutes Selectors

    • 요구되는 전체 목록과 허용된 값은 다음을 참조하십시오 전체 필드 목록은.

  3. 리포지토리 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요 panther_analysis_tool update-custom-schemas --path ./schemas.

  4. 리포지토리 루트에서 커스텀 인리치먼트를 업로드하려면 panther_analysis_tool upload.

전제 조건

커스텀 인리치먼트를 S3와 동기화하도록 구성하기 전에 다음을 준비해야 합니다:

  1. Panther가 S3 버킷에 액세스하는 데 사용할 수 있는 AWS의 IAM 역할 ARN. Panther용 IAM 역할 설정에 대한 자세한 내용은 IAM 역할 생성 섹션을 참조하십시오.

  2. 데이터를 저장하려는 파일 경로. 경로 형식은 다음과 같아야 합니다: s3://bucket-name/path_to_file/file.csv

옵션 4: Google Cloud Storage(GCS) 버킷에서 사용자 지정 보강 데이터 동기화

circle-info

GCS 버킷에서 인리치먼트 데이터를 동기화하는 기능은 Panther 버전 1.114부터 오픈 베타이며 모든 고객이 사용할 수 있습니다. 버그 리포트와 기능 요청은 Panther 지원팀에 공유해 주십시오.

GCS 버킷에서 데이터 동기화를 Panther 콘솔 또는 PAT를 통해 설정할 수 있습니다:

chevron-right아래에 설명된 자동 매핑은 계속 적용된다는 점에 유의하세요.hashtag

Panther 콘솔을 통해 GCS 버킷에서 커스텀 인리치먼트 데이터를 동기화

  1. Panther 콘솔의 왼쪽 탐색 표시줄에서 Configure > Enrichments.

  2. 오른쪽 상단에서 새로 만들기.

  3. 클릭하십시오 맞춤 보강 카드.

  4. 에서 기본 정보 페이지에서 필드를 작성하십시오:

    • 보강 이름: 맞춤 보강에 대한 설명적 이름입니다.

    • 사용 가능?: 이 토글이 다음으로 설정되어 있는지 확인하십시오 . 이 설정은 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.

    • 설명 - 선택 사항: 테이블에 대한 추가 설명입니다.

    • 참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

  5. 클릭 계속.

  6. 에서 연관 로그 유형(선택 사항) 페이지에서 선택적으로 로그 유형/선택기(Selector)를 지정:

    • 클릭 로그 유형 추가.

    • 클릭하십시오 로그 유형 드롭다운을 연 다음 로그 유형을 선택하십시오.

    • 하나 이상 선택하십시오 , 외래 키 필드는 커스텀 인리치먼트 데이터로 보강하려는 로그 유형을 형성합니다.

      • 또한 다음을 사용하여 중첩 객체의 속성을 참조할 수 있습니다 JSON 경로 구문arrow-up-right. 예를 들어, 맵의 필드를 참조하려면 다음을 입력할 수 있습니다 $.field.subfield.

    • 클릭 로그 유형 추가 필요한 경우 다른 항목을 추가하려면 The image shows the Associated Log Types form from the Panther Console. The Log Type field is set to AWS.VPCFlow. Selectors is set to "account." 위 예시 화면에서는 AWS.VPCFlow 로그를 선택하고 다음을 입력했습니다 account VPC Flow 로그에서 키를 나타내기 위해.

  7. 클릭 계속.

  8. 에서 테이블 스키마 페이지에서 Table Schema를 구성하십시오: 참고: 아직 새 스키마를 생성하지 않았다면 다음을 참조하십시오 스키마 생성에 대한 문서arrow-up-right. 스키마를 생성하면 커스텀 인리치먼트를 구성하는 동안 Table Schema 페이지의 드롭다운에서 해당 스키마를 선택할 수 있습니다.

    1. 선택하세요 스키마 이름 을(를) 드롭다운에서 선택하세요.

    2. 선택하세요 기본 키 이름 드롭다운에서. 이 값은 테이블의 고유한 열이어야 하며, 예를 들어 accountID.

  9. 클릭 계속.

  10. 에서 가져오기 방법 선택 페이지에서, Google Cloud Storage 버킷에서 데이터 동기화 타일에서 클릭하십시오 설정.

  11. Google Cloud Storage 소스를 설정하십시오. 데이터는 다음 형식이어야 합니다 .csv deep_get() .json 형식.

    • 입력하십시오 Google Cloud Storage URI, 해당 객체를 식별하는 고유 경로입니다.

    • 입력하십시오 업데이트 기간, S3 소스가 업데이트되는 주기(기본값 1시간).

  12. 클릭 계속.

  13. ID를 설정하십시오.

    • 이를 수행하는 방법에 대한 지침은 다음 섹션인 ID 설정(Set up an identity)을 참조하십시오.

  14. 클릭 설정 완료. 소스 설정 성공 페이지가 표시됩니다.

  15. 선택적으로, 옆의 이 커스텀 인리치먼트가 데이터를 수신하지 않을 경우 알람을 설정하시겠습니까?설정을 전환하여 로 설정하면 알람이 활성화됩니다.

    • 다음을 작성하세요 배열(문자열 또는 숫자의 배열) LogType 기간 필드는 Panther가 이 알림을 얼마나 자주 전송해야 하는지 나타냅니다.

    • 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자화하려면 문서를 참조하세요 Panther 대상.

circle-info

커스텀 인리치먼트 업로드 실패로 생성된 알림은 시스템 오류 탭 내 알림 및 오류 Panther 콘솔의 페이지.

ID 설정

지원되는 ID 방법은 Workload Identity Federationarrow-up-right입니다. GCS 소스를 사용하는 Panther 커스텀 인리치먼트와 함께 Workload Identity Federation을 설정하는 방법에는 세 가지 옵션이 있습니다:

  • Terraform 템플릿 파일을 사용하여 Workload Identity Federation 설정

  • GCP 콘솔에서 Workload Identity Federation을 수동으로 설정

Terraform 템플릿 파일을 사용하여 Workload Identity Federation 설정

  1. 에서 ID 설정 페이지에서 GCS 소스로 커스텀 인리치먼트를 생성하는 과정 중 "Terraform Template File"이라는 타일을 찾으십시오. 타일 오른쪽에서 선택.

  2. 클릭 Terraform template, 템플릿을 다운로드하여 자체 파이프라인을 통해 적용할 수 있습니다.

  3. 필드를 작성하십시오 panther.tfvars 파일에 구성값을 입력하십시오.

    • 다음 항목에 대한 값을 제공하십시오 panther_workload_identity_pool_id, panther_workload_identity_pool_provider_id, LogType panther_aws_account_id.

    • 버킷을 다른 리소스와 함께 생성할지 또는 이미 버킷이 있는지 여부에 대한 파일의 지침을 따르십시오.

  4. Terraform 구성 파일이 포함된 작업 디렉터리를 초기화하고 다음을 실행하십시오 terraform init.

  5. 제공된 해당 Terraform 명령 을 복사하여 CLI에서 실행하십시오.

  6. 풀에 대한 자격 구성 파일을 생성하려면 제공된 gcloud 명령 을 복사하고 프로젝트 번호, 풀 ID 및 공급자 ID 값을 교체한 다음 CLI에서 실행하십시오.

    • 프로젝트 번호, 풀 ID 및 공급자 ID는 Terraform 명령.

  7. 의 출력에서 찾을 수 있습니다. 아래에서JSON 파일 제공

  8. 클릭 설정 완료

GCP 콘솔에서 Workload Identity Federation을 수동으로 설정

  1. , 자격 구성 파일을 업로드하십시오.

circle-exclamation
  1. 다음을 따라 AWS로 Workload Identity Federation 구성 AWS 또는 Azure로 Workload Identity Federation 구성arrow-up-right 문서.

    1. 다음을 정의하는 동안 속성 매핑(attribute mapping) 및 조건을 정의할 때arrow-up-right다음 예제를 참고하십시오:

      • 예시 속성 매핑arrow-up-right:

        Google
        AWS

        google.subject

        assertion.arn.extract('arn:aws:sts::{account_id}:')+":"+assertion.arn.extract('assumed-role/{role_and_session}').extract('/{session}')

        attribute.account

        assertion.account

      • 예시 attribute conditionarrow-up-right: attribute.account=="<PANTHER_AWS_ACCOUNT_ID>"

    2. 다음을 수행하는 경우 아이덴티티 풀에 공급자를 추가할 때arrow-up-right, 선택하십시오 AWS.

circle-exclamation
  1. 필요한 IAM 역할을 계정에 할당하십시오.

  • Pub/Sub 구독 및 주제가 있는 프로젝트에 필요한 권한은 다음과 같습니다:

    필요한 권한들

    역할

    범위

    storage.objects.get

    storage.objects.list

    roles/storage.objectViewer

    bucket-name

    • 참고: 특정 리소스에 대한 권한에 조건이나 IAM 정책을 설정할 수 있습니다. 이는 GCP의 IAM 섹션(아래 예시 스크린샷 참조) 또는 특정 리소스의 페이지에서 수행할 수 있습니다. In the Google Cloud console, the "IAM" navigation bar item is circled. In a slide-out panel, sections titled "Add principals" and "Assign roles" are circled.

    • 참고: 다음을 사용하여 권한을 생성할 수 있습니다 gcloud CLI 도구, 여기서 $PRINCIPAL_ID 은 다음과 같을 수 있습니다: principalSet://iam.googleapis.com/projects/<THE_ACTUAL_GOOGLE_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<THE_ACTUAL_POOL_ID>/attribute.account/<THE_ACTUAL_PANTHER_AWS_ACCOUNT_ID>

      • gcloud projects add-iam-policy-binding $PROJECT_ID --member="$PRINCIPAL_ID" --role="roles/storage.objectViewer"

  1. 자격 구성 파일 다운로드arrow-up-right, 이 파일은 Panther에서 GCP 인프라에 인증하는 데 사용됩니다.

  • gcloud CLI 도구를 사용하여 자격 구성 파일을 생성하려면 다음 명령 형식을 사용하십시오: gcloud iam workload-identity-pools create-cred-config projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$POOL_ID/providers/$PROVIDER_ID --aws --output-file=config.json

chevron-rightPAThashtag

PAT를 통해 GCS 버킷에서 커스텀 인리치먼트 데이터 동기화

파일 및 폴더 설정

사용자 정의 보강에는 다음 파일이 필요합니다:

  • 보강 테이블의 YAML 구성 파일

    • 이 사용자 정의 보강 구성 파일은 이름에 다음을 포함하는 폴더에 저장되어야 합니다 lookup_tables. 이는 최상위 lookup_tables 디렉터리이거나, 이름이 *lookup_tables*.인 하위 디렉터리일 수 있습니다. 참조용으로 panther-analysisarrow-up-right 리포지토리를 사용할 수 있습니다.

  • 테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일

    • 이 데이터 스키마 파일은 디렉터리 외부에 저장되어야 합니다 lookup_tables 디렉터리. 다른 사용자 정의 로그 스키마와 함께 저장하도록 선택할 수 있으며, 예를 들어 /schemas panther-analysis 리포지토리 루트의 디렉터리에.

  • 테이블에 로드할 데이터를 포함하는 JSON 또는 CSV 파일(선택 사항, 아래 참고).

스키마 및 구성 파일 작성하기

일반적으로 테이블 구성을 참조하는 값이 있으므로 먼저 데이터 스키마를 작성하는 것이 좋습니다.

  1. YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블로 데이터를 업로드할 때 사용할 파일을 어떻게 읽을지 정의합니다. 데이터를 CSV 파일로 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.

  2. 테이블 구성을 위한 YAML 파일을 만드십시오. GCS의 파일에 저장된 데이터를 사용하는 커스텀 인리치먼트의 예시 파일은 아래를 참조하십시오.

    • 다음 사항에 유의하십시오, Refresh 필드에는 다음이 포함됩니다 GCSCredentials, StorageProvider, ObjectPathPeriodMinutes Selectors

    • 요구되는 전체 목록과 허용된 값은 다음을 참조하십시오 전체 필드 목록은.

  3. 리포지토리 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요 panther_analysis_tool update-custom-schemas --path ./schemas.

  4. 리포지토리 루트에서 커스텀 인리치먼트를 업로드하려면 panther_analysis_tool upload.

전제 조건

GGS 버킷과 동기화하도록 커스텀 인리치먼트를 구성하기 전에 다음을 준비해야 합니다:

  • Panther가 Google Cloud Storage 객체에 액세스하는 데 사용할 수 있는 Workload Identity Pool용 JSON 자격 구성. Panther용 Workload Identity Federation 설정에 대한 자세한 내용은 ID 설정 위의 섹션의 아래에 설명된 자동 매핑은 계속 적용된다는 점에 유의하세요. 지침을 참조하십시오.

  • 데이터를 저장하려는 파일 경로. 경로 형식은 다음과 같아야 합니다: gs://bucket-name/path_to_file/file.csv

이 방법의 전체 예시는 아래,

커스텀 인리치먼트를 구성한 후에는 추가 컨텍스트를 기반으로 감지(detections)를 작성할 수 있습니다.

예를 들어, 커스텀 인리치먼트를 설정하여 AWS CloudTrail 로그에서 개발자 계정과 운영 계정을 구분하도록 구성했다면, 다음 두 가지 상황이 모두 참일 때만 알림을 받도록 설정할 수 있습니다:

  • MFA가 활성화되지 않은 사용자가 로그인했습니다.

  • AWS 계정이 운영(개발자가 아닌) 계정입니다.

인리치먼트 데이터를 사용하여 탐지를 생성하는 방법은 아래를 참조하십시오:

이벤트가 자동으로 인리치된 인리치먼트 데이터에 접근하기

Python에서는 다음을 사용할 수 있습니다 필드가 추가되고 탐지 내에서 헬퍼 함수 로그의 외래 키 필드를 사용하여 에서 조회된 필드를 검색하려면 p_enrichment 패턴은 다음과 같습니다:

circle-info

커스텀 인리치먼트 이름, 외래 키 및 필드 이름은 모두 선택적 매개변수입니다. 지정하지 않으면 필드가 추가되고 탐지 내에서 사용 가능한 모든 인리치먼트 데이터를 포함하는 계층적 딕셔너리를 반환합니다. 매개변수를 지정하면 관심 있는 데이터만 반환되도록 보장됩니다.

규칙은 다음과 같이 됩니다:


인리치먼트 데이터 동적 접근

다음도 사용할 수 있습니다 이벤트 객체의 에서 확인하세요. event.lookup() 감지에서 인리치먼트 데이터에 동적으로 접근하려면. 이는 이벤트에 인리치먼트의 기본 키 열 값과 정확히 일치하는 값이 포함되어 있지 않을 때 유용할 수 있습니다.

Panther 규칙 엔진은 조회된 일치 항목을 가져와 해당 데이터를 이벤트에 다음 키를 사용해 추가합니다 p_enrichment 다음 JSON 구조에서:

예:

일치한 로그 키의 값이 배열인 경우(예: p_any_aws_accout_ids), 조회된 데이터는 일치하는 레코드를 포함하는 배열입니다.

예:

인리치먼트를 사용하는 탐지 테스트

규칙이 p_enrichment를 사용할 경우, 클릭하십시오 Enrich Test Data JSON 코드 편집기 오른쪽 상단에서 인리치먼트 데이터로 채우기 위해. 이를 통해 이벤트에 포함된 인리치먼트 데이터로 Python 함수를 테스트할 수 있습니다. p_enrichment.

circle-info

단위 테스트가 제대로 인리치되려면 이벤트에 다음 두 필드를 지정해야 합니다:

  • p_log_type: 어떤 인리치먼트를 사용할지 결정합니다

  • 셀렉터 필드: 매치할 값을 제공합니다

A "Unit Test" header is above a code block with JSON. The JSON includes various key/value pairs—for example, "p_log_type": "My.Log.Type"

Last updated

Was this helpful?