Configurar IDS de Cloud

Sigue estas instrucciones para configurar IDS de Cloud para tu aplicación. Para obtener información conceptual sobre IDS de Cloud, consulta la descripción general de IDS de Cloud.

Antes de comenzar

Antes de configurar IDS de Cloud, debes cumplir con los siguientes requisitos.

Configura los permisos de IAM para IDS de Cloud

IDS de Cloud tiene varios roles de Identity and Access Management (IAM). Puedes usar los comandos de ejemplo para otorgar a una principal los permisos de IAM necesarios.

  • Rol de administrador de IDS de Cloud (roles/ids.admin): Los principales del proyecto con este rol pueden crear extremos de IDS. Si eres propietario del proyecto, ya tienes este permiso y no necesitas un rol de ids.admin explícito para crear extremos de IDS.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --role=roles/ids.admin \
        --member=user:USER_NAME ;
    

    Este rol permite las siguientes operaciones:

    • Crear extremo
    • Borrar extremo
    • Obtener extremo
    • Extremo de lista
  • Rol de visualizador de IDS de Cloud (roles/ids.viewer). Los visualizadores del proyecto y las entidades principales con este rol tienen acceso de solo lectura a los extremos del IDS. Si eres propietario, editor o visualizador de un proyecto, ya tienes este permiso.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --role=roles/ids.viewer \
        --member=user:USER_NAME ;
    
  • Rol de usuario de duplicación de paquetes de Compute (roles/compute.packetMirroringUser): Es un rol necesario para adjuntar una política de duplicación de paquetes al extremo de IDS. Si tienes el rol de compute.securityAdmin o container.serviceAgent, ya tienes este permiso. Para obtener más información sobre este rol, consulta la referencia de roles básicos y predefinidos de IAM.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --role=roles/compute.packetMirroringUser \
        --member=user:USER_NAME ;
    
  • Rol de visualizador de registros (roles/logging.viewer): Es un rol adicional necesario para ver las amenazas recientes, que es una función principal fundamental de IDS de Cloud. Para obtener más información sobre este rol, consulta la guía de control de acceso.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --role=roles/logging.viewer \
        --member=user:USER_NAME ;
    

Además, necesitas los siguientes permisos varios:

  • compute.regions.list
  • compute.zones.list

Configura el acceso privado a servicios

Para crear extremos de IDS, debes habilitar la API de Service Networking y configurar el intercambio de tráfico entre redes para la red de nube privada virtual (VPC). Esto solo debe hacerse una vez por proyecto del cliente y se puede hacer con laGoogle Cloud consola o Google Cloud CLI. Cuando asignas un rango de direcciones IP, debe ser un rango de direcciones IP privadas que cumpla con RFC 1918 (10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16), o bien fallará la creación del extremo.

Sigue estos pasos para configurar el acceso privado a servicios:

  1. Habilita la API de Service Networking con el siguiente comando. Reemplaza PROJECT_ID por el ID del proyecto.

     gcloud services enable servicenetworking.googleapis.com \
         --project=PROJECT_ID
    
  2. Si aún no asignaste un rango de direcciones IP en tu red, debes asignar un rango de IP para los servicios de Google en tu red de VPC. En el siguiente comando, puedes omitir el campo addresses yGoogle Cloud selecciona un rango de direcciones sin usar en tu red de VPC:

     gcloud compute addresses create RESERVED_RANGE_NAME \
         --global \
         --purpose=VPC_PEERING \
         --addresses=192.168.0.0 \
         --prefix-length=16 \
         --description="DESCRIPTION" \
         --network=VPC_NETWORK
    

    Reemplaza lo siguiente:

    • RESERVED_RANGE_NAME: Es un nombre para el rango asignado, como my-allocated-range.

    • DESCRIPTION: Una descripción para el rango, como allocated for my-service

    • VPC_NETWORK: El nombre de tu red de VPC, como my-vpc-network

  3. Crear una conexión privada a un productor de servicios La conexión privada establece una conexión de intercambio de tráfico de red de VPC entre tu red de VPC y la red del productor de servicios.

    Si ya tienes una conexión privada existente, usa el comando gcloud services vpc-peerings update para actualizarla:

      gcloud services vpc-peerings update \
          --service=servicenetworking.googleapis.com \
          --ranges=RESERVED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
    

    Si aún no tienes una conexión privada, usa el comando gcloud services vpc-peerings connect. Este comando inicia una operación de larga duración que devuelve un nombre de operación.

      gcloud services vpc-peerings connect \
          --service=servicenetworking.googleapis.com \
          --ranges=RESERVED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
    

    Reemplaza lo siguiente:

    • RESERVED_RANGE_NAME: El nombre de uno o más rangos asignados

    • VPC_NETWORK: Es el nombre de tu red de VPC.

    • PROJECT_ID: Es el ID del proyecto que contiene tu red de VPC.

    Para verificar si la operación se realizó de forma correcta, usa el comando gcloud services vpc-peerings operations describe:

      gcloud services vpc-peerings operations describe \
          --name=OPERATION_NAME
    

    Reemplaza OPERATION_NAME por el nombre de la operación que se mostró en el paso anterior.

