# AWS Transit Gateway

## 개요

Panther는 AWS S3를 통해 Amazon Web Services(AWS) Transit Gateway Flow 로그 수집을 지원합니다.

## AWS Transit Gateway 로그를 Panther에 온보딩하는 방법

Transit Gateway 로그를 Panther로 가져오려면 AWS 계정에서 데이터를 스트리밍하기 위해 Panther 콘솔에서 S3 버킷을 설정해야 합니다.

1. Panther 콘솔의 왼쪽 탐색 모음에서 클릭하세요 **구성** > **로그 소스**.
2. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **새로 만들기**.
3. 사용 가능한 로그 소스 목록을 보려면 "AWS"를 검색하세요.
4. 선택하세요 **AWS Transit Gateway Flow**.
5. 선택하세요 **AWS S3 버킷** 소스를 선택하여 설정을 시작하세요. [데이터 전송을 위한 S3 구성에 대한 Panther 문서](https://docs.panther.com/ko/data-onboarding/data-transports/aws/s3).

## 다음의 경우 통합에 제한이 발생할 수 있습니다:

Panther의 사전 작성된 AWS 룰은 [panther-analysis Github 리포지토리](https://github.com/panther-labs/panther-analysis/tree/master/rules).

## 지원되는 AWS Transit Gateway 로그

### AWS.TransitGatewayFlow

TransitGatewayFlow 로그를 사용하면 트랜짓 게이트웨이로 들어오고 나가는 IP 트래픽에 대한 정보를 캡처할 수 있습니다.

\
Panther가 TransitGatewayFlow 로그를 제대로 수집하려면 로그가 S3에서 직접, 헤더가 있는 CSV 형식으로 제공되어야 합니다.

자세한 내용은 [Transit Gateway Flow Logs에 관한 AWS 문서](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html).

```yaml
스키마: AWS.TransitGatewayFlow
파서:
    네이티브:
        이름: AWS.TransitGatewayFlow
설명: TransitGatewayFlow 로그를 사용하면 트랜짓 게이트웨이로 들어오고 나가는 IP 트래픽에 대한 정보를 캡처할 수 있습니다.
참조URL: https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html
필드:
    - name: version
      설명: Transit Gateway Flow Logs 버전입니다. 기본 형식을 사용하는 경우 버전은 2입니다.
      type: bigint
    - 이름: resourceType
      설명: 구독이 생성된 위치로, TransitGateway 또는 TransitGatewayAttachment 중 하나입니다.
      type: string
    - 이름: accountId
      설명: 트랜짓 게이트웨이의 AWS 계정 ID 소유자입니다.
      type: string
      지표:
        - aws_account_id
    - 이름: tgwId
      required: true
      설명: 트래픽이 기록되는 트랜짓 게이트웨이의 ID입니다.
      type: string
    - 이름: tgwAttachmentId
      설명: 트래픽이 기록되는 트랜짓 게이트웨이 어태치먼트의 ID입니다.
      type: string
    - 이름: tgwPairAttachmentId
      설명: 흐름 방향에 따라 이 값은 흐름의 이그레스 또는 인그레스 어태치먼트 ID입니다.
      type: string
    - 이름: protocol
      설명: 트래픽의 IANA 프로토콜 번호입니다.
      type: bigint
    - 이름: packets
      설명: 흐름 동안 전송된 패킷 수입니다.
      type: bigint
    - name: bytes
      설명: 흐름 동안 전송된 바이트 수입니다.
      type: bigint
    - name: start
      required: true
      설명: 흐름 시작 시간(UTC)입니다.
      type: timestamp
      timeFormats:
        - unix
      isEventTime: true
    - name: end
      설명: 흐름 종료 시간(UTC)입니다.
      type: timestamp
      timeFormats:
        - unix
    - 이름: logStatus
      설명: '흐름 로그의 로깅 상태입니다. OK: 데이터가 선택된 대상에 정상적으로 로깅되고 있습니다. NODATA: 집계 간격 동안 네트워크 인터페이스로 들어오거나 나가는 네트워크 트래픽이 없었습니다. SKIPDATA: 집계 간격 동안 일부 흐름 로그 레코드가 건너뛰어졌습니다. 이는 내부 용량 제약 또는 내부 오류 때문일 수 있습니다.'
      type: string
    - 이름: type
      설명: '트래픽 유형: IPv4, IPv6 또는 EFA.'
      type: string
    - 이름: packetsLostNoRoute
      설명: 경로가 지정되지 않아 손실된 패킷입니다.
      type: bigint
    - 이름: packetsLostBlackhole
      설명: 블랙홀로 인해 손실된 패킷입니다.
      type: bigint
    - 이름: packetsLostMtuExceeded
      설명: MTU를 초과하여 손실된 패킷입니다.
      type: bigint
    - 이름: packetsLostTtlExpired
      설명: TTL(수명) 만료로 인해 손실된 패킷입니다.
      type: bigint
    - 이름: tcpFlags
      설명: '다음 TCP 플래그의 비트마스크 값: FIN: 1, SYN: 2, RST: 4, PSH: 8, ACK: 16, SYN-ACK: 18, URG: 32. 흐름 로그 항목이 ACK 패킷만으로 구성된 경우 플래그 값은 16이 아닌 0입니다. TCP 플래그는 집계 간격 동안 OR 연산될 수 있습니다. 짧은 연결의 경우 플래그가 흐름 로그 레코드의 동일한 줄에 설정될 수 있으며, 예를 들어 SYN-ACK 및 FIN의 경우 19, SYN 및 FIN의 경우 3입니다.'
      type: bigint
    - 이름: region
      설명: 트래픽이 기록되는 트랜짓 게이트웨이를 포함하는 리전입니다.
      type: string
    - 이름: flowDirection
      설명: '트래픽이 캡처되는 인터페이스에 대한 흐름 방향입니다. 가능한 값은 ingress | egress 입니다.'
      type: string
    - 이름: tgwSrcVpcAccountId
      설명: 소스 VPC 트래픽의 AWS 계정 ID입니다.
      type: string
      지표:
        - aws_account_id
    - 이름: tgwSrcVpcId
      설명: 트랜짓 게이트웨이의 소스 VPC ID입니다.
      type: string
    - 이름: tgwSrcSubnetId
      설명: 트랜짓 게이트웨이 소스 트래픽의 서브넷 ID입니다.
      type: string
    - 이름: tgwSrcEni
      설명: 흐름에 대한 소스 트랜짓 게이트웨이 어태치먼트 ENI의 ID입니다.
      type: string
    - 이름: tgwSrcAzId
      설명: 트래픽이 기록되는 소스 트랜짓 게이트웨이를 포함하는 가용 영역의 ID입니다. 트래픽이 하위 위치(sublocation)에서 발생한 경우 이 필드에는 '-' 기호가 표시됩니다.
      type: string
    - 이름: srcAddr
      설명: 들어오는 트래픽의 소스 주소이거나, 트랜짓 게이트웨이에서 나가는 트래픽의 경우 트랜짓 게이트웨이의 IPv4 또는 IPv6 주소입니다. 트랜짓 게이트웨이의 IPv4 주소는 항상 해당 프라이빗 IPv4 주소입니다.
      type: string
      지표:
        - ip
    - 이름: srcPort
      설명: 트래픽의 소스 포트입니다.
      type: bigint
    - 이름: pktSrcAwsService
      설명: 'srcaddr의 IP 주소 범위 하위 집합 이름으로, 소스 IP 주소가 AWS 서비스에 해당하는 경우에 사용됩니다. 가능한 값: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS.'
      type: string
    - 이름: tgwDstVpcAccountId
      설명: 대상 VPC 트래픽의 AWS 계정 ID입니다.
      type: string
      지표:
        - aws_account_id
    - 이름: tgwDstVpcId
      설명: 트랜짓 게이트웨이의 대상 VPC ID입니다.
      type: string
    - 이름: tgwDstSubnetId
      설명: 트랜짓 게이트웨이 대상 트래픽의 서브넷 ID입니다.
      type: string
    - 이름: tgwDstEni
      설명: 흐름에 대한 대상 트랜짓 게이트웨이 어태치먼트 ENI의 ID입니다.
      type: string
    - 이름: tgwDstAzId
      설명: 트래픽이 기록되는 대상 트랜짓 게이트웨이를 포함하는 가용 영역의 ID입니다.
      type: string
    - 이름: dstAddr
      설명: 나가는 트래픽의 대상 주소이거나, 트랜짓 게이트웨이에서 들어오는 트래픽의 경우 트랜짓 게이트웨이의 IPv4 또는 IPv6 주소입니다. 트랜짓 게이트웨이의 IPv4 주소는 항상 해당 프라이빗 IPv4 주소입니다.
      type: string
      지표:
        - ip
    - 이름: dstPort
      설명: 트래픽의 대상 포트입니다.
      type: bigint
    - 이름: pktDstAwsService
      설명: 'dstaddr 필드의 IP 주소 범위 하위 집합 이름으로, 대상 IP 주소가 AWS 서비스에 해당하는 경우에 사용됩니다. 가능한 값: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS.'
      type: string
```
