Sigue estas instrucciones para configurar IDS de Cloud en 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 deids.adminexplí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
- Enumerar extremos
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 de IDS. Si eres propietario, editor o visualizador del proyecto, ya tienes este permiso.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.viewer \ --member=user:USER_NAME ;Rol del 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 decompute.securityAdminocontainer.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 visor 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 varios permisos, como los siguientes:
compute.regions.listcompute.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 llevar a cabo con la
consola deGoogle Cloud 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:
Habilita la API de Service Networking con el siguiente comando. Reemplaza
PROJECT_IDpor el ID del proyecto.gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_IDSi aún no asignaste un rango de direcciones IP en tu red, deberás asignar uno para los servicios de Google en tu red de VPC. En el siguiente comando, puedes omitir el campo
addressesy Google Cloud elige 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_NETWORKReemplaza lo siguiente:
RESERVED_RANGE_NAME: Es un nombre para el rango asignado, comomy-allocated-range.DESCRIPTION: Es una descripción para el rango, comoallocated for my-service.VPC_NETWORK: Es el nombre de la red de VPC, comomy-vpc-network.
Crea 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 updatepara actualizarla:gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_IDSi aún no tienes una conexión privada, usa el comando
gcloud services vpc-peerings connect. Este comando empieza 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_IDReemplaza lo siguiente:
RESERVED_RANGE_NAME: Es 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 comprobar si la operación se hizo de forma correcta, usa el comando
gcloud services vpc-peerings operations describe:gcloud services vpc-peerings operations describe \ --name=OPERATION_NAMEReemplaza
OPERATION_NAMEpor 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 de IDS de Cloud.
Configura extremos del IDS de Cloud
En las siguientes secciones, se explica cómo crear extremos de IDS de Cloud, adjuntarlos a una política de Duplicación de paquetes, ver los extremos de 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.
Consola
En la consola de Google Cloud , ve a Extremos de IDS.
Configura el extremo:
- Haz clic en Crear extremo.
- Escribe un nombre en el campo Nombre del extremo.
- Escribe una descripción en el campo Descripción (opcional).
- Haz clic en la lista de Redes y elige la red que deseas
que inspeccione IDS de Cloud.
- Elige la región y la zona de tu red o subred en las listas Región y Zona.
- Haz clic en Continuar.
Elige el perfil de servicio del IDS de Cloud:
- Haz clic en Seleccionar perfil de servicio de IDS.
- En Minimum threat severity level, elige el nivel de alerta correcto.
- 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--filter=EXPRESSIONgcloud topic filters.
Esta marca interactúa con otras que se aplican en este orden:
--flatten, --sort-by, --filter,
--limit.--limit=LIMIT--flatten, --sort-by, --filter,
--limit.--page-size=PAGE_SIZE--filter
y --limit, según el servicio.--sort-by=[FIELD,…]~) a un campo para obtener el orden descendente
en ese campo. Esta marca interactúa con otras que se aplican en este orden:
--flatten, --sort-by, --filter,
--limit.--uri--threat-exceptionsInstrucciones
Para crear un extremo de IDS nuevo, usa el
comando gcloud ids endpoints create.
gcloud ids endpoints create ENDPOINT_NAME \
--network=VPC_NETWORK \
--zone=ZONE \
--severity=SEVERITY \
[--no-async] \
[GCLOUD_WIDE_FLAG...]
Reemplaza lo siguiente:
ENDPOINT_NAME: Es el nombre o el ID del extremo.VPC_NETWORK: Es el nombre de tu red de VPC.ZONE: Es la zona del extremo.SEVERITY: Es la gravedad mínima de las amenazas sobre las que se informará.La marca de gravedad es obligatoria y toma uno de los siguientes valores:
INFORMATIONALLOWMEDIUMHIGHCRITICAL
API
Los recursos de extremos de IDS de Cloud tienen los siguientes campos:
| Campo | Tipo | Descripción del campo |
|---|---|---|
| createTime | cadena | [Solo salida] Es la marca de tiempo de creación en formato de texto RFC 3339. |
| updateTime | cadena | [Solo salida] Es la marca de tiempo de la última actualización en formato de texto RFC 3339. |
| nombre | cadena | [Solo salida] Es el nombre del extremo en el formato projects/{project_id}/locations/{locationId}/endpoints/{endpointId}. |
| red | cadena | Es el nombre de la red de VPC que está conectada al extremo
de 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 extremo. Los valores posibles se detallan a continuación:
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] Es la 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 de IDS de Cloud, usa una solicitud POST de HTTP, como la
siguiente, y reemplaza las variables según corresponda. El
ENDPOINT_NAME debe tener entre 1 y 63 caracteres, debe incluir solo letras minúsculas, dígitos y guiones, empezar con una
letra 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",
}
Adjunta 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.
Consola
Después de crear el extremo de IDS, adjunta una política de Duplicación de paquetes al extremo de IDS:
En la consola de Google Cloud , ve a Extremos de IDS.
Junto al extremo de IDS, haz clic en Adjuntar.
En el campo Nombre de la política, escribe un nombre para la política de Duplicación de paquetes.
Haz clic en Siguiente.
Elige la subred o las instancias que se duplicarán. Puedes elegir varias instancias y subredes.
Haz clic en Siguiente.
Determina si deseas duplicar todo el tráfico o filtrarlo:
- Si deseas duplicar todo el tráfico, asegúrate de que esté seleccionada la opción Duplicar todo el tráfico.
- Si deseas filtrar el tráfico según el protocolo, el rango de direcciones IP o
el tráfico de entrada o salida, elige Duplicar el tráfico filtrado:
- Elige Permitir todos los protocolos o Permitir protocolos específicos.
- Elige Permitir todos los rangos de IP o Permitir rangos de IP específicos.
Haz clic en Enviar. Se crea el extremo.
gcloud
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_rulecon el siguiente comando:gcloud ids endpoints describe ENDPOINT_NAME
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=SUBNETLa 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 del IDS de Cloud
Sigue estos pasos para describir un extremo de IDS.
Consola
En la consola de Google Cloud , ve a Extremos de IDS.
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.
gcloud ids endpoints describe ENDPOINT_NAME \
[--project=PROJECT_ID] \
[--zone=ZONE] \
[GCLOUD_WIDE_FLAG...]
Reemplaza lo siguiente:
ENDPOINT_NAME: Es el nombre o el ID del extremo.PROJECT_ID: Es el ID del proyecto.ZONE: Es la zona del extremo.
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 del IDS de Cloud
Sigue estos pasos para enumerar todos los extremos de IDS.
Consola
En la consola de Google Cloud , ve 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 Verdadero, 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.
Consola
En la consola de Google Cloud , ve a Extremos de IDS.
En la página Extremos de IDS, haz clic en el nombre del extremo de IDS. Se muestra la página Detalles del extremo.
Haz clic en Borrar Extremo.
gcloud
Para borrar un extremo de IDS, usa el comando gcloud ids endpoints delete.
gcloud ids endpoints delete ENDPOINT_NAME \
[--project=PROJECT_ID] \
[--zone=ZONE] \
[--no-async] \
[GCLOUD_WIDE_FLAG...]
Reemplaza lo siguiente:
ENDPOINT_NAME: Es el nombre o el ID del extremo.PROJECT_ID: Es el ID del proyecto.ZONE: Es la zona del extremo.
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
Configura excepciones de amenazas (opcional)
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 de 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 comprobar si se generaron registros de amenazas.
En la consola de Google Cloud , ve a Amenazas en IDS.
Haz clic en el nombre de una amenaza para ver su página de Detalles de amenazas.
Regresa a la pestaña Amenazas.
Haz clic en el Menú a la derecha de tu extremo de IDS y elige Ver registros de amenazas.