보안 정책 개요

이 페이지에서는 Google Cloud Armor 보안 정책을 사용하여 Google Cloud 배포를 보호하는 방법을 설명합니다.

Google Cloud Armor 보안 정책은 레이어 7 필터링을 제공하고 일반적인 웹 공격 또는 기타 레이어 7 속성에 대한 수신 요청을 스크러빙하여 부하 분산 백엔드 서비스 또는 백엔드 버킷에 도달하기 전에 트래픽을 차단합니다. 각 보안 정책은 레이어 3~7의 속성에서 구성할 수 있는 규칙 집합으로 구성됩니다. 규칙은 수신 요청의 IP 주소, IP 범위, 리전 코드, 요청 헤더와 같은 조건에 따라 트래픽을 필터링할 수 있습니다.

Cloud Armor 보안 정책은 다음 부하 분산기 및 엔드포인트 유형에 사용할 수 있습니다.

  • 기본 애플리케이션 부하 분산기를 비롯한 모든 외부 애플리케이션 부하 분산기
  • 리전 내부 애플리케이션 부하 분산기
  • 전역 외부 프록시 네트워크 부하 분산기(TCP/SSL)
  • 기본 프록시 네트워크 부하 분산기(TCP/SSL)
  • 외부 패스 스루 네트워크 부하 분산기(TCP/UDP)
  • 외부 프로토콜 전달
  • 네트워크 인터페이스(NIC)에 외부 IPv4 주소 또는 외부 IPv6 주소 범위가 할당된 VM

부하 분산기는 프리미엄 등급이나 표준 등급에 있을 수 있습니다.

백엔드 서비스의 백엔드는 다음 중 하나일 수 있습니다.

Cloud Armor를 사용하여 하이브리드 배포나 멀티 클라우드 아키텍처를 보호하는 경우 백엔드는 인터넷 NEG 또는 하이브리드 NEG여야 합니다. 또한 Cloud Armor는 부하 분산기를 통해 트래픽이 라우팅될 때 서버리스 NEG를 보호합니다. 트래픽이 서버리스 NEG에 도달하기 전에 부하 분산기를 통해 라우팅하는 방법에 대한 자세한 내용은 인그레스 제어를 참조하세요.

또한 Cloud Armor는 외부 패스 스루 네트워크 부하 분산기, 프로토콜 전달, 공개 IP 주소가 있는 VM에 대해 고급 네트워크 DDoS 보호를 제공합니다. 고급 DDoS 보호에 대한 자세한 내용은 고급 네트워크 DDoS 보호 구성을 참조하세요.

Cloud Armor 보안 정책을 사용하여 Google Cloud 배포 보호

외부 부하 분산은 전 세계 Google 접속 지점(PoP)의 Google 네트워크 에지에서 구현됩니다. 프리미엄 등급에서 외부 부하 분산기로 전달되는 사용자 트래픽은 사용자와 가장 가까운 PoP로 유입됩니다. 그런 다음 트래픽은 Google의 전역 네트워크를 통해 충분한 용량을 갖춘 가장 가까운 백엔드로 분산됩니다. 표준 등급에서 사용자 트래픽은 Google Cloud리소스를 배포한 리전의 피어링, ISP 또는 전환 네트워크를 통해 Google 네트워크에 유입됩니다.

Cloud Armor 보안 정책을 사용하면 수신 트래픽의 소스와 최대한 가까운 Google Cloud 에지에서 백엔드 서비스에 대한 요청을 허용, 거부, 비율 제한 또는 리디렉션할 수 있습니다. 이를 통해 원치 않는 트래픽이 리소스를 소비하거나 가상 프라이빗 클라우드(VPC) 네트워크에 유입되는 것을 방지할 수 있습니다.

다음은 전역 외부 애플리케이션 부하 분산기, 기본 애플리케이션 부하 분산기, Google 네트워크 및 Google 데이터 센터의 위치를 보여주는 다이어그램입니다.

네트워크 에지에서의 Cloud Armor 정책
네트워크 에지에서의 Cloud Armor 정책(확대하려면 클릭)

요구사항

Cloud Armor 보안 정책 사용에 대한 요구사항은 다음과 같습니다.

  • 백엔드 서비스의 부하 분산 스키마는 EXTERNAL, EXTERNAL_MANAGED 또는 INTERNAL_MANAGED여야 합니다.
  • 백엔드 서비스의 프로토콜은 HTTP, HTTPS, HTTP/2, UDP, TCP, SSL, UNSPECIFIED 중 하나여야 합니다.

Cloud Armor 보안 정책 정보

Cloud Armor 보안 정책은 외부에 노출된 애플리케이션이나 서비스를 보호하기 위해 레이어 3~7 네트워크의 속성과 일치하는 규칙 세트입니다. 각 규칙은 들어오는 트래픽과 관련하여 평가됩니다.

