¿Deberíamos habilitar TLS en la conexión back-end después del proxy inverso? [duplicar]

1

Tengo un proxy inverso (por ejemplo, nginx, nghttpx, haproxy) que sirve de proxy para la conexión a un servicio que se ejecuta en el mismo servidor físico. Creo que la forma más común de configurar esta configuración es habilitar TSL solo en el frontend y dejar la conexión de backend sin seguridad. En otras palabras, el proxy inverso es el punto de terminación TLS.

¿Por qué no hay problemas de seguridad al dejar el backend sin garantía?

Si un cliente malintencionado conoce la dirección / puerto de un servicio backend, ¿no pueden conectarse a él directamente sin tener un certificado válido y esto no es un gran riesgo para la seguridad?

    
pregunta sh0731 27.06.2018 - 05:02
fuente

2 respuestas

3

Las conexiones al servidor backend deben rechazarse cuando se originan desde una dirección externa, es decir, desde otra máquina fuera de la máquina / subred segura. Esto se logra configurando el servidor backend y / o el sistema operativo. Si esto no se configura correctamente, entonces sí, podría dar lugar a una violación de seguridad importante.

Sin embargo, las conexiones generalmente seguras no requieren un certificado de cliente. Por lo general, el certificado prueba la autenticidad del servidor en lugar del cliente (pero hay algunas excepciones). Se requiere algún otro mecanismo (por ejemplo, autenticación básica, cookie, OAuth) para autenticar al cliente.

    
respondido por el snibbets 27.06.2018 - 08:38
fuente
1

La configuración más allá del punto de terminación TLS, generalmente, es tal que solo se aceptarán conexiones desde ciertas direcciones IP internas (generalmente el mismo servidor). Por ejemplo, si Nginx está configurado como proxy inverso y terminador TLS, y proxy_passes php solicita a Apache en el puerto 8080, alguien que no esté en la red no podrá conectarse directamente a Apache, solo el proxy inverso debería Poder pasarle peticiones. Se configuraría un firewall para bloquear todas las solicitudes al puerto 8080 en el servidor con el proxy inverso y la entidad backend en él.

También puede usar algo llamado upstream SSL , que hace vuelve a cifrar el tráfico más allá del proxy inverso. Esto suele ocurrir cuando el tráfico se envía a un servidor en otra ubicación (a través de un protocolo inseguro).

    
respondido por el cheers 27.06.2018 - 05:25
fuente

Lea otras preguntas en las etiquetas