# Teleport 로그

## 개요

Panther는 다음 수집을 지원합니다 [Teleport 클러스터 이벤트 감사 로그](https://goteleport.com/docs/reference/monitoring/audit/) 을 통해 [AWS S3 데이터 전송](https://docs.panther.com/ko/data-onboarding/data-transports/aws/s3) 옵션.

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

Teleport 로그를 Panther에 온보딩하려면 Teleport를 구성하여 로그를 S3 버킷으로 전달합니다. 그런 다음 Panther에서 S3 소스를 생성합니다.

{% hint style="info" %}
Teleport 소스를 Panther에서 다음의 어떤 [데이터 전송](https://docs.panther.com/ko/data-onboarding/data-transports) 메커니즘을 사용해 설정하는 것도 가능하지만, [S3 버킷 소스](https://docs.panther.com/ko/data-onboarding/data-transports/aws/s3)를 사용하는 것이 권장됩니다. 이 페이지의 지침은 S3 사용을 전제로 합니다.
{% endhint %}

### 1단계: Teleport가 로그를 Panther로 내보내도록 구성

Teleport를 구성하여 Panther가 가져올 수 있는 S3 버킷으로 로그를 내보내는 방법은 두 가지가 있습니다:

* (권장) 옵션 1: 이벤트를 AWS 계정의 S3 버킷에 직접 저장합니다.
  * Teleport 문서의 단계에 따라 [외부 감사 저장소](https://goteleport.com/docs/zero-trust-access/management/external-audit-storage/).
* 옵션 2: Teleport 이벤트 핸들러를 구성하여 이벤트를 Fluentd로 전송하고, Fluentd가 이를 S3 버킷으로 전달하도록 합니다.
  * Teleport 문서의 단계에 따라 [Teleport 감사 이벤트를 Panther로 내보내기](https://goteleport.com/docs/admin-guides/management/export-audit-events/panther/).

### 2단계: Panther에서 새 Teleport 소스 생성

1. Panther 콘솔의 왼쪽 탐색 창에서 **구성** > **로그 소스**.
2. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **새로 만들기**.
3. "Teleport"를 검색한 다음 해당 타일을 클릭합니다.
   * 슬라이드 아웃 패널에서 **전송 메커니즘** 드롭다운은 미리 채워져 **AWS S3 버킷** 옵션.
4. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **설정 시작**.
5. 의 지침을 따르세요 [S3 소스](https://docs.panther.com/ko/data-onboarding/data-transports/aws/s3) 로 소스 구성을 완료합니다.

## Panther 관리 디텍션

참조 [Panther 관리 룰](https://docs.panther.com/ko/detections/panther-managed) Teleport용 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/main/rules/gravitational_teleport_rules).

## 지원되는 로그 유형

### Gravitational.TeleportAudit

이 스키마는 원격 IP 주소, 시간 및 세션 ID와 같은 메타데이터와 함께 성공적인 사용자 로그인과 같은 Teleport 클러스터 이벤트 감사 로그를 지원합니다. 클러스터 이벤트 감사 로그 유형은 [이 Teleport 문서](https://goteleport.com/docs/reference/monitoring/audit/#event-types).

{% hint style="warning" %}
Teleport [녹화된 세션 감사 로그](https://goteleport.com/docs/reference/monitoring/audit/) 는 지원되지 않습니다.
{% endhint %}

```yaml
스키마: Gravitational.TeleportAudit
설명: Teleport는 원격 IP 주소, 시간 및 세션 ID와 같은 메타데이터와 함께 성공적인 사용자 로그인과 같은 이벤트를 기록합니다.
참고URL: https://goteleport.com/docs/admin-guide/#audit-log
필드:
  - name: event
    required: true
    description: 이벤트 유형
    type: string
  - name: code
    required: true
    description: 이벤트 코드
    type: string
  - 이름: time
    required: true
    description: 이벤트 타임스탬프
    type: timestamp
    timeFormats:
      - rfc3339
    isEventTime: true
  - name: uid
    description: 이벤트 고유 ID
    type: string
  - name: user
    description: Teleport 사용자 이름 (이벤트 유형이 'user.login'인 경우)
    type: string
  - name: user_kind
    description: Teleport 사용자 종류
    type: bigint
  - name: namespace
    description: 서버 네임스페이스. 이 필드는 향후 사용을 위해 예약되어 있습니다.
    type: string
  - name: server_id
    description: 고유 서버 ID.
    type: string
  - name: sid
    description: 세션 ID. 세션 재생에 사용할 수 있습니다.
    type: string
    지표:
      - trace_id
  - name: ei
    description: 이벤트 숫자 ID
    type: string
  - name: login
    description: OS 로그인
    type: string
  - name: addr_local
    description: SSH 노드의 주소
    rename:
      from: addr.local
    type: string
    지표:
      - net_addr
  - name: addr_remote
    description: 연결하는 클라이언트(사용자)의 주소
    rename:
      from: addr.remote
    type: string
    지표:
      - net_addr
  - name: size
    description: 터미널 크기
    type: string
  - name: success
    description: 인증 성공 (이벤트 유형이 'auth'인 경우)
    type: boolean
  - name: error
    description: 인증 오류 (이벤트 유형이 'auth')
    type: string
  - name: command
    description: 실행된 명령 (이벤트 유형이 'exec')
    type: string
  - name: exitCode
    description: 명령의 종료 코드 (이벤트 유형이 'exec')
    type: int
  - name: exitError
    description: 명령의 종료 오류 (이벤트 유형이 'exec')
    type: string
  - name: pid
    description: 명령의 프로세스 ID
    type: bigint
  - name: ppid
    description: 부모 프로세스의 프로세스 ID
    type: bigint
  - name: cgroup_id
    description: 컨트롤 그룹 ID
    type: bigint
  - name: return_code
    description: 명령의 반환 코드
    type: int
  - name: program
    description: 명령 이름
    type: string
  - name: argv
    description: 명령에 전달된 인수
    type: array
    element:
      type: string
  - name: path
    description: 실행 파일 경로 또는 SCP 동작 대상 파일 경로 (scp, session.command)
    type: string
  - name: len
    description: SCP 대상 파일 크기 (scp)
    type: bigint
  - name: action
    description: SCP 동작 (scp)
    type: string
  - name: method
    description: 사용된 로그인 방법 (user.login)
    type: string
  - name: attributes
    description: 사용자 로그인 속성 (user.login)
    type: json
  - name: roles
    description: 새 사용자 역할 (user.create)
    type: array
    element:
      type: string
  - name: connector
    description: 사용자를 생성한 커넥터 (user.create)
    type: json
  - name: expires
    description: 만료 날짜
    type: timestamp
    timeFormats:
      - rfc3339
  - name: name
    description: 사용자 또는 서비스 이름 (github.created, user.create, user.update)
    type: string
  - name: tx
    description: 전송한 바이트 수
    type: bigint
  - name: rx
    description: 수신한 바이트 수
    type: bigint
  - name: server_labels
    description: 서버 라벨
    type: json
  - name: server_hostname
    description: 서버 호스트명
    type: string
    지표:
      - 호스트명
  - name: server_addr
    description: 서버 호스트명
    type: string
    지표:
      - net_addr
  - name: session_start
    description: 세션 시작 타임스탬프
    type: timestamp
    timeFormats:
      - rfc3339
  - name: session_stop
    description: 세션 종료 타임스탬프
    type: timestamp
    timeFormats:
      - rfc3339
  - name: interactive
    description: 세션이 대화형인지 여부
    type: boolean
  - name: enhanced_recording
    description: 향상된 녹화가 활성화되었는지 여부
    type: boolean
  - name: participants
    description: 세션에 참여한 사용자
    type: array
    element:
      type: string
  - name: dst_addr
    description: 목적지 IP 주소
    type: string
    지표:
      - ip
  - name: src_addr
    description: 출발지 IP 주소
    type: string
    지표:
      - ip
  - name: dst_port
    description: 목적지 포트
    type: int
  - name: version
    description: 이벤트 버전
    type: int
  - name: cluster_name
    description: Teleport 클러스터 이름
    type: string
  - name: db_name
    description: 데이터베이스/스키마 이름
    type: string
  - name: db_protocol
    description: 데이터베이스 프로토콜
    type: string
  - name: db_query
    description: 쿼리 텍스트
    type: string
  - name: db_query_parameters
    description: 쿼리 매개변수(준비된 문장용)
    type: json
  - name: db_service
    description: 데이터베이스 서비스 이름
    type: string
  - name: db_uri
    description: 데이터베이스 서버 엔드포인트
    type: string
    지표:
      - url
  - name: db_user
    description: 데이터베이스 계정 이름
    type: string
    지표:
      - 사용자명
  - name: desktop_addr
    description: 데스크톱 주소
    type: string
  - name: desktop_name
    description: 데스크톱 이름
    type: string
  - name: desktop_labels
    description: 이 이벤트의 데스크톱과 관련된 키/값 쌍
    type: json
  - name: file_path
    description: 공유 디렉터리 루트로부터의 상대 경로
    type: string
  - name: directory_name
    description: 액세스한 디렉터리 이름
    type: string
  - name: directory_id
    description: 액세스한 디렉터리 ID
    type: string
  - name: lock
    description: 잠금 객체
    type: json
  - name: bot_instance_id
    description: 봇 인스턴스 ID
    type: string
  - name: bot_name
    description: 봇 이름
    type: string
  - name: reviewer
    description: 요청의 검토자
    type: string
  - name: proposed_state
    description: 요청의 원하는 상태
    type: string
  - name: state
    description: 요청의 실제 상태
    type: string
  - name: trusted_device
    description: 사용자의 신뢰된 디바이스에 대한 정보. 인증 중 사용하기 위해 등록되고 등록된 디바이스가 필요합니다.
    type: json
  - name: with_mfa
    description: WithMFA는 이 세션을 시작하는 데 사용된 MFA 디바이스의 UUID입니다.
    type: string
  - name: impersonator
    description: Impersonator는 이 사용자를 가장하는 사용자의 사용자 이름입니다
    type: string
  - name: aws_role_arn
    description: AWS 역할 ARN
    type: string
    지표:
      - aws_arn
  - name: access_requests
    description: 액세스 요청의 ID들
    type: json
  - name: forwarded_by
    description: ForwardedBy는 메타데이터가 노드 자체에 의해 전송되었는지 또는 다른 노드가 대신 전송했는지를 알려줍니다
    type: string
  - name: proto
    description: 캡처된 프로토콜을 지정합니다
    type: string
  - name: user_agent
    description: UserAgent는 이벤트를 시도한 클라이언트 유형을 식별합니다.
    type: string
  - name: kubernetes_cluster
    description: 쿠버네티스 클러스터 이름
    type: string
  - name: kubernetes_users
    description: 쿠버네티스 사용자 이름 목록
    type: json
  - name: kubernetes_groups
    description: 쿠버네티스 그룹 목록
    type: json
  - name: kubernetes_labels
    description: 세션이 발생한 쿠버네티스 클러스터의 라벨(정적 및 동적)
    type: json
  - name: kubernetes_pod_name
    description: 쿠버네티스 파드 이름
    type: string
  - name: kubernetes_pod_namespace
    description: 쿠버네티스 파드 네임스페이스
    type: string
  - name: kubernetes_container_name
    description: 쿠버네티스 파드 내 컨테이너 이름
    type: string
  - name: kubernetes_container_image
    description: 쿠버네티스 파드 내 컨테이너의 이미지
    type: string
  - name: kubernetes_node_name
    description: 쿠버네티스 파드를 실행하는 노드 이름
    type: string
  - name: initial_command
    description: 이 세션을 시작하는 데 사용된 명령
    type: json
  - name: session_recording
    description: 세션 녹화 유형
    type: string
  - name: ci
    description: 청크 인덱스
    type: string
  - name: bytes
    description: 세션에 기록된 바이트 수
    type: string
  - name: ms
    description: 세션 시작부터의 지연(밀리초)
    type: string
  - name: offset
    description: 세션 파일 시작으로부터의 바이트 오프셋
    type: string
  - name: length
    description: 전송/수신된 바이트 수
    type: string
  - name: reason
    description: 이벤트의 이유
    type: string
  - name: max
    description: 최대값
    type: string
  - name: flags
    description: 이 이벤트와 관련하여 전달된 플래그
    type: json
  - name: operation
    description: 수행된 네트워크 작업을 표시합니다
    type: json
  - name: mfa_device
    description: 로그인 중 사용된 MFA 디바이스
    type: json
  - name: updated_by
    description: 리소스를 수정한 사용자를 나타냅니다
    type: string
    지표:
      - 사용자명
  - name: ttl
    description: 수명(타임투리브)
    type: string
  - name: id
    description: 액세스 요청 ID
    type: string
  - name: delegator
    description: Teleport 플러그인이 신원을 나타내기 위해 사용함
    type: string
  - name: annotations
    description: Annotations는 승인/거부 중 플러그인이 제공하는 선택적 속성 집합입니다
    type: json
  - name: resource_ids
    description: 접근이 요청된 리소스들의 집합
    type: json
  - name: cluster
    description: 클러스터 이름
    type: string
  - name: kind
    description: 리소스 종류
    type: string
  - name: addr
    description: 대상 포트 포워딩 주소
    type: string
  - name: working_directory
    description: 이벤트의 현재 디렉터리
    type: string
  - name: target_path
    description: 파일의 경로
    type: string
  - name: request_path
    description: 원시 요청 URL 경로
    type: string
  - name: verb
    description: HTTP 동사
    type: string
  - name: resource_api_group
    description: 리소스 API 그룹
    type: string
  - name: resource_namespace
    description: 리소스 네임스페이스
    type: string
  - name: resource_kind
    description: 리소스 API 종류
    type: string
  - name: resource_name
    description: 리소스 API 이름
    type: string
  - name: response_code
    description: HTTP 응답 코드
    type: string
  - name: app_uri
    description: 애플리케이션 엔드포인트
    type: string
    지표:
      - url
  - name: app_public_addr
    description: 구성된 애플리케이션 공개 주소.
    type: string
    지표:
      - url
  - name: app_labels
    description: 구성된 애플리케이션 라벨.
    type: json
  - name: app_name
    description: 구성된 애플리케이션 이름
    type: string
  - name: public_addr
    description: 공개 주소
    type: string
    지표:
      - url
  - name: session_chunk_id
    description: 생성된 세션의 ID
    type: string
  - name: status_code
    description: HTTP 응답 코드
    type: string
  - name: raw_query
    description: 인코딩된 쿼리 값
    type: string
  - name: aws_region
    description: 요청된 AWS 리전
    type: string
  - name: aws_service
    description: 요청된 AWS 서비스
    type: string
  - name: aws_host
    description: 요청된 AWS 호스트
    type: string
  - name: db_labels
    description: 데이터베이스 리소스 라벨
    type: json
  - name: db_aws_region
    description: AWS 호스팅 데이터베이스의 AWS 리전
    type: string
  - name: db_aws_redshift_cluster_id
    description: Redshift 데이터베이스의 클러스터 ID
    type: string
  - name: db_gcp_project_id
    description: GCP 호스팅 데이터베이스의 프로젝트 ID
    type: string
  - name: db_gcp_instance_id
    description: GCP 호스팅 데이터베이스의 인스턴스 ID
    type: string
  - name: statement_name
    description: 준비된 문장의 이름
    type: string
  - name: query
    description: 준비된 문장 쿼리
    type: string
  - name: portal_name
    description: 대상 포털 이름
    type: string
  - name: parameters
    description: 매개변수
    type: json
  - name: function_oid
    description: 호출된 함수의 객체 ID
    type: string
  - name: function_args
    description: 형식화된 함수 인자
    type: json
  - name: windows_desktop_service
    description: 서비스 이름
    type: string
  - name: windows_domain
    description: 액티브 디렉터리 도메인
    type: string
  - name: windows_user
    description: Windows 사용자 이름
    type: string
  - name: mfa_device_name
    description: 사용자가 지정한 MFA 디바이스 이름
    type: string
  - name: mfa_device_uuid
    description: MFA 디바이스의 UUID
    type: string
  - name: mfa_device_type
    description: MFA 디바이스 종류
    type: string
  - name: target
    description: 대상
    type: json
  - name: recorded
    description: 세션이 녹화되었는지 여부
    type: boolean
  - name: cert_type
    description: 사용된 인증서 유형
    type: string
  - name: identity
    description: 요청과 연관된 신원
    type: json
  - name: unknown_event
    description: 알 수 없는 이벤트
    type: string
  - name: unknown_code
    description: 알 수 없는 코드
    type: string
  - name: data
    description: 알 수 없는 이벤트의 직렬화된 JSON
    type: string
  - name: url
    description: 이벤트 데이터가 업로드된 세션의 URL
    type: string
  - name: search_as_roles
    description: 검색이 수행된 역할 목록
    type: json
  - name: resource_type
    description: 검색 대상 리소스 유형
    type: string
  - name: labels
    description: 검색에 사용된 라벨 기반 매처
    type: json
  - name: predicate_expression
    description: 검색에 사용된 조건 목록
    type: json
  - name: search_keywords
    description: 리소스 필드 값과 일치시키기 위해 사용된 검색 키워드 목록
    type: json
  - name: statement_id
    description: 준비된 문장의 ID
    type: string
  - name: parameter_id
    description: 매개변수 ID
    type: string
  - name: data_size
    description: 데이터 크기
    type: string
  - name: rows_count
    description: 가져올 행 수
    type: string
  - name: schema_name
    description: 스키마 이름
    type: string
  - name: process_id
    description: 연결의 프로세스 ID
    type: string
  - name: subcommand
    description: 서브커맨드의 문자열 표현
    type: string
  - name: proc_name
    description: RPC SQL Server 프로시저 이름
    type: string
  - name: category
    description: 주어진 요청에서 접근되는 API의 카테고리를 나타냅니다
    type: json
  - name: upgrade_window_start
    description: 업그레이드 윈도우 시간
    type: string
  - name: kube_labels
    description: 구성된 쿠버네티스 클러스터 라벨
    type: json
  - name: command_id
    description: 실행된 SSH 명령의 ID
    type: string
  - name: instance_id
    description: 실행된 EC2 인스턴스의 ID
    type: string
  - name: exit_code
    description: 명령으로 인한 종료 코드
    type: string
  - name: status
    description: 명령의 상태
    type: string
  - name: account_id
    description: 명령을 실행한 AWS 계정의 ID
    type: string
    지표:
      - aws_account_id
  - name: region
    description: 명령이 실행된 AWS 리전
    type: string
```
