Après que la vulnérabilité de Poodle a été révélée récemment, notre équipe a décidé de passer de SSLv3. Mais avant la suppression complète, ils veulent avertir les utilisateurs quotidiens que leur navigateur utilise SSLv3 obsolète. Nous avons donc eu l'idée de
- Détecter le protocole (SSLv3, TLS1 etc ...) du déchargement SSL frontal (nous utilisons nginx)
- Passez cette information (protocole SSL) via l'en-tête HTTP à Apache-backend.
Ensuite, notre code principal traitera cet en-tête et donnera un avertissement si le client utilise SSLv3 .
Je sais que nginx a une fonctionnalité proxy_set_header
. Donc, celui-ci serait aussi simple que
proxy_set_header X-HTTPS-Protocol $something;
Maintenant, le problème est: évidemment nginx connaît le protocole utilisé par le client, mais comment puis-je transmettre ces informations au backend via l'en-tête HTTP?
Merci
Comme l'a souligné un utilisateur de redirection de thread Apache similaire s'il utilise SSLv3 , cette idée peut devenir très très mauvaise.
La raison est que l'établissement de liaison TLS a lieu avant que le trafic HTTP ne soit envoyé via le tunnel TLS. Au moment où notre backend détecte le protocole SSL, le client peut avoir envoyé des données privées lors de sa première demande. Pour une solution permanente et à long terme, nous devrions envisager de désactiver SSLv3.