고급 네트워크 DDoS 보호 구성

DDoS 공격은 악의적인 행위자가 적법한 사용자의 환경을 저하시키기 위해 공개적으로 노출된 사이트, 시스템, API의 운영을 중단하려는 의도적인 시도입니다. 외부 패스 스루 네트워크 부하 분산기, 프로토콜 전달, 공개 IP 주소가 있는 VM을 사용하는 워크로드의 경우 Google Cloud Armor는 DDoS 공격으로부터 시스템을 보호하는 데 도움이 되는 다음 옵션을 제공합니다.

  • 표준 네트워크 DDoS 보호: 외부 패스 스루 네트워크 부하 분산기, 프로토콜 전달, 공개 IP 주소가 있는 VM에 대한 상시 사용 설정되는 기본 보호 기능입니다. 여기에는 Google Cloud Armor 표준이 적용되며 추가 구독이 필요하지 않습니다.
  • 고급 네트워크 DDoS 보호: 외부 패스 스루 네트워크 부하 분산기, 프로토콜 전달 또는 공개 IP 주소가 포함된 VM을 사용하는 Cloud Armor Enterprise 구독자를 위한 추가적인 보호 기능입니다. Cloud Armor Enterprise에 대한 자세한 내용은 Cloud Armor Enterprise 개요를 참조하세요.

이 문서에서는 표준 및 고급 네트워크 DDoS 보호 간의 차이점, 고급 네트워크 DDoS 보호 작동 방법, 고급 네트워크 DDoS 보호를 사용 설정하는 방법을 설명합니다.

표준 및 고급 네트워크 DDoS 보호 비교

다음 표에 따라 표준 및 고급 네트워크 DDoS 보호 기능을 비교할 수 있습니다.

특성 표준 네트워크 DDoS 보호 고급 네트워크 DDoS 보호
보호된 엔드포인트 유형
  • 외부 패스 스루 네트워크 부하 분산기
  • 프로토콜 전달
  • 공개 IP 주소가 있는 VM
  • 외부 패스 스루 네트워크 부하 분산기
  • 프로토콜 전달
  • 공개 IP 주소가 있는 VM
전달 규칙 적용
공격 모니터링 및 알림 상시 사용 설정
표적 공격 완화
완화 원격 분석

네트워크 DDoS 보호 작동 방식

표준 네트워크 DDoS 보호는 항상 사용 설정되어 있습니다. 사용 설정하기 위해 별도의 조치를 취할 필요는 없습니다.

리전별로 고급 네트워크 DDoS 보호를 구성합니다. 특정 리전에 사용 설정하면 Google Cloud Armor는 해당 리전에서 외부 패스 스루 네트워크 부하 분산기, 프로토콜 전달, 공개 IP 주소가 있는 VM에 상시 사용 설정된 타겟팅된 볼륨 공격 감지 및 완화 기능을 제공합니다. Cloud Armor Enterprise에 등록된 프로젝트에만 고급 네트워크 DDoS 보호를 적용할 수 있습니다.

고급 네트워크 DDoS 보호를 구성할 때는 먼저 선택한 리전에서 CLOUD_ARMOR_NETWORK 유형의 보안 정책을 만듭니다. 그런 후 고급 네트워크 DDoS 보호를 사용 설정하도록 보안 정책을 업데이트합니다. 마지막으로 CLOUD_ARMOR_NETWORK 유형의 보안 정책을 연결할 수 있는 리소스인 네트워크 에지 보안 서비스를 만듭니다. 네트워크 에지 보안 서비스에 보안 정책을 연결하면 선택한 리전에서 모든 적용 가능한 엔드포인트에 고급 네트워크 DDoS 보호가 사용 설정됩니다.

고급 네트워크 DDoS 보호는 기준 트래픽을 측정하여 완화 성능을 개선합니다. 고급 네트워크 DDoS 보호를 사용 설정하면 고급 네트워크 DDoS 보호가 신뢰할 수 있는 기준선을 개발하고 학습을 사용하여 완화를 강화할 수 있기까지 24시간의 학습 기간이 필요합니다. 학습 기간이 끝나면 고급 네트워크 DDoS 보호는 이전 트래픽을 기준으로 추가적인 완화 기술을 적용합니다.

고급 네트워크 DDoS 보호 활성화

다음 단계에 따라 고급 네트워크 DDoS 보호를 활성화합니다.

Cloud Armor Enterprise에 등록

리전별 기준에 따라 고급 네트워크 DDoS 보호를 사용 설정하려면 Cloud Armor Enterprise에 프로젝트가 등록되어 있어야 합니다. 활성화되면 활성화된 리전의 모든 리전 엔드포인트에 상시 사용 설정된 고급 네트워크 DDoS 보호가 수신됩니다.

결제 계정에 활성 Cloud Armor Enterprise 구독이 있고 현재 프로젝트가 Cloud Armor Enterprise에 등록되었는지 확인합니다. Cloud Armor Enterprise 등록에 대한 자세한 내용은 Cloud Armor Enterprise 구독 및 프로젝트 등록을 참조하세요.

ID 및 액세스 관리(IAM) 권한 구성

Google Cloud Armor 에지 보안 서비스를 구성, 업데이트 또는 삭제하려면 다음 IAM 권한이 필요합니다.

  • compute.networkEdgeSecurityServices.create
  • compute.networkEdgeSecurityServices.update
  • compute.networkEdgeSecurityServices.get
  • compute.networkEdgeSecurityServices.delete

다음 표에는 IAM 역할의 기본 권한과 관련 API 메서드가 나와 있습니다.

IAM 권한 API 메서드
compute.networkEdgeSecurityServices.create networkEdgeSecurityServices insert
compute.networkEdgeSecurityServices.update networkEdgeSecurityServices patch
compute.networkEdgeSecurityServices.get networkEdgeSecurityServices get
compute.networkEdgeSecurityServices.delete networkEdgeSecurityServices delete
compute.networkEdgeSecurityServices.list networkEdgeSecurityServices aggregatedList

Google Cloud Armor를 사용할 때 필요한 IAM 권한에 대한 자세한 내용은 Google Cloud Armor 보안 정책의 IAM 권한 설정을 참조하세요.

고급 네트워크 DDoS 보호 구성

다음 단계에 따라 고급 네트워크 DDoS 보호를 사용 설정합니다.

  1. CLOUD_ARMOR_NETWORK 유형의 보안 정책을 만들거나 CLOUD_ARMOR_NETWORK 유형의 기존 보안 정책을 사용합니다.

     gcloud compute security-policies create SECURITY_POLICY_NAME \
         --type CLOUD_ARMOR_NETWORK \
         --region REGION
    

    다음을 바꿉니다.

    • SECURITY_POLICY_NAME: 보안 정책에 지정할 이름
    • REGION: 보안 정책을 프로비저닝할 리전
  2. --network-ddos-protection 플래그를 ADVANCED로 설정하여 새로 만든 보안 정책 또는 기존 보안 정책을 업데이트합니다.

     gcloud compute security-policies update SECURITY_POLICY_NAME \
         --network-ddos-protection ADVANCED \
         --region REGION
    

    또는 --network-ddos-protection 플래그를 ADVANCED_PREVIEW로 설정하여 미리보기 모드에서 보안 정책을 사용 설정할 수도 있습니다.

     gcloud beta compute security-policies update SECURITY_POLICY_NAME \
         --network-ddos-protection ADVANCED_PREVIEW \
         --region REGION
    
  3. 보안 정책을 참조하는 네트워크 에지 보안 서비스를 만듭니다.

     gcloud compute network-edge-security-services create SERVICE_NAME \
         --security-policy SECURITY_POLICY_NAME \
         --region REGION
    

고급 네트워크 DDoS 보호 중지

고급 네트워크 DDoS 보호를 중지하려면 보안 정책을 업데이트하거나 삭제합니다.

보안 정책 업데이트

다음 명령어를 사용해서 --network-ddos-protection 명령어를 STANDARD로 설정해서 보안 정책을 업데이트합니다. 변수를 해당 배포와 관련된 정보로 바꿉니다.

gcloud compute security-policies update SECURITY_POLICY_NAME \
    --network-ddos-protection STANDARD \
    --region REGION

보안 정책 삭제

네트워크 에지 보안 정책을 삭제하려면 먼저 네트워크 에지 보안 서비스에서 삭제해야 합니다. 사용 중인 보안 정책을 삭제할 수 없기 때문입니다. 다음 단계에 따라 보안 정책을 삭제합니다.

  1. 네트워크 에지 보안 서비스에서 정책을 삭제하거나 네트워크 에지 보안 서비스를 삭제합니다.
  2. 다음 명령어를 사용하여 보안 정책을 삭제합니다.

    gcloud compute security-policies delete NAME
    

미리보기 모드 사용

미리보기 모드를 사용하면 완화를 적용하지 않고도 고급 네트워크 DDoS 보호의 효과를 모니터링할 수 있습니다.

Cloud Armor Enterprise 구독자는 고급 네트워크 DDoS 보호 정책에 대한 미리보기 모드도 사용 설정할 수 있습니다. 미리보기 모드에서는 감지된 공격과 제안된 완화 조치에 대한 모든 로깅 및 원격 분석이 수신됩니다. 하지만 제안된 완화 조치는 적용되지 않습니다. 이렇게 하면 완화를 사용 설정하기 전에 완화의 효과를 테스트할 수 있습니다. 각 정책은 리전별로 구성되므로 리전별로 미리보기 모드를 사용 설정 또는 중지할 수 있습니다.

미리보기 모드를 사용 설정하려면 --ddos-protection 플래그를 ADVANCED_PREVIEW로 설정합니다. 다음 예시를 사용하여 기존 정책을 업데이트할 수 있습니다.

gcloud beta compute security-policies update POLICY_NAME \
    --network-ddos-protection ADVANCED_PREVIEW \
    --region=REGION

다음을 바꿉니다.

  • POLICY_NAME: 정책의 이름
  • REGION: 정책이 위치한 리전

활성 공격 중에 보안 정책이 미리보기 모드인데 완화를 적용하려면 보안 정책을 업데이트하여 --network-ddos-protection 플래그를 ADVANCED로 설정하면 됩니다. 정책은 거의 즉시 적용되며, 다음 MITIGATION_ONGOING 로깅 이벤트에 변경사항이 반영됩니다. MITIGATION_ONGOING 로깅 이벤트는 5분마다 발생합니다.

네트워크 DDoS 완화 원격 분석

다음 섹션에서는 원격 분석을 사용하여 공격 및 소스를 분석하는 방법을 설명합니다.

Cloud Logging 공격 완화 이벤트 로그

Google Cloud Armor는 DDoS 공격을 완화할 때 세 가지 유형의 이벤트 로그를 생성합니다. 다음 섹션에서는 각 이벤트 로그 유형의 로그 형식 예시를 제공합니다.

완화 시작됨

  @type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
  alertId: "11275630857957031521"
  mitigation_type: "MITIGATION_STARTED"
  target_vip: "XXX.XXX.XXX.XXX"
  total_volume: {
   pps: 1400000
   bps: 140000000
  }
  started: {
   total_attack_volume: {
    pps: 1100000
    bps: 110000000
   }
   classified_attack: {
    attack_type: "NTP-udp"
    attack_volume: {
       pps: 500000
       bps: 50000000
    }
   }
   classified_attack: {
    attack_type: "CHARGEN-udp"
    attack_volume: {
       pps: 600000
       bps: 60000000
    }
   }
  }
  

완화 진행 중

  @type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
  alertId: "11275630857957031521"
  mitigation_type: "MITIGATION_ONGOING"
  target_vip: "XXX.XXX.XXX.XXX"
  total_volume: {
   pps: 1500000
   bps: 150000000
  }
  ongoing: {
   total_attack_volume: {
    pps: 1100000
    bps: 110000000
   }
   classified_attack: {
    attack_type: "NTP-udp"
    attack_volume: {
       pps: 500000
       bps: 50000000
    }
   }
   classified_attack: {
    attack_type: "CHARGEN-udp"
    attack_volume: {
       pps: 600000
       bps: 60000000
    }
   }
  }
  

완화 완료됨

  @type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
  alertId: "11275630857957031521"
  mitigation_type: "MITIGATION_ENDED"
  target_vip: "XXX.XXX.XXX.XXX"
  ended: {
      attack_duration_seconds: 600
      attack_type: "NTP-udp"
  }
  

미리보기 모드에서는 이전의 각 mitigation_typePREVIEWED_로 시작합니다. 예를 들어 미리보기 모드에서 MITIGATION_STARTED는 대신 PREVIEWED_MITIGATION_STARTED입니다.

이러한 로그를 보려면 로그 탐색기로 이동하고 network_security_policy 리소스를 확인합니다.

로그 탐색기로 이동

로그 보기에 대한 자세한 내용은 로그 보기를 참조하세요.

다음 단계