경고 대상

대상은 Panther의 규칙 및 정책에서 경고를 수신하는 통합입니다

개요

대상(destination)은 규칙과 정책으로부터 경고를 수신하는 통합입니다.

기본적으로 경고는 심각도에 따라 라우팅되며 동시에 여러 대상에 전달될 수 있습니다. 예를 들어, 단일 경고가 Jira 티켓을 생성하고 PagerDuty 인시던트를 생성하며 Amazon Simple Notification Service(SNS)를 통해 이메일을 전송할 수 있습니다.

대상은 탐지의 Python 함수나 메타데이터에서 대상을 설정하여 규칙별 또는 정책별로 재정의할 수 있습니다. 라우팅이 어떻게 결정되는지에 대한 자세한 설명은 경고 라우팅 시나리오 아래를 참조하십시오.

경고에서 해당 경고를 수동으로 대상에 라우팅하도록 선택할 수 있습니다. 수동으로 경고를 라우팅하려는 각 대상은 수동 경고 라우팅이 활성화되어 있어야 합니다. 자세한 내용은 수동 전송 시나리오를 참조하십시오.

circle-info

버전 1.42 이상부터 Panther는 알려진 정적 IP 주소에서 경고를 전송합니다. 이를 통해 고객은 이 IP 주소에서 오는 경고를 수락하도록 대상을 구성할 수 있습니다. 해당 주소는 게이트웨이 공용 IP로 Panther 콘솔에서 확인할 수 있으며, 설정 > 일반 으로 이동한 후 페이지 하단으로 스크롤하면 됩니다.

대상 구성 방법

아래 페이지를 따라 특정 경고 대상을 설정하는 방법을 알아보세요.

지원되는 대상

Panther는 다음 대상에 대한 통합을 지원합니다:

기본적으로 지원되지 않는 대상 설정하기

Panther에서 기본적으로 지원하지 않는 대상으로 경고를 받고 싶다면, 맞춤형 웹후크(Custom Webhook) 또는 API 워크플로를 사용하는 것을 고려하세요.

Panther의 맞춤형 웹후크

Panther의 맞춤형 웹후크 대상을 사용하여 Tines, TheHive 또는 SOCless와 같은 추가 서드파티(또는 API를 가진 서비스)에 도달할 수 있습니다.

Panther API

도달하려는 대상에 공개 API가 없는(예: 내부 애플리케이션) 경우에는 Panther API 에서 일정에 따라 경고를 폴링하여 경고를 수신할 수 있습니다. 경고 보기 및 조작을 위한 사용 가능한 API 작업은 알림 (REST) 및 알림 및 오류 (GraphQL).

그러나 알림은 Panther에서 매 n 분 또는 시간 단위로 가져오기 때문에—예를 들어—커스텀 웹후크 및 지원되는 통합과 같이 생성 즉시 대상에 전송되는 방식이 아니므로 이 방법은 지연을 초래할 수 있습니다.

대상 수정 또는 삭제

  1. Panther 콘솔에 로그인합니다.

  2. 왼쪽 사이드바 메뉴에서 클릭합니다. 구성 > 알림 대상.

  3. 대상 오른쪽에 있는 점 세 개 아이콘을 클릭합니다.

    • 표시되는 드롭다운 메뉴에서 삭제 를 클릭하여 대상을 삭제합니다.

    • 클릭 편집 를 클릭하여 표시 이름, 심각도 수준 및 기타 구성을 수정합니다.

경고 라우팅 시나리오

알림이 라우팅되는 대상은 감지에 설정된 대상 구성(있는 경우) 또는 대상의 구성에 따라 달라집니다.

circle-info

특정 대상이 특정 감지에서 오는 알림만 받도록 하려면 심각도 수준이나 로그 유형이 없는 대상을 생성한 다음 감지가 해당 대상을 가리키도록 구성할 수 있습니다 (사용하여 destinations(), OutputIds또는 Destination Overrides 필드). 자세한 내용은 Panther의 지식 기반 문서를 참조하세요: 단일 Panther 경고를 특정 경고 대상지로 라우팅하려면 어떻게 하나요?arrow-up-right

라우팅 시나리오는 아래에 우선순위가 높은 것부터 낮은 것 순으로 설명되어 있습니다. 한 시나리오가 충족되면 경고 라우팅은 중지됩니다(즉, 이후 시나리오는 적용되지 않습니다).

시나리오 1: 탐지에서 동적으로 정의된 대상

Python 탐지는 destinations() 함수 어떤 대상(들)이 경고를 받아야 하는지를 결정합니다. 이렇게 정의된 대상은 다른 모든 구성보다 우선합니다.

만약 destinations() 감지의 Python 본문에 함수가 정의되어 있지 않거나, 또는 있습니다 하나의 destinations() 함수가 정의되어 있지만, 그것이 반환한다면 None, Panther는 계속해서 시나리오 2, 아래의, 경고 대상을 찾습니다.

함수가 반환한 목록이 destinations() 비어 있는 경우 ([]), 경고는 어떤 대상으로도 라우팅되지 않습니다.

Under a "Detect" header, rule() and destinations() functions are shown.

시나리오 2: 탐지에 정적으로 정의된 대상

Panther는 다음 조건이 충족되면 이 시나리오로 진행합니다 시나리오 1 충족되지 않습니다.

정적 대상 재정의는 탐지의 YAML 파일 내에서 또는 콘솔에서 정의할 수 있습니다:

  • CLI 워크플로우에서는 탐지의 YAML 파일에서 OutputIds 필드를 설정하여 대상을 정적으로 정의할 수 있습니다.

  • 콘솔에서 대상은 탐지의 규칙 설정에서 정의되며, 대상 재정의 필드를 설정하여 대상을 정적으로 정의할 수 있습니다.

"재정의"는 이 대상 정의 방법이 다음보다 우선한다는 것을 의미합니다 시나리오 3아래.

시나리오 3: 대상 구성

대상이 탐지에 정의되지 않은 경우(다음에 설명된 대로) 시나리오 12), 대상 자체에 대한 구성들이 적용됩니다. 경고가 특정 대상으로 라우팅되려면 다음 조건들이 충족되어야 합니다:

  • 대상에 구성된 심각도 수준 은(는) 경고의 심각도 수준을 포함해야 합니다.

    • 경고의 심각도는 탐지의 Severity 키 내에 정적으로 정의되거나, 탐지의 severity() 함수arrow-up-right (Python 탐지의 경우) 또는 DynamicSeverities 값( YAML 탐지의 경우 )에 의해 동적으로 정의된다는 점에 유의하세요.

  • 대상에 구성된 경고 유형 대상에 구성된 것은 경고의 유형을 포함해야 합니다.

  • 대상이 특정 로그 유형의 경고만 수락하도록 구성된 경우, 해당 목록에는 경고와 연결된 로그 유형이 포함되어야 합니다.

circle-exclamation

시나리오 4: 수동 경고 전송

경고를 수동으로 대상에 전송해야 하는 여러 가지 이유가 있을 수 있습니다. 때때로 자동으로 의도한 모든 대상으로 전달되지 않은 경고를 받는 경우가 있습니다. 이는 잘못된 구성, 해당 경고가 일회성 특별 사례인 경우 또는 대상을 테스트하기 위한 것일 수 있습니다.

경고를 수동으로 대상으로 전송할 수 있도록 하려면:

  1. 다음으로 이동하세요 구성 > 경고 대상.

  2. 수동 전송을 활성화하려는 대상을 클릭하세요.

  3. 다음을 활성화하세요 수동 전송 허용 토글.

  1. 팝업에서, 클릭하세요 활성화.

  1. 하단에서, 클릭하세요 대상 업데이트.

이제 이 대상으로 경고를 수동으로 전송할 수 있습니다. 참조: 수동 전송 경고 Dispatch Alert 사용 방법에 대한 정보.

