방화벽 정책

방화벽 정책을 사용하면 여러 방화벽 규칙을 그룹화할 수 있으므로 한 번에 모든 규칙을 업데이트하고 Identity and Access Management(IAM) 역할로 효과적으로 제어할 수 있습니다. 이러한 정책에는 Virtual Private Cloud(VPC) 방화벽 규칙과 같이 연결을 명시적으로 거부하거나 허용할 수 있는 규칙이 포함됩니다.

계층식 방화벽 정책

계층식 방화벽 정책을 사용하면 1개 이상의 프로젝트에서 여러 VPC 네트워크에 적용할 수 있는 정책 객체로 규칙을 그룹화할 수 있습니다. 계층식 방화벽 정책을 전체 조직 또는 개별 폴더와 연결할 수 있습니다.

계층식 방화벽 정책 사양과 세부정보는 계층식 방화벽 정책을 참조하세요.

전역 네트워크 방화벽 정책

전역 네트워크 방화벽 정책을 사용하면 모든 리전(전역)에 적용되는 정책 객체로 규칙을 그룹화할 수 있습니다. 전역 네트워크 방화벽 정책을 VPC 네트워크와 연결한 후 정책의 규칙을 VPC 네트워크의 리소스에 적용할 수 있습니다.

전역 네트워크 방화벽 정책 사양 및 세부정보는 전역 네트워크 방화벽 정책을 참조하세요.

리전 네트워크 방화벽 정책

리전 네트워크 방화벽 정책을 사용하면 특정 리전에 적용되는 정책 객체로 규칙을 그룹화할 수 있습니다. 리전 네트워크 방화벽 정책을 VPC 네트워크와 연결한 후 정책의 규칙을 VPC 네트워크의 해당 리전에 있는 리소스에 적용할 수 있습니다.

리전 방화벽 정책 사양과 세부정보는 리전 네트워크 방화벽 정책을 참조하세요.

정책 및 규칙 평가 순서

계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책, VPC 방화벽 규칙의 규칙은 Andromeda 네트워크 가상화 스택의 VM 패킷 처리의 일부로 구현됩니다. 규칙은 VM의 각 네트워크 인터페이스(NIC)마다 평가됩니다.

규칙의 적용 가능성은 프로토콜 및 포트 구성의 구체성에 따라 달라지지 않습니다. 예를 들어 모든 프로토콜에 대한 우선순위가 높은 허용 규칙은 TCP 포트 22와 관련된 우선순위가 낮은 거부 규칙보다 우선 적용됩니다.

또한 규칙의 적용 가능성은 타겟 매개변수의 구체성에도 의존하지 않습니다. 예를 들어 특정 서비스 계정 또는 태그 등 더 구체적인 타겟 매개변수가 있는 우선순위가 낮은 거부 규칙이 있더라도 모든 VM(모든 타겟)에 대한 우선순위가 높은 허용 규칙이 우선 적용됩니다.

