Cloud NGFW의 보안 태그 권장사항

이 문서에서는 Cloud Next Generation Firewall(Cloud NGFW)에서 보안 태그를 설계, 관리, 적용하기 위한 아키텍처 권장사항을 제공합니다. 보안 태그는 동적 IP 주소가 아닌 가상 머신 (VM) 워크로드 ID에 방화벽 규칙 평가를 바인딩하여 네트워크 보안에 ID 인식 접근 방식을 제공합니다. 보안 태그는 Cloud Next Generation Firewall Essentials 등급에 포함된 기본 기능이며 모든 Cloud NGFW 등급에서 지원됩니다. 이 가이드는 클라우드 네트워크 보안 정책을 설계하고 유지관리하는 네트워크 설계자, 보안 관리자, DevOps 엔지니어를 대상으로 합니다.

이 문서에서는 권장사항을 보안 태그 수명 주기의 네 가지 주요 단계로 정리합니다.

  1. 태그 스키마 설계: 태그를 워크로드 ID와 정렬하고, 마이크로 세분화를 구성하고, 보안 태그 할당량 한도를 초과하지 않도록 태그를 대략적으로 유지합니다.
  2. 액세스 제어 및 거버넌스 구성: Identity and Access Management (IAM) 직무 분리를 설정하고, 적절한 범위를 선택하고, VM 프로비저닝 중에 태그를 적용합니다.
  3. 방화벽 정책 및 규칙 논리 설계: 규칙 평가를 최적화하고, 계층식 정책을 구성하고, 안전한 기본 거부 규칙을 구현합니다.
  4. 보호, 모니터링, 감사: 태그 보류로 실수로 삭제되는 것을 방지하고, 방화벽 로깅을 사용 설정하고, 정기적인 액세스 감사를 실행합니다.

이 가이드를 사용하기 전에 방화벽용 보안 태그 개요 및 Cloud NGFW 개요를 숙지해야 합니다.

권장사항 요약

다음 표에는 보안 태그 수명 주기 전반에 걸친 핵심 권장사항이 요약되어 있습니다.

수명 주기 단계 주요 권장사항 설명
태그 스키마 설계 워크로드 아이덴티티에 태그 정렬 워크로드 역할 (예: env/prod 또는 tier/database)별로 태그 키를 정의하고, 상호 배타적인 값을 적용하고, 할당량 한도 내에 유지되도록 태그를 대략적으로 유지합니다.
액세스 제어 및 거버넌스 책임 분리 적용 roles/resourcemanager.tagAdmin 역할은 보안팀에만 부여하고, roles/resourcemanager.tagUser 역할은 배포 파이프라인으로 제한하고, 적절한 범위(organization=auto 대 network)를 선택합니다.
VM 프로비저닝 생성 시 태그 적용 프로비저닝 중에 보안 태그를 VM 네트워크 인터페이스에 바인딩하고 조직 정책을 사용하여 모든 새 인스턴스에 태그가 필요하도록 합니다.
정책 아키텍처 대상 보안 태그 지정 정적 평가 성능을 위해 방화벽 규칙에서 대상 보안 태그를 사용합니다. 태그가 지정되지 않은 리소스를 보호하기 위해 계층적 정책에서 기본 거부 규칙을 구성합니다.
교차 네트워크 보안 가상 프라이빗 클라우드 (VPC) 간 보안 연결 정적 CIDR 블록을 관리하지 않고 피어링된 VPC 네트워크와 Network Connectivity Center (NCC) 스포크 간에 ID 경계를 유지합니다.
보호 및 모니터링 태그 보호 및 모니터링 태그 보류를 적용하여 실수로 삭제되는 것을 방지하고, 문제 해결을 위해 방화벽 규칙 로깅을 사용 설정하고, IAM 할당을 정기적으로 감사합니다.

태그 스키마 설계

잘 구성된 태그 스키마는 방화벽 규칙을 간소화하고 보안 감사를 간소화하며 충돌하는 정책을 방지합니다.

