Las políticas de seguridad de perímetro de red te permiten configurar reglas para permitir o bloquear el tráfico en el perímetro de la red de Google. Puedes configurar la seguridad perimetral de la red políticas para los siguientes tipos de frontend:
- Balanceadores de cargas de red de transferencia externos
- Reenvío de protocolos
- VM con direcciones IP públicas
Puedes usar las políticas de seguridad perimetral de red para filtrar por rangos de direcciones IP de origen y destino de manera similar al firewall de nueva generación de Cloud, pero sin consumir tus recursos. Además, una política de seguridad perimetral de red es el único tipo de política de seguridad que admite el filtrado de offset de bytes.
Configura reglas personalizadas para las políticas de seguridad perimetral de red
Al igual que con las políticas de seguridad de backend y perimetral, puedes configurar reglas personalizadas para las políticas de seguridad perimetral de red. En el siguiente ejemplo, creas una política de seguridad de borde de red, configuras una regla personalizada para permitir el tráfico solo de un rango de direcciones IP de origen determinado y adjuntas la política a tu servicio de backend.
Las políticas de seguridad de perímetro de red admiten varios filtros de Google Cloud Armor, incluso filtros únicos, como el filtrado de offset de bytes. Para obtener más información qué funciones admiten las políticas de seguridad perimetral de red, consulta el Descripción general de la política de seguridad. Además, puedes implementar políticas de seguridad perimetral de red modo de vista previa.
Antes de continuar, debes inscribirte en Google Cloud Armor Enterprise y configurar la protección avanzada contra DDoS de red. No puedes usar reglas personalizadas para las políticas de seguridad perimetral de red sin un Suscripción a Cloud Armor Enterprise y protección avanzada contra DSD de red.
Para configurar reglas personalizadas, sigue estos pasos:
Crea una nueva política de seguridad perimetral de red con el nombre
POLICY_NAME
en la regiónREGION
No usar la misma política de seguridad que usaste cuando habilitaste la protección avanzada contra DSD de red.gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION
Cambia la política regla predeterminada de
allow
adeny
para bloquear el tráfico que no está permitido explícitamente por otras reglas.gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION
En la misma política de seguridad, agrega una regla con prioridad
RULE_PRIORITY
que permite solicitudes en la IP de origen rango de direccionesRANGE
.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-src-ip-ranges=RANGE \ --action=allow \ --region=REGION
Asocia la política de seguridad con tu servicio de backend
BACKEND_SERVICE_NAME
.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION
Como alternativa, puedes asociar la política de seguridad a una sola VM con el siguiente comando:
gcloud beta compute instances network-interfaces update VM_NAME \ --security-policy=POLICY_NAME \ --security-policy-region=REGION \ --network-interface=NETWORK_INTERFACE \ --zone=ZONE_NAME
Opcional: Puedes verificar que la política de seguridad se adjuntó con el siguiente comando. Si se ejecuta de forma correcta, el campo
securityPolicy
en el resultado tiene un vínculo a tu recurso de política de seguridad.gcloud compute instances describe VM_NAME --zone=ZONE_NAME
Después de crear el ejemplo anterior, puedes seguir agregando reglas a tu política de seguridad de borde de red con el comando security-policies rules update
.
Los campos admitidos para las políticas de seguridad perimetral de red son los siguientes:
Campo | Marca | Descripción |
---|---|---|
Dirección IP de origen | --network-src-ip-ranges |
Direcciones IPv4/6 de origen o prefijos CIDR en formato de texto estándar. |
Puertos de origen | --network-src-ports |
Números de puerto de origen para TCP/UDP/SCTP. Cada elemento puede ser un (16 bits) un número específico (como “80”) o un rango (como “0-1023”) |
Códigos de regiones de origen | --network-src-region-codes |
Código de país de dos letras (ISO 3166-1 alpha-2). |
ASN de origen | --network-src-asns |
Número del sistema autónomo de BGP de la dirección IP de origen. |
Rangos de direcciones IP de destino | --network-dest-ip-ranges |
Direcciones IPv4/6 de destino o prefijos CIDR en formato de texto estándar. |
Puertos de destino | --network-dest-ports |
Números de puerto de destino para TCP/UDP/SCTP. Cada elemento puede ser un número (de 16 bits) (como "80") o un rango (como "0-1023"). |
Protocolos de direcciones IP | --network-ip-protocols |
Protocolo IPv4/encabezado de siguiente salto IPv6 (después de los encabezados de extensión) Cada elemento puede ser un número de 8 bits (como "6"), un rango (como "253-254") o uno de los siguientes nombres de protocolo:
|
Filtrado de desplazamiento de bytes | N/A | Consulta la siguiente sección. |
Cuando usas la marca --network-src-region-codes
con una seguridad perimetral de red
puede usar los códigos regionales de los siguientes territorios sujetos a
Sanciones integrales de EE.UU.:
territorios | Código asignado |
---|---|
Crimea | XC |
La denominada República Popular de Donetsk (RPD) y la denominada República Popular de Luhansk (RPL) |
XD |
Configura el filtrado de desplazamiento de bytes
Si usas balanceadores de cargas de red de transferencia externos, reenvío de protocolos o VMs con IP públicas Google Cloud Armor puede realizar una inspección profunda de paquetes tráfico. Puedes configurar una regla de política de seguridad que coincida con un valor de desplazamiento de bytes de TCP/UDP específico. Puedes configurar la regla para que aplique la acción de la regla cuando el valor configurado esté presente o, de manera alternativa, cuando no lo esté.
En el siguiente ejemplo, se permite el tráfico cuando el valor está presente y se niega el resto del tráfico:
Crea una nueva política de seguridad perimetral de red. Puedes omitir este paso si tener una política de seguridad perimetral de red existente.
gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION_NAME
Actualiza la política de seguridad perimetral de red para agregar campos definidos por el usuario mediante los siguientes parámetros:
- Base: El valor puede ser
IPv4
,IPv6
,TCP
oUDP
. - Desplazamiento: Desplazamiento del campo desde la base en bytes
- Size: Es el tamaño del campo en bytes (el valor máximo es
4
). - Máscara: Es la máscara para los bits del campo que se deben hacer coincidir.
Puedes usar hasta ocho campos definidos por el usuario por política. En el siguiente ejemplo, creas dos campos definidos por el usuario.
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \ --base=TCP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \ --base=UDP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
- Base: El valor puede ser
En la política de seguridad perimetral de red, agrega una regla con el mismo nombre de campo personalizado que usaste en el ejemplo anterior. Reemplaza
VALUE1
yVALUE2
por valores que coincidan con el tráfico que deseas permitir.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \ --action=allow \ --region=REGION_NAME
Establece la regla predeterminada en tu política de seguridad perimetral de red como una la regla de denegación. Puedes omitir este paso si la regla predeterminada de tu política de seguridad ya es una regla de rechazo.
gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION_NAME
Asocia tu política de seguridad perimetral de red con el balanceador de cargas de red de transferencia externo servicio de backend.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION_NAME
Supervisión
Google Cloud Armor exporta las siguientes métricas a Cloud Monitoring para cada una de las reglas de la política de seguridad perimetral de red:
packet_count
Blocked
: Es un valor booleano que representa el resultado deallow
odeny
. acción de la reglaCount
: Es el valor depacket_count
que se incrementa una vez para cada uno. 10,000 paquetes, por ejemplo, un valorpacket_count
de5
significa que al menos 50,000 paquetes coincidan con tu regla
preview_packet_count
: Es igual quepacket_count
y se usa para las reglas en modo de vista previa.
Para ver las métricas de las políticas de seguridad de la red perimetral, primero debes habilitar la API de Network Security (networksecurity.googleapis.com
). Este permiso se incluye en el rol de administrador de seguridad de Compute (roles/compute.securityAdmin
). Después de habilitar la API de Network Security, puedes ver las métricas en Monitoring en la consola de Google Cloud.