기본적으로 VM NIC에서 사용하는 VPC 네트워크의 networkFirewallPolicyEnforcementOrderAFTER_CLASSIC_FIREWALL인 경우 Google Cloud는 VM NIC에 적용 가능한 규칙을 다음 순서로 평가합니다.

  1. 계층식 방화벽 정책이 VM의 프로젝트가 포함된 조직과 연결된 경우 Google Cloud는 계층식 방화벽 정책에서 적용 가능한 모든 규칙을 평가합니다. 계층식 방화벽 정책의 규칙은 고유해야 하므로 트래픽 방향 및 레이어 4 특성과 일치하는 우선순위가 가장 높은 규칙이 트래픽 처리 방법을 결정합니다.
    • 규칙에서 트래픽을 허용할 수 있습니다. 평가 프로세스가 중지됩니다.
    • 규칙에서 트래픽을 거부할 수 있습니다. 평가 프로세스가 중지됩니다.
    • 이 규칙은 레이어 7 검사(apply_security_profile_group)의 트래픽을 방화벽 엔드포인트로 보낼 수 있습니다. 그러면 패킷 허용 또는 삭제 결정은 방화벽 엔드포인트와 구성된 보안 프로필에 따라 달라집니다. 두 경우 모두 규칙 평가 프로세스가 중지됩니다.
    • 다음 중 하나에 해당하는 경우 규칙이 다음 단계의 설명과 같이 정의된 규칙의 처리를 허용할 수 있습니다.
      • goto_next 작업이 있는 규칙이 트래픽과 일치합니다.
      • 트래픽과 일치하는 규칙이 없습니다. 이 경우 묵시적인 goto_next 규칙이 적용됩니다.
  2. 계층식 방화벽 정책이 VM 프로젝트의 가장 먼(상위) 폴더 상위 항목과 연결된 경우 Google Cloud는 해당 폴더의 계층식 방화벽 정책에서 적용 가능한 모든 규칙을 평가합니다. 계층식 방화벽 정책의 규칙은 고유해야 하므로 첫 단계의 설명대로 트래픽 방향 및 레이어 4 특성과 일치하는 우선순위가 가장 높은 규칙에서 allow, deny, apply_security_profile_group 또는 goto_next 등 트래픽 처리 방법을 결정합니다.
  3. Google Cloud는 리소스 계층 구조에서 VM의 프로젝트와 더 가까운 다음 폴더와 연결된 계층식 방화벽 정책에 대해 이전 단계의 작업을 반복합니다. Google Cloud는 먼저 가장 먼 폴더 상위 항목(조직 노드와 가장 가까움)과 연결된 계층식 방화벽 정책의 규칙을 평가한 후 VM 프로젝트와 가까운 다음(하위) 폴더와 연결된 계층식 방화벽 정책의 규칙을 평가합니다.
  4. VPC 방화벽 규칙이 VM NIC에서 사용하는 VPC 네트워크에 존재하는 경우 Google Cloud는 적용 가능한 모든 VPC 방화벽 규칙을 평가합니다.

    다음과 같이 방화벽 정책의 규칙과는 다릅니다.

    • VPC 방화벽 규칙에는 명시적 goto_next 또는 apply_security_profile_group 작업이 없습니다. VPC 방화벽 규칙은 트래픽을 허용하거나 거부하도록 구성할 수 밖에 없습니다.

    • VPC 네트워크에서 2개 이상의 VPC 방화벽 규칙이 동일한 우선순위 번호를 공유할 수 있습니다. 이 경우 거부 규칙이 허용 규칙보다 우선 적용됩니다. VPC 방화벽 규칙 우선순위에 대한 자세한 내용은 VPC 방화벽 규칙 문서의 우선순위를 참조하세요.

    트래픽에 적용되는 VPC 방화벽 규칙이 없으면 Google Cloud에서 다음 단계인 묵시적 goto_next를 진행합니다.

  5. 전역 네트워크 방화벽 정책이 VM NIC의 VPC 네트워크와 연결된 경우 Google Cloud는 방화벽 정책의 적용 가능한 모든 규칙을 평가합니다. 방화벽 정책의 규칙은 고유해야 하므로 첫 단계의 설명대로 트래픽 방향 및 레이어 4 특성과 일치하는 우선순위가 가장 높은 규칙에서 allow, deny, apply_security_profile_group 또는 goto_next 등 트래픽 처리 방법을 결정합니다.

  6. 리전 네트워크 방화벽 정책이 VM NIC의 VPC 네트워크 및 VM 리전과 연결된 경우 Google Cloud는 방화벽 정책의 적용 가능한 모든 규칙을 평가합니다. 방화벽 정책의 규칙은 고유해야 하므로 트래픽 방향 및 레이어 4 특성과 일치하는 우선순위가 가장 높은 규칙이 allow, deny 또는 goto_next 등 트래픽 처리 방법을 결정합니다.

  7. 평가의 마지막 단계로 Google Cloud는 묵시적 허용 이그레스 및 묵시적 거부 인그레스 VPC 방화벽 규칙을 적용합니다.

다음 다이어그램에서는 방화벽 규칙의 확인 흐름을 보여줍니다.

방화벽 규칙 확인 흐름
그림 1. 방화벽 규칙 확인 흐름(확대하려면 클릭)

정책 및 규칙 평가 순서 변경

Google Cloud는 VPC 방화벽 규칙과 네트워크 방화벽 정책(전역 및 리전 모두)의 순서를 바꿔 기본 규칙 평가 프로세스를 변경하는 옵션을 제공합니다. 이 스왑을 수행하면 규칙 평가 순서에 따라 글로벌 네트워크 방화벽 정책(5단계) 및 리전 네트워크 방화벽 정책(6단계)이 VPC 방화벽 규칙(4단계)보다 먼저 평가됩니다.

규칙 평가 순서를 변경하려면 다음 명령어를 실행하여 VPC 네트워크의 networkFirewallPolicyEnforcementOrder 속성을 BEFORE_CLASSIC_FIREWALL로 설정합니다.

gcloud compute networks update VPC-NETWORK-NAME \
    --network-firewall-policy-enforcement-order BEFORE_CLASSIC_FIREWALL

자세한 내용은 networks.patch 메서드를 참조하세요.

유효 방화벽 규칙

계층식 방화벽 정책 규칙, VPC 방화벽 규칙, 전역 및 리전 네트워크 방화벽 정책 규칙에서 연결을 제어합니다. 개별 네트워크나 VM 인터페이스에 영향을 미치는 모든 방화벽 규칙을 확인하면 도움이 됩니다.

네트워크 유효 방화벽 규칙

VPC 네트워크에 적용되는 모든 방화벽 규칙을 볼 수 있습니다. 이 목록에는 다음과 같은 종류의 규칙이 모두 포함됩니다.

  • 계층식 방화벽 정책에서 상속된 규칙
  • VPC 방화벽 규칙
  • 전역 및 리전 네트워크 방화벽 정책에서 적용되는 규칙

인스턴스 유효 방화벽 규칙

VM의 네트워크 인터페이스에 적용되는 모든 방화벽 규칙을 볼 수 있습니다. 이 목록에는 다음과 같은 종류의 규칙이 모두 포함됩니다.

  • 계층식 방화벽 정책에서 상속된 규칙
  • 인터페이스의 VPC 방화벽에서 적용되는 규칙
  • 전역 및 리전 네트워크 방화벽 정책에서 적용되는 규칙

규칙 순서는 조직 수준에서 VPC 네트워크 순으로 정해집니다. VM 인터페이스에 적용되는 규칙만 표시됩니다. 다른 정책의 규칙은 표시되지 않습니다.

리전 내 유효 방화벽 정책 규칙을 보려면 네트워크의 유효 방화벽 정책 가져오기를 참조하세요.

사전 정의된 규칙

계층식 방화벽 정책, 전역 네트워크 방화벽 정책 또는 리전 네트워크 방화벽 정책을 만들면 Cloud NGFW가 사전 정의된 규칙을 정책에 추가합니다. Cloud NGFW가 정책에 추가하는 사전 정의된 규칙은 정책을 만드는 방법에 따라 달라집니다.

Google Cloud 콘솔을 사용하여 방화벽 정책을 만들면 Cloud NGFW는 다음 규칙을 새 정책에 추가합니다.

  1. 비공개 IPv4 범위의 goto-next 규칙
  2. 사전 정의된 위협 인텔리전스 거부 규칙
  3. 사전 정의된 위치정보 거부 규칙
  4. 우선순위가 가장 낮은 goto-next 규칙

Google Cloud CLI 또는 API를 사용하여 방화벽 정책을 만드는 경우 Cloud NGFW는 우선순위가 가장 낮은 goto-next 규칙만 정책에 추가합니다.

새 방화벽 정책의 모든 사전 정의된 규칙은 낮은 우선순위(큰 우선순위 번호)를 의도적으로 사용하므로 우선순위가 더 높은 규칙을 만들어 재정의할 수 있습니다. 우선순위가 가장 낮은 goto-next 규칙을 제외하고 사전 정의된 규칙을 맞춤설정할 수도 있습니다.

비공개 IPv4 범위의 goto-next 규칙

  • 대상 IPv4 범위 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 우선순위 1000, goto_next 작업이 있는 이그레스 규칙

  • 소스 IPv4 범위 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 우선순위 1001, goto_next 작업이 있는 인그레스 규칙

사전 정의된 위협 인텔리전스 거부 규칙

  • 소스 위협 인텔리전스 목록 iplist-tor-exit-nodes, 우선순위 1002, deny 작업이 있는 인그레스 규칙

  • 소스 위협 인텔리전스 목록 iplist-known-malicious-ips, 우선순위 1003, deny 작업이 있는 인그레스 규칙

  • 대상 위협 인텔리전스 목록 iplist-known-malicious-ips, 우선순위 1004, deny 작업이 있는 이그레스 규칙

위협 인텔리전스에 대한 자세한 내용은 방화벽 정책 규칙의 위협 인텔리전스를 참조하세요.

사전 정의된 위치정보 거부 규칙

  • 소스 일치 위치정보 CU, IR, KP, SY, XC, XD, 우선순위 1005, deny 작업이 있는 인그레스 규칙

위치정보에 대한 자세한 내용은 위치정보 객체를 참조하세요.

우선순위가 가장 낮은 goto-next 규칙

다음 규칙을 수정하거나 삭제할 수 없습니다.

  • 대상 IPv6 범위 ::/0, 우선순위 2147483644, goto_next 작업이 있는 이그레스 규칙

  • 소스 IPv6 범위 ::/0, 우선순위 2147483645, goto_next 작업이 있는 인그레스 규칙

  • 대상 IPv4 범위 0.0.0.0/0, 우선순위 2147483646, goto_next 작업이 있는 이그레스 규칙

  • 소스 IPv4 범위 0.0.0.0/0, 우선순위 2147483647, goto_next 작업이 있는 인그레스 규칙

다음 단계