После того, как недавно была обнаружена уязвимость Poodle, наша команда решила перейти от SSLv3. Но до полного удаления, они хотят , чтобы предупредить о ежедневных пользователей , что их использование браузера устаревшее SSLv3. Итак, мы пришли к идее
- Определите протокол (SSLv3, TLS1 и т. Д.) Из внешней разгрузки SSL (мы используем nginx)
- Передайте эту информацию (протокол SSL) через HTTP-заголовок серверу Apache.
Затем наш внутренний код обработает этот заголовок и выдаст предупреждение, если клиент использует SSLv3 .
Я знаю, что nginx имеет особенность proxy_set_header
. Так что это было бы просто, как
proxy_set_header X-HTTPS-Protocol $something;
Теперь проблема в том, что nginx, очевидно, знает протокол, используемый клиентом, но как я могу передать эту информацию бэкэнду через HTTP-заголовок?
Благодарность
Как указывает аналогичный поток пользователей перенаправления Apache, если они используют SSLv3 , эта идея может стать очень-очень плохой идеей.
Причина в том, что рукопожатие TLS происходит до того, как трафик HTTP отправляется через туннель TLS. К тому времени, когда наш сервер обнаружит протокол SSL, клиент, возможно, уже отправил личные данные в своем первом запросе. Для постоянного и долгосрочного решения мы должны рассмотреть возможность отключения SSLv3.