HTTP 소스

Panther에서 로그 수집을 위한 HTTP(웹후크) 소스 온보딩

개요

Panther의 HTTP 로그 수집 기능을 사용하면 귀하(또는 제3자)가 웹후크로 로그 이벤트를 Panther로 직접 보낼 수 있습니다. HTTP 로그 소스를 생성하면 Panther는 귀하가 요청을 보낼 수 있는 URL 엔드포인트를 제공합니다. POST 수집을 위한 데이터를 포함한 요청입니다.

직접적인 API 풀러가 없는 로그 소스의 경우, HTTP 소스를 사용하면 추가 인프라를 설정하지 않고도 Panther로 데이터를 수집할 수 있습니다(다른 데이터 전송예: 선택하세요 또는 Google Cloud Storage).

circle-info

Panther의 HTTP 소스는 실제로 HTTPS 소스입니다. 즉 Panther가 제공하는 엔드포인트는 https://로 시작합니다. 이러한 소스는 상호 교환적으로 "HTTP" 또는 "HTTPS"라고 불리지만 항상 암호화(TLS)로 보호됩니다.

페이로드 요구사항

HTTP 엔드포인트를 통해 Panther로 데이터를 전송할 때 특정 사양이 적용됩니다.

최대 크기

지원되는 최대 페이로드 크기는 1MB입니다. 이 제한에는 헤더가 포함됩니다.

귀하는 페이로드를 압축하여 전송 전에 처리량을 극대화할 수 있습니다.

압축

페이로드는 선택적으로 압축되어 전송될 수 있습니다. 압축 사양에 대한 자세한 내용은 Panther에서 압축된 데이터 수집.

스트림 유형

Panther는 HTTP 소스를 통해 수집된 데이터의 스트림 유형을 자동으로 추론합니다. 다음 스트림 유형이 지원됩니다:

  • JSON

  • 라인(라인 구분)

  • JSON 배열

  • XML

각 스트림 유형에 대한 설명 및 예시는 여기에서 확인하세요.

인증

HTTPS 엔드포인트가 인증된 출처의 요청만 처리하도록 보호하기 위해 Panther는 다양한 인증 모드를 제공합니다.

공유 시크릿

공유 시크릿 인증(토큰 인증이라고도 함)에서는 소스 설정 중에 헤더 이름과 공유 시크릿 값을 구성합니다. Panther에 대한 POST 요청을 하는 주체는 해당 이름과 시크릿 값을 포함한 헤더를 포함해야 합니다. Panther는 구성과 일치하는 헤더와 시크릿을 가진 페이로드만 수락합니다.

이 방법을 공유 시크릿이라고 하는 이유는 시크릿이 Panther와 POST 요청을 하는 주체(예: 로그 이벤트를 내보내는 제3자 SaaS 도구) 간에 공유되기 때문입니다.

설정 중에,

HMAC 인증에서는 소스 설정 중에 헤더 이름, 시크릿 키 값 및 해시 알고리즘을 구성합니다.

Panther에 대한 POST 요청을 하는 주체는 각 요청의 페이로드를 해시하고 시크릿 키 값을 사용해 서명을 생성한 다음 해당 서명을 헤더에 포함해야 합니다. Panther는 헤더에서 서명을 검색한 후 동일한 시크릿 키를 사용해 같은 서명 계산을 수행합니다. 서명이 일치하는 요청만 수락됩니다.

HMAC 해시 서명 계산

HMAC 인증을 사용하여 HTTP 소스를 설정한 후에는 각 POST 요청에 해시 서명을 계산하여 전송해야 합니다. 방법은 다음과 같습니다:

  1. Panther에 입력한 시크릿 키와 HMAC 16진수 다이제스트를 사용하여 요청 페이로드의 해시를 계산합니다.

  2. 해시를 16진수 문자열로 변환합니다.

  3. 요청 헤더에 16진수 문자열 값을 다음과 같이 포함합니다. {"<헤더 이름>": "sha256=<16진수 문자열>"} 또는 {"<헤더 이름>": "sha1=<16진수 문자열>"}선택한 해싱 알고리즘에 따라 다릅니다.

chevron-rightHMAC 해시 서명을 생성하는 예제 코드 스니펫hashtag

다음 코드 스니펫은 <hex_string> 값(예: sha256 해시 알고리즘 사용 시)을 생성하는 데 사용할 수 있습니다:

Bearer

베어러 인증에서는 소스 설정 중에 베어러 토큰 값을 정의합니다. Panther에 대한 POST 요청을 하는 주체는 다음 형식의 헤더를 포함해야 합니다 Authorization: Bearer <token_value_here>Panther는 일치하는 베어러 토큰을 가진 요청만 수락합니다.

기본

기본 인증에서는 소스 설정 중에 사용자 이름과 비밀번호를 정의합니다. Panther에 대한 POST 요청을 하는 주체는 다음 형식의 헤더를 포함해야 합니다 Authorization: Basic aGVsbG8=키워드 뒤의 문자열은 기본 RFC 7617 을 따르며, 발신자는arrow-up-rightusername:password 값을 base64 로 인코딩해야 합니다.Panther는 일치하는 사용자 이름과 비밀번호를 가진 요청만 수락합니다.

없음

강력히 권장되지는 않지만 인증 없이 엔드포인트를 구성하는 것이 가능합니다. 이는 Panther가 들어오는 요청에 대해 어떠한 인증 검사도 수행하지 않음을 의미하며, 결과적으로 귀하의 URL이 모든 POST 요청에 대해 열려 있게 됩니다.

circle-exclamation

Panther에서 HTTP 로그 소스를 설정하는 방법

Panther에서 HTTP 로그 소스를 설정하려면 아래 단계를 따르세요. 또한 데이터 수집 비디오 개요 를 보고 HTTP 소스 설정에 대한 빠른 안내를 확인할 수 있습니다.

Panther에서 HTTP 로그 소스 생성

  1. Panther 콘솔의 왼쪽 탐색 바에서 다음을 클릭합니다 구성 > 로그 소스.

  2. 오른쪽 상단 모서리에서 새로 만들기(Create New)를 클릭하세요.

  3. 알림 요약 보기 “GitHub Webhooks”를 검색한 다음 해당 타일을 클릭하세요. 타일을 클릭하세요.

  4. 다음 구성 페이지의 기본 정보 섹션에서 다음 필드에 대한 값을 입력하세요:

    • 소스 이름: 소스에 대한 설명적인 이름을 입력하세요.

    • 스키마 - 선택 사항: 이 소스가 수집할 하나 이상의 로그 유형을 선택하세요.

      • 이 필드는 선택 사항입니다. 소스 생성 후 스키마를 첨부할 수 있습니다. 스키마가 첨부되기 전에 HTTP 소스로 전송된 데이터는 스키마를 추론하는 데.

  5. 위의 사용될 수 있습니다. 인증 유형 선택 인증 방법 섹션에서, 선택한 인증 모드에 따라. Under an Authentication header is the question: How would you like Panther to authenticate data sent to this log source? Then, in an open dropdown menu, are five options: Shared Secret, HMAC, Bearer, Basic, None

  6. 아래 지침을 따르세요: 인증 방법 선택한 항목:

    • 공유 시크릿: 헤더 이름를 입력하고, 공유 비밀 값.

      • 를 생성하세요. 공유 비밀 값귀하의 공유 비밀 값.

    • 설정 중에,: 헤더 이름값을 안전하게 복사하여 안전한 장소에 보관하세요. 이것은 X-Hub-Signature-256값이 처음으로 표시되는 유일한 시점입니다. , 해시 알고리즘 (다음 중 하나) 또는 SHA 256).

      • 를 생성하세요. X-Hub-Signature-256귀하의 X-Hub-Signature-256.

    • Bearer: SHA 1.

      • 베어러 토큰

      • 입력하는 값에는 "Bearer"를 포함하지 마세요. SHA 1 귀하의

    • 기본값을 안전하게 보관하세요. Panther 콘솔에 표시되지 않습니다. :사용자 이름 비밀번호

      • 입력하는 값에는 "Bearer"를 포함하지 마세요. 사용자 이름 귀하의

    • 없음값을 입력하세요.

  7. 클릭 설정(Setup): 추가 구성 없음.

    The success screen reads, "Everything looks good! Panther will now automatically pull & process logs from your account"
    The "Trigger an alert when no events are processed" toggle is set to YES. The "How long should Panther wait before it sends you an alert that no events have been processed" setting is set to 1 Day
    • 스키마를 추론할 수 있습니다.

      • 엔드포인트 생성에는 최대 5분이 걸릴 수 있으며 일반적으로 3분 내에 완료됩니다. 생성 과정을 모니터링하려면로그 소스 보기 를 클릭하세요. 소스의 세부 페이지로 이동하여소스 상태

를 확인할 수 있습니다:\

HTTP 로그 소스로 데이터 전송 POST HTTP 로그 소스를 생성한 후에는 소스 URL로

요청을 하여 Panther로 데이터를 전송할 수 있습니다. 요청이 소스에 대해 구성한 인증 방법을 통과하는지 확인하세요.

예제(사용: curl

오류 처리

HTTP 엔드포인트가 4xx 또는 또는 5xx 상태 코드를 반환하면 Panther는 해당 요청을 자동으로 재시도하지 않습니다. 서버 가용성의 일시적인 문제일 수 있으므로 발신자가 요청을 재시도하는 것이 권장됩니다. 오류가 지속되면.

Panther 지원팀에 문의하세요

수집된 로그 보기 알림 요약을 보는 동안 알림 위에 마우스를 올려 놓으면 오른쪽에 "복사" 아이콘이 나타납니다. 아이콘을 클릭하면 속성 값을 복사하여 데이터 탐색기(Data Explorer)에서 사용할 수 있습니다. 또는 로그 소스가 구성되면, 수집된 데이터를 사용하여 다음을 통해 검색할 수 있습니다: Data Explorer.

Last updated

Was this helpful?