맞춤 웹훅 대상

Panther 콘솔에서 맞춤 웹훅을 알러트 대상으로 구성하기

개요

대상(Destinations)은 룰, 정책, 시스템 상태 알림 및 룰 오류로부터 알러트를 수신하는 통합 지점입니다. Panther는 알러트를 수신할 수 있는 대상으로 커스텀 웹훅(Custom Webhook)을 구성하는 것을 지원합니다.

커스텀 웹훅 대상은 오직 URL 만 필요합니다. 해당 서비스는 HTTP HTTP 원시 이벤트(HTTP Raw events) 요청에 포함된 JSON 페이로드를 수락할 수 있어야 합니다. 이 대상 유형은 Panther가 다른 서드파티 통합과 통신할 수 있도록 설계되었습니다.

Panther에서 커스텀 웹훅 알러트 대상을 설정하는 방법

Panther의 웹훅 호출 인증

Panther에서 웹훅 호출로 전송 위치에 인증 자격 증명을 전달하려면, 커스텀 HTTP 헤더를 추가할 수 있습니다. 설정 중 웹훅 설정에서 하나 이상을 추가하세요 헤더 이름 / 헤더 값 쌍.

전달 및 확인(Ack)

웹훅은 Panther의 HTTP 원시 이벤트(HTTP Raw events) 요청을 HTTP 상태 코드 2XX 범위 내에서 수락하고 확인해야 합니다. 네트워크 실패나 비 2XX 코드가 발생한 경우 Panther는 영구 실패가 발생하기 전까지 최대 열 번(10번)까지 요청을 재시도합니다.

웹훅 응답 본문은 전달 상태에 저장되며 알러트 세부 정보 페이지에서 확인할 수 있습니다.

영구 전달 실패가 발생할 경우, Panther는 로그를 기록하고 워크플로 연속성을 제공하며 알러트 세부 정보 페이지의 전달 상태(Delivery Status) 섹션에서 알러트를 수동으로 다시 전송할 수 있도록 합니다.

Panther에서 커스텀 웹훅 설정하기

  1. Panther 콘솔에 로그인하십시오.

  2. 왼쪽 사이드바에서 클릭하세요 구성(Configue) > 알러트 대상(Alert Destinations).

  3. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. +첫 번째 대상 추가.

    • 이미 대상(Destinations)을 생성한 경우, 새로 만들기 페이지 오른쪽 상단에서 새 대상을 추가하려면 클릭하세요.

  4. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 커스텀 웹훅(Custom Webhook).

  5. 양식을 작성하세요:

    • 표시 이름: 대상을 식별할 수 있는 친숙한 이름을 추가하세요.

    • 커스텀 웹훅 URL: 커스텀 웹훅 전달 URL을 입력하세요.

      • 이 문서의 이후 예시인 ngrok 예시 를 따르는 경우, http 이전에 생성한 Snowflake 사용자 이름, 예를 들면 https 전달(Forwarding) URL을 ngrok 출력에서 입력하게 됩니다.

    • 심각도 수준(Severity Levels): 이 대상으로 전송할 알러트의 심각도 수준을 선택하세요.

    • 기본 알러트 유형(Default Alert Types): 이 대상으로 전송할 알러트 유형을 선택하세요.

    • 로그 유형: 기본적으로 모든 로그 유형으로부터의 알러트를 전송합니다. 특정 로그 유형에서만 알러트를 전송하려면 여기서 로그 유형을 지정하세요.

    • 수동 전송 허용(Allow Manual Dispatch): 이 토글을 ON으로 설정하면 이 대상에 대해 알러트를 수동으로 전송arrow-up-right 할 수 있습니다. In the Panther Console, the "Configure your Custom Webhook Destination" page is displayed. It contains fields for Display Name, Custom Webhook URL, Severity, Alert Types, and Log Types.

    • 커스텀 HTTP 헤더(Custom HTTP Headers): 선택적으로 알러트를 전송하는 POST 요청에 포함될 하나 이상의 커스텀 HTTP 헤더를 제공하세요. Next to "Add custom HTTP headers?" the toggle is set to "yes."

  6. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 대상 추가(Add Destination).

  7. 마지막 페이지에서 선택적으로 클릭하세요 테스트 알러트 전송(Send Test Alert) 로 테스트 페이로드를 사용해 통합을 테스트할 수 있습니다. 완료되면 클릭하세요 설정 완료.

