Activación de ASM para las extensiones de servicios de GCP
ASM Service Extensions is in Preview
Para probar la vista previa de extensiones de servicios de ASM para GCP, sigue las instrucciones de configuración que se indican a continuación.
Puedes activar la seguridad de las aplicaciones con extensiones de servicios de GCP en el Balanceo de carga de GCP Cloud. La integración de las extensiones de servicios de Datadog Application Security Management (ASM) es compatible con la detección y el bloqueo de amenazas.
Requisitos previos
El Datadog Agent está instalado y configurado para el sistema operativo o contenedor, nube o entorno virtual de tu aplicación.
Configura el Agent con configuración remota para bloquear a los atacantes que utilizan la interfaz de usuario Datadog.
En tu proyecto de GCP, comprueba que tengas el rol de owner
o editor
del proyecto o los roles correspondientes de Compute Engine IAM: compute.instanceAdmin.v1
(para crear instancias) y compute.networkAdmin
(para configurar el balanceo de carga).
Un proyecto de GCP con un balanceador de carga de la nube configurado con tus servicios. Tu balanceador de carga de la nube debe ser uno de los Balanceadores de carga de la aplicación compatibles con globos del tráfico.
Asegúrate de que la API de Compute Engine y la API de servicios de red estén activadas:
gcloud services enable compute.googleapis.com networkservices.googleapis.com
Habilitación de la detección de amenazas
Para empezar
En tu proyecto de GCP, se necesitan múltiples pasos para crear completamente una extensión de servicios. Google Cloud proporciona guías para crear un servicio de backend de globo y crear una extensión de servicios como una extensión del tráfico.
Para integrar una extensión de servicios con ASM, haz lo siguiente:
Crea una nueva instancia de VM Compute utilizando la imagen de Datadog Servicie Extensions Docker. La imagen está disponible en GitHub Registry del rastreador de Datadog Go.
La imagen de Docker expone algunos parámetros:
Variable de entorno | Valor predeterminado | Descripción |
---|
DD_SERVICE_EXTENSION_HOST | 0.0.0.0 | Dirección de escucha del servidor gRPC. |
DD_SERVICE_EXTENSION_PORT | 443 | Puerto del servidor gRPC. |
DD_SERVICE_EXTENSION_HEALTHCHECK_PORT | 80 | Puerto del servidor HTTP para checks de estado. |
Configura el Datadog Agent para recibir trazas (traces) de la integración utilizando las siguientes variables de entorno:
Variable de entorno | Valor predeterminado | Descripción |
---|
DD_AGENT_HOST | localhost | Nombre del host donde se ejecuta tu Datadog Agent . |
DD_TRACE_AGENT_PORT | 8126 | Puerto de la colección de trazas (traces) del Datadog Agent. |
Añade la máquina virtual a un grupo de instancias no gestionadas.
Especifica http:80
y grpc:443
(o cualquier otro valor configurado previamente) para las asignaciones de puertos del grupo de instancias.
Actualiza el equilibrador de carga creando un servicio de backend y añadiendo un backend.
Crea un servicio de backend de globo que utilice el protocolo HTTP/2 y tenga un check de estado HTTP:
- Protocolo:
HTTP2
- Nombre del puerto:
grpc
- Región:
us-west1
- Número de puertos con check de estado:
80
(o cualquier otro valor configurado previamente)
Añade el grupo de instancias con el servidor de extensión como backend al servicio de backend.
Crea un globo de Extensión de servicio de tráfico.
- En la consola de Google Cloud, ve a Extensiones de servicios y crea una nueva extensión de servicio.
- Selecciona el tipo de balanceador de carga.
- Selecciona
Traffic extensions
como tipo. - Selecciona tus reglas de reenvío.
Cuando crees una nueva Cadena de extensiones, haz lo siguiente:
- Para enviar todo el tráfico a la extensión, inserta
true
en la Condición de coincidencia. - Para Tipo de capacidad de programación, selecciona
Callouts
. - Selecciona el servicio de backend que creaste en el paso anterior.
- Selecciona todos los Eventos de la lista donde deseas que ASM ejecute la detección.After this configuration is complete, the library collects security data from your application and sends it to the Agent. The Agent sends the data to Datadog, where out-of-the-box detection rules flag attacker techniques and potential misconfigurations so you can take steps to remediate.
To see Application Security Management threat detection in action, send known attack patterns to your application. For example, trigger the Security Scanner Detected rule by running a file that contains the following curl script:
for ((i=1;i<=250;i++));
do
# Target existing service’s routes
curl https://your-application-url/existing-route -A dd-test-scanner-log;
# Target non existing service’s routes
curl https://your-application-url/non-existing-route -A dd-test-scanner-log;
done
Note: The dd-test-scanner-log
value is supported in the most recent releases.
A few minutes after you enable your application and send known attack patterns to it, threat information appears in the Application Signals Explorer and vulnerability information appears in the Vulnerability Explorer.
Rastreador de Datadog Go y extensiones de servicios de GCP
Nota: La integración de las extensiones de servicios de GCP está construida sobre Datadog Go Tracer. Sigue el mismo proceso de versiones que el rastreador y sus imágenes Docker están etiquetadas con la versión correspondiente del rastreador.
La integración de las extensiones de servicios de GCP utiliza el Datadog Go Tracer y hereda todas las variables de entorno del rastreador. Puedes encontrar más información en Configuración de la biblioteca de Go Tracing y en Configuración de la biblioteca de ASM.
Limitaciones
La funcionalidad disponible para la versión 1.71.0
de extensiones de servicios de GCP tiene las siguientes limitaciones importantes:
- El cuerpo de la solicitud no se inspecciona, independientemente de su tipo de contenido.
Referencias adicionales
Más enlaces, artículos y documentación útiles: