방화벽 규칙 로깅

방화벽 규칙 로깅을 사용하면 방화벽 규칙의 영향을 감사, 확인, 분석할 수 있습니다. 예를 들어 트래픽을 거부하도록 설계된 방화벽 규칙이 의도한 대로 작동하는지 확인할 수 있습니다. 방화벽 규칙 로깅은 특정 방화벽 규칙의 영향을 받는 연결 수를 확인해야 하는 경우에도 유용합니다.

연결을 로깅해야 하는 각 방화벽 규칙에 방화벽 규칙 로깅을 개별적으로 사용 설정합니다. 방화벽 규칙 로깅은 방화벽 규칙의 작업(allow 또는 deny) 또는 방향(인그레스 또는 이그레스)에 관계없이 모든 방화벽 규칙에 대한 옵션입니다.

방화벽 규칙 로깅은 Compute Engine 가상 머신(VM) 인스턴스에서 주고받는 트래픽을 로깅합니다. 여기에는 Google Kubernetes Engine(GKE) 클러스터App Engine 가변형 환경 인스턴스와 같이 Compute Engine VM에서 빌드된Trusted Cloud by S3NS 제품이 포함됩니다.

방화벽 규칙에 로깅을 사용 설정하면 Trusted Cloud by S3NS 는 규칙이 트래픽을 허용하거나 거부할 때마다 연결 레코드라고 하는 항목을 만듭니다. 이러한 기록은 Cloud Logging에서 볼 수 있으며 Cloud Logging 내보내기가 지원되는 모든 대상으로 로그를 내보낼 수 있습니다.

각 연결 레코드에는 소스 및 대상 IP 주소, 프로토콜 및 포트, 날짜 및 시간, 트래픽에 적용된 방화벽에 대한 참조가 포함됩니다.

방화벽 규칙 로깅은 VPC 방화벽 규칙과 계층적 방화벽 정책 모두에 사용할 수 있습니다.

로그를 보는 방법에 대한 자세한 내용은 방화벽 규칙 로깅 사용을 참조하세요.

사양

방화벽 규칙 로깅의 사양은 다음과 같습니다.

방화벽 로그 형식

VM 인스턴스를 오가는 트래픽에 방화벽 규칙이 적용되는 경우 사양에 따라 로깅이 사용 설정된 각 방화벽 규칙에 대해 Cloud Logging에 로그 항목이 생성됩니다. 로그 기록은 Logging LogEntry의 JSON 페이로드 필드에 포함됩니다.

로그 레코드에는 모든 로그 레코드의 핵심 필드인 기본 필드와 추가 정보를 추가하는 메타데이터 필드가 있습니다. 메타데이터 필드를 포함할지 여부를 제어할 수 있습니다. 이러한 필드를 생략하면 스토리지 비용을 절약할 수 있습니다.

일부 로그 필드는 필드이기도 한 값을 지원합니다. 이러한 필드에는 지정된 필드에 2개 이상의 데이터가 포함될 수 있습니다. 예를 들어 connection 필드는 IpConnection 형식이며 소스 및 대상 IP 주소, 포트, 프로토콜이 단일 필드에 포함됩니다. 이러한 필드는 다음 표에 설명되어 있습니다.

필드 설명 필드 유형: 기본 또는 선택적 메타데이터
connection IpConnection
이 연결의 소스 및 대상 IP 주소, 소스 및 대상 포트, IP 프로토콜을 설명하는 5-튜플입니다.
기본
disposition 문자열은
연결이 ALLOWED인지 DENIED인지를 나타냅니다.
기본
rule_details RuleDetails
이 연결에 적용된 규칙의 세부정보입니다.
rule_details.reference 필드 기본
기타 규칙 세부정보 필드 메타데이터
인스턴스 InstanceDetails
VM 인스턴스 세부정보입니다. 공유 VPC 구성에서 project_id는 서비스 프로젝트의 프로젝트 ID에 해당합니다.
메타데이터
vpc VpcDetails
VPC 네트워크 세부정보입니다. 공유 VPC 구성에서 project_id는 호스트 프로젝트의 프로젝트 ID에 해당합니다.
메타데이터
remote_instance InstanceDetails
연결의 원격 엔드포인트가 Compute Engine에 위치한 VM인 경우 VM 인스턴스 세부정보가 이 필드에 입력됩니다.
메타데이터
remote_vpc VpcDetails
연결의 원격 엔드포인트가 VPC 네트워크에 있는 VM인 경우 이 필드는 네트워크 세부정보로 채워집니다.
메타데이터
remote_location GeographicDetails
연결의 원격 엔드포인트가 VPC 네트워크에 외부에 있는 경우 사용 가능한 위치 메타데이터가 이 필드에 입력됩니다.
메타데이터