The screen displays a large green circle with a checkmark in it. A message at the top says "Everything looks good!" There is a blue button at the button labeled "Send Test Alert" and below that there is a link labeled "Finish Setup."

커스텀 웹훅 알러트 스키마

커스텀 웹훅은 다음 필드를 포함하는 페이로드를 전달합니다:

을 선택하십시오. 다음 키/값 쌍을 지정하십시오:
유형
설명

id

문자열

알러트의 디텍션 식별자

createdAt

문자열

AWSDateTime(ISO-8601) 형식의 알러트 생성 시간

severity

문자열

알러트의 심각도

유형

문자열

알러트의 유형

link

문자열

Panther 콘솔의 알러트 링크

title

문자열

알러트 제목

이름

문자열

알러트 디텍션의 이름

alertId

문자열

Panther 백엔드에서의 알러트 식별자

설명

문자열

알러트에 연결된 설명

runbook

문자열

알러트에 연결된 런북

tags

string[]

알러트에 연결된 태그 목록

version

문자열

알러트 디텍션의 버전 식별자

alertContext

object인 필드가

알러트 컨텍스트 알러트에 첨부된 데이터

사용자를 사용할 것이며, AWSDateTimearrow-up-right 스칼라 타입은 유효한 확장 ISO 8601 DateTime 문자열을 나타냅니다. 즉, 이 스칼라 타입은 다음 형식의 datetime 문자열을 허용합니다 YYYY-MM-DDThh:mm:ss.sssZ. 초(second) 필드 뒤의 필드는 나노초 필드입니다. 1자리에서 9자리까지 허용할 수 있습니다. 초 필드와 나노초 필드는 선택 사항입니다(나노초 필드를 사용하려면 초 필드를 지정해야 합니다). 이 스칼라에 대해서는 시간대 오프셋이 필수입니다. 시간대 오프셋은 Z(UTC 시간대를 나타냄)이거나 다음 형식이어야 합니다 ±hh:mm:ss. 시간대 오프셋의 초 필드는 ISO 8601 표준의 일부가 아님에도 불구하고 유효한 것으로 간주됩니다.

예시 JSON 페이로드:

커스텀 웹훅 예시

다음 예시는 Panther 알러트를 커스텀 웹훅으로 전송하고 해당 웹훅이 페이로드를 간단한 Node.jsarrow-up-right 서버로 전달하고 이를 Ngrokarrow-up-right.

  1. 를 통해 프록시하는 방법을 보여줍니다.

  2. 명령줄을 엽니다. ngrok 계정 만들기arrow-up-right설치arrow-up-right ngrok

    1. 다음 구성 명령을 실행하세요: ngrok config add-authtoken <token>

    2. 포트 8081에서 서비스를 시작하려면 다음 명령을 실행하세요: ngrok http 8081

  3. 파일을 하나 만들고, webhook.js에 다음 스니펫을 붙여넣으세요:

  4. 다른 터미널을 열고 Node.js 서버를 시작하세요:

  5. 일반 구성 Panther 콘솔, 새로 커스텀 웹훅(Custom Webhook) 를 생성하고 전달(Forwarding) 에서 URL을 ngrok 에 붙여넣으세요 커스텀 웹훅 URL 필드에 붙여넣으세요.

    • 예를 들어 전달 URL은 다음과 같을 수 있습니다: https://2d9c-174-27-211-147.ngrok-free.app

  6. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 테스트 알러트 전송 을 실행하여 node.js 서버가 테스트 이벤트를 로그에 기록하는지 확인하세요.

대상(Destinations)에 대한 추가 정보

알러트 라우팅 순서, 대상 수정 또는 삭제, 워크플로 자동화에 대한 자세한 내용은 Panther 문서를 참조하세요: 대상(Destinations)arrow-up-right.

마지막 업데이트

도움이 되었나요?