Совершенная прямая секретность нарушена после обновления сертификата SSL на Windows Server 2008 R2 / IIS 7.5 - PullRequest
0 голосов
/ 14 марта 2019

Я недавно обновил сертификаты SSL нашего веб-сервера, включая промежуточные сертификаты, и теперь я вижу ошибку при подключении с iPhone, которая говорит: «Произошла ошибка SSL, и невозможно установить безопасное соединение с сервером».При исследовании этой ошибки было установлено, что Perfect Forward Secrecy каким-то образом был нарушен на этом сервере.Сервер, на котором не было обновленных сертификатов, работает.

Я заглянул в реестр на сломанном сервере:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL

... где я не нашел ни одного шифра!На работающем сервере есть несколько опций.

Более того, когда я проверяю, что каждый сервер поддерживает с помощью openssl в командной строке, я обнаруживаю, что «хороший» сервер возвращается вообще ни с чем,и «плохой» сервер, по крайней мере, показывает несколько вещей, таких как TLS1.

Вот скрипт, который я использую для проверки шифров на данном сервере:

for v in ssl2 ssl3 tls1 tls1_1 tls1_2; do
 for c in $(openssl ciphers 'ALL:eNULL' | tr ':' ' '); do
   openssl s_client -connect $1:443 \
   -cipher $c -$v < /dev/null > /dev/null 2>&1 && echo -e "$v:\t$c"
 done
done

Требуется аргумент, имя сервера.Когда я запускаю его, скажем, на google.com, я получаю целую кучу вещей назад.Когда я запускаю его на «хорошем сервере», ничего, и когда я запускаю его на «плохом» сервере, я получаю только протоколы TLS1.

Кто-нибудь видел это раньше?Я унаследовал эти серверы после многих лет пренебрежения и знаю, что криптографическая настройка на них очень уязвима, но сейчас мне нужно просто «заставить ее работать».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...