Включение сшивания 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 масштабироваться до тысяч веб-сайтов, которые потенциально могут иметь тысячи серверных сертификатов, включение этого поведения по умолчанию может вызвать проблемы с производительностью.

Примечание. Включение этого раздела реестра может повлиять на производительность.

Другие вопросы по тегам