Después de que se revelara la vulnerabilidad de Poodle recientemente, nuestro equipo decidió pasar de SSLv3. Pero antes de la eliminación completa, quieren advertir a los usuarios diarios que su navegador usa SSLv3 en desuso. Entonces, se nos ocurrió la idea de
- Detecta el protocolo (SSLv3, TLS1, etc.) desde la descarga SSL de front-end (usamos nginx)
- Pase esa información (protocolo SSL) a través del encabezado HTTP a Apache-backend.
Luego, nuestro código de fondo procesará ese encabezado y dará una advertencia si el cliente usa SSLv3 .
Sé que nginx tiene función proxy_set_header
. Entonces este sería tan simple como
proxy_set_header X-HTTPS-Protocol $something;
Ahora, el problema es: obviamente, nginx conoce el protocolo utilizado por el cliente, pero ¿cómo puedo pasar esa información al backend a través del encabezado HTTP?
Gracias
Como señaló un hilo similar, Apache redirige al usuario si está utilizando SSLv3 , esta idea puede convertirse en una muy, muy mala idea.
La razón es que el protocolo de enlace TLS ocurre antes de que el tráfico HTTP se envíe a través del túnel TLS. Para cuando nuestro backend detecte el protocolo SSL, el cliente puede haber enviado datos privados en su primera solicitud. Para una solución permanente ya largo plazo, debemos considerar deshabilitar SSLv3.