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
|
networksecurity.addressGroups.* |
Descubre y visualiza grupos de direcciones | compute.networkUser |
networksecurity.addressGroups.list
|
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
En la consola de Google Cloud, ve a la página Grupos de direcciones.
En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.
Haz clic en Crear grupo de direcciones.
En el campo Nombre, ingresa un nombre.
Agrega una descripción en el campo Descripción (Description).
En Alcance, elige Global.
En Tipo, selecciona IPv4 o IPv6.
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.
En el campo Capacidad, ingresa la capacidad del grupo de direcciones.
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
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
En la consola de Google Cloud, ve a la página Grupos de direcciones.
En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.
Para editar un grupo de direcciones, haz clic en el nombre de tu grupo de direcciones.
Haz clic en Edit.
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.
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
En la consola de Google Cloud, ve a la página Grupos de direcciones.
En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.
Para editar un grupo de direcciones, haz clic en el nombre de tu grupo de direcciones.
Haz clic en Edit.
En el campo Direcciones IP, borra los elementos que deseas quitar. de la lista de direcciones IP separadas por comas.
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
En la consola de Google Cloud, ve a la página Grupos de direcciones.
En el menú del selector de proyectos, si está disponible, selecciona tu proyecto.
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.
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:
- Crea una política de seguridad de backend llamada POLICY_1 y adjúntala a BACKEND_SERVICE_1.
En POLICY_1, crea una regla de
deny
con la siguiente coincidencia. condición:evaluateAddressGroup('BAD_IPS', origin.ip)
Crea una segunda política de seguridad de backend llamada POLICY_2. y adjuntarlo a BACKEND_SERVICE_2.
En POLICY_2, crea una regla de
deny
con la siguiente coincidencia. condición, que excluye66.249.77.32/27
y66.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.