Configurar proxies de confianza

En entornos que requieren un nivel de seguridad reforzado, la configuración de los proxies de confianza es obligatoria.

Cuando Cyberwatch se encuentra detrás de uno o varios proxies (como un balanceador de carga, un reverse proxy o un proxy de seguridad), es necesario configurar la variable TRUSTED_PROXIES para indicar a Cyberwatch qué proxies son de confianza. Esta configuración permite que Cyberwatch obtenga las direcciones IP correctas de los clientes en las sesiones y los registros, utilizando las cabeceras HTTP apropiadas (como X-Forwarded-For) en lugar de la dirección IP del proxy.

Solo las direcciones IP de los proxies de confianza se utilizarán para determinar la dirección IP real del cliente. Asegúrese de incluir únicamente los proxies que controla y en los que confía.

Configuración

Con Docker Swarm y Podman

  1. Añada la variable de entorno TRUSTED_PROXIES en el archivo /etc/cyberwatch/containers.env:

    TRUSTED_PROXIES=10.0.0.1,10.0.0.2
    

    Puede especificar:

    • Una sola dirección IP: TRUSTED_PROXIES=10.0.0.1
    • Varias direcciones IP separadas por comas: TRUSTED_PROXIES=10.0.0.1,10.0.0.2,192.168.1.100
    • Una o varias redes CIDR: TRUSTED_PROXIES=10.0.0.0/24
  2. Reinicie Cyberwatch:

    sudo cyberwatch restart
    

Con Kubernetes

  1. Añada la variable de entorno TRUSTED_PROXIES en web.env dentro del archivo values.yml:

    web:
      env:
        ## Trusted proxy IP addresses or CIDR ranges
        ## Allows Cyberwatch to correctly identify client IP addresses when behind proxies
        TRUSTED_PROXIES: "10.0.0.1,10.0.0.2"
    

    Puede especificar:

    • Una sola dirección IP: TRUSTED_PROXIES: "10.0.0.1"
    • Varias direcciones IP separadas por comas: TRUSTED_PROXIES: "10.0.0.1,10.0.0.2,192.168.1.100"
    • Una o varias redes CIDR: TRUSTED_PROXIES: "10.0.0.0/24"
  2. Reinicie Cyberwatch siguiendo el procedimiento descrito en Reiniciar y actualizar el chart Helm

Verificacion

Después de la configuración, puede verificar que las direcciones IP se detectan correctamente consultando los registros de sesiones o comprobando las direcciones IP registradas en la interfaz de Cyberwatch.

Si la variable TRUSTED_PROXIES contiene un valor no válido, la aplicación no se inicia y sus logs indican el valor erróneo.

Comportamiento por defecto

Si la variable TRUSTED_PROXIES no está definida, solo la dirección 127.0.0.1 se considera proxy de confianza. Desde la versión 15.7.2, las direcciones de las redes privadas listadas en la RFC 1918 ya no se consideran proxies de confianza por defecto: si Cyberwatch se encuentra detrás de un proxy no declarado, la dirección IP registrada para los clientes es la del proxy.

El valor none produce el mismo comportamiento:

Para Docker Swarm:

TRUSTED_PROXIES=none

Para Kubernetes:

web:
  env:
    TRUSTED_PROXIES: "none"