IpConnection

필드 유형 설명
src_ip 문자열 소스 IP 주소입니다. 소스가 Compute Engine VM인 경우 src_ip는 기본 내부 IP 주소이거나 VM 네트워크 인터페이스의 별칭 IP 범위에 있는 주소입니다. 외부 IP 주소는 표시되지 않습니다. VM이 패킷 헤더에서 IP 주소를 확인할 때 VM에서 TCP 덤프를 실행한 것과 동일하게 로깅에 VM의 IP가 표시됩니다.
src_port 정수 소스 포트
dest_ip 문자열 대상 IP 주소입니다. 대상이 Trusted Cloud VM인 경우 dest_ip는 기본 내부 IP 주소이거나 VM 네트워크 인터페이스의 별칭 IP 범위에 있는 주소입니다. 외부 IP 주소는 연결에 사용된 경우에도 표시되지 않습니다.
dest_port 정수 대상 포트
프로토콜 정수 연결의 IP 프로토콜

RuleDetails

필드 유형 설명
참조 문자열 방화벽 규칙에 대한 참조입니다. 형식:
"network:{network name}/firewall:{firewall_name}"
우선순위 정수 방화벽 규칙의 우선순위입니다.
action 문자열 ALLOW 또는 DENY
source_range[ ] 문자열 방화벽 규칙이 적용되는 소스 범위 목록입니다.
destination_range[ ] 문자열 방화벽 규칙이 적용되는 대상 범위 목록입니다.
ip_port_info[ ] IpPortDetails 규칙의 IP 프로토콜 및 적용 가능한 포트 범위 목록입니다.
direction 문자열 방화벽 규칙이 적용되는 방향입니다(인그레스 또는 이그레스).
source_tag[ ] 문자열 방화벽 규칙이 적용되는 모든 소스 태그 목록입니다.
target_tag[ ] 문자열 방화벽 규칙이 적용되는 모든 대상 태그 목록입니다.
source_service_account[ ] 문자열 방화벽 규칙이 적용되는 모든 소스 서비스 계정 목록입니다.
target_service_account[ ] 문자열 방화벽 규칙이 적용되는 모든 대상 서비스 계정 목록입니다.
source_region_code[ ] 문자열 방화벽 규칙이 적용되는 모든 소스 국가 코드 목록입니다.
destination_region_code[ ] 문자열 방화벽 규칙이 적용되는 모든 대상 국가 코드 목록입니다.
source_fqdn[ ] 문자열 방화벽 규칙이 적용되는 모든 소스 도메인 이름 목록입니다.
destination_fqdn[ ] 문자열 방화벽 규칙이 적용되는 모든 대상 도메인 이름 목록입니다.
source_address_groups[ ] 문자열 방화벽 규칙이 적용되는 모든 소스 주소 그룹의 목록입니다.
destination_address_groups[ ] 문자열 방화벽 규칙이 적용되는 모든 대상 주소 그룹의 목록입니다.

IpPortDetails

필드 유형 설명
ip_protocol 문자열 방화벽 규칙이 적용되는 IP 프로토콜입니다. 모든 프로토콜에 적용되면 'ALL'입니다.
port_range[ ] 문자열 규칙에 적용 가능한 포트 범위 목록입니다(예: 8080-9090).

InstanceDetails

필드 유형 설명
project_id 문자열 VM이 포함된 프로젝트의 ID
vm_name 문자열 VM의 인스턴스 이름
지역 문자열 VM의 리전
영역 문자열 VM의 영역

VpcDetails

필드 유형 설명
project_id 문자열 네트워크가 포함된 프로젝트의 ID
vpc_name 문자열 VM이 작동 중인 네트워크
subnetwork_name 문자열 VM이 작동 중인 서브넷

GeographicDetails

필드 유형 설명
continent 문자열 외부 엔드포인트의 대륙
국가 문자열 외부 엔드포인트의 국가
지역 문자열 외부 엔드포인트의 리전
도시 문자열 외부 엔드포인트의 도시

다음 단계