Cloud Armor 보안 정책 규칙은 일치 조건과 조건이 충족되면 취할 조치로 구성됩니다. 예를 들어 조건은 수신 트래픽의 클라이언트 IP 주소가 특정 IP 주소 또는 CIDR 범위(IP 주소 허용 목록 및 차단 목록 규칙이라고도 함)와 일치하는지 여부가 될 수 있습니다. 또는 Cloud Armor 커스텀 규칙 언어 참조를 사용하여 URL 경로, 요청 메서드 또는 요청 헤더 값과 같은 수신 트래픽의 다양한 속성과 일치하는 커스텀 조건을 만들 수 있습니다.

수신 요청이 보안 정책 규칙의 조건과 일치하면 Cloud Armor는 규칙이 허용 규칙인지, 거부 규칙인지, 리디렉션 규칙인지에 따라 요청을 허용, 거부 또는 리디렉션합니다. 요청 헤더 삽입과 같이 적용할 추가 작업 파라미터가 있을 수 있습니다. 이 기능은 Cloud Armor 봇 관리의 일부입니다. 봇 관리에 대한 자세한 내용은 봇 관리 개요를 참조하세요.

Cloud Armor는 계층적 보안 정책과 서비스 수준 보안 정책의 두 가지 보안 정책 카테고리를 제공합니다. 계층적 보안 정책은 조직, 폴더 또는 프로젝트 수준에서 연결되는 반면 서비스 수준 보안 정책은 하나 이상의 백엔드 서비스와 연결됩니다. 계층적 보안 정책에 대한 자세한 내용은 계층적 보안 정책 개요를 참조하세요.

백엔드 서비스에는 두 개의 서비스 수준 보안 정책을 동시에 연결할 수 있지만 두 개의 백엔드 보안 정책 또는 두 개의 에지 보안 정책을 동시에 연결할 수는 없습니다. 하지만 백엔드 서비스가 모두 동일한 보안 정책과 연결될 필요는 없습니다. 지원되는 백엔드 서비스 및 기능에서 보안 정책을 연결하고 삭제하려면 보안 정책 연결 및 삭제를 참조하세요.

Cloud Armor 보안 정책이 백엔드 서비스와 연결된 경우 이 정책을 삭제할 수 없습니다. 연결된 보안 정책이 있는지 여부에 관계없이 백엔드 서비스를 삭제할 수 있습니다.

전달 규칙 여러 개가 보안 정책에 연결된 백엔드 서비스를 가리키는 경우 각 전달 규칙 IP 주소로 들어오는 모든 트래픽에 정책 규칙이 적용됩니다.

다음 다이어그램에서 Cloud Armor 보안 정책 internal-users-policy는 백엔드 서비스 test-network에 연결되어 있습니다.

네트워크 에지에서의 Cloud Armor 보안 정책
네트워크 에지에서의 Cloud Armor 보안 정책(확대하려면 클릭)
Cloud Armor 보안 정책에는 다음과 같은 기능이 있습니다.

  • 원하는 경우 Cloud Armor를 사용하는 부하 분산기와 함께 QUIC 프로토콜을 사용할 수 있습니다.

  • Cloud Armor를 다음 네트워크 서비스 등급 중 하나에 있는 부하 분산기에 사용할 수 있습니다.

    • 프리미엄 등급
    • 표준 등급
  • GKE 및 기본 인그레스 컨트롤러에서 백엔드 보안 정책을 사용할 수 있습니다.

  • 다음 부하 분산기 중 하나를 구성할 때 사용자 지정 기준점에 따라 트래픽을 제한하는 기본 보안 정책을 사용할 수 있습니다.

    • 전역 외부 애플리케이션 부하 분산기
    • 기존 애플리케이션 부하 분산기
    • 리전 외부 애플리케이션 부하 분산기
    • 리전 내부 애플리케이션 부하 분산기
    • 전역 외부 프록시 네트워크 부하 분산기(TCP/SSL)
    • 기본 프록시 네트워크 부하 분산기(TCP/SSL)

또한 오픈소스 업계 표준에서 컴파일된 서명이 수십 개 있는 복잡한 웹 애플리케이션 방화벽(WAF) 규칙인 Google Cloud Armor 사전 구성된 WAF 규칙을 구성할 수 있습니다. 각 서명은 규칙 세트의 공격 탐지 규칙에 해당합니다. Google에서는 이러한 규칙을 있는 그대로 제공합니다. 규칙을 사용하면 Cloud Armor에서 각 서명을 수동으로 정의할 필요 없이 편리한 이름의 규칙을 참조하여 고유한 트래픽 서명 수십 개를 평가할 수 있습니다. 사전 구성된 WAF 규칙에 대한 자세한 내용은 사전 구성된 WAF 규칙 개요를 참조하세요.

보안 정책 유형

다음 표에는 서비스 수준 보안 정책의 유형과 해당 정책으로 수행할 수 있는 작업이 나와 있습니다. 체크표시()는 보안 정책 유형이 이 기능을 지원한다는 것을 나타냅니다.