Panther 감사 로그에 대한 디텍션 쿼리 및 작성

Panther 감사 로그 모니터링

개요

다음에서 Panther 감사 로그 수집을 Panther에 활성화합니다 즉, 그 후에는 디텍션, 데이터 레이크 쿼리 등에서 Panther 감사 로그와 상호작용할 수 있습니다.

Panther 감사 로그를 위한 데이터 레이크 쿼리

감사 로그는 데이터 레이크의 다음 위치에서 찾을 수 있습니다 panther_logs.panther_audit. 다음 쿼리는 로그 소스가 구성된 후에는 수집된 데이터를 사용하여 검색할 수 있습니다 이전에 생성한 Snowflake 사용자 이름, 예를 들면 panther_monitor에서 실행되며 지난 하루 동안의 모든 감사 이벤트를 보여줍니다:

SELECT * FROM panther_logs.panther_audit WHERE p_occurs_since('1 day');

이 쿼리의 결과에는 여러 감사 로그가 포함되며, 그 예시는 아래에서 볼 수 있습니다:

{
	"XForwardedFor": [
		"72.72.72.72",
		"130.172.130.172"
	],
	"actionDescription": "사용 가능한 모든 데이터 레이크 데이터베이스의 세부정보를 나열합니다",
	"actionName": "LIST_DATA_LAKE_DATABASES",
	"actionParams": {},
	"actionResult": "SUCCEEDED",
	"actor": {
		"attributes": {
			"email": "[email protected]",
			"emailVerified": false,
			"roleId": ""
		},
		"id": "[email protected]",
		"name": "[email protected]",
		"type": "USER"
	},
	"errors": null,
	"p_any_ip_addresses": [
		"72.72.72.72",
		"130.172.130.172"
	],
	"p_any_trace_ids": [
		"[email protected]"
	],
	"p_any_usernames": [
		"[email protected]"
	],
	"p_event_time": "2022-04-22 15:39:55.358",
	"p_log_type": "Panther.Audit",
	"p_parse_time": "2022-04-22 15:41:36.276",
	"p_row_id": "asdfdjklasdfjklasdfjlk",
	"p_source_id": "abc12345-ab12-cd12-ef12-abc1234567890",
	"p_source_label": "panther-audit-logs-us-east-1",
	"pantherVersion": "1.34.0",
	"sourceIP": "72.72.72.72",
	"timestamp": "2022-04-22 15:39:55.358",
	"userAgent": ""
}

Panther 감사 로그용 디텍션 작성

감사 로그는 Panther 내에서 이례적이거나 중요한 작업이 수행될 때 알러트를 생성하기 위한 강력한 디텍션을 작성하는 데 활용될 수 있습니다.

디텍션이 삭제될 때 알러트가 발생하도록 하는 디텍션을 작성해 보겠습니다.

1단계: 디텍션 작성 시작

  1. Panther 콘솔의 왼쪽 탐색 창에서 디텍션.

  2. Detections 페이지에서 클릭합니다 새로 만들기.

  3. 일반 구성 Select Detection Type 모달에서 클릭합니다 .

  4. 설명적인 이름 룰의 이름 예: Panther detection deleted.

  5. 에서 다음 소스에 대해로그 유형 드롭다운에서 선택합니다 Panther.Audit. Under a "For the Following Source" header is a "Log Types" dropdown. A "Panther.Audit" selection has been made.

  6. 일반 구성 디텍트 타일에서 Python Editor.

  7. 코드 편집기에서 다음 Python 코드를 입력합니다. 이 코드는 디텍션이 삭제되었을 때 알러트를 생성합니다:

  8. 일반 구성 알러트 생성 타일의 필수 필드에서, 심각도.

  9. 아래로 스크롤하여 테스트 타일에서 클릭합니다 새로 추가.

2단계: 디텍션에 대한 테스트 생성

1단계에서 디텍션을 정의하고 클릭했습니다 새로 추가 의 아래에서 테스트 테스트 프로세스를 시작합니다.

아래에서는 작성한 디텍션 대상 작업에 대한 테스트 데이터를 생성합니다. 예제에서는 Panther 콘솔에서 디텍션을 삭제하는 작업을 확인하도록 디텍션을 정의했습니다.

  1. 별도 브라우저 탭에서 Panther 콘솔을 엽니다. 디텍션을 위해 작성한 작업을 수행하여 테스트 감사 로그를 생성합니다.

    • 위의 예제에서는 Panther 콘솔에서 디텍션을 삭제하는 작업을 확인하도록 디텍션을 정의했습니다. 이 예제에서는 다음 단계를 따릅니다:

      1. 이동: Build > Detections.

      2. 테스트 디텍션을 생성합니다.

      3. 디텍션을 성공적으로 생성한 후, 이를 삭제합니다.

  2. 왼쪽 사이드바에서 조사 > 데이터 탐색기(Investigate > Data Explorer).

  3. 테스트 중인 작업에 대한 감사 로그를 찾기 위해 쿼리를 실행합니다.

    • 우리의 예제에 따라 최근에 삭제된 디텍션을 확인하기 위해 다음 쿼리를 사용합니다:

    • 결과가 반환되지 않으면 몇 분 기다렸다가 다시 시도하세요.

  4. Data Explorer 결과에서 이 로그를 나타내는 JSON 객체를 복사합니다. 정의한 디텍션으로 돌아가서 JSON 객체를 테스트 텍스트 편집기에 붙여넣습니다.

  5. 그대로 둡니다 예제 이벤트를 기반으로 디텍션이 트리거되어야 합니다 토글이 다음으로 설정되어 있는지 설정의 기본값은.

  6. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 테스트 실행.

    • 디텍션이 예상대로 실행되고 알러트 제목이 예상대로 표시되는지 확인합니다. The image shows the test from a rule in the Panther Console. At the bottom under the "Mock Testing" section, there is a message that says "PASS" and includes the alert title and dedup string for the successful test.

  7. 페이지 오른쪽 상단에서 클릭합니다 배포.

Creating a descriptive alert title

위의 예제에서는 간단한 알러트 제목을 사용했습니다:

감사 로그의 값들을 사용하여 더 설명적인 알러트 제목을 구성할 수 있습니다 actionParams 감사 로그 내의 필드:

환경에서 Fluentd 시작에 관해서는 로그 스키마 감사 로그 필드에 대한 자세한 내용은

circle-info

사용자를 사용할 것이며, actionParams 해당 감사 작업마다 이 필드는 다릅니다. 주어진 작업에 대해 이 필드에 어떤 정보가 포함되는지 이해하려면, 해당 작업에 대한 감사 로그를 데이터 레이크에서 쿼리하고 그 결과를 사용하여 해당 작업에 대한 디텍션 작성 방식을 결정하세요.

마지막 업데이트

도움이 되었나요?