Repite los pasos 2 y 3 para cada red de VPC que quieras supervisar.

Habilita los Controles del servicio de VPC (opcional)

Después de habilitar el acceso privado a servicios, puedes habilitar de forma opcional los Controles del servicio de VPC en IDS de Cloud. Si está habilitado, ejecuta el comando services vpc-peerings enable-vpc-service-controls para habilitar los Controles del servicio de VPC en todas tus conexiones de intercambio de tráfico:

gcloud services vpc-peerings enable-vpc-service-controls \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK \
    --project=PROJECT_ID

Reemplaza lo siguiente:

  • VPC_NETWORK es el nombre de tu red de VPC.

  • PROJECT_ID: Es el ID del proyecto que contiene tu red de VPC.

Comprende las prácticas recomendadas

Te recomendamos que comprendas las prácticas recomendadas antes de configurar IDS de Cloud. Para obtener más información, consulta las prácticas recomendadas para Cloud IDS.

Configura extremos de IDS de Cloud

En las siguientes secciones, se explica cómo crear extremos del IDS de Cloud, adjuntarlos a una política de duplicación de paquetes, ver los extremos del IDS de Cloud, borrarlos y configurar excepciones de amenazas.

Crea un extremo del IDS de Cloud

Te recomendamos que crees un extremo de IDS para cada región en la que implementaste cargas de trabajo. También puedes crear varios extremos de IDS por región. Sigue estos pasos para crear un extremo de IDS y asignarle un perfil de servicio de IDS.

Console

  1. En la consola de Google Cloud , ve a Extremos de IDS.

    Ir a Extremos de IDS

Configura el extremo:

  1. Haz clic en Crear extremo.
  2. Ingresa un nombre en el campo Nombre del extremo.
  3. Opcional: Ingresa una descripción en el campo Descripción.
  4. Haz clic en la lista desplegable Red y selecciona la red que deseas que inspeccione IDS de Cloud.
  5. Elige la región y la zona de tu red o subred en las listas desplegables Región y Zona.
  6. Haz clic en Continuar.

Selecciona el perfil de servicio de IDS de Cloud:

  1. Haz clic en Seleccionar perfil de servicio de IDS.
  2. En Nivel mínimo de gravedad de la amenaza, selecciona el nivel de alerta correcto.
  3. Haz clic en Crear. El proceso de creación puede tardar entre 10 y 15 minutos.

gcloud

Marcas opcionales

Los comandos de esta sección pueden tener algunas o todas las siguientes marcas opcionales:

--no-async
Espera a que se complete la operación en curso en lugar de mostrar un resultado de inmediato.
--filter=EXPRESSION
Aplica una EXPRESIÓN de filtro booleano a cada elemento de recurso que se incluirá en la lista. Si la expresión se evalúa como verdadera, se muestra ese elemento. Para obtener más detalles y ejemplos de expresiones de filtros, ejecuta $ gcloud topic filters. Esta marca interactúa con otras marcas que se aplican en este orden: --flatten, --sort-by, --filter, --limit.
--limit=LIMIT
Es la cantidad máxima de recursos que se pueden incluir en la lista. El valor predeterminado es ilimitado. Esta marca interactúa con otras marcas que se aplican en este orden: --flatten, --sort-by, --filter, --limit.
--page-size=PAGE_SIZE
El recurso de IDS de Cloud agrupa la lista de resultados en páginas. Esta marca especifica la cantidad máxima de recursos por página. El servicio determina el valor predeterminado si admite paginación; de lo contrario, es ilimitado (sin paginación). Paging se puede aplicar antes o después de las marcas --filter y --limit, según el servicio.
--sort-by=[FIELD,…]
Es una lista separada por comas de los nombres de claves de campo de recurso para ordenar. El orden predeterminado es ascendente. Agrega un prefijo ~ a un campo para obtener el orden descendente en ese campo. Esta marca interactúa con otras marcas que se aplican en este orden: --flatten, --sort-by, --filter, --limit.
--uri
Imprime una lista de los URIs de recursos en lugar del resultado predeterminado.
--threat-exceptions
Es una lista separada por comas de los IDs de amenazas que se deben excluir de las alertas en este endpoint. Se limita a 99 excepciones por extremo.

