Включение сшивания OCSP на сайте с поддержкой IIS SNI
Если при привязке сайта IIS установлен флажок "Требуется указание имени сервера", сшивание OCSP для сайта отключено.
Это легко подтвердить, включив SNI для сайта, который в данный момент не требует его, и проверив его с помощью https://www.ssllabs.com/ssltest/ или openssl:
openssl s_client -connect foobar.com:443 -servername foobar.com -tls1 -tlsextdebug -status
У кого-нибудь есть обходной путь для этого, чтобы клиенты сайтов с поддержкой SNI могли пользоваться преимуществами сшивания OCSP?
2 ответа
Создайте значение DWORD reg EnableOcspStaplingForSni
под HKLM\System\CurrentControlSet\Control\SecurityProviders\Schannel\
и установите его в ненулевое значение.
Согласно Microsoft это поведение по умолчанию отключено из-за потенциальных проблем с производительностью.
Чтобы включить сшивание OCSP для привязок SNI и CCS, найдите следующий раздел реестра:
"EnableOcspStaplingForSni"=dword:00000001
в разделе реестра:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]
Фрагмент Powershell:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\" -Name "EnableOcspStaplingForSni" -PropertyType DWord -Value 1
Справочная статья Microsoft, статья касается сервера Windows 2012, я проверил это, и это все еще актуально для 2016 года.
Сшивание OCSP
Сшивание по протоколу OCSP позволяет веб-серверу, такому как IIS, предоставлять текущее состояние отзыва сертификата сервера, когда он отправляет сертификат сервера клиенту во время установления связи TLS. Эта функция снижает нагрузку на серверы OCSP, поскольку веб-сервер может кэшировать текущее состояние OCSP сертификата сервера и отправлять его нескольким веб-клиентам. Без этой функции каждый веб-клиент будет пытаться получить текущее состояние OCSP сертификата сервера с сервера OCSP. Это создаст высокую нагрузку на этот сервер OCSP.
По умолчанию поддержка OCSP включена для веб-сайтов IIS, имеющих простую безопасную (SSL/TLS) привязку. Однако эта поддержка не включена по умолчанию, если веб-сайт IIS использует один или оба следующих типа безопасных (SSL/TLS) привязок:
Требуется указание имени сервера
Используйте централизованное хранилище сертификатов
В этом случае ответ сервера на приветствие во время рукопожатия TLS не будет включать состояние сшивания OCSP по умолчанию. Такое поведение повышает производительность: реализация сшивания Windows OCSP масштабируется до сотен серверных сертификатов. Поскольку SNI и CCS позволяют IIS масштабироваться до тысяч веб-сайтов, которые потенциально могут иметь тысячи серверных сертификатов, включение этого поведения по умолчанию может вызвать проблемы с производительностью.
Примечание. Включение этого раздела реестра может повлиять на производительность.