다음 섹션에서는 Cloud Armor가 다른 Cloud de Confiance by S3NS 기능 및 제품과 상호작용하는 방법을 설명합니다.
Cloud Armor 및 VPC 방화벽 규칙
Cloud Armor 보안 정책과 VPC 방화벽 규칙의 기능은 서로 다릅니다.
- Cloud Armor 보안 정책은 에지 보안을 제공하고 Google 프런트엔드(GFE)에 대한 클라이언트 트래픽에서 작동합니다.
- VPC 방화벽 규칙은 백엔드의 트래픽을 허용하거나 거부합니다. 따라서 대상이 부하 분산된 백엔드 VM이고 소스가 전역 외부 애플리케이션 부하 분산기 또는 기존 애플리케이션 부하 분산기에서 사용하는 IP 범위인 인그레스 허용 방화벽 규칙을 만들어야 합니다. 이러한 규칙을 통해 GFE와 상태 점검 시스템이 백엔드 VM과 통신할 수 있습니다.
예를 들어 CIDR 범위 100.1.1.0/24 및 CIDR 범위 100.1.2.0/24의 트래픽만 전역 외부 애플리케이션 부하 분산기나 기본 애플리케이션 부하 분산기에 액세스하도록 허용하는 시나리오를 가정해 보겠습니다. 목표는 트래픽이 백엔드 부하 분산 인스턴스에 직접 도달하지 못하게 차단하는 것입니다. 즉, 관련 보안 정책이 있는 전역 외부 애플리케이션 부하 분산기나 기본 애플리케이션 부하 분산기를 통해 프록시된 외부 트래픽만 인스턴스에 도달할 수 있습니다.
이전 다이어그램에서는 다음과 같은 배포 구성을 보여줍니다.
- 인스턴스 그룹을
us-west1리전과europe-west1리전에 있게 하여 두 개 만듭니다. - 백엔드 애플리케이션 인스턴스를 인스턴스 그룹의 VM에 배포합니다.
- 프리미엄 등급에서 전역 외부 애플리케이션 부하 분산기 또는 기본 애플리케이션 부하 분산기를 만듭니다. 백엔드가 이전 단계에서 만든 인스턴스 그룹 두 개인 URL 맵과 단일 백엔드 서비스를 구성합니다. 부하 분산기의 전달 규칙은
120.1.1.1외부 IP 주소를 사용해야 합니다. - 100.1.1.0/24 및 100.1.2.0/24에서 들어오는 트래픽을 허용하고 그 외 모든 트래픽을 거부하는 Cloud Armor 보안 정책을 구성합니다.
- 이 정책을 부하 분산기의 백엔드 서비스에 연결합니다. 자세한 내용은 Cloud Armor 보안 정책 구성을 참조하세요. 보다 복잡한 URL 맵을 사용하는 외부 HTTP(S) 부하 분산기는 백엔드 서비스 여러 개를 참조할 수 있습니다. 필요에 따라 보안 정책을 백엔드 서비스 한 개 이상에 연결할 수 있습니다.
- 전역 외부 애플리케이션 부하 분산기 또는 기본 애플리케이션 부하 분산기의 트래픽을 허용하도록 인그레스 허용 방화벽 규칙을 구성하세요. 자세한 내용은 방화벽 규칙을 참조하세요.
Cloud Run, App Engine 또는 Cloud Run Functions를 사용하는 Cloud Armor
Cloud Armor 보안 정책을 Cloud Run, App Engine 또는 Cloud Run Functions 서비스를 가리키는 서버리스 NEG 백엔드와 함께 사용할 수 있습니다.
그러나 Cloud Armor를 서버리스 NEG, Cloud Run 또는 Cloud Run Functions와 함께 사용하는 경우 서버리스 엔드포인트에 대한 모든 액세스가 Cloud Armor 보안 정책을 통해 필터링되어야 합니다.
서버리스 애플리케이션의 기본 URL이 있는 사용자는 부하 분산기를 우회하여 서비스 URL로 직접 이동할 수 있습니다. 그러면 Cloud Armor 보안 정책을 우회하게 됩니다. 이 문제를 해결하려면 Cloud de Confiance 에서 Cloud Run 서비스나 Cloud Run Functions(2세대) 함수에 자동으로 할당하는 기본 URL을 중지합니다. App Engine 애플리케이션을 보호하려면 인그레스 컨트롤을 사용하면 됩니다.
인그레스 컨트롤을 사용하여 모든 수신 트래픽에 액세스 제어를 적용하는 경우 Cloud Run Functions 또는 Cloud Run을 구성할 때 internal-and-gclb 인그레스 설정을 사용할 수 있습니다.
internal-and-gclb 인그레스 설정은 전역 외부 애플리케이션 부하 분산기 또는 기본 애플리케이션 부하 분산기에서 노출되는 외부 IP 주소로 전송되는 트래픽과 내부 트래픽만 허용합니다. 비공개 네트워크 외부에서 이러한 기본 URL로 전송되는 트래픽이 차단됩니다.
이렇게 하면 전역 외부 애플리케이션 부하 분산기 또는 기본 애플리케이션 부하 분산기를 통해 설정된 액세스 제어(예: Cloud Armor 보안 정책)를 사용자가 우회할 수 없습니다.
서버리스 NEG에 대한 자세한 내용은 서버리스 네트워크 엔드포인트 그룹 개요 및 서버리스 NEG 설정을 참조하세요.
Cloud Service Mesh를 사용하는 Cloud Armor
서비스 메시의 내부 서비스 보안 정책을 구성하여 클라이언트마다 전역 서버 측 비율 제한을 적용할 수 있습니다. 이를 통해 서비스의 사용 가능한 용량을 공정하게 공유하고 악의적인 클라이언트 또는 오작동하는 클라이언트가 서비스에 과부하가 발생할 위험을 완화할 수 있습니다. 보안 정책을 Cloud Service Mesh 엔드포인트 정책에 연결하여 서버 측의 인바운드 트래픽에 비율 제한을 적용합니다. 하지만 TCP 트래픽 라우팅을 사용하는 경우 Google Cloud Armor 보안 정책을 구성할 수 없습니다. Cloud Service Mesh와 함께 Cloud Armor를 사용하는 방법에 대한 자세한 내용은 Cloud Armor로 비율 제한 구성을 참조하세요.