Instrucciones

Para crear un extremo de IDS nuevo, sigue estos pasos:

  1. Usa el comando gcloud ids endpoints create. Reemplaza ENDPOINT_NAME, VPC_NETWORK, ZONE y SEVERITY con la información que coincida con tu aplicación.

    gcloud ids endpoints create ENDPOINT_NAME \
        --network=VPC_NETWORK \
        --zone=ZONE \
        --severity=SEVERITY \
        [--no-async] \
        [GCLOUD_WIDE_FLAG...]
    
  2. La marca de gravedad es obligatoria y toma uno de los siguientes valores:

    • INFORMATIVA
    • BAJO
    • MEDIO
    • ALTO
    • CRÍTICO

API

Los recursos de extremos del IDS de Cloud tienen los siguientes campos:

Campo Tipo Descripción del campo
createTime cadena [Solo salida] Marca de tiempo de creación en formato de texto RFC 3339.
updateTime cadena [Solo salida] Marca de tiempo de la última actualización en formato de texto RFC 3339.
nombre cadena [Solo salida] Nombre del extremo en el formato projects/{project_id}/locations/{locationId}/endpoints/{endpointId}.
red cadena Nombre de la red de VPC que está conectada al extremo del IDS. Puede contener el nombre de la red de VPC (como "src-net") o la URL completa de la red (como "projects/{project_id}/global/networks/src-net"). Este campo es obligatorio cuando se crea el extremo.
gravedad, cadena

Es el nivel de gravedad mínimo de la alerta que informa el endpoint. Los valores posibles son los siguientes:

  • INFORMATIVA
  • BAJO
  • MEDIO
  • ALTO
  • CRÍTICO

Este campo es obligatorio cuando se crea el extremo.

descripción cadena Es una descripción opcional del extremo.
endpoint_forwarding_rule cadena [Solo salida] URL de la dirección de red del extremo a la que la duplicación de paquetes debe enviar el tráfico.
extremo cadena [Solo salida] Es la dirección IP interna del punto de entrada de la red del extremo.

Para crear un extremo del IDS de Cloud, usa una solicitud HTTP POST como la siguiente y reemplaza las variables según corresponda. El ENDPOINT_NAME debe tener entre 1 y 63 caracteres, contener solo letras en minúscula, dígitos y guiones, comenzar con una letra en minúscula y no terminar con un guion.

POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
{
    "network": "NETWORK_NAME",
    "severity": "SEVERITY_LEVEL",
}

Cómo adjuntar una política de duplicación de paquetes a un extremo del IDS de Cloud

Sigue estos pasos para adjuntar una política de duplicación de paquetes al extremo de IDS.

Console

Después de crear el extremo de IDS, adjunta una política de duplicación de paquetes al extremo de IDS:

  1. En la consola de Google Cloud , ve a Extremos de IDS.

    Ir a Extremos de IDS

  2. Junto al extremo de IDS, haz clic en Adjuntar.

  3. En el campo Nombre de la política, ingresa un nombre para la política de duplicación de paquetes.

  4. Haz clic en Siguiente.

  5. Elige la subred o las instancias que deseas duplicar. Puedes seleccionar varias subredes e instancias.

  6. Haz clic en Siguiente.

  7. Determina si deseas duplicar todo el tráfico o filtrarlo:

    1. Si deseas duplicar todo el tráfico, asegúrate de que esté seleccionada la opción Duplicar todo el tráfico.
    2. Si deseas filtrar el tráfico según el protocolo, el rango de direcciones IP o el tráfico de entrada o salida, selecciona Duplicar el tráfico filtrado:
      1. Selecciona Permitir todos los protocolos o Permitir protocolos específicos.
      2. Selecciona Permitir todos los rangos de IP o Permitir rangos de IP específicos.
  8. Haz clic en Enviar. Se crea el extremo.

gcloud

  1. Después de crear el extremo, adjúntale una política de duplicación de paquetes. Primero, obtén la URL del campo endpoint_forwarding_rule con el siguiente comando:

    gcloud ids endpoints describe ENDPOINT_NAME
    
  2. Crea la política de duplicación de paquetes con el siguiente comando:

     gcloud compute packet-mirrorings create POLICY_NAME \
         --region=REGION \
         --collector-ilb=ENDPOINT_FORWARDING_RULE \
         --network=VPC_NETWORK \
         --mirrored-subnets=SUBNET
    
  3. La duplicación de paquetes tiene varias marcas opcionales, incluidas las que puedes usar para filtrar el tráfico según el protocolo, el rango de direcciones IP o el tráfico de entrada o salida. Para obtener más información sobre estas marcas opcionales, consulta la referencia de duplicación de paquetes.

Describe un extremo de IDS de Cloud

Sigue estos pasos para describir un extremo de IDS.

Console

  1. En la consola de Google Cloud , ve a Extremos de IDS.

    Ir a Extremos de IDS

  2. En la página Extremos de IDS, haz clic en el nombre del extremo de IDS. Se muestra la página Detalles del extremo.

gcloud

Para describir un extremo de IDS, usa el comando gcloud ids endpoints describe. Reemplaza ENDPOINT_NAME, PROJECT_ID y ZONE con la información que coincida con tu aplicación:

gcloud ids endpoints describe ENDPOINT_NAME \
    [--project=PROJECT_ID] \
    [--zone=ZONE] \
    [GCLOUD_WIDE_FLAG...]

API

Para obtener un extremo de IDS de Cloud, usa una solicitud HTTP GET como la siguiente y reemplaza las variables según corresponda:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Enumera los extremos de Cloud IDS

Sigue estos pasos para enumerar todos los extremos de IDS.

Console

  1. En la consola de Google Cloud , ve a Extremos de IDS.

    Ir a Extremos de IDS

gcloud

Para enumerar los extremos de IDS, usa el comando gcloud ids endpoints list:

gcloud ids endpoints list \
    [--filter=EXPRESSION] \
    [--limit=LIMIT] \
    [--page-size=PAGE_SIZE] \
    [--sort-by=[FIELD,...]] \
    [--uri] \
    [GCLOUD_WIDE_FLAG...]

Reemplaza lo siguiente:

  • EXPRESSION: Aplica un filtro booleano a cada elemento de recurso que se enumerará. Si la expresión se evalúa como verdadera, se muestra ese elemento.
  • LIMIT: Es la cantidad máxima de recursos que se pueden incluir en la lista.
  • PAGE_SIZE: Es la cantidad máxima de recursos por página.
  • FIELD: Es una lista separada por comas de los nombres de claves de campo de recurso para ordenar.

API

Para enumerar todos los extremos de IDS de Cloud en una zona, usa una solicitud HTTP GET como la siguiente y reemplaza las variables según corresponda:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints

Como alternativa, para enumerar todos los extremos de IDS de Cloud en todas las zonas, puedes reemplazar ZONE por un guion, como se muestra a continuación:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints

Borra un extremo del IDS de Cloud

Sigue estos pasos para borrar un extremo de IDS.

Console

  1. En la consola de Google Cloud , ve a Extremos de IDS.

    Ir a Extremos de IDS

  2. En la página Extremos de IDS, haz clic en el nombre del extremo de IDS. Se muestra la página Detalles del extremo.

  3. Haz clic en Borrar extremo.

gcloud

Para borrar un extremo de IDS, usa el comando gcloud ids endpoints delete. Reemplaza ENDPOINT_NAME, PROJECT_ID y ZONE con la información que coincida con tu aplicación:

gcloud ids endpoints delete ENDPOINT_NAME \
    [--project=PROJECT_ID] \
    [--zone=ZONE] \
    [--no-async] \
    [GCLOUD_WIDE_FLAG...]

API

Para borrar un extremo de IDS de Cloud, usa una solicitud HTTP DELETE como la siguiente y reemplaza las variables según corresponda:

DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Opcional: Configura excepciones de amenazas

Puedes inhabilitar los IDs de amenazas innecesarios o ruidosos con la marca --threat-exceptions cuando creas o actualizas tu extremo de IDS de Cloud. En el siguiente ejemplo, se actualiza un extremo del IDS de Cloud existente ENDPOINT_NAME para excluir los IDs de amenazas THREAT_ID1 y THREAT_ID2:

gcloud ids endpoints update ENDPOINT_NAME \
    --threat-exceptions=THREAT_ID1,THREAT_ID2

Ver registros de amenazas

Sigue estos pasos para verificar si se generaron registros de amenazas.

  1. En la consola de Google Cloud , ve a Amenazas del IDS.

    Ir a Amenazas en IDS

  2. Haz clic en el nombre de una amenaza para ver su página de Detalles de la amenaza.

  3. Regresa a la pestaña Amenazas.

  4. Haz clic en el menú a la derecha de tu extremo de IDS y selecciona Ver registros de amenazas.

¿Qué sigue?