# Tailscale 로그

## 개요

Panther는 Tailscale을 수집합니다 [구성 감사](https://tailscale.com/kb/1203/audit-logging/) 및 [네트워크 흐름](https://tailscale.com/docs/features/logging/network-flow-logs) 로그를 구성하여 [Tailscale 로그 스트리밍](https://tailscale.com/kb/1255/log-streaming/) 이벤트를 Panther로 전송하도록 [HTTP 소스](https://docs.panther.com/ko/data-onboarding/data-transports/http).

{% hint style="warning" %}
사용하려면 [로그 스트리밍](https://tailscale.com/kb/1255/log-streaming/) Tailscale에서 Panther로 로그를 수집하려면 다음이 필요합니다 [Enterprise Tailscale 플랜](https://tailscale.com/pricing/).
{% endhint %}

## Tailscale 로그를 Panther에 온보딩하는 방법

Tailscale 로그를 Panther에 온보딩하려면 먼저 Panther에서 새 로그 소스를 생성한 다음 Tailscale을 구성하여 이벤트를 Panther HTTP 엔드포인트로 전송해야 합니다.

### 사전 요구 사항

* 이 프로세스를 성공적으로 완료하려면 Tailscale 사용자는 다음 역할 중 하나를 가져야 합니다: [소유자(Owner), 관리자(Admin), 네트워크 관리자(Network admin) 또는 IT 관리자(IT admin)](https://tailscale.com/kb/1138/user-roles/).
* Tailscale은 로그 유형별로 하나의 스트리밍 목적지(예: Panther, Splunk, Elasticsearch)만 지원합니다. 현재 다른 소스로 스트리밍 중인 경우 이전 소스를 먼저 비활성화해야 합니다.

### 1단계: Panther에서 새 Tailscale 로그 소스 생성

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 **구성(Configure)** > **로그 소스(Log Sources).**
2. 클릭하세요 **새로 만들기(Create New)**.
3. “Tailscale”을 검색한 다음 해당 타일을 클릭하세요.
   * 슬라이드 아웃 패널에서 **전송 메커니즘(Transport Mechanism)** 오른쪽 상단의 드롭다운은 **HTTP** 옵션으로 미리 채워집니다.
4. 클릭하세요 **설정 시작(Start Setup)**.\
   ![The Tailscale log source setup page is shown. In the upper-right corner, there is a "Transport Mechanism" dropdown field, with "HTTP" selected. To its right is a "Start Setup" button.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-a4a93400f14fb92bffc5ad3c5e201682a9e6b79d%2FScreenshot%202023-06-28%20at%2010.34.26%20AM.png?alt=media)
5. Panther의 [HTTP 소스 구성 지침](https://docs.panther.com/ko/data-transports/http#how-to-set-up-an-http-log-source-in-panther)을(를) 따라 5단계부터 시작하세요.
   * 다음 인증 방식을 사용해야 합니다 [Bearer 인증](https://docs.panther.com/ko/data-transports/http#bearer). 이는 Tailscale이 Panther와 통합할 때 지원하는 인증 방식입니다.
   * 이 소스로 전송된 페이로드는 [모든 HTTP 소스에 대한 페이로드 요구 사항](https://docs.panther.com/ko/data-transports/http#payload-requirements).
   * 에 따릅니다. HTTP 엔드포인트 생성이 완료될 때까지 다음 단계로 진행하지 마세요.

### 2단계: Tailscale에서 새 로그 스트림 생성

1. Tailscale 관리자 콘솔에 로그인하세요.
2. 화면 상단의 탐색 모음에서 **로그(Logs)**.
3. 아래의 **구성 로그(Configuration logs)**&#xC5D0;서 **스트리밍 시작(Start streaming)**.
4. 아래의 **대상 선택(Select a destination)**&#xC5D0;서 **Panther**를 선택한 다음 다음 필드에 대한 값을 입력하세요:
   * **URL**: 1단계에서 생성한 HTTP 소스 URL을 입력하세요.
   * **토큰(Token)**: 1단계에서 생성한 Bearer 토큰을 입력하세요. 단어 "Bearer"는 포함하지 않고 토큰만 붙여넣으세요.\
     ![](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-f930781b8fc33338bf5b1192bb8a8ee32258039e%2Fimage.png?alt=media)
5. 클릭하세요 **스트리밍 시작(Start streaming)**.

## 지원되는 로그 유형

### **Tailscale.Audit**

```yaml
스키마: Tailscale.Audit
설명: Tailscale 감사 로그 스트림의 이벤트 로그
참조 URL: https://tailscale.com/kb/1255/log-streaming/#configuration-audit-log-streaming
필드:
  - 이름: time
    필수: true
    설명: 이벤트가 Tailscale 제어 서버에서 생성된 시점의 타임스탬프
    타입: 타임스탬프
    시간 포맷(timeFormats):
      - unix
    isEventTime: true
  - 이름: event
    필수: true
    설명: 로그 이벤트와 관련된 필드들의 모음
    타입: 객체
    필드:
      - 이름: deferredAt
        설명: 속도 제한된 이벤트가 나중에 기록되도록 큐에 추가된 시점의 타임스탬프
        타입: 타임스탬프
        시간 포맷(timeFormats):
          - rfc3339
      - 이름: eventGroupID
        설명: 원자적으로 발생한 하나 이상의 감사 이벤트에 할당된 불투명 식별자
        타입: 문자열
      - 이름: origin
        필수: true
        설명: 이벤트를 생성한 동작의 시작자
        타입: 문자열
      - 이름: actor
        필수: true
        설명: 동작을 일으킨 사람
        타입: 객체
        필드:
          - 이름: id
            설명: 액터의 식별자
            타입: 문자열
            지표(indicators):
              - actor_id
          - 이름: type
            설명: 액터의 유형
            타입: 문자열
          - 이름: loginName
            설명: 액터의 로그인 이름
            타입: 문자열
            지표(indicators):
              - 이메일
          - 이름: displayName
            타입: 문자열
          - 이름: tags
            타입: 배열
            요소:
              타입: 문자열
      - 이름: target
        필수: true
        설명: 이 이벤트의 동작 대상 객체
        타입: 객체
        필드:
          - 이름: id
            설명: 대상의 ID
            타입: 문자열
          - 이름: name
            설명: 대상의 이름
            타입: 문자열
          - 이름: type
            설명: 대상의 유형
            타입: 문자열
          - 이름: property
            설명: 대상에서 변경된 속성
            타입: 문자열
      - 이름: action
        필수: true
        설명: 대상에 대해 수행된 동작의 유형
        타입: 문자열
      - 이름: old
        설명: 이벤트 이전의 이전 값
        타입: json
      - 이름: new
        설명: 이벤트 이후의 새 값
        타입: json
      - 이름: actionDetails
        설명: 이벤트에 대한 추가 정보
        타입: 문자열
      - 이름: error
        설명: 동작이 완료되지 못한 이유
        타입: 문자열
  - 이름: fields
    설명: 추가로 기록된 필드 데이터를 포함하는 객체
    타입: 객체
    필드:
      - 이름: recorded
        설명: 이벤트가 Tailscale의 로깅 서비스에 의해 기록된 시점의 타임스탬프
        타입: 타임스탬프
        시간 포맷(timeFormats):
          - rfc3339
```

### Tailscale.Network

```yaml
스키마: Tailscale.Network
설명: Tailscale 네트워크 로그 스트림의 이벤트 로그
참조 URL: https://tailscale.com/docs/features/logging/network-flow-logs
필드:
    - 이름: time
      필수: true
      설명: 이벤트가 Tailscale 클라이언트에서 생성된 시점의 타임스탬프
      타입: 타임스탬프
      시간 포맷(timeFormats):
        - unix
      isEventTime: true
    - 이름: event
      필수: true
      설명: 여러 하위 필드를 포함하는 주요 이벤트 객체
      타입: 객체
      필드:
        - 이름: nodeId
          설명: 테일넷(tailnet) 내 노드에 연결된 ID
          타입: 문자열
        - 이름: start
          설명: 네트워크 통계 윈도우의 시작 타임스탬프(포함)
          타입: 타임스탬프
          시간 포맷(timeFormats):
            - rfc3339
        - 이름: end
          설명: 네트워크 통계 윈도우의 종료 타임스탬프(포함)
          타입: 타임스탬프
          시간 포맷(timeFormats):
            - rfc3339
        - 이름: virtualTraffic
          설명: 테일넷 내 노드 간 트래픽의 연결 통계
          타입: 배열
          요소:
            타입: 객체
            필드:
                - 이름: proto
                  설명: 내부 프로토콜 번호
                  타입: bigint
                - 이름: src
                  설명: 소스 IP 주소 및 포트
                  타입: 문자열
                - 이름: srcIp
                  설명: 소스 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: srcPort
                  설명: 소스 포트
                  타입: bigint
                - 이름: dst
                  설명: 대상 IP 주소 및 포트
                  타입: 문자열
                - 이름: dstIp
                  설명: 대상 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: dstPort
                  설명: 대상 포트
                  타입: bigint
                - 이름: txPkts
                  설명: 윈도우 내 전송된 패킷 수
                  타입: bigint
                - 이름: txBytes
                  설명: 윈도우 내 전송된 바이트 수
                  타입: bigint
                - 이름: rxPkts
                  설명: 윈도우 내 수신된 패킷 수
                  타입: bigint
                - 이름: rxBytes
                  설명: 윈도우 내 수신된 바이트 수
                  타입: bigint
        - 이름: subnetTraffic
          설명: 서브넷 경로에서 외부로 향하는 트래픽에 대한 연결 통계
          타입: 배열
          요소:
            타입: 객체
            필드:
                - 이름: proto
                  설명: 내부 프로토콜 번호
                  타입: bigint
                - 이름: src
                  설명: 소스 IP 주소 및 포트
                  타입: 문자열
                - 이름: srcIp
                  설명: 소스 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: srcPort
                  설명: 소스 포트
                  타입: bigint
                - 이름: dst
                  설명: 대상 IP 주소 및 포트
                  타입: 문자열
                - 이름: dstIp
                  설명: 대상 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: dstPort
                  설명: 대상 포트
                  타입: bigint
                - 이름: txPkts
                  설명: 윈도우 내 전송된 패킷 수
                  타입: bigint
                - 이름: txBytes
                  설명: 윈도우 내 전송된 바이트 수
                  타입: bigint
                - 이름: rxPkts
                  설명: 윈도우 내 수신된 패킷 수
                  타입: bigint
                - 이름: rxBytes
                  설명: 윈도우 내 수신된 바이트 수
                  타입: bigint
        - 이름: exitTraffic
          설명: 엑시트 노드를 통해 흐르는 트래픽에 대한 집계된 연결 통계
          타입: 배열
          요소:
            타입: 객체
            필드:
                - 이름: proto
                  설명: 내부 프로토콜 번호
                  타입: bigint
                - 이름: src
                  설명: 소스 IP 주소 및 포트
                  타입: 문자열
                - 이름: srcIp
                  설명: 소스 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: srcPort
                  설명: 소스 포트
                  타입: bigint
                - 이름: dst
                  설명: 대상 IP 주소 및 포트
                  타입: 문자열
                - 이름: dstIp
                  설명: 대상 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: dstPort
                  설명: 대상 포트
                  타입: bigint
                - 이름: txPkts
                  설명: 윈도우 내 전송된 패킷 수
                  타입: bigint
                - 이름: txBytes
                  설명: 윈도우 내 전송된 바이트 수
                  타입: bigint
                - 이름: rxPkts
                  설명: 윈도우 내 수신된 패킷 수
                  타입: bigint
                - 이름: rxBytes
                  설명: 윈도우 내 수신된 바이트 수
                  타입: bigint
        - 이름: physicalTraffic
          설명: 물리 계층에서의 트래픽에 대한 연결 통계
          타입: 배열
          요소:
            타입: 객체
            필드:
                - 이름: proto
                  설명: 내부 프로토콜 번호
                  타입: bigint
                - 이름: src
                  설명: 소스 IP 주소 및 포트
                  타입: 문자열
                - 이름: srcIp
                  설명: 소스 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: srcPort
                  설명: 소스 포트
                  타입: bigint
                - 이름: dst
                  설명: 대상 IP 주소 및 포트
                  타입: 문자열
                - 이름: dstIp
                  설명: 대상 IP 주소
                  타입: 문자열
                  지표(indicators):
                    - ip
                - 이름: dstPort
                  설명: 대상 포트
                  타입: bigint
                - 이름: txPkts
                  설명: 윈도우 내 전송된 패킷 수
                  타입: bigint
                - 이름: txBytes
                  설명: 윈도우 내 전송된 바이트 수
                  타입: bigint
                - 이름: rxPkts
                  설명: 윈도우 내 수신된 패킷 수
                  타입: bigint
                - 이름: rxBytes
                  설명: 윈도우 내 수신된 바이트 수
                  타입: bigint
        - 이름: srcNode
          설명: 이 로그 메시지를 생성한 소스 노드 자체에 대한 정보
          타입: 객체
          필드:
            - 이름: nodeId
              설명: 노드의 안정적인 ID
              타입: 문자열
            - 이름: addresses
              설명: 노드의 Tailscale IP 주소
              타입: 배열
              요소:
                타입: 문자열
                지표(indicators):
                  - ip
            - 이름: os
              설명: 노드의 운영 체제
              타입: 문자열
            - 이름: name
              설명: 노드의 정규화된 전체 호스트명
              타입: 문자열
              지표(indicators):
                - hostname
            - 이름: user
              설명: 노드를 소유한 사용자(노드가 태그된 경우에는 채워지지 않음)
              타입: 문자열
              지표(indicators):
                - username
            - 이름: tags
              설명: 노드의 태그(노드가 사용자 소유인 경우에는 채워지지 않음)
              타입: 배열
              요소:
                타입: 문자열
        - 이름: dstNodes
          설명: 소스 노드가 통신한 모든 대상 노드에 대한 정보 목록
          타입: 배열
          요소:
            타입: 객체
            필드:
              - 이름: nodeId
                설명: 노드의 안정적인 ID
                타입: 문자열
              - 이름: addresses
                설명: 노드의 Tailscale IP 주소
                타입: 배열
                요소:
                  타입: 문자열
                  지표(indicators):
                    - ip
              - 이름: os
                설명: 노드의 운영 체제
                타입: 문자열
              - 이름: name
                설명: 노드의 정규화된 전체 호스트명
                타입: 문자열
                지표(indicators):
                  - hostname
              - 이름: user
                설명: 노드를 소유한 사용자(노드가 태그된 경우에는 채워지지 않음)
                타입: 문자열
                지표(indicators):
                  - username
              - 이름: tags
                설명: 노드의 태그(노드가 사용자 소유인 경우에는 채워지지 않음)
                타입: 배열
                요소:
                  타입: 문자열
    - 이름: fields
      설명: 추가로 기록된 필드 데이터를 포함하는 객체
      타입: 객체
      필드:
        - 이름: recorded
          설명: 이벤트가 Tailscale의 로깅 서비스에 의해 기록된 시점의 타임스탬프
          타입: 타임스탬프
          시간 포맷(timeFormats):
            - rfc3339
```
