방화벽 정책 규칙을 만들 때 규칙 역할을 정의하는 구성요소 집합을 지정합니다. 이러한 구성요소는 트래픽 방향, 소스, 대상, 프로토콜 및 대상 포트(프로토콜이 포트를 사용하는 경우)와 같은 레이어 4 특성을 지정합니다.
각 방화벽 정책 규칙은 수신(인그레스)이나 송신(이그레스) 연결 중 하나에 적용됩니다. 두 연결 모두에 함께 적용되지는 않습니다.
인그레스 규칙
인그레스 방향은 특정 소스에서 Google Cloud 타겟으로 전송된 수신 연결을 의미합니다. 인그레스 규칙은 패킷의 대상이 타겟인 경우 인바운드 패킷에 적용됩니다.
deny
작업이 있는 인그레스 규칙은 들어오는 연결을 차단하여 모든 인스턴스를 보호합니다. 우선순위가 더 높은 규칙은 수신 액세스를 허용할 수도 있습니다. 자동으로 생성되는 기본 네트워크에는 특정 유형의 트래픽에 대한 인그레스를 허용하는 자동 입력된 VPC 방화벽 규칙이 포함됩니다.
이그레스 규칙
이그레스 방향은 타겟에서 대상으로 전송된 아웃바운드 트래픽을 의미합니다. 이그레스 규칙은 패킷의 소스가 타겟인 경우 새 연결의 패킷에 적용됩니다.
allow
작업이 있는 이그레스 규칙을 사용하면 인스턴스에서 규칙에 지정된 대상으로 트래픽을 전송할 수 있습니다. 우선순위가 더 높은 deny
방화벽 규칙에 의해 이그레스가 거부될 수 있습니다. 또한 Google Cloud는 특정 종류의 트래픽을 차단 또는 제한합니다.
방화벽 정책 규칙 구성요소
계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책의 규칙은 이 섹션에 설명된 구성요소를 사용합니다. 방화벽 정책이라는 용어는 이러한 세 가지 유형의 정책을 의미합니다. 방화벽 정책 유형에 대한 자세한 내용은 방화벽 정책을 참조하세요.
방화벽 정책 규칙은 일반적으로 VPC 방화벽 규칙과 동일하게 작동하지만 다음 섹션에서 설명하듯이 몇 가지 차이점이 있습니다.
우선순위
방화벽 정책의 규칙 우선순위는 0~2,147,483,647(포함) 사이의 정수입니다. 낮은 정수는 높은 우선 순위를 나타냅니다. 방화벽 정책 내 규칙의 우선순위는 VPC 방화벽 규칙의 우선순위와 비슷하지만 다음과 같은 차이가 있습니다.
- 방화벽 정책의 각 규칙에는 고유한 우선순위가 있어야 합니다.
- 방화벽 정책의 규칙 우선순위는 규칙의 고유 식별자로 사용됩니다. 방화벽 정책의 규칙은 식별을 위해 이름을 사용하지 않습니다.
- 방화벽 정책의 규칙 우선순위는 방화벽 정책 자체의 평가 순서를 정의합니다. VPC 방화벽 규칙과 계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책의 규칙은 정책 및 규칙 평가 순서에 설명된 대로 평가됩니다.
일치 시 작업
방화벽 정책의 규칙에는 다음 작업 중 하나가 있을 수 있습니다.
allow
는 트래픽을 허용하고 추가 규칙 평가를 중지합니다.deny
는 트래픽을 허용하지 않으며 추가 규칙 평가를 중지합니다.
apply_security_profile_group
은 트래픽을 투명하게 가로채 레이어 7 검사를 할 수 있도록 구성된 방화벽 엔드포인트로 보냅니다.
goto_next
는 규칙 평가 프로세스를 계속 진행합니다.
적용
상태를 사용 또는 중지로 설정하여 방화벽 정책 규칙을 적용할지 선택할 수 있습니다. 규칙을 생성하거나 규칙을 업데이트할 때 적용 상태를 설정합니다.
새 방화벽 규칙을 만들 때 적용 상태를 설정하지 않으면 방화벽 규칙이 자동으로 사용 설정됩니다.
프로토콜 및 포트
VPC 방화벽 규칙과 마찬가지로 규칙을 만들 때 프로토콜 및 포트 제약조건을 1개 이상 지정해야 합니다. 규칙에 TCP 또는 UDP를 지정할 때 프로토콜, 프로토콜 및 대상 포트, 프로토콜 및 대상 포트 범위를 지정할 수 있지만 포트 또는 포트 범위만 지정할 수는 없습니다. 또한 대상 포트만 지정할 수 있습니다. 소스 포트를 기반으로 하는 규칙은 지원되지 않습니다.
방화벽 규칙에서 다음 프로토콜 이름을 사용할 수 있습니다. tcp
, udp
, icmp
(IPv4 ICMP용), esp
, ah
, sctp
, ipip
다른 모든 프로토콜의 경우 IANA 프로토콜 번호를 사용합니다.
많은 프로토콜이 IPv4와 IPv6 모두에서 동일한 이름과 번호를 사용하지만 ICMP와 같은 일부 프로토콜은 사용하지 않습니다. IPv4 ICMP를 지정하려면 icmp
또는 프로토콜 번호 1
을 사용합니다. IPv6 ICMP의 경우 프로토콜 번호 58
을 사용합니다.
방화벽 규칙에서는 ICMP 유형과 코드 지정을 지원하지 않으며 프로토콜만 지원합니다.
IPv6 홉별 프로토콜은 방화벽 규칙에서 지원되지 않습니다.
프로토콜 및 포트 매개변수를 지정하지 않으면 규칙이 모든 프로토콜 및 대상 포트에 적용됩니다.
로깅
방화벽 정책 규칙의 로깅은 다음을 제외하고 VPC 방화벽 규칙 로깅과 동일하게 작동합니다.
참조 필드에는 방화벽 정책 ID와 정책이 연결된 리소스의 수준을 나타내는 번호가 포함됩니다. 예를 들어
0
은 정책이 조직에 적용되는 경우1
은 정책이 조직의 최상위 폴더에 적용됨을 의미합니다.방화벽 정책 규칙의 로그에는 규칙이 적용되는 VPC 네트워크를 식별하는
target_resource
필드가 포함됩니다.
allow
,deny
,apply_security_profile_group
규칙에만 로깅을 사용 설정할 수 있으며goto_next
규칙에는 사용 설정할 수 없습니다.
타겟, 소스, 대상
타겟 매개변수는 방화벽 규칙이 적용되는 인스턴스의 네트워크 인터페이스를 식별합니다.
인그레스 및 이그레스 방화벽 규칙 모두에 대해 패킷 소스 또는 대상에 적용되는 소스 매개변수 및 대상 매개변수를 모두 지정할 수 있습니다. 방화벽 규칙의 방향에 따라 소스 및 대상 매개변수에 사용할 수 있는 값이 결정됩니다.
타겟, 소스, 대상 매개변수가 함께 작동합니다.
대상
타겟 매개변수는 GKE 노드 및 App Engine 가변형 환경 인스턴스를 포함하여 Compute Engine 인스턴스의 네트워크 인터페이스를 식별합니다.
인그레스 또는 이그레스 규칙 모두에 대해 타겟을 정의할 수 있습니다. 유효한 타겟 옵션은 방화벽 정책 유형에 따라 다릅니다.
계층식 방화벽 정책 규칙 타겟
계층식 방화벽 정책 규칙은 다음 타겟을 지원합니다.
가장 광범위한 기본 타겟: 계층식 방화벽 정책 규칙에서 타겟 사양을 생략하면 방화벽 규칙이 방화벽 정책과 연결된 Resource Manager 노드(폴더 또는 조직) 아래의 모든 프로젝트에 있는 모든 VPC 네트워크의 모든 인스턴스에 적용됩니다. 가장 광범위한 타겟 집합입니다.
특정 네트워크:
target-resources
매개변수를 사용하여 VPC 네트워크를 하나 이상 지정하면 가장 광범위한 타겟 집합이 지정된 VPC 네트워크 중 하나 이상에 네트워크 인터페이스가 있는 VM으로 좁혀집니다.서비스 계정으로 식별된 인스턴스:
target-service-accounts
매개변수를 사용하여 서비스 계정을 한 개 이상 지정하면 가장 광범위한 타겟 집합이 서비스 계정 중 .하나를 사용하는 VM으로 좁혀집니다.서비스 계정으로 식별되는 특정 네트워크 및 인스턴스:
target-resources
매개변수와target-service-accounts
매개변수를 모두 지정하면 가장 광범위한 타겟 집합이 다음 두 기준을 모두 충족하는 VM으로 좁혀집니다.- VM은 지정된 VPC 네트워크 중 하나에 네트워크 인터페이스가 있습니다.
- VM은 지정된 서비스 계정 중 하나를 사용합니다.
전역 네트워크 방화벽 정책 규칙 타겟
전역 네트워크 방화벽 정책 규칙은 다음 타겟을 지원합니다.
기본 타겟—VPC 네트워크의 모든 인스턴스: 전역 네트워크 방화벽 정책 규칙에서 타겟 사양을 생략하면 방화벽 규칙이 정책과 연결된 VPC 네트워크에 네트워크 인터페이스가 있는 인스턴스에 적용됩니다. 인스턴스는 모든 리전에 배치할 수 있습니다. 가장 광범위한 타겟 집합입니다.
타겟 보안 태그별 인스턴스:
target-secure-tags
매개변수로 타겟 태그를 지정하면 가장 광범위한 타겟 집합이 태그에 바인딩된 VM만 포함하도록 범위가 좁혀집니다.타겟 서비스 계정별 인스턴스:
target-service-accounts
매개변수로 서비스 계정을 지정하면 가장 광범위한 타겟 집합이 지정된 서비스 계정 중 하나를 사용하는 VM만 포함하도록 범위가 좁혀집니다.
리전별 네트워크 방화벽 정책 규칙 타겟
리전별 네트워크 방화벽 정책 규칙은 다음 타겟을 지원합니다.
기본 타겟—리전 및 VPC 네트워크의 모든 인스턴스: 리전 네트워크 방화벽 정책 규칙에서 타겟 사양을 생략하면 방화벽 규칙이 정책과 연결된 VPC 네트워크에 네트워크 인터페이스가 있는 인스턴스에 적용됩니다. 인스턴스는 정책과 동일한 리전에 있어야 합니다. 가장 광범위한 타겟 집합입니다.
타겟 보안 태그별 인스턴스:
target-secure-tags
매개변수로 타겟 태그를 지정하면 가장 광범위한 타겟 집합이 태그에 바인딩된 VM만 포함하도록 범위가 좁혀집니다.타겟 서비스 계정별 인스턴스:
target-service-accounts
매개변수로 서비스 계정을 지정하면 가장 광범위한 타겟 집합이 지정된 서비스 계정 중 하나를 사용하는 VM만 포함하도록 범위가 좁혀집니다.
인그레스 규칙의 타겟 및 IP 주소
타겟 VM의 네트워크 인터페이스로 라우팅된 패킷은 다음 조건을 기준으로 처리됩니다.
인그레스 방화벽 규칙에 대상 IP 주소 범위가 포함되는 경우 패킷의 대상이 명시적으로 정의된 대상 IP 주소 범위 중 하나에 속해야 합니다.
인그레스 방화벽 규칙에 대상 IP 주소 범위가 포함되지 않는 경우, 패킷의 대상이 다음 IP 주소 중 하나와 일치해야 합니다.
인스턴스 NIC에 할당된 기본 내부 IPv4 주소
인스턴스 NIC에 구성된 모든 별칭 IP 주소 범위
인스턴스 NIC와 연결된 외부 IPv4 주소
서브넷에 IPv6를 구성한 경우 NIC에 할당된 모든 IPv6 주소
인스턴스가 내부 패스 스루 네트워크 부하 분산기 또는 외부 패스 스루 네트워크 부하 분산기의 백엔드인 패스 스루 부하 분산에 사용되는 전달 규칙과 연결된 내부 또는 외부 IP 주소
인스턴스가 타겟 인스턴스에서 참조되는 경우 프로토콜 전달에 사용되는 전달 규칙과 연결된 내부 또는 외부 IP 주소
인스턴스(
next-hop-instance
또는next-hop-address
)를 다음 홉 VM으로 사용하는 커스텀 정적 경로의 대상 범위에 속한 IP 주소VM이 부하 분산기의 백엔드인 경우 내부 패스 스루 네트워크 부하 분산기(
next-hop-ilb
)를 다음 홉으로 사용하는 커스텀 정적 경로의 대상 범위에 속한 IP 주소
이그레스 규칙의 타겟 및 IP 주소
타겟의 네트워크 인터페이스에서 내보낸 패킷의 처리는 타겟 VM의 IP 전달 구성에 따라 달라집니다. IP 전달은 기본적으로 사용 중지되어 있습니다.
타겟 VM이 IP 전달을 사용 중지하면 VM은 다음 소스를 사용하여 패킷을 내보낼 수 있습니다.
인스턴스 NIC의 기본 내부 IPv4 주소
인스턴스 NIC의 모든 구성된 별칭 IP 주소 범위
서브넷에 IPv6를 구성한 경우 NIC에 할당된 모든 IPv6 주소
패스 스루 부하 분산 또는 프로토콜 전달을 위해 전달 규칙과 연결된 내부 또는 외부 IP 주소로, 인스턴스가 내부 패스 스루 네트워크 부하 분산기, 외부 패스 스루 네트워크 부하 분산기의 백엔드이거나 타겟 인스턴스에서 참조되는 경우에 유효합니다.
이그레스 방화벽 규칙에 소스 IP 주소 범위가 포함되는 경우 타겟 VM은 여전히 이전에 언급된 소스 IP 주소로 제한되지만 소스 매개변수를 사용하여 해당 세트를 세분화할 수 있습니다. IP 전달을 사용 설정하지 않고 소스 매개변수를 사용하면 가능한 패킷 소스 주소 집합이 확장되지 않습니다.
이그레스 방화벽 규칙에 소스 IP 주소 범위가 포함되지 않으면 이전에 언급된 모든 소스 IP 주소가 허용됩니다.
타겟 VM에 IP 전달이 사용 설정된 경우 VM이 임의의 소스 주소로 패킷을 내보낼 수 있습니다. 소스 매개변수를 사용하면 허용되는 패킷 소스 집합을 보다 정확하게 정의할 수 있습니다.
소스
소스 매개변수 값은 다음 항목에 따라 달라집니다.
- 방화벽 규칙이 포함된 방화벽 정책 유형
- 방화벽 규칙의 방향
계층식 방화벽 정책의 인그레스 규칙 소스
계층식 방화벽 정책에서 인그레스 규칙에 다음 소스를 사용할 수 있습니다.
기본 소스 범위: 인그레스 규칙에서 소스 사양을 생략하면 Google Cloud가 기본 소스 IPv4 주소 범위
0.0.0.0/0
(모든 IPv4 주소)을 사용합니다. 기본값에는 IPv6 소스가 포함되지 않습니다.소스 IPv4 주소 범위: CIDR 형식의 IPv4 주소 목록입니다.
소스 IPv6 주소 범위: CIDR 형식의 IPv6 주소 목록입니다.
위치정보: 수신 트래픽을 필터링하기 위해 2자리 국가 또는 리전 코드로 지정된 하나 이상의 소스 위치정보 목록입니다. 자세한 내용은 위치정보 객체를 참조하세요.
- 위협 인텔리전스 목록: 하나 이상의 사전 정의된 위협 인텔리전스 이름 목록입니다. 자세한 내용은 방화벽 정책 규칙의 위협 인텔리전스를 참조하세요.
소스 주소 그룹: IPv4 CIDR 또는 IPv6 CIDR로 구성되는 하나 이상의 소스 주소 그룹 목록입니다. 주소 그룹에 대한 자세한 내용은 방화벽 정책의 주소 그룹을 참조하세요.
소스 도메인 이름: 하나 이상의 소스 도메인 이름 목록입니다. 도메인 이름에 대한 자세한 내용은 방화벽 정책의 도메인 이름을 참조하세요.
유효한 소스 조합: 인그레스 규칙에서 이전 소스의 다양한 조합을 지정할 수 있습니다. 유효한 소스 집합은 이러한 조합의 합집합입니다.
인그레스 규칙에서 소스 조합을 지정하면 규칙이 소스 매개변수 기준 중 하나 이상과 일치하는 패킷에 적용됩니다.
규칙에 대한 소스 조합을 정의할 때는 다음 가이드라인을 따르세요.
- 동일한 규칙에 소스 IPv4 주소 범위와 소스 IPv6 주소 범위를 모두 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 다른 소스 주소 그룹과 함께 IPv4 CIDR이 포함된 소스 주소 그룹을 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 소스 주소 그룹과 소스 IPv4 주소 범위를 사용하지 마세요.
- 동일한 규칙에 IPv4 CIDR이 포함된 소스 주소 그룹과 소스 IPv6 주소 범위를 사용하지 마세요.
네트워크 방화벽 정책의 인그레스 규칙 소스
전역 및 리전 네트워크 방화벽 정책에서 인그레스 규칙에 다음 소스를 사용할 수 있습니다.
기본 소스 범위: 인그레스 규칙에서 소스 사양을 생략하면 Google Cloud가 기본 소스 IPv4 주소 범위
0.0.0.0/0
(모든 IPv4 주소)을 사용합니다. 기본값에는 IPv6 소스가 포함되지 않습니다.소스 IPv4 주소 범위: CIDR 형식의 IPv4 주소 목록입니다.
소스 IPv6 주소 범위: CIDR 형식의 IPv6 주소 목록입니다.
위치정보: 수신 트래픽을 필터링하기 위해 2자리 국가 또는 리전 코드로 지정된 하나 이상의 소스 위치정보 목록입니다. 자세한 내용은 위치정보 객체를 참조하세요.
- 위협 인텔리전스 목록: 하나 이상의 사전 정의된 위협 인텔리전스 이름 목록입니다. 자세한 내용은 방화벽 정책 규칙의 위협 인텔리전스를 참조하세요.
소스 주소 그룹: IPv4 CIDR 또는 IPv6 CIDR로 구성되는 하나 이상의 소스 주소 그룹 목록입니다. 주소 그룹에 대한 자세한 내용은 방화벽 정책의 주소 그룹을 참조하세요.
소스 도메인 이름: 하나 이상의 소스 도메인 이름 목록입니다. 도메인 이름에 대한 자세한 내용은 방화벽 정책의 도메인 이름을 참조하세요.
소스 보안 태그: 네트워크 방화벽 정책이 적용되는 동일한 VPC 네트워크에서 또는 VPC 네트워크 피어링을 사용하여 방화벽 정책의 네트워크에 연결된 VPC 네트워크에서 VM 인스턴스의 네트워크 인터페이스를 식별하는 하나 이상의 보안 태그입니다. 또한 정책이 리전 네트워크 방화벽 정책인 경우 VM 인스턴스는 정책과 동일한 리전에 있어야 합니다.
유효한 소스 조합: 인그레스 규칙에서 이전 소스의 다양한 조합을 지정할 수 있습니다. 유효한 소스 집합은 이러한 조합의 합집합입니다.
인그레스 규칙에서 소스 조합을 지정하면 규칙이 소스 매개변수 기준 중 하나 이상과 일치하는 패킷에 적용됩니다.
규칙에 대한 소스 조합을 정의할 때는 다음 가이드라인을 따르세요.
- 동일한 규칙에 소스 IPv4 주소 범위와 소스 IPv6 주소 범위를 모두 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 다른 소스 주소 그룹과 함께 IPv4 CIDR이 포함된 소스 주소 그룹을 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 소스 주소 그룹과 소스 IPv4 주소 범위를 사용하지 마세요.
- 동일한 규칙에 IPv4 CIDR이 포함된 소스 주소 그룹과 소스 IPv6 주소 범위를 사용하지 마세요.
소스 보안 태그가 패킷 소스를 의미하는 방법
전역 및 리전 네트워크 방화벽 정책의 인그레스 규칙은 보안 태그를 사용하여 소스를 지정할 수 있습니다. 각 보안 태그는 단일 VPC 네트워크와 연결됩니다. 보안 태그는 VM에 보안 태그가 연결된 동일한 VPC 네트워크에 네트워크 인터페이스가 있는 경우에만 VM에 바인딩할 수 있습니다.
전역 및 리전 네트워크 정책의 인그레스 규칙은 보안 태그에 바인딩된 VM의 네트워크 인터페이스에서 내보낸 패킷에 적용됩니다. 여기서 VM은 다음 기준 중 하나를 충족합니다.
VM의 네트워크 인터페이스는 방화벽 정책과 동일한 VPC 네트워크를 사용합니다.
VM의 네트워크 인터페이스는 VPC 네트워크 피어링을 사용하여 방화벽 정책의 VPC 네트워크에 연결된 VPC 네트워크를 사용합니다.
네트워크 인터페이스를 지정하는 것 외에도 다음과 같은 소스 IP 주소가 변환됩니다.
- 해당 네트워크 인터페이스의 기본 내부 IPv4 주소
- 해당 네트워크 인터페이스에 할당된 모든 IPv6 주소
인그레스 방화벽 규칙에도 대상 IP 주소 범위가 포함된 경우 보안 태그에 바인딩된 네트워크 인터페이스는 대상 IP 범위와 동일한 IP 버전으로 변환됩니다.
소스 보안 태그를 사용할 때 다른 패킷 소스 IP 주소는 변환되지 않습니다. 예를 들어 별칭 IP 주소 범위와 네트워크 인터페이스와 연결된 외부 IPv4 주소는 제외됩니다. 소스에 별칭 IP 주소 범위 또는 외부 IPv4 주소가 포함된 인그레스 방화벽 규칙을 만들어야 하는 경우에는 소스 IPv4 주소 범위를 사용합니다.
이그레스 규칙의 소스
계층식 방화벽 정책과 네트워크 방화벽 정책 모두에서 이그레스 규칙에 다음 소스를 사용할 수 있습니다.
기본값 — 타겟에 의해 암시됨: 이그레스 규칙에서 소스 매개변수를 생략하면 패킷 소스가 이그레스 규칙의 타겟 및 IP 주소에 설명된 대로 암시적으로 정의됩니다
소스 IPv4 주소 범위: CIDR 형식의 IPv4 주소 목록입니다.
소스 IPv6 주소 범위: CIDR 형식의 IPv6 주소 목록입니다.
다음 안내에 따라 이그레스 규칙의 소스 IP 주소 범위를 추가합니다.
- VM 인터페이스에 내부 및 외부 IPv4 주소가 모두 할당되어 있으면 규칙 평가 중에 내부 IPv4 주소만 사용됩니다.
이그레스 규칙에 소스 IP 주소 범위와 대상 매개변수가 있으면 대상 매개변수가 소스 IP 버전과 동일한 IP 버전으로 변환됩니다.
예를 들어 이그레스 규칙의 경우 소스 매개변수에 IPv4 주소 범위가 있고 대상 매개변수에 FQDN 객체가 있습니다. FQDN이 IPv4 주소와 IPv6 주소 모두 변환한 경우 규칙 적용 중에 확인된 IPv4 주소만 사용됩니다.
대상
대상은 계층식 및 네트워크 방화벽 정책 모두에서 인그레스 규칙과 이그레스 규칙 모두에서 지원되는 IP 주소 범위를 사용하여 지정할 수 있습니다. 기본 대상 동작은 규칙의 방향에 따라 달라집니다.
인그레스 규칙의 대상
계층적 방화벽 정책과 네트워크 방화벽 정책에서 인그레스 방화벽 규칙에 다음과 같은 대상을 사용할 수 있습니다.
기본값 — 타겟에 의해 암시됨: 인그레스 규칙에서 대상 매개변수를 생략하면 패킷 대상이 인그레스 규칙의 타겟 및 IP 주소에 설명된 대로 암시적으로 정의됩니다.
대상 IPv4 주소 범위: CIDR 형식의 IPv4 주소 목록입니다.
대상 IPv6 주소 범위: CIDR 형식의 IPv6 주소 목록입니다.
다음 안내에 따라 인그레스 규칙의 대상 IP 주소 범위를 추가합니다.
VM 인터페이스에 내부 및 외부 IPv4 주소가 모두 할당되어 있으면 규칙 평가 중에 내부 IPv4 주소만 사용됩니다.
인그레스 규칙에 소스 매개변수와 대상 매개변수가 모두 정의된 경우 소스 매개변수는 대상 IP 버전과 동일한 IP 버전으로 변환됩니다. 인그레스 규칙의 소스를 정의하는 방법에 대한 자세한 내용은 계층식 방화벽 정책의 인그레스 규칙 소스 및 네트워크 방화벽 정책의 인그레스 규칙 소스를 참조하세요.
예를 들어 인그레스 규칙에는 대상 매개변수에 IPv6 주소 범위가, 소스 매개변수에 위치정보 국가 코드가 있습니다. 규칙 적용 중에는 지정된 소스 국가 코드에 매핑된 IPv6 주소만 사용됩니다.
이그레스 규칙의 대상
계층적 방화벽 정책과 네트워크 방화벽 정책에서 이그레스 방화벽 규칙에 다음과 같은 대상을 사용할 수 있습니다.
기본 대상 범위: 이그레스 규칙에서 대상 사양을 생략하면 Google Cloud는 기본 대상 IPv4 주소 범위
0.0.0.0/0
(모든 IPv4 주소)을 사용합니다. 기본값에는 IPv6 대상이 포함되지 않습니다.대상 IPv4 주소 범위: CIDR 형식의 IPv4 주소 목록입니다.
대상 IPv6 주소 범위: CIDR 형식의 IPv6 주소 목록입니다.
위치정보: 수신 트래픽을 필터링하기 위해 2자리 국가 또는 리전 코드로 지정된 하나 이상의 대상 위치정보 목록입니다. 자세한 내용은 위치정보 객체를 참조하세요.
- 위협 인텔리전스 목록: 하나 이상의 사전 정의된 위협 인텔리전스 이름 목록입니다. 자세한 내용은 방화벽 정책 규칙의 위협 인텔리전스를 참조하세요.
대상 주소 그룹: IPv4 CIDR 또는 IPv6 CIDR로 구성되는 하나 이상의 대상 주소 그룹 목록입니다. 주소 그룹에 대한 자세한 내용은 방화벽 정책의 주소 그룹을 참조하세요.
대상 도메인 이름: 하나 이상의 대상 도메인 이름 목록입니다. 도메인 이름에 대한 자세한 내용은 방화벽 정책의 도메인 이름을 참조하세요.
유효한 대상 조합: 인그레스 규칙에서 이전 대상의 다양한 조합을 지정할 수 있습니다. 유효한 대상 집합은 이러한 조합의 합집합입니다.
이그레스 규칙에서 대상 조합을 지정하면 규칙이 대상 매개변수 기준 중 하나 이상과 일치하는 패킷에 적용됩니다.
규칙에 대한 대상 조합을 정의할 때는 다음 가이드라인을 따르세요.
- 동일한 규칙에 대상 IPv4 주소 범위와 대상 IPv6 주소 범위를 모두 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 다른 대상 주소 그룹과 함께 IPv4 CIDR이 포함된 대상 주소 그룹을 사용하지 마세요.
- 동일한 규칙에 IPv6 CIDR이 포함된 대상 주소 그룹과 대상 IPv4 주소 범위를 사용하지 마세요.
- 동일한 규칙에 IPv4 CIDR이 포함된 대상 주소 그룹과 대상 IPv6 주소 범위를 사용하지 마세요.
위치정보 객체
방화벽 정책 규칙에서 위치정보 객체를 사용하여 특정 위치정보 또는 리전을 기반으로 외부 IPv4 및 외부 IPv6 트래픽을 필터링합니다.
위치정보 객체가 있는 규칙을 인그레스 및 이그레스 트래픽에 적용할 수 있습니다. 트래픽 방향에 따라 국가 코드와 연결된 IP 주소가 트래픽의 소스 또는 대상과 일치합니다.
계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책에 대한 위치정보 객체를 구성할 수 있습니다.
방화벽 정책 규칙에 위치정보를 추가하려면 ISO 3166 알파-2 국가 코드에서 정의된 대로 2자리 국가 또는 리전 코드를 사용합니다.
예를 들어 미국에서 네트워크로의 수신 트래픽만 허용하려면 소스 국가 코드를
US
로 설정하고 작업을allow
로 설정하여 인그레스 방화벽 정책 규칙을 만듭니다. 마찬가지로 미국으로의 아웃바운드 트래픽만 허용하려면 대상 국가 코드를US
로 설정하고 작업을allow
로 설정하여 이그레스 방화벽 정책 규칙을 구성합니다.Cloud Next Generation Firewall을 사용하면 포괄적인 미국 제재가 적용되는 다음 지역에 대해 방화벽 규칙을 구성할 수 있습니다.
지역 할당된 코드 크리미아 XC 도네츠크 인민공화국 및 루간스크 인민공화국 XD 단일 방화벽 규칙에 포함된 국가 코드가 중복되면 해당 국가 코드의 항목이 하나만 유지됩니다. 중복 항목은 삭제됩니다. 예를 들어 국가 코드 목록
ca,us,us
에서는ca,us
만 유지됩니다.Google에서는 IP 주소 및 국가 코드 매핑으로 데이터베이스를 유지관리합니다. Google Cloud 방화벽은 이 데이터베이스를 사용하여 소스 및 대상 트래픽의 IP 주소를 국가 코드에 매핑한 다음 일치하는 방화벽 정책 규칙을 위치정보 객체와 함께 적용합니다.
IP 주소 할당 및 국가 코드가 다음 조건으로 인해 변경되는 경우가 있습니다.
- 지리적 위치 간 IP 주소 이동
- ISO 3166 알파-2 국가 코드 표준으로 업데이트
이러한 변경사항이 Google의 데이터베이스에 반영되는 데 다소 시간이 걸리므로 일부 트래픽의 중단 및 차단되거나 허용되는 특정 트래픽에 대한 동작의 변화를 확인할 수 있습니다.
다른 방화벽 정책 규칙 필터와 함께 위치정보 객체 사용
위치정보 객체는 다른 소스 또는 대상 필터와 함께 사용할 수 있습니다. 규칙 방향에 따라 방화벽 정책 규칙이 지정된 모든 필터의 합집합과 일치하는 수신 또는 발신 트래픽에 적용됩니다.
위치정보 객체가 인그레스 규칙의 다른 소스 필터와 작동하는 방식에 대한 자세한 내용은 계층식 방화벽 정책의 인그레스 규칙 소스 및 네트워크 방화벽 정책의 인그레스 규칙 소스를 참조하세요.
위치정보 객체가 이그레스 규칙의 다른 대상 필터와 작동하는 방식에 대한 자세한 내용은 이그레스 규칙의 대상을 참조하세요.
방화벽 정책 규칙의 위협 인텔리전스
방화벽 정책 규칙을 사용하면 위협 인텔리전스 데이터를 기반으로 트래픽을 허용하거나 차단하여 네트워크를 보호할 수 있습니다. 위협 인텔리전스 데이터에는 다음 카테고리를 기준으로 IP 주소 목록이 포함됩니다.
- Tor 종료 노드: Tor는 익명 통신을 사용 설정하는 오픈소스 소프트웨어입니다. ID를 숨기는 사용자를 제외하려면 Tor 종료 노드의 IP 주소(트래픽이 Tor 네트워크를 나가는 엔드포인트)를 차단합니다.
- 알려진 악성 IP 주소: 웹 애플리케이션 공격이 발생한 것으로 알려진 IP 주소입니다. 애플리케이션의 보안 상태를 개선하려면 이러한 IP 주소를 차단하세요.
- 검색엔진: 사이트 색인 생성을 사용 설정할 수 있는 IP 주소입니다.
- 퍼블릭 클라우드 IP 주소 범위: 이 카테고리는 악의적인 자동화 도구가 웹 애플리케이션을 탐색하지 못하도록 차단되거나 서비스가 다른 퍼블릭 클라우드를 사용하는 경우 허용될 수 있습니다. 이 카테고리는 다음과 같은 하위 카테고리로 세분화됩니다.
- Amazon Web Services에서 사용하는 IP 주소 범위와 일치
- Microsoft Azure에서 사용하는 IP 주소 범위와 일치
- Google Cloud에서 사용하는 IP 주소 범위와 일치
- Google 서비스에서 사용하는 IP 주소 범위와 일치
위협 인텔리전스 데이터 목록에는 IPv4 주소, IPv6 주소 또는 둘 다 포함될 수 있습니다. 방화벽 정책 규칙에서 위협 인텔리전스를 구성하려면 허용하거나 차단하려는 카테고리를 기준으로 사전 정의된 위협 인텔리전스 목록 이름을 사용합니다. 이 목록은 지속적으로 업데이트되므로 추가 구성 단계 없이 새로운 위협으로부터 서비스를 보호합니다. 유효한 목록 이름은 다음과 같습니다.
목록 이름 | 설명 |
---|---|
iplist-tor-exit-nodes |
TOR 종료 노드의 IP 주소와 일치 |
iplist-known-malicious-ips |
웹 애플리케이션 공격에 알려진 IP 주소와 일치 |
iplist-search-engines-crawlers |
검색엔진 크롤러의 IP 주소와 일치 |
iplist-vpn-providers |
신뢰도가 낮은 VPN 제공업체에 속하는 IP 주소와 일치 |
iplist-anon-proxies |
개방된 익명 프록시에 속하는 IP 주소와 일치 |
iplist-crypto-miners |
암호화폐 채굴 사이트에 속하는 IP 주소와 일치 |
iplist-public-clouds
|
|
다른 방화벽 정책 규칙 필터와 함께 위협 인텔리전스 사용
위협 인텔리전스로 방화벽 정책 규칙을 정의하려면 다음 가이드라인을 따르세요.
이그레스 규칙의 경우 하나 이상의 대상 위협 인텔리전스 목록을 사용하여 대상을 지정합니다.
인그레스 규칙의 경우 하나 이상의 소스 위협 인텔리전스 목록을 사용하여 소스를 지정합니다.
계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책에 위협 인텔리전스 목록을 구성할 수 있습니다.
이 목록을 다른 소스 또는 대상 규칙 필터 구성요소와 함께 사용할 수 있습니다.
위협 인텔리전스 목록이 인그레스 규칙의 다른 소스 필터와 작동하는 방식에 대한 자세한 내용은 계층식 방화벽 정책의 인그레스 규칙 소스 및네트워크 방화벽 정책의 인그레스 규칙 소스를 참조하세요.
위협 인텔리전스 목록이 이그레스 규칙의 다른 대상 필터와 작동하는 방식에 대한 자세한 내용은 이그레스 규칙의 대상을 참조하세요.
방화벽 로깅은 규칙 수준에서 수행됩니다. 방화벽 규칙의 효과를 쉽게 디버깅하고 분석하려면 단일 방화벽 규칙에 여러 위협 인텔리전스 목록을 포함하지 마세요.
위협 인텔리전스 목록을 방화벽 정책 규칙에 여러 개 추가할 수 있습니다. 규칙에 포함된 각 목록 이름은 해당 목록에 포함된 IP 주소 또는 IP 주소 범위 수와 관계없이 하나의 속성으로 계산됩니다. 예를 들어 방화벽 정책 규칙에
iplist-tor-exit-nodes
,iplist-known-malicious-ips
,iplist-search-engines-crawlers
목록 이름을 포함하면 방화벽 정책당 규칙 속성 수가 3개 증가합니다. 규칙 속성 수에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
위협 인텔리전스 목록에 대한 예외 만들기
위협 인텔리전스 목록에 적용되는 규칙이 있는 경우 다음 기법을 사용하여 위협 인텔리전스 목록 내 특정 IP 주소에 적용할 수 있는 예외 규칙을 만들 수 있습니다.
선택적 허용 목록: 위협 인텔리전스 목록으로 송수신되는 패킷을 거부하는 인그레스 또는 이그레스 방화벽 규칙이 있다고 가정해 보겠습니다. 해당 위협 인텔리전스 목록 내에서 선택한 IP 주소로 송수신되는 패킷을 허용하려면 예외 IP 주소를 소스 또는 대상으로 지정하는 별도의 우선순위가 더 높은 인그레스 또는 이그레스 허용 방화벽 규칙을 만듭니다.
선택적 거부 목록: 위협 인텔리전스 목록으로 송수신되는 패킷을 허용하는 인그레스 또는 이그레스 방화벽 규칙이 있다고 가정해 보겠습니다. 해당 위협 인텔리전스 목록 내에서 선택한 IP 주소로 송수신되는 패킷을 거부하려면 예외 IP 주소를 소스 또는 대상으로 지정하는 우선순위가 더 높은 인그레스 또는 이그레스 거부 방화벽 규칙을 만듭니다.
방화벽 정책의 주소 그룹
주소 그룹은 CIDR 형식의 IPv4 주소 범위 또는 IPv6 주소 범위의 논리적 모음입니다. 주소 그룹을 사용하여 여러 방화벽 규칙에서 참조하는 일관된 소스 또는 대상을 정의할 수 있습니다. 주소 그룹을 사용하는 방화벽 규칙을 수정하지 않고 주소 그룹을 업데이트할 수 있습니다. 주소 그룹에 대한 자세한 내용은 방화벽 정책의 주소 그룹을 참조하세요.
인그레스 및 이그레스 방화벽 규칙에 대해 각각 소스 및 대상 주소 그룹을 정의할 수 있습니다.
소스 주소 그룹이 인그레스 규칙의 다른 소스 필터와 작동하는 방식에 대한 자세한 내용은 계층식 방화벽 정책의 인그레스 규칙 소스 및 네트워크 방화벽 정책의 인그레스 규칙 소스를 참조하세요.
대상 주소 그룹이 이그레스 규칙의 다른 대상 필터와 작동하는 방식에 대한 자세한 내용은 이그레스 규칙의 대상을 참조하세요.
FQDN 객체
방화벽 정책 규칙의 정규화된 도메인 이름(FQDN)를 사용하여 특정 도메인과 수신 또는 발신되는 트래픽을 필터링합니다.
인그레스 트래픽과 이그레스 트래픽 모두에 FQDN 객체를 사용하는 방화벽 정책 규칙을 적용할 수 있습니다. 트래픽 방향에 따라 도메인 이름과 연결된 IP 주소가 트래픽의 소스 또는 대상과 일치합니다.
계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책에 대한 방화벽 정책 규칙에서 FQDN 객체를 구성할 수 있습니다.
표준 FQDN 구문에서 FQDN 객체를 지정해야 합니다.
도메인 이름 형식에 대한 자세한 내용은 도메인 이름 형식을 참조하세요.
Cloud NGFW는 주기적으로 FQDN 객체가 포함된 방화벽 정책 규칙을 최신 도메인 이름 변환 결과로 업데이트합니다.
방화벽 정책 규칙에 지정된 도메인 이름은 Cloud DNS의 VPC 이름 변환 순서에 따라 IP 주소로 변환됩니다. DNS(도메인 이름 시스템) 레코드라고도 하는 도메인 이름 확인 결과에 변경사항이 있으면 Cloud DNS가 Cloud NGFW에 알려줍니다.
두 도메인 이름이 동일한 IP 주소로 변환되는 경우 방화벽 정책 규칙이 도메인 하나뿐만 아니라 해당 IP 주소에도 적용됩니다. 즉, FQDN 객체는 레이어 3 항목입니다.
이그레스 방화벽 정책 규칙의 FQDN 객체에 DNS 레코드에 CNAME이 있는 도메인이 포함된 경우 안정적인 방화벽 규칙 동작을 보장하기 위해서는 VM이 (모든 별칭 포함한) 쿼리를 수행할 수 있도록 모든 도메인 이름으로 이그레스 방화벽 정책 규칙을 구성해야 합니다. VM이 이그레스 방화벽 정책 규칙에 구성되지 않은 CNAME을 쿼리하면 DNS 레코드 변경 중에 정책이 작동하지 않을 수 있습니다.
네트워크 방화벽 정책 규칙에서 Compute Engine 내부 DNS 이름도 사용할 수 있습니다. 하지만 네트워크가 아웃바운드 서버 정책에 대체 네임서버를 사용하도록 구성되어 있지 않은지 확인하세요.
네트워크 방화벽 정책 규칙에 커스텀 도메인 이름을 추가하려는 경우 도메인 이름 변환에 Cloud DNS 관리형 영역을 사용하면 됩니다. 하지만 네트워크가 아웃바운드 서버 정책에 대체 네임서버를 사용하도록 구성되어 있지 않은지 확인하세요. 영역 관리에 대한 자세한 내용은 영역 만들기, 수정, 삭제를 참조하세요.
제한사항
다음 제한사항은 FQDN 객체를 사용하는 인그레스 및 이그레스 방화벽 규칙 모두에 적용됩니다.
- FQDN 객체는 와일드 카드(*) 및 최상위(루트) 도메인 이름을 지원하지 않습니다.
예를 들어
*.example.com.
및.org
는 지원되지 않습니다.
인그레스 방화벽 정책 규칙에서 FQDN 객체를 사용할 수 있습니다. 인그레스 규칙에 FQDN 객체를 정의할 때는 다음 제한사항을 고려해야 합니다.
도메인 이름은 최대 32개의 IPv4 주소 및 32개의 IPv6 주소로 변환될 수 있습니다. 32개를 초과하는 IPv4 주소 및 32개를 초과하는 IPv6 주소로 변환되는 DNS 쿼리는 변환된 IP 주소 중 32개의 IPv4 또는 IPv6 주소만 포함하도록 잘립니다. 따라서 인그레스 방화벽 정책 규칙에서 32개를 초과하는 IPv4 및 IPv6 주소로 변환되는 도메인 이름을 포함하지 마세요.
일부 도메인 이름 쿼리에는 요청 클라이언트의 위치에 따라 고유한 답변이 포함됩니다. 방화벽 정책 규칙의 DNS 변환이 수행되는 위치는 방화벽 정책 규칙이 적용되는 VM이 포함된 Google Cloud 리전입니다.
도메인 이름 변환 결과가 매우 가변적이거나 도메인 이름 변환 시 DNS 기반 부하 분산 형식이 사용되는 경우 FQDN 객체를 사용하는 인그레스 규칙을 사용하지 마세요. 예를 들어 많은 Google 도메인 이름은 DNS 기반 부하 분산 스키마를 사용합니다.
다른 방화벽 정책 규칙 필터와 함께 FQDN 객체 사용
방화벽 정책 규칙에서 다른 소스 또는 대상 필터와 함께 FQDN 객체를 정의할 수 있습니다.
FQDN 객체가 인그레스 규칙의 다른 소스 필터와 작동하는 방식에 대한 자세한 내용은 계층식 방화벽 정책의 인그레스 규칙 소스 및 네트워크 방화벽 정책의 인그레스 규칙 소스를 참조하세요.
FQDN 객체가 이그레스 규칙의 다른 대상 필터와 작동하는 방식에 대한 자세한 내용은 이그레스 규칙의 대상을 참조하세요.
도메인 이름 형식
VPC 방화벽은 RFC 1035, RFC 1123, RFC 4343에 정의된 도메인 이름 형식을 지원합니다.
방화벽 정책 규칙에 도메인 이름을 추가하려면 다음 형식 가이드라인을 따르세요.
도메인 이름은 다음과 같이 라벨을 최소 2개 이상 포함해야 합니다.
- 각 라벨은
[a-z]([-a-z0-9][a-z0-9])?.
문자만 포함하는 정규 표현식과 일치합니다. - 각 라벨의 허용 길이는 1~63자(영문 기준)입니다.
- 라벨은 점(.)으로 연결됩니다.
- 각 라벨은
도메인 이름의 인코딩된 최대 길이는 255바이트(옥텟)를 초과하면 안 됩니다.
국제화된 도메인 이름(IDN)을 방화벽 정책 규칙에 추가할 수도 있습니다.
도메인 이름은 유니코드 또는 퓨니코드 형식이어야 합니다.
유니코드 형식으로 IDN을 지정하는 경우 Google Cloud 방화벽은 처리하기 전에 IDN을 퓨니코드 형식으로 변환합니다. 또는 IDN 변환기 도구를 사용하여 IDN의 퓨니코드 표현을 가져올 수 있습니다.
Google Cloud 방화벽은 동일한 방화벽 정책 규칙에서 동일한 도메인 이름을 지원하지 않습니다. 도메인 이름을 퓨니코드로 변환한 후 두 도메인 이름이 최대 후행 점만큼 다르다면 이는 동일한 것으로 간주됩니다.
FQDN 예외 시나리오
방화벽 정책 규칙에서 FQDN 객체를 사용할 때 DNS 이름 변환 중에 다음과 같은 예외가 발생할 수 있습니다.
잘못된 도메인 이름: 방화벽 정책 규칙을 만들 때 잘못된 형식을 사용하는 도메인 이름을 하나 이상 지정하면 오류가 발생합니다. 모든 도메인 이름의 형식이 올바르지 않으면 방화벽 정책 규칙을 만들 수 없습니다.
도메인 이름이 존재하지 않음(
NXDOMAIN
): 도메인 이름이 존재하지 않는 경우 Google Cloud는 방화벽 정책 규칙에서 FQDN 객체를 무시합니다.IP 주소 변환 없음: 도메인 이름이 IP 주소로 변환되지 않는 경우 FQDN 객체가 무시됩니다.
Cloud DNS 서버에 연결할 수 없음: DNS 서버에 연결할 수 없는 경우 이전에 캐시된 DNS 변환 결과를 사용할 수 있는 경우에만 FQDN 객체를 사용하는 방화벽 정책 규칙이 적용됩니다. 캐시된 DNS 변환 결과가 없거나 캐시된 DNS 결과가 만료된 경우 규칙의 FQDN 객체가 무시됩니다.