Conformidad de Datadog con los estándares FIPS
El proxy de FIPS del Datadog Agent sólo está disponible en la región US1-FED.
El proxy de FIPS del Datadog Agent garantiza que en la comunicación entre el Datadog Agent y Datadog se utilice un cifrado compatible con FIPS.
El proxy de FIPS del Datadog Agent es un componente distribuido por separado que se implementa en el mismo host que el Datadog Agent. El proxy actúa como intermediario entre el Agent y el consumo de Datadog. El Agent se comunica con el proxy de FIPS del Datadog Agent, que cifra las cargas útiles utilizando una criptografía validada por FIPS 140-2 y las retransmite a Datadog. El Datadog Agent y el proxy de FIPS del Agent deben configurarse en tándem para que se puedan comunicar entre sí.
La conformidad del proxy de FIPS del Datadog Agent con los estándares se basa en el uso del certificado n.º 4282 del Programa Estadounidense de Validación de Módulos Criptográficos, validado por FIPS 140-2. Consulta la política de seguridad correspondiente para obtener información sobre las restricciones y los entornos operativos validados.
Es responsabilidad del usuario garantizar que el funcionamiento del entorno cumple con la política de seguridad y las directrices generales de FIPS.
Plataformas compatibles (64 bits x86):
| |
---|
Equipos sin sistema operativo y máquinas virtuales | RHEL >= 7 Debian >= 8 Ubuntu >= 14.04 SUSE >= 12 (beta) |
Nube y contenedores | Amazon ECS AWS EKS (Helm) |
Nota: La arquitectura arm64 está disponible en fase beta.
Productos compatibles (Agent v7.45 y posteriores):
- Métricas
- Logs
- Trazas de APM
- Perfiles de APM
- Telemetría de instrumentación
- Procesos
- Orchestrator Explorer
- Runtime Security
El proxy de FIPS de Datadog Agent no admite lo siguiente:
- La monitorización serverless
- La comunicación entre el Cluster Agent y Agents del nodo
- Las integraciones con el Agent
- La comunicación saliente a cualquier otro punto que no sea GovCloud
Requisitos previos
- Rango de puertos TCP disponible: 9803 a 9818
- Versión de Datadog Agent 7.41 o posteriores
Instalar el Agent con compatibilidad con FIPS
Instalar el Agent en un nuevo host
Para instalar el Datadog Agent con el proxy de FIPS de Datadog Agent, añade DD_FIPS_MODE=1
a las instrucciones de instalación en un solo paso que encontrarás en el artículo sobre la integración con el Datadog Agent. Por ejemplo:
DD_API_KEY=<DD_API_KEY> \
DD_SITE="ddog-gov.com" \
DD_FIPS_MODE=1 \
bash -c "$(curl -L \
https://install.datadoghq.com/scripts/install_script_agent7.sh)"
Al establecer la variable de entorno DD_FIPS_MODE
, se instala el paquete de FIPS junto con el Agent y se configura el Agent para que utilice el proxy. Si utilizas este método, la configuración ha terminado, pero deberías verificar la instalación.
Añadir el proxy de FIPS de Datadog Agent a un Agent existente
Sigue los pasos que se indican a continuación para añadir el proxy de FIPS de Datadog Agent a una instalación existente del Agent.
Instalar el paquete del proxy de FIPS de Datadog Agent
Ejecuta los siguientes comandos para instalar el proxy de FIPS de Datadog Agent:
Debian:
apt-get update && apt-get install datadog-fips-proxy
RHEL y Fedora:
yum makecache && yum install datadog-fips-proxy
SLES:
zypper refresh datadog && zypper install datadog-fips-proxy
La primera vez que realices una actualización, copia el archivo de configuración de ejemplo en la ubicación apropiada y reinicia el proxy. No necesitas copiar la configuración en actualizaciones posteriores, a menos que haya cambios significativos en la configuración de proxy ascendente:
sudo cp /etc/datadog-fips-proxy/datadog-fips-proxy.cfg.example \
/etc/datadog-fips-proxy/datadog-fips-proxy.cfg
sudo chown dd-agent:dd-agent \
/etc/datadog-fips-proxy/datadog-fips-proxy.cfg
sudo chmod 640 /etc/datadog-fips-proxy/datadog-fips-proxy.cfg
sudo systemctl restart datadog-fips-proxy
Configurar el Agent para utilizar el proxy de FIPS de Datadog Agent
El paquete del proxy de FIPS de Datadog Agent viene preconfigurado para su uso con el centro de datos US1-FED. Si quieres actualizar un Datadog Agent existente, debes configurar el Agent para que utilice el proxy.
Para eso, dale a fips.enabled
el valor true
, y a fips.https
, el valor false
, en el archivo de configuración del Agent:
fips:
enabled: true
https: false
El parámetro fips
se puede utilizar en las versiones del Agent 7.41 y posteriores. Cuando está activado, Datadog Agent redirige todas sus comunicaciones al proxy de FIPS de Datadog Agent en los productos compatibles. Este parámetro ignora las opciones de URL personalizadas, como dd_url
.
El parámetro https
tiene el valor false
, ya que utiliza el Agent utiliza HTTP para comunicarse con el proxy. El proxy de FIPS de Datadog Agent se ejecuta en el mismo host que el Agent y, para proteger la comunicación, se emplea el sistema de seguridad del host.
Proteger y reforzar el host es tu responsabilidad.
El parámetro predeterminado fips.enabled
es false
en el Agent. Debe tener el valor true
para garantizar que todas las comunicaciones se reenvían a través del proxy de FIPS de Datadog Agent.
Si fips.enabled
no tiene el valor true
, el Agent no es compatible con FIPS.
Verifica tu instalación
Verifica qué métricas, trazas (traces), y logs están correctamente reportados en la aplicación.
Para las métricas, ejecuta el comando de diagnóstico de conectividad y asegúrate de que todos los checks se aprueben:
sudo -u dd-agent datadog-agent diagnose --include connectivity-datadog-core-endpoints
# Para el Agent v7.48 o posteriores, ejecuta el siguiente comando:
# sudo -u dd-agent datadog-agent diagnose datadog-connectivity
Si no ves métricas, trazas o logs reportados en la aplicación, consulta la sección Solucionar problemas.
Ver logs
sudo journalctl -u datadog-fips-proxy
Configuración de logs de journald
Si utilizas Log Management y quieres enviar los logs del proxy de FIPS del Datadog Agent a Datadog, configura el Datadog Agent para leer logs desde journald.
En el configuration file (archivo de configuración) de Agent, establece logs_enabled
en verdadero
para activar Logs Agent. En el configuration directory (directorio de configuración), crea un archivo en fips_proxy.d/conf.yaml
con el siguiente contenido:
logs:
- type: journald
source: datadog-fips-proxy
include_units:
- datadog-fips-proxy.service
Asegúrate de que el usuario dd-agent
está en el grupo systemd-journal
. Para más información, consulta la documentación journald integration (integración de journald).
Restart the Agent (reiniciar el Agent).
Establece los siguientes valores en tu archivo values.yaml
:
fips:
enabled: true
use_https: false
El ajuste fips
está disponible en las versiones Agent 7.41 o posteriores. Cuando la configuración está activada, Datadog Agent redirige todas sus comunicaciones al Datadog Agent FIPS Proxy para los productos compatibles. Esta configuración ignora las opciones de URL personalizadas, como dd_url
.
La opción use_https
se establece en falso
porque Agent utiliza HTTP para comunicarse con el proxy. El Datadog Agent FIPS Proxy se ejecuta en el mismo host que Datadog Agent y confía en la seguridad de host para la protección de dicha comunicación.
La seguridad y el fortalecimiento de host son tu responsabilidad.
El ajuste fips.enabled
está predeterminado como falso
en el Agent. Debe establecerse en verdadero
para garantizar que todas las comunicaciones se reenvíen a través del Datadog Agent FIPS Proxy.
Si fips.enabled
no está establecido en verdadero
, el Agent no es compatible con FIPS.
Solucionar problemas de un host o una instalación VM
Para solucionar los problemas del Datadog Agent FIPS Proxy, verifica lo siguiente:
- Se están ejecutando Datadog Agent y Datadog Agent FIPS Proxy.
- El Datadog Agent puede comunicarse con el Datadog Agent FIPS Proxy.
- El Datadog Agent FIPS Proxy puede comunicarse con los endpoints de admisión de Datadog.
Controlar el estado del proxy
Para obtener información sobre el estado de Datadog Agent FIPS Proxy, ejecuta el siguiente comando:
sudo systemctl status datadog-fips-proxy
Si se está ejecutando el proxy, la salida debería ser similar a la siguiente:
- datadog-fips-proxy.service - Datadog FIPS Proxy
Cargado: cargado
(/lib/systemd/system/datadog-fips-proxy.service;
enabled; vendor preset: enabled)
Activo: activo (ejecutando) desde martes 19-07-2022 16:21:15 UTC; hace 1 min 6 s
Si el estado del proxy es inactivo (muerto)
, inicia el Datadog Agent FIPS Proxy:
sudo systemctl start datadog-fips-proxy
Si el estado del proxy es fallido
, el Datadog Agent FIPS Proxy no se ha podido iniciar debido a un error. Ejecuta el siguiente comando y busca errores en los logs del proxy:
sudo journalctl -u datadog-fips-proxy --no-pager
Proxy no puede enlazar el socket
Si los logs del proxy muestran un error enlazar socket
, el proxy está intentando utilizar un puerto que ya está en uso en el host. El Datadog Agent FIPS Proxy utiliza el rango de puertos TCP desde el 9803 hasta el 9818 inclusive. Los puertos de este rango deben estar disponibles en host y no ser utilizados por otros servicios.
En el siguiente ejemplo, el Datadog Agent FIPS Proxy no puede enlazar un socket en el puerto 9804
porque el puerto ya está en uso:
[ALERT] (4518) : Iniciando frontend métricas-forwarder: no se puede enlazar socket (Dirección ya en uso) [0.0.0.0:9804]
[ALERT] (4518) : [/opt/Datadog-fips-proxy/embedded/sbin/haproxy.main()] Algunos protocolos fallaron al iniciar sus escuchadores. Saliendo.
Agent no puede conectarse al proxy.
Para controlar problemas de red, controla los logs en /var/log/datadog/agent.log
, o ejecuta:
datadog-agent diagnose --include connectivity-datadog-core-endpoints
# Para versiones de Agent 7.48 o anteriores, ejecuta el siguiente comando:
# datadog-agent diagnóstico datadog-connectivity
Busca errores como:
conectar: conexión denegada, fecha límite de contexto excedida (Client.Timeout excedido mientras espera cabeceras), o conexión reseteada por peer
Si el proxy se está ejecutando y el rango de puertos es correcto, es posible que un cortafuegos local de la máquina esté bloqueando el acceso de Agent al proxy. Configura tu cortafuegos para permitir conexiones a los puertos TCP de 9804 a 9818.
Puedes utilizar curl
para verificar que se puede acceder al proxy:
curl http://localhost:9804/
Para más ayuda, consulta Agent Troubleshooting (solucionar problemas de Agent).
Datadog Agent FIPS Proxy no puede conectarse a consumo de Datadog
Si se producen errores de HTTP como 502
, 503
, o si el proxy devuelve una respuesta vacía, es posible que Datadog Agent FIPS Proxy no pueda reenviar tráfico al backend de Datadog.
Verifica los logs de Datadog Agent FIPS Proxy con:
sudo journalctl -u datadog-fips-proxy --no-pager
Controla los logs para errores como:
haproxy[292759]: [WARNING (ADVERTENCIA) (292759) : Servidor
datadog-api/mothership3 está CAÍDO, razón: Capa4 tiempo de espera, duración vcheck: 2000 ms. Quedan 0 servidores activos y 0 de backup. 0 sesiones activas, 0 en cola, 0 restantes en cola.
[ALERT (ALERTA)] (292759): El backend 'datadog-api' no tiene servidor disponible.
o
haproxy[1808]: [WARNING (ADVERTENCIA) (1808) : Servidor
datadog-metrics/mothership2 está CAÍDO, razón: Capa4
problema de conexión, info: "Conexión rechazada", duración del check: 0 ms. Quedan 0 servidores activos y 0 de backup. 0
sesiones activas, 0 en cola, 0 restantes en cola.
haproxy[1808]: [ALERT (ALERTA)] (1808): El backend 'datadog-metrics' no tiene servidor disponible.
Estos errores indican que Datadog Agent FIPS Proxy no puede ponerse en contacto con los sistemas backend, posiblemente debido al bloqueo de un cortafuegos o a otro problema de red. Datadog Agent FIPS Proxy requiere acceso a Internet a los endpoints de consumo de Datadog. Puedes encontrar las direcciones IP de estos endpoints through the API (a través de la API).
Para más información sobre conexiones salientes desde el Agent, consulta la guía Network Traffic (tráfico de red).
Si sigues teniendo dudas sobre tu problema, ponte en contacto con Datadog support (asistencia de Datadog).
Preguntas frecuentes
1. ¿Tienen que estar el Datadog Agent y el Datadog Agent FIPS Proxy en el mismo host?
Sí, la conformidad con FIPS no se conserva si Datadog Agent FIPS Proxy y Datadog Agent no están en el mismo host.
Del mismo modo, la conformidad con FIPS no se mantiene si la opción fips.enabled
no se establece en verdadero
en datadog.yaml
.
2. ¿Quién es responsable de fortalecer el host?
Tú, el cliente de Datadog, eres responsable de la seguridad y el fortalecimiento de host.
3. ¿Están fortalecidas las imágenes de Datadog Agent FIPS Proxy?
Aunque las imágenes proporcionadas se han construido teniendo en cuenta la seguridad, no se han evaluado con respecto a las recomendaciones de referencia del CIS ni a las normas STIG de DISA.
4. ¿Son compatibles con FIPS todas las comunicaciones entrantes y salientes de Agent?
Datadog Agent FIPS Proxy solo protege la comunicación que se origina en Agent y se dirige a los endpoints de la API de admisión Datadog. Esto significa que otras formas de comunicación que terminen en el Agent o se originen en el Agent no son conformes a FIPS gracias a esta solución.
5. ¿Se admiten todas las comunicaciones entre el FIPS de Cluster Agent y Node Agents?
Datadog Agent FIPS Proxy solo protege la comunicación que se origina en Cluster Agent y se dirige a los endpoints de la API de admisión Datadog. Esto significa que otras formas de comunicación que terminen en Cluster Agent o se originen en Cluster Agent no son conformes a FIPS gracias a esta solución.
6. ¿Se mantiene la conformidad con FIPS si reconstruimos o reconfiguramos Datadog Agent FIPS Proxy para adaptarlo a nuestras necesidades de implementación o de pruebas?.
Aunque la reconstrucción, reconfiguración o modificación de Datadog Agent FIPS Proxy pueda ser una configuración técnicamente operativa, Datadog no puede garantizar la conformidad con FIPS si Datadog Agent FIPS Proxy no se utiliza exactamente como se explica en la documentación.
7. Mi Datadog Agent está enviando datos correctamente a pesar de que no he seguido todos los pasos de instalación indicados anteriormente. ¿Mi instalación es compatible con FIPS?
Datadog no puede garantizar la conformidad con FIPS si Datadog Agent FIPS Proxy no se utiliza exactamente como está documentado.
La configuración correcta incluye tener tu Datadog Agent configurado para comunicarte con el Datadog Agent FIPS Proxy configurando la opción fips.enabled
, y tener un Datadog Agent FIPS Proxy en ejecución.
**8. ¿Están las versiones lanzadas de Datadog Agent vinculadas a las versiones lanzadas de Datadog Agent FIPS Proxy?
No, las versiones del Datadog Agent FIPS Proxy están desacopladas de las versiones Datadog Agent. Utiliza la última de las versiones Datadog Agent y Datadog Agent FIPS Proxy
para disponer de todos los productos disponibles compatibles con Datadog Agent y Datadog Agent FIPS Proxy.
Leer más
Más enlaces, artículos y documentación útiles: