Adaptive Protection 추천 규칙 자동 배포

이 문서에서는 Adaptive Protection에서 생성하는 추천 규칙을 자동으로 배포하는 구성 단계를 설명합니다. 자동 규칙 배포를 사용 설정하려면 다음 값이 포함된 자리표시자 규칙을 만들어야 합니다.

  • 일치 표현식: evaluateAdaptiveProtectionAutoDeploy()
  • 작업: 모두
  • 우선순위: 임의. 우선순위가 높은 적법한 트래픽에 대해서는 다른 규칙보다 우선순위가 높은 명시적 허용 규칙을 설정하는 것이 좋습니다.

타사 CDN과 같은 외부 애플리케이션 부하 분산기 앞에 업스트림 프록시를 사용하는 경우 지정된 헤더에서 원래 클라이언트 IP 주소를 기반으로 요청을 일치시키도록 자리 표시자 규칙을 구성할 수 있습니다. 이 미리보기 기능을 사용하려면 advancedOptionsConfig 필드에서 userIpRequestHeaders[] 옵션을 구성합니다. 자세한 내용은 ComputeSecurityPolicy 리소스 참조를 확인하세요.

자리표시자 규칙 예시

다음 명령어는 POLICY_NAME이라고 하는 보안 정책의 자리표시자 규칙 예시이며 각 정책에는 다른 규칙 작업이 포함됩니다. 이러한 규칙을 기존 보안 정책에 추가하거나 새 정책을 만들 수 있습니다. 보안 정책을 만드는 방법에 대한 자세한 내용은 Google Cloud Armor 보안 정책 구성을 참조하세요.

악성 트래픽 차단

다음 규칙 예시는 Adaptive Protection에서 공격 트래픽으로 식별하는 요청을 true로 평가합니다. Google Cloud Armor는 공격 요청에 차단 작업을 적용합니다.

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

reCAPTCHA 테스트로 악성 트래픽 리디렉션

다음 규칙 예시는 Adaptive Protection에서 악성으로 식별된 트래픽을 reCAPTCHA 테스트로 리디렉션합니다.

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

악성 트래픽 비율 제한

이 예시에서는 Google Cloud Armor 비율 제한을 Adaptive Protection에서 악성으로 식별하는 트래픽에 적용합니다.

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

Adaptive Protection 자동 배포 매개변수 구성

다음 매개변수를 조정하여 규칙의 자동 배포를 위한 기준점을 구성할 수 있습니다. 매개변수 값을 설정하지 않으면 Google Cloud Armor에서 기본값을 사용합니다.

  • 부하 기준점: 공격 알림을 받는 동안 Adaptive Protection은 공격을 받는 백엔드 서비스에 대한 부하가 이 기준점을 초과하는 경우에만 새 공격자를 식별합니다. 또한 규칙은 공격을 받고 있는 백엔드 서비스에 대한 부하가 이 기준을 초과할 때만 알림을 위해 자동으로 배포됩니다.

    • 기본값: 0.8
  • 신뢰도 기준점: 신뢰도 점수가 이 기준점보다 큰 잠재적인 공격에 대한 알림에만 규칙이 자동으로 배포됩니다.

    • 기본값: 0.5
  • 영향을 받은 기준 기준점: 추천 완화로부터 기준 트래픽에 예상되는 영향이 이 기준점 미만인 경우에만 규칙이 자동으로 배포됩니다.

    • 기본값: 0.01퍼센트
  • 만료 세트: Google Cloud Armor는 이 기간 후에 식별된 공격자에게 자동으로 배포된 규칙의 작업을 적용하는 것을 중지합니다. 규칙은 새 요청에 대해 계속 작동합니다.

    • 기본값: 7200

다음 예시 명령어를 사용하여 기본이 아닌 자동 배포 기준점을 사용하도록 보안 정책을 업데이트할 수 있습니다. NAME을 보안 정책 이름으로 바꾸고 나머지 변수를 정책에 사용할 값으로 바꿉니다.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-load-threshold LOAD_THRESHOLD
    --layer7-ddos-defense-auto-deploy-confidence-threshold CONFIDENCE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-impacted-baseline-threshold IMPACTED_BASELINE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-expiration-sec EXPIRATION_SEC
]

로깅

Adaptive Protection로 자동 배포된 규칙으로 생성된 로그에는 다음과 같은 추가 필드가 포함됩니다.

  • autoDeployed: 자동 규칙 배포를 구성한 후 Adaptive Protection이 생성하는 각 알림 로그에는 자동 방어가 트리거되었는지 여부를 나타내는 autoDeployed 불리언 필드가 포함됩니다.
  • adaptiveProtection.autoDeployAlertId: 자동 방어의 일환으로 Adaptive Protection이 요청에 따른 조치를 수행할 때마다 요청 로그에는 알림 ID가 기록되는 추가 adaptiveProtection.autoDeployAlertId 필드가 포함됩니다. 이 필드는 보안 정책이 미리보기 모드에 포함되었는지 여부에 따라 enforcedSecurityPolicy 또는 previewSecurityPolicy 아래에 표시됩니다.

요청 로그를 보려면 요청 로깅을 참조하세요. 다음 스크린샷은 autoDeployedadaptiveProtection.autoDeployAlertId 필드와 함께 Adaptive Protection 로그 항목의 예시를 보여줍니다.

Adaptive Protection 로그 예시
Adaptive Protection 로그 예시(확대하려면 클릭)

제한사항

  • 외부 애플리케이션 부하 분산기를 통해 노출되는 백엔드 서비스에 연결된 백엔드 보안 정책에만 Adaptive Protection을 사용할 수 있습니다. 외부 프록시 네트워크 부하 분산기에서는 Adaptive Protection을 사용할 수 없습니다.