대상 예시

다음 예시는 사용자가 Okta에 여러 번 로그인 실패를 하여 발생한 경고를 대상에 수신하는 방법을 보여줍니다.

다음과 같이 구성했습니다:

  • 대상:

    • Slack은 규칙 일치에 대해 경고를 받도록 구성되어 있습니다.

    • Tines(설정됨 맞춤형 웹후크)은 규칙 일치에 대해 경고를 받도록 구성되어 있습니다.

  • 로그 소스:

    • 귀하의 Panther 인스턴스는 다음을 수집하고 있습니다 Okta 로그.

  • 탐지:

    • 사용자가 너무 많은 로그인 실패로 인해 Okta에 잠겼을 때 경고하도록 “Okta User Locked Out”라는 규칙을 만들었습니다:

    • 대상에 구성된 alert_context() 에는 사용자 이름과 사용자의 Okta ID 값이 포함되어 있습니다.

1. 이벤트 발생

귀하의 사용자 중 한 명이 Okta에 여러 번 로그인 시도에 실패합니다. 결국 해당 계정이 잠깁니다.

2. Panther가 로그를 수집하고 구성한 규칙과 일치하는 이벤트를 탐지합니다

Okta 감사 로그가 Panther 인스턴스로 스트리밍되는 동안 “Okta User Locked Out” 규칙이 사용자가 잠긴 것을 탐지합니다. An alert in the Panther Console shows that a user is locked out. The triggered rule is called "Okta User Locked Out."

3. 규칙 일치가 경고를 트리거합니다

탐지된 규칙 일치로 인해 Slack 대상과 Tines 대상으로 경고가 전송됩니다.

이벤트 발생 후 몇 분 내에 구성한 대상인 Slack 채널에 경고가 표시됩니다:

A Slack app posts a Panther alert that says a user is locked out. The alert includes a link to the Panther UI, a Runbook that recommends verifying IPs, a Severity of Low, and Alert Context that includes the "actor" and "id" parameters.

해당 경고는 또한 맞춤형 웹후크 대상으로 구성한 alert_context() 로 전송됩니다. Tines는

The automated process in Tines shows the sequence of events: Receive Alert from Panther, Wait 10 minutes, Unlock Okta user by ID via HTTP Request, Send Unlock message to Slack via HTTP Request.

함수에서 값을 수신하고, 자동으로 사용자의 Okta 계정을 잠금 해제한 다음 Slack에서 확인 메시지를 보내도록 설정되어 있습니다.

대상 스키마

워크플로 자동화

경고 페이로드는 일반적으로 다음 형식을 가집니다. 맞춤 웹후크, SNS, SQS 또는 워크플로 자동화가 많은 다른 대상의 경우 경고를 처리하는 방식을 정의하는 데 이것이 중요합니다.

대상에 구성된 AWSDateTimearrow-up-right 스칼라 타입은 유효한 확장 ISO 8601 DateTime 문자열을 나타냅니다. 다음 형태의 datetime 문자열을 허용합니다 YYYY-MM-DDThh:mm:ss.sssZ. 초 필드 다음의 필드는 나노초 필드입니다. 1자리에서 9자리까지 허용됩니다. 초 및 나노초 필드는 선택 사항입니다. 이 스칼라에는 시간대 오프셋이 필수입니다. 시간대 오프셋은 다음 중 하나여야 합니다 Z (UTC 시간대를 나타냄) 또는 다음 형식이어야 합니다 ±hh:mm:ss. 시간대 오프셋의 초 필드는 ISO 8601 표준의 일부가 아니더라도 유효한 것으로 간주됩니다.

예시 JSON 페이로드:

알림 대상 문제 해결

Panther 지식 기반을 방문하여 알림 대상에 관한 문서를 확인하세요arrow-up-right 자주 묻는 질문에 대한 답변과 일반적인 오류 및 문제 해결에 도움이 됩니다.

Last updated

Was this helpful?