Depois que a vulnerabilidade do Poodle foi revelada recentemente, nossa equipe decidiu mudar do SSLv3. Porém, antes da remoção completa, eles desejam avisar aos usuários diários que seu navegador usa o SSLv3 reprovado. Então, surgiu a ideia de
- Detectar o protocolo (SSLv3, TLS1 etc ...) do descarregamento de SSL de front-end (usamos nginx)
- Passe essas informações (protocolo SSL) via cabeçalho HTTP para o Apache-back-end.
Em seguida, nosso código de back-end processará esse cabeçalho e avisará se o cliente usar SSLv3 .
Eu sei que o nginx tem recurso proxy_set_header
. Então este seria simples como
proxy_set_header X-HTTPS-Protocol $something;
Agora, o problema é: obviamente, o nginx conhece o protocolo usado pelo cliente, mas como posso passar essas informações para o back-end via cabeçalho HTTP?
obrigado
Conforme apontado por um segmento semelhante, o Apache redireciona o usuário se ele estiver usando SSLv3 , essa ideia pode se tornar muito, muito ruim.
O motivo é que o handshake TLS ocorre antes do tráfego HTTP ser enviado pelo túnel TLS. No momento em que nosso back-end detecta o protocolo SSL, o cliente pode ter enviado dados privados em sua primeira solicitação. Para soluções permanentes e de longo prazo, devemos considerar desativar o SSLv3.