Po niedawnym ujawnieniu podatności Poodle nasz zespół zdecydował się na przejście z SSLv3. Ale przed całkowitym usunięciu, chcą ostrzec tych codziennych użytkowników , że ich użycie przeglądarka nieaktualnych SSLv3. Więc wpadliśmy na pomysł
- Wykryj protokół (SSLv3, TLS1 itp.) Z front-offloadingu SSL (używamy nginx)
- Przekaż te informacje (protokół SSL) przez nagłówek HTTP do backendu Apache.
Następnie nasz kod zaplecza przetworzy ten nagłówek i wyświetli ostrzeżenie, jeśli klient użyje protokołu SSLv3 .
Wiem, że nginx ma funkcję proxy_set_header
. Więc ten byłby prosty jak
proxy_set_header X-HTTPS-Protocol $something;
Problem polega na tym: oczywiście nginx zna protokół używany przez klienta, ale jak mogę przekazać te informacje do backendu za pomocą nagłówka HTTP?
Dzięki
Jak wskazał podobny wątek użytkownik przekierowujący Apache, jeśli używa SSLv3 , ten pomysł może stać się bardzo złym pomysłem.
Przyczyną jest uzgadnianie TLS, zanim ruch HTTP zostanie wysłany przez tunel TLS. Zanim nasz backend wykryje protokół SSL, klient mógł wysłać prywatne dane w swoim pierwszym żądaniu. W przypadku trwałego i długoterminowego rozwiązania należy rozważyć wyłączenie protokołu SSLv3.