Google Cloud Armor Adaptive Protection 구성

이 페이지에는 Adaptive Protection 구성에 대한 정보가 포함되어 있습니다. Adaptive Protection을 구성하기 전에 Adaptive Protection 개요Adaptive Protection 사용 사례의 정보를 숙지해야 합니다.

시작하기 전에

다음 섹션에서는 Google Cloud Armor 보안 정책을 구성하는 데 필요한 모든 Identity and Access Management(IAM) 역할 및 권한을 설명합니다. 이 문서의 사용 사례에서는 compute.securityPolicies.update 권한만 필요합니다.

Google Cloud Armor 보안 정책의 IAM 권한 설정

다음 작업에는 Identity and Access Management(IAM) Compute 보안 관리자 역할(roles/compute.securityAdmin)이 필요합니다.

  • Google Cloud Armor 보안 정책 구성, 수정, 업데이트, 삭제
  • 다음 API 메서드 사용:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Compute 네트워크 관리자 역할(roles/compute.networkAdmin)이 있는 사용자는 다음 작업을 수행할 수 있습니다.

  • 백엔드 서비스의 Google Cloud Armor 보안 정책 설정
  • 다음 API 메서드 사용:
    • BackendServices setSecurityPolicy
    • BackendServices list(gcloud만)

보안 관리자 역할(roles/iam.securityAdmin) 및 Compute 네트워크 관리자 역할이 있는 사용자는 SecurityPolicies API 메서드 get, list, getRule을 사용하여 Google Cloud Armor 보안 정책을 볼 수 있습니다.

커스텀 역할에 대한 IAM 권한 설정

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

IAM 권한 API 메서드
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Adaptive Protection 사용 설정

다음 단계에 따라 보안 정책에 Adaptive Protection을 사용 설정합니다. Adaptive Protection은 각 보안 정책에 개별적으로 적용됩니다.

콘솔

보안 정책에 대해 Adaptive Protection을 활성화하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 네트워크 보안 페이지로 이동합니다.

    네트워크 보안으로 이동

  2. 정책 페이지에서 보안 정책의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. Adaptive Protection에서 사용 설정을 선택합니다.

  5. 업데이트를 클릭합니다.

보안 정책에 대해 Adaptive Protection을 비활성화하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 네트워크 보안 페이지로 이동합니다.

    네트워크 보안으로 이동

  2. 정책 페이지에서 보안 정책의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. Adaptive Protection에서 사용 설정을 선택 해제합니다.

  5. 업데이트를 클릭합니다.

gcloud

보안 정책에 대해 Adaptive Protection을 활성화하려면 다음 안내를 따르세요.

gcloud compute security-policies update MY-SECURITY-POLICY \
    --enable-layer7-ddos-defense

보안 정책에 대해 Adaptive Protection을 비활성화하려면 다음 안내를 따르세요.

gcloud compute security-policies update MY-SECURITY-POLICY \
    --no-enable-layer7-ddos-defense

세분화된 모델 구성

세분화된 모델 기능을 사용하면 특정 호스트 또는 경로를 Adaptive Protection에서 분석하는 세분화된 단위로 구성할 수 있습니다. 다음 예시에서는 각 호스트에 대해 세분화된 트래픽 단위를 만들고, 세분화된 트래픽 단위를 맞춤설정하고, 트래픽이 기준 초당 쿼리 수(QPS)를 초과할 경우 조치를 취하도록 Adaptive Protection을 구성합니다. 세분화된 모델에 대한 자세한 내용은 Adaptive Protection 개요를 참조하세요.

세분화된 트래픽 단위 구성

이 섹션의 예시에서는 add-layer7-ddos-defense-threshold-config 명령어를 다음 플래그 중 일부 또는 전부와 함께 사용합니다.

플래그 설명
--threshold-config-name 기준 구성의 이름입니다.
--traffic-granularity-configs 지정된 서비스 세분성으로 작동하도록 Adaptive Protection을 사용 설정하는 구성 옵션입니다.
--auto-deploy-impacted-baseline-threshold Adaptive Protection이 감지된 공격에 대한 제안된 완화 규칙의 기준 트래픽에 미치는 예상 효과에 대한 기준입니다. 기준을 초과하지 않는 경우에만 자동 방어 기능이 적용됩니다.
--auto-deploy-expiration-sec 자동 배포가 수행하는 작업(있는 경우)의 지속 시간입니다.
--detection-load-threshold 백엔드 서비스 부하에 따른 감지 기준입니다.
--detection-absolute-qps 절대 QPS에 따른 감지 기준입니다.
--detection-relative-to-baseline-qps 기준 트래픽의 평균의 상대 QPS에 따른 감지 기준입니다.

첫 번째 예시에서는 기본 기준을 재정의하지 않고 백엔드 서비스 뒤에 있는 각 호스트에 대한 공격을 감지하고 독립적인 완화 조치를 제안하도록 Adaptive Protection을 구성합니다.

gcloud

  1. POLICY_NAME 이름의 보안 정책을 만들거나 기존 보안 정책을 사용합니다.
  2. Adaptive Protection이 아직 사용 설정되지 않은 경우 다음 명령어를 사용하여 정책에 Adaptive Protection을 사용 설정합니다.
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. 여러 호스트가 있는 백엔드 서비스에 보안 정책을 적용합니다.
  4. 다음 add-layer7-ddos-defense-threshold-config 명령어를 --traffic-granularity-configs 플래그와 함께 사용하여 세분화된 트래픽 단위를 구성합니다.
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=per-host-config
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;enableEachUniqueValue=true

두 번째 예시에서는 첫 번째 예시에서 구성한 세분화된 트래픽 단위 중 일부 또는 전부에 대해 다른 자동 배포 및 감지 기준을 구성합니다.

gcloud

  1. Adaptive Protection 자동 배포가 아직 사용 설정되지 않은 경우 자리표시자 규칙을 만듭니다.
  2. 다음 명령어는 HTTP_HEADER_HOSTHOST이고 HTTP_PATHPATH인 세분화된 트래픽 단위의 자동 배포 기준을 맞춤설정합니다. 맞춤설정하려는 세분화된 트래픽 단위마다 이 명령어를 사용하여 필요에 따라 각 호스트 및 URL 경로의 변수를 바꿉니다.
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=my-host-config
    --auto-deploy-impacted-baseline-threshold=0.01
    --auto-deploy-expiration-sec=3600
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;value=HOST,type=HTTP_PATH;value=PATH

공격 볼륨이 기준 평균 QPS를 초과하는 경우 감지

다음 예시에서는 공격 볼륨이 기준 평균 QPS의 50%를 초과할 때와 백엔드 서비스 부하가 해당 용량의 90%를 초과할 때만 공격을 감지하도록 Adaptive Protection을 구성합니다.

gcloud

  1. POLICY_NAME 이름의 보안 정책을 만들거나 기존 보안 정책을 사용합니다.
  2. Adaptive Protection이 아직 사용 설정되지 않은 경우 다음 명령어를 사용하여 정책에 Adaptive Protection을 사용 설정합니다.

    gcloud compute security-policies update POLICY_NAME \
      --enable-layer7-ddos-defense
    
  3. 백엔드 서비스에 보안 정책을 적용합니다.

  4. 다음 명령어를 사용하여 맞춤설정된 감지 기준으로 Adaptive Protection을 구성합니다.

    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME \
       --threshold-config-name=my-customized-thresholds \
       --detection-load-threshold=0.9 \
       --detection-relative-to-baseline-qps=1.5
    

다음 단계