После того, как уязвимость Пуделя была недавно показана, наша команда решила идти дальше от SSLv3. Но перед полным удалением, они хотят предупредить ежедневных пользователей, что их использование браузера удержало от использования SSLv3. Так, мы подошли идея
Затем наш код бэкенда обработает тот заголовок и даст предупреждение если клиентское использование SSLv3.
Я зная, что nginx имеет функцию proxy_set_header
. Таким образом, этот был бы прост как
proxy_set_header X-HTTPS-Protocol $something;
Теперь, проблема: очевидно, nginx знают протокол, используемый клиентом, но как я могу передать ту информацию бэкенду через HTTP-заголовок?
Спасибо
Как указано подобным пользователем перенаправления Apache потока, если они используют SSLv3, эта идея может, стал очень очень плохой идеей.
Причиной является квитирование TLS, происходит, прежде чем Трафик HTTP отправляется через туннель TLS. К тому времени, когда наш бэкенд обнаруживает протокол SSL, клиент, возможно, отправил частные данные в своем первом запросе. Для постоянного и долгосрочного решения мы должны рассмотреть для отключения SSLv3.
Nginx использует множество переменных, которые можно использовать в config. На этой странице представлен полный список переменных. Переменная, содержащая протокол в запросе HTTPS, - ssl_protocol
. Цитата:
$ ssl_protocol
возвращает протокол установленного SSL-соединения;
Таким образом, ваша конфигурация proxy_set_header
будет
proxy_set_header X-HTTPS-Protocol $ssl_protocol;
Другая ссылка: здесь