Configurar la protección de red avanzada contra DDoS

Un ataque de denegación de servicio distribuido (DDoS) es un intento deliberado por parte de un agente hostil de interrumpir las operaciones de sitios, sistemas y APIs expuestos públicamente con el objetivo de empeorar la experiencia de los usuarios legítimos. En el caso de las cargas de trabajo que usan balanceadores de carga de red con paso a través externos, reenvío de protocolos o máquinas virtuales con direcciones IP públicas, Google Cloud Armor ofrece las siguientes opciones para proteger los sistemas frente a ataques DDoS:

  • Protección estándar contra DDoS de red: protección básica siempre activa para balanceadores de carga de red de transferencia externos, reenvío de protocolos o máquinas virtuales con direcciones IP públicas. Esta función se incluye en Google Cloud Armor Standard y no requiere ninguna suscripción adicional.
  • Protección avanzada de red DDoS: protecciones adicionales para los suscriptores de Cloud Armor Enterprise que usan balanceadores de carga de red externos de tipo pasarela, reenvío de protocolos o máquinas virtuales con direcciones IP públicas. Para obtener más información sobre Cloud Armor Enterprise, consulta la descripción general de Cloud Armor Enterprise.

En este documento se explica la diferencia entre la protección de red estándar y la avanzada contra ataques DDoS, cómo funciona la protección de red avanzada contra ataques DDoS y cómo habilitarla.

Comparar la protección de red estándar y avanzada contra DDoS

Consulta la siguiente tabla para comparar las funciones de protección de red estándar y avanzada contra DDoS.

Función Protección de red estándar contra DDoS Protección de red avanzada contra DDoS
Tipo de endpoint protegido
  • Balanceador de carga de red de paso a través externo
  • Reenvío de protocolos
  • VMs con direcciones IP públicas
  • Balanceador de carga de red de paso a través externo
  • Reenvío de protocolos
  • VMs con direcciones IP públicas
Cumplimiento de las reglas de reenvío
Monitorización y alertas de ataques siempre activas
Mitigaciones de ataques dirigidos
Telemetría de mitigación

Cómo funciona la protección de red contra DDoS

La protección de red estándar contra DDoS está siempre habilitada. No tienes que hacer nada para habilitarla.

La protección de red avanzada contra DDoS se configura por regiones. En lugar de asociar la política de seguridad de perímetro de red con uno o varios grupos de destino, instancias de destino, servicios de backend o instancias con direcciones IP externas, asóciala a un servicio de seguridad de perímetro de red de una región concreta. Cuando la habilitas en esa región, Cloud Armor proporciona detección y mitigación de ataques volumétricos dirigidos y siempre disponibles para balanceadores de carga de red con paso a través externos, reenvío de protocolos y máquinas virtuales con direcciones IP públicas en esa región. Solo puedes aplicar la protección avanzada de red DDoS a proyectos registrados en Cloud Armor Enterprise.

Cuando configuras la protección avanzada de red DDoS, primero creas una política de seguridad de tipo CLOUD_ARMOR_NETWORK en la región que elijas. A continuación, actualiza la política de seguridad para habilitar la protección de red avanzada contra DDoS. Por último, crea un servicio de seguridad de perímetro de red, un recurso al que puedes adjuntar políticas de seguridad de tipo CLOUD_ARMOR_NETWORK. Al asociar la política de seguridad al servicio de seguridad de perímetro de red, se habilita la protección de red avanzada contra DDoS para todos los endpoints aplicables de la región que hayas elegido.

La protección de red avanzada contra DDoS mide el tráfico de referencia para mejorar su rendimiento de mitigación. Cuando habilitas la protección de red avanzada contra DDoS, hay un periodo de entrenamiento de 24 horas antes de que esta protección desarrolle una base fiable y pueda usar su entrenamiento para mejorar las mitigaciones. Cuando finaliza el periodo de entrenamiento, la protección de red avanzada contra DDoS aplica técnicas de mitigación adicionales basadas en el historial de tráfico.

Activar la protección de red avanzada contra DDoS

Sigue estos pasos para activar la protección de red avanzada contra DDoS.

Registrarse en Cloud Armor Enterprise

Tu proyecto debe estar registrado en Cloud Armor Enterprise para habilitar la protección avanzada contra DDoS en la red por regiones. Una vez activados, todos los endpoints regionales de la región activada reciben protección avanzada de red DDoS siempre activa.

Asegúrate de que haya una suscripción activa a Cloud Armor Enterprise en tu cuenta de facturación y de que el proyecto actual esté registrado en Cloud Armor Enterprise. Para obtener más información sobre cómo suscribirte a Cloud Armor Enterprise, consulta el artículo Suscribirse a Cloud Armor Enterprise y registrar proyectos.

Configurar permisos de gestión de identidades y accesos (IAM)

Para configurar, actualizar o eliminar un servicio de seguridad perimetral de Cloud Armor, necesitas los siguientes permisos de gestión de identidades y accesos:

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

En la siguiente tabla se indican los permisos base de los roles de gestión de identidades y accesos y los métodos de API asociados.

Permiso de gestión de identidades y accesos Métodos de la 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

Para obtener más información sobre los permisos de gestión de identidades y accesos que necesitas cuando usas Cloud Armor, consulta Configurar permisos de gestión de identidades y accesos para políticas de seguridad de Google Cloud Armor.

Configurar la protección de red avanzada contra DDoS

Sigue estos pasos para habilitar la protección de red avanzada contra DDoS.

  1. Crea una política de seguridad de tipo CLOUD_ARMOR_NETWORK o usa una que ya tengas con ese tipo.CLOUD_ARMOR_NETWORK

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

    Haz los cambios siguientes:

    • SECURITY_POLICY_NAME: el nombre que quieras para tu política de seguridad
    • REGION: la región en la que quieres que se aprovisione tu política de seguridad
  2. Actualiza la política de seguridad recién creada o la que ya tenías configurando la marca --network-ddos-protection en ADVANCED.

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

    También puedes asignar el valor ADVANCED_PREVIEW a la marca --network-ddos-protection para habilitar la política de seguridad en el modo de vista previa.

     gcloud beta compute security-policies update SECURITY_POLICY_NAME \
         --network-ddos-protection ADVANCED_PREVIEW \
         --region REGION
    
  3. Crea un servicio de seguridad de perímetro de red que haga referencia a tu política de seguridad.

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

Inhabilitar la protección de red avanzada contra DDoS

Para inhabilitar la protección de red avanzada contra DDoS, puedes actualizar o eliminar la política de seguridad.

Actualizar la política de seguridad

Usa el siguiente comando para actualizar tu política de seguridad y definir la marca --network-ddos-protection en STANDARD. Sustituye las variables por la información pertinente para tu implementación.

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

Eliminar la política de seguridad

Para poder eliminar una política de seguridad de perímetro de red, primero debe quitarla del servicio de seguridad de perímetro de red, ya que no puede eliminar las políticas de seguridad que estén en uso. Sigue estos pasos para eliminar tu política de seguridad:

  1. Quita tu política del servicio de seguridad perimetral de la red o elimina el servicio de seguridad perimetral de la red.

    • Para quitar tu política del servicio de seguridad perimetral de la red, usa el siguiente comando:

      gcloud compute network-edge-security-services update SERVICE_NAME \
         --security-policy="" \
         --region=REGION_NAME
      
    • Para eliminar el servicio de seguridad perimetral de la red, usa el siguiente comando:

      gcloud compute network-edge-security-services delete SERVICE_NAME \
         --region=REGION_NAME
      
  2. Elimina la política de seguridad con el siguiente comando:

      gcloud compute security-policies delete SECURITY_POLICY_NAME
    

Usar el modo de vista previa

El modo de vista previa te permite monitorizar los efectos de la protección de red avanzada contra DDoS sin aplicar la mitigación.

Los suscriptores de Cloud Armor Enterprise también pueden habilitar el modo de vista previa para las políticas de protección avanzada contra DDoS de red. En el modo de vista previa, recibes todos los registros y la telemetría sobre el ataque detectado y la mitigación propuesta. Sin embargo, la mitigación propuesta no se aplica. De esta forma, puede probar la eficacia de la mitigación antes de habilitarla. Como cada política se configura por región, puedes habilitar o inhabilitar el modo de vista previa por región.

Para habilitar el modo de vista previa, debe definir la marca --ddos-protection en ADVANCED_PREVIEW. Puedes usar el siguiente ejemplo para actualizar una política.

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

Haz los cambios siguientes:

  • POLICY_NAME: el nombre de tu política
  • REGION: la región en la que se encuentra tu política.

Si tu política de seguridad está en modo de vista previa durante un ataque activo y quieres aplicar las mitigaciones, puedes actualizarla para asignar el valor ADVANCED al indicador --network-ddos-protection. La política se aplica casi de inmediato y el siguiente evento de registro de MITIGATION_ONGOING refleja el cambio. Los eventos de registro de MITIGATION_ONGOING se producen cada cinco minutos.

Telemetría de mitigación de DDoS de red

Cloud Armor genera tres tipos de registros de eventos al mitigar ataques DDoS: MITIGATION_STARTED, MITIGATION_ONGOING y MITIGATION_ENDED. Puede usar los siguientes filtros de registro para ver sus registros por tipo de mitigación:

Tipo de mitigación Filtro de registros
Inicio de la mitigación

resource.type="network_security_policy"

jsonPayload.mitigationType="MITIGATION_STARTED"

Mitigación en curso

resource.type="network_security_policy"

jsonPayload.mitigationType="MITIGATION_ONGOING"

Fin de la mitigación

resource.type="network_security_policy"

jsonPayload.mitigationType="MITIGATION_ENDED"

Registros de eventos de mitigación de ataques de Cloud Logging

En las secciones siguientes se muestran ejemplos del formato de registro de cada tipo de registro de eventos:

Mitigación iniciada

  @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
    }
   }
   attack_sources: {
    top_source_asns: {
      asn: "ABCDEF"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_asns: {
      asn: "UVWXYZ"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_geos: {
      region_code: "XX"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_geos: {
      region_code: "XY"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_ips: {
      region_code: "xx.xx.xx.xx"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_ips: {
      region_code: "yy.yy.yy.yy"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
   }
  }
  

Mitigación en curso

  @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
    }
   }
   attack_sources: {
    top_source_asns: {
      asn: "ABCDEF"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_asns: {
      asn: "UVWXYZ"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_geos: {
      region_code: "XX"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_geos: {
      region_code: "XY"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_ips: {
      region_code: "xx.xx.xx.xx"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
    top_source_ips: {
      region_code: "yy.yy.yy.yy"
      volume: {
        pps: 20000
        bps: 2000000
      }
    }
   }
  }
  

Mitigación completada

  @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"
  }
  

En el modo de vista previa, cada uno de los mitigation_type anteriores va precedido de PREVIEWED_. Por ejemplo, en el modo de vista previa, MITIGATION_STARTED es PREVIEWED_MITIGATION_STARTED.

Para ver estos registros, ve al explorador de registros y consulta el recurso network_security_policy.

Ir a Explorador de registros

Para obtener más información sobre cómo ver los registros, consulta el artículo Ver registros.

Resultados de Security Command Center

El panel de Security Command Center te ayuda a monitorizar y responder a los ataques DDoS volumétricos dirigidos a tu balanceador de carga de red de pases y a tus máquinas virtuales. Cuando Cloud Armor detecta un ataque, aparece un resultado específico denominado "Intento de ataque DDoS volumétrico: balanceador de carga de red o VMs" en el panel de control y en la tarjeta de Cloud Armor.

La detección incluye enlaces directos a los registros pertinentes y proporciona la siguiente información para ayudarte a comprender el ataque:

  • El recurso específico que está sufriendo el ataque
  • El volumen de tráfico que afecta al recurso
  • Clasificación del ataque (como inundación UDP, TCP o SYN)

La detección refleja dinámicamente el estado del ataque. El estado del ataque se basa en los siguientes eventos de registro:

  • Mitigación iniciada: la detección aparece cuando empiezan las medidas de mitigación
  • Mitigación en curso: a medida que avanza la mitigación, la detección se actualiza automáticamente para mantenerte al tanto de la situación. En la siguiente captura de pantalla se muestra un ejemplo de una detección activa:

    Un resultado activo de Security Command Center.
    Un hallazgo activo de Security Command Center (haz clic para ampliar).
  • Mitigación finalizada: cuando el ataque disminuye y la mitigación finaliza, la detección se inactiva y se proporciona un registro del evento. En la siguiente captura de pantalla se muestra un ejemplo de un hallazgo inactivo:

    Un resultado inactivo de Security Command Center.
    Resultado inactivo de Security Command Center (haz clic para ampliar).

Siguientes pasos