태그를 워크로드 아이덴티티와 정렬

고유한 워크로드 역할, 애플리케이션 계층 또는 규제 분류를 기반으로 보안 태그 키를 설계합니다.

  • 환경 등급: env/prod, env/staging, env/dev
  • 애플리케이션 계층: tier/frontend, tier/backend, tier/database
  • 규정 준수 상태: scope/pci-dss, scope/hipaa

예: 3계층 애플리케이션 마이크로 세분화

일반적인 3계층 웹 애플리케이션은 웹 프런트엔드, 애플리케이션 백엔드, 데이터베이스로 구성됩니다. 무단 액세스로부터 데이터베이스를 보호하려면 보안 태그를 사용하여 네트워크 마이크로 세분화를 적용하여 각 계층이 인접한 계층과만 통신할 수 있도록 하면 됩니다.

[ Web Tier (tag: tier/frontend) ]
              |
              |  Allow port 8080 (Web can communicate with App)
              v
[ App Tier (tag: tier/backend) ]
              |
              |  Allow port 5432 (App can communicate with DB)
              v
[ Database Tier (tag: tier/database) ]

이 흐름을 적용하려면 다음 두 가지 방화벽 정책 규칙을 구성하세요.

  1. 규칙 1 (웹에서 앱으로): 소스 태그가 tier/frontend이고 대상 태그가 tier/backend인 포트 8080에서 인그레스를 허용합니다.
  2. 규칙 2 (앱에서 DB로): 소스 태그가 tier/backend이고 대상 태그가 tier/database인 포트 5432에서 인그레스를 허용합니다.

결과: 방화벽 규칙에서 tier/frontend와 tier/database 간의 트래픽을 허용하지 않으므로 웹 프런트엔드가 데이터베이스 계층과 직접 통신할 수 없습니다. VM 인스턴스가 동일한 IP 서브넷을 공유하더라도 Cloud NGFW는 이 경계를 자동으로 적용합니다.

네트워크 태그에서 보안 태그로의 이전

VPC 네트워크 태그에서 방화벽 보안 태그로 업그레이드할 때는 다음과 같은 아키텍처 차이점을 참고하세요.

기능 네트워크 태그 (VPC 규칙) 보안 태그 (방화벽 정책)
타겟 사양 targetTags = ["web-tier"] targetSecureTags = ["tagValues/1234567890"]
소스 사양 sourceTags = ["db-client"] sourceSecureTags = ["tagValues/0987654321"]
시행 범위 단일 VPC 네트워크만 피어링된 VPC 네트워크, NCC 스포크, 계층식 정책 간
라우팅 지원 네트워크 태그를 정적 경로의 다음 홉으로 사용할 수 있습니다 (경로 태그라고도 함). 라우팅에는 보안 태그를 사용할 수 없습니다. 방화벽 트래픽 필터링에만 사용합니다.
액세스 제어 개별 태그에 대한 IAM 권한 없음 Resource Manager 및 IAM 역할은 태그 액세스 및 바인딩을 엄격하게 관리합니다.

상호 배타적인 태그 값 적용

리소스가 태그 키당 정확히 하나의 값을 수신하는지 확인합니다. 예를 들어 VM 인스턴스에는 env/prod 또는 env/dev가 할당되어야 하지만 둘 다 할당되어서는 안 됩니다.

  • 권장: 단일 환경 태그 (env/prod)를 할당하고 대상 태그(예: env/shared-logging)를 참조하는 명시적 방화벽 규칙을 통해 공유 서비스에 대한 액세스를 허용합니다.

  • 안됨: 동일한 VM에 여러 환경 태그 (env/prod 및 env/dev)를 스택하지 마세요. 이렇게 하면 VM이 개발 방화벽 규칙과 일치하여 개발자 트래픽에 프로덕션 리소스가 노출됩니다.

할당량 내에 유지되도록 태그를 대략적으로 유지

고유한 인스턴스별 태그를 만드는 대신 유사한 VM 인스턴스를 공유 태그 값으로 그룹화합니다. 세부적인 태그 지정은 보안 상태를 관리할 수 있도록 유지하고 조직이 보안 태그 할당량 한도를 초과하지 않도록 합니다.

태그 스키마를 계획할 때는 다음 한도를 검토하세요.

멀티 NIC VM에 서비스 계정 대신 태그 사용

방화벽 정책에서 소스 또는 대상으로 서비스 계정보다 보안 태그를 사용하는 것이 좋습니다. 서비스 계정과 달리 보안 태그를 멀티호밍 VM의 개별 네트워크 인터페이스 (vNIC)에 직접 바인딩할 수 있습니다. 이 접근 방식을 사용하면 각 네트워크 인터페이스에 서로 다른 네트워크 정책을 적용할 수 있습니다.

액세스 제어 및 거버넌스 구성

IAM은 보안 태그를 관리하여 엄격한 액세스 제어와 명확한 직무 분리를 제공합니다.

IAM 역할로 업무 분리

태그를 만드는 관리자와 워크로드를 프로비저닝하는 팀 간에 운영 경계를 설정합니다.

  • 태그 관리자 (roles/resourcemanager.tagAdmin): 태그 키와 값을 만들고, 수정하고, 삭제할 수 있도록 중앙 네트워크 및 보안 관리자에게만 부여합니다.
  • 태그 사용자 (roles/resourcemanager.tagUser): 특정 프로젝트 또는 리소스 범위에서 자동화된 CI/CD 배포 파이프라인 또는 프로비저닝 서비스 계정에 권한을 부여하여 태그를 VM 네트워크 인터페이스에 바인딩합니다.
  • 태그 뷰어 (roles/resourcemanager.tagViewer): 태그 구성에 대한 읽기 전용 액세스 권한이 필요한 운영팀 및 감사팀에 부여합니다.

자체 태그 지정 및 권한 에스컬레이션 방지

  • 권장: 감사된 코드형 인프라 (IaC) 배포 파이프라인 (예: Terraform google_tags_tag_binding 워크플로)에 프로젝트 또는 네트워크 인터페이스 수준에서 독점적으로 roles/resourcemanager.tagUser 권한을 부여합니다.
  • 금지: 조직 수준에서 개발자 그룹에 roles/resourcemanager.tagUser를 광범위하게 부여하지 마세요. 이렇게 하면 개발자가 승인되지 않은 개발 워크로드에 프로덕션 태그 (예: env/prod)를 자체 연결할 수 없습니다.

범위 태그 키를 적절하게 지정

운영 거버넌스와 일치하는 리소스 계층 구조 수준에서 보안 태그 키를 정의합니다.

  • 조직 범위 태그 (purpose-data=organization=auto): 여러 VPC 네트워크, 피어링된 네트워크, 계층적 방화벽 정책 전반에서 중앙 집중식 보안 거버넌스를 위해 조직 또는 폴더 수준에서 키를 정의합니다.
  • 네트워크 범위 태그 (purpose-data=network): 태그가 단일 VPC 네트워크에 영구적으로 제한되어야 하는 프로젝트 수준 격리에만 사용합니다.

VM 생성 중에 태그 할당 강제 적용

생성 시 보안 태그를 VM 네트워크 인터페이스에 바인딩하면 워크로드가 시작될 때 즉시 보호됩니다.

사용자와 자동 파이프라인이 필수 보안 태그 없이 인스턴스를 프로비저닝할 수 없도록 하려면 리소스 생성 시 태그를 적용하도록 조직 정책을 구성하세요. 이 정책은 태그가 지정되지 않고 보호되지 않은 VM 인스턴스의 생성을 차단합니다.

방화벽 정책 및 규칙 논리 설계

보안 태그를 방화벽 정책에 통합하여 규칙 평가를 최적화하고 일관된 보호를 유지하세요.

중앙 적용을 위해 계층식 방화벽 정책 사용

조직 또는 폴더 수준의 계층식 방화벽 정책 내에서 보안 태그를 참조하는 방화벽 규칙을 정의합니다. 계층적 정책은 로컬 프로젝트 소유자가 재정의할 수 없는 조직 전체 거버넌스를 적용합니다.

효율성을 위해 타겟 보안 태그 지정

방화벽 정책 규칙을 만들 때는 가능한 한 대상 보안 태그(targetSecureTags)를 지정하세요. Cloud NGFW는 대상 태그와 소스 태그를 다르게 평가합니다.

  • 대상 보안 태그 (정적으로 일치): 대상 태그가 있는 규칙은 해당 태그를 사용하는 VM 인스턴스에만 정적으로 적용됩니다. 이렇게 하면 각 VM에서 평가되는 규칙 수가 줄어들고 성능이 향상됩니다.

  • 소스 보안 태그 (연결당 동적으로 일치): 대상 태그 없이 소스 태그 (sourceSecureTags)만 지정하는 규칙은 네트워크의 모든 VM 인스턴스에서 모든 연결에 대해 동적으로 평가되므로 처리 오버헤드가 증가합니다.

계층적 기본 거부로 안전한 기본값 구현

VM 인스턴스는 상위 폴더 또는 조직에서 GCE_FIREWALL 보안 태그를 상속하지 않으므로 계층적 정책에서 안전한 대체 규칙을 정의하여 태그가 지정되지 않은 리소스를 보호하세요.

  1. 기본 거부 규칙: 기본적으로 모든 트래픽을 거부하는 낮은 우선순위 규칙 (예: 우선순위 65000)을 조직 또는 폴더 수준에서 만듭니다.

  2. 조건부 허용 규칙: 특정 보안 태그 (예: tier/frontend~tier/backend) 간에만 트래픽을 허용하는 우선순위가 더 높은 규칙을 만듭니다.

태그 없이 VM 인스턴스를 만들거나 태그가 분리되면 계층적 기본 거부 규칙이 인스턴스로 오가는 트래픽을 자동으로 차단합니다.

피어링된 네트워크 및 NCC에서 보안 태그 사용

보안 태그를 사용하여 VPC 네트워크 피어링 또는 NCC VPC 스포크로 연결된 VPC 네트워크 간의 트래픽을 제어합니다. 보안 태그는 변경되는 CIDR 블록을 관리할 필요 없이 연결된 네트워크 전반에서 ID 인식 경계를 유지합니다.

보호, 모니터링, 감사

지속적인 운영 관리로 안전한 태그 구성이 안전하고 복원력이 유지됩니다.

태그 보존 조치로 중요한 태그 값 보호

사용 중인 태그를 삭제할 때 발생하는 실수로 인한 서비스 중단을 방지합니다.

  • 삭제를 방지하기 위해 중요한 보안 태그 값에 태그 보존 조치를 적용합니다.
  • VM 네트워크 인터페이스에서 보안 태그를 분리하기 전에 활성 방화벽 규칙이 보안 태그를 사용하지 않는지 확인합니다. 보안 태그 값을 삭제하려면 먼저 모든 리소스 바인딩 (및 태그 보류)을 삭제해야 합니다. Cloud de Confiance by S3NS

방화벽 규칙 로깅 사용 설정

보안 태그를 사용하는 모든 규칙에서 방화벽 정책 규칙 로깅을 사용 설정합니다. 이러한 로그는 액세스 패턴을 감사하고, 세분화를 확인하고, 연결 문제를 해결하는 데 도움이 되도록 일치하는 트래픽 조회수를 캡처합니다.

IAM 역할 할당 정기적으로 감사

roles/resourcemanager.tagAdmin 및 roles/resourcemanager.tagUser의 주 구성원 할당을 정기적으로 감사합니다. 이 감사를 통해 승인된 파이프라인만 태그 바인딩 권한을 갖게 되므로 권한 에스컬레이션을 방지하고 환경 격리를 유지할 수 있습니다.

다음 단계