Configurar grupos de direcciones

Los grupos de direcciones te permiten combinar varias direcciones IP y rangos de direcciones IP en una única unidad lógica con nombre, que se puede usar en varios productos. Esta documento en el que se muestra cómo usar grupos de direcciones con la seguridad de Google Cloud Armor y políticas de seguridad. Necesitas una suscripción activa a Google Cloud Armor Enterprise para usarla grupos de direcciones.

Funciones de IAM

Para crear y administrar un grupo de direcciones, necesitas el rol de administrador de red (compute.networkAdmin) o el rol de administrador de seguridad (compute.securityAdmin). También puedes definir una función personalizada con un conjunto equivalente de permisos.

En la siguiente tabla, se proporciona una lista de los permisos de Identity and Access Management (IAM) necesarios para realizar un conjunto de tareas en grupos de direcciones.

Tarea Nombre de la función de IAM Permisos de IAM
Crea y administra grupos de direcciones compute.networkAdmin

compute.securityAdmin

networksecurity.addressGroups.*
Descubre y visualiza grupos de direcciones compute.networkUser networksecurity.addressGroups.list

networksecurity.addressGroups.get

networksecurity.addressGroups.use

Para obtener más información sobre qué roles incluyen permisos específicos de IAM, consulta Referencia de permisos de IAM.

Crear o modificar grupos de direcciones

En las siguientes secciones, se explica cómo crear grupos de direcciones, cómo agregar y quitar direcciones de grupos de direcciones, y cómo eliminar grupos de direcciones.

Crea un grupo de direcciones

Cuando creas un grupo de direcciones, debes especificar su capacidad y dirección IP con las marcas --capacity y --type, respectivamente. No puedes cambiar estos valores después de crear el grupo de direcciones.

Además, la capacidad máxima de Google Cloud Armor puede ser mayor que la capacidad máxima para otros productos, como el firewall de nueva generación de Cloud. Por lo tanto, si desea utilizar el mismo grupo de direcciones en más de un producto, debe configura la capacidad para que sea menor o igual que la capacidad máxima más baja entre esos productos.

Console

  1. En la consola de Google Cloud, ve a la página Grupos de direcciones.

    Ir a Grupos de direcciones

  2. En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.

  3. Haz clic en Crear grupo de direcciones.

  4. En el campo Nombre, ingresa un nombre.

  5. Agrega una descripción en el campo Descripción (Description).

  6. En Alcance, elige Global.

  7. En Tipo, selecciona IPv4 o IPv6.

  8. En Propósito, elige Cloud Armor. De forma alternativa, elige Firewall y Cloud Armor si también planeas usar el grupo de direcciones con las políticas de firewall de Cloud Next Generation.

    Para obtener más información sobre cómo elegir un propósito, consulta especificación del grupo de direcciones.

  9. En el campo Capacidad, ingresa la capacidad del grupo de direcciones.

  10. En el campo Direcciones IP, enumera las direcciones IP o los rangos de IP que que quieres incluir en el grupo de direcciones, separados por comas. Por ejemplo, 1.1.1.0/24,1.2.0.0

  11. Haz clic en Crear.

gcloud

Usa el siguiente ejemplo Comando gcloud beta network-security address-groups create para crear un grupo de direcciones llamado GROUP_NAME con una de 1,000 direcciones IPv4, que se pueden usar Google Cloud Armor o Cloud NGFW:

gcloud beta network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 1000 \
  --type IPv4 \
  --purpose DEFAULT,CLOUD_ARMOR

Como alternativa, puedes crear un grupo de direcciones con una capacidad mayor estableciendo el propósito exclusivo de CLOUD_ARMOR. En el siguiente ejemplo, creas un grupo de direcciones con una capacidad de 10,000 rangos de direcciones IP IPv6:

gcloud beta network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 10000 \
  --type IPv6 \
  --purpose CLOUD_ARMOR

Agrega elementos a un grupo de direcciones

Después de crear un grupo de direcciones, puedes agregar elementos con la consola de Google Cloud o el Comando gcloud beta network-security address-groups add-items

Console

  1. En la consola de Google Cloud, ve a la página Grupos de direcciones.

    Ir a Grupos de direcciones

  2. En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.

  3. Para editar un grupo de direcciones, haz clic en el nombre de tu grupo de direcciones.

  4. Haz clic en Edit.

  5. En el campo Direcciones IP, agrega los nuevos elementos al espacio lista de direcciones IP. También puedes hacer clic en Importar direcciones para sube un archivo CSV con una lista de direcciones IP.

  6. Haz clic en Guardar.

gcloud

En el siguiente ejemplo, agregas las direcciones IP 192.168.1.2, 192.168.1.8 y 192.168.1.9 al grupo de direcciones GROUP_NAME. Proporcionas una lista de elementos separados por comas con la marca --item:

gcloud beta network-security address-groups add-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Quitar elementos de un grupo de direcciones

Puedes quitar elementos de un grupo de direcciones con la consola de Google Cloud o el Comando gcloud beta network-security address-groups remove-items

Console

  1. En la consola de Google Cloud, ve a la página Grupos de direcciones.

    Ir a Grupos de direcciones

  2. En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.

  3. Para editar un grupo de direcciones, haz clic en el nombre de tu grupo de direcciones.

  4. Haz clic en Edit.

  5. En el campo Direcciones IP, borra los elementos que deseas quitar. de la lista de direcciones IP separadas por comas.

  6. Haz clic en Guardar.

gcloud

El siguiente comando quita las direcciones IP 192.168.1.2, 192.168.1.8, y 192.168.1.9 que agregaste en el comando anterior:

gcloud beta network-security address-groups remove-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Borra un grupo de direcciones

No puedes borrar un grupo de direcciones si un recurso, como un política de firewall o de seguridad. Sigue estos pasos para borrar una dirección grupo:

Console

  1. En la consola de Google Cloud, ve a la página Grupos de direcciones.

    Ir a Grupos de direcciones

  2. En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.

  3. Selecciona la casilla de verificación junto al grupo de direcciones que deseas eliminar. Asegúrate de que ninguna otra persona haga referencia al grupo de direcciones seleccionado. firewall o política de seguridad.

  4. Haz clic en Borrar y, luego, en Borrar de nuevo para confirmar.

gcloud

En el siguiente ejemplo, se usa la Comando gcloud beta network-security address-groups delete para borrar un grupo de direcciones llamado GROUP_NAME.

gcloud beta network-security address-groups delete GROUP_NAME \
  --location global

Usa grupos de direcciones con políticas de seguridad

Después de crear un grupo de direcciones y agregarle direcciones IP, puedes usarla con cualquier política de seguridad de backend existente de Google Cloud Armor. El Los siguientes ejemplos muestran dos formas distintas de utilizar los grupos de direcciones.

Rechazar un grupo de direcciones IP

Para este ejemplo, imagina que tienes un grupo de direcciones IP llamado BAD_IPS con 10,000 direcciones IP que sabes que son maliciosas. Tú puede rechazar todas estas direcciones IP con una única política Regla deny con la siguiente condición de coincidencia:

evaluateAddressGroup('BAD_IPS', origin.ip)

Vuelve a usar un grupo de rangos de direcciones IP en varias políticas de seguridad

Para este ejemplo, imagina que tienes la misma lista de 10,000 direcciones IP que en el ejemplo anterior, pero que algunas de las direcciones IP son conocidas rastreadores web. Quieres bloquear todas estas direcciones IP de algún backend servicios de backend, pero permiten que los rastreadores web accedan a otros servicios de backend la optimización para motores de búsqueda (SEO). Sigue estos pasos para rechazar todas las acceden a BACKEND_SERVICE_1, y permiten al mismo tiempo usar los rangos 66.249.77.32/27 y 66.249.77.64/27 para acceder BACKEND_SERVICE_2:

  1. Crea una política de seguridad de backend llamada POLICY_1 y adjúntala a BACKEND_SERVICE_1.
  2. En POLICY_1, crea una regla de deny con la siguiente coincidencia. condición:

    evaluateAddressGroup('BAD_IPS', origin.ip)
    
  3. Crea una segunda política de seguridad de backend llamada POLICY_2. y adjuntarlo a BACKEND_SERVICE_2.

  4. En POLICY_2, crea una regla de deny con la siguiente coincidencia. condición, que excluye 66.249.77.32/27 y 66.249.77.64/27:

    evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
    

Usa un grupo de direcciones para buscar coincidencias con las direcciones IP de los usuarios

Para este ejemplo, imagina que tienes un grupo de direcciones IP llamado BAD_IPS con 10,000 direcciones IP que sabes que son maliciosas. En además, se usa un proxy upstream, que incluye información sobre el clientes de origen en el encabezado. Puedes rechazar todas estas direcciones IP con una sola regla de política de seguridad deny con la siguiente coincidencia condición:

evaluateAddressGroup('BAD_IPS', origin.user_ip)

Para obtener más información sobre las direcciones IP de los usuarios, consulta atributos del idioma de las reglas.

¿Qué sigue?