SSL в режиме ядра
Ssl в режиме ядра появился в Windows Server 2003 с пакетом обновления 1 (SP1) с ограниченной поддержкой. Для компьютеров под управлением Windows Server 2003 с пакетом обновления 1 (SP1) необходимо задать раздел реестра, чтобы включить ssl ядра. Для компьютеров под управлением Windows Server 2008 и Windows Vista предоставляется полная поддержка ssl в режиме ядра.
В следующих разделах описывается поддержка SSL в режиме ядра.
- Режимы ядра SSL в Windows Server 2003 с пакетом обновления 1 (SP1)
- Ssl в режиме ядра в Windows Server 2008 и Windows Vista
В Windows Server 2003 с пакетом обновления 1 (SP1) API HTTP-сервера предоставляет возможность запуска безопасности SSL в режиме ядра (по умолчанию используется протокол SSL в пользовательском режиме). Функция режима ядра повышает производительность SSL за счет перемещения операций шифрования и расшифровки в ядро, что сокращает количество переходов между режимом ядра и пользовательским режимом.
Следующие функции не поддерживаются при выполнении SSL в режиме ядра:
- Client certificates
- Шифры RC2
- Протокол PCT 1.0
- Изменение конфигурации сертификата сервера требует перезапуска службы HTTP
- Поддержка массового шифрования и разгрузки
Ssl в режиме ядра управляется значением реестра EnableKernelSSL и включается путем установки значения 1. Включение SSL в режиме ядра отключит пользовательский режим SSL и потребует перезапуска службы HTTP, чтобы вступил в силу. Раздел реестра EnableKernelSSL находится по адресу:
HKEY_LOCAL_MACHINE\Системы\CurrentControlSet\Услуги\HTTP\Параметры\EnableKernelSSL
Для компьютеров под управлением Windows Server 2008 и Windows Vista API HTTP-сервера предоставляет расширенные функции SSL.
Поддерживаются следующие новые функции:
- Полная поддержка сертификатов клиента в режиме ssl в режиме ядра
- SSL в режиме ядра для всех транзакций HTTP SSL
- Поддержка массового шифрования и разгрузки
- Протокол PCT 1.0
- Шифры RC2
- Повышение производительности по сравнению с SSL в пользовательском режиме
Ssl в режиме ядра можно настроить с помощью двух значений реестра в разделе параметров HTTP, расположенном по адресу:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Services
HTTP
Parameters
EnableSslCloseNotify
DisableSslCertChainCacheOnlyUrlRetrieval
Пользователь должен иметь права администратора или локальной системы для изменения значений реестра и просмотра или изменения файлов журнала и папки, в которой они содержатся.
Сведения о конфигурации в значениях реестра считываются при запуске драйвера API HTTP-сервера. В результате при изменении параметров драйвер должен быть остановлен и перезапущен для чтения новых значений. Это можно сделать с помощью следующих команд консоли:
net stop http
net start http
В следующей таблице перечислены значения конфигурации реестра.
Значение реестра | Описание |
---|---|
EnableKernelSSL |
Windows Server 2008 и Windows Vista: Это значение реестра устарело. |
EnableSslCloseNotify | Значение DWORD , которое имеет значение TRUE , чтобы включить close-notify, или FALSE , чтобы отключить требование уведомления о закрытии. Уведомление о закрытии отключено по умолчанию. Если включено уведомление о закрытии, клиентское приложение должно отправить сообщение о закрытии уведомления перед закрытием TCP-подключений. API HTTP-сервера также отправляет уведомление о закрытии перед закрытием подключения. Если функция close-notify включена и клиент отправляет сообщение о закрытии уведомления, API HTTP-сервера будет повторно использовать сеанс SSL для будущих подключений к клиенту. Если клиент не отправляет уведомление о закрытии, API HTTP-сервера не будет повторно использовать тот же сеанс SSL для будущих подключений. Таким образом, для нового подключения активируется полное подтверждение SSL, что снижает производительность. Примечание: Включение close-notify помогает устранить атаки усечения на HTTPS-запросы и ответы. Если функция close-notify отключена, API HTTP-сервера повторно использует сеанс SSL для будущих подключений. |
DisableSslCertChainCacheOnlyUrlRetrieval | Значение DWORD , которое имеет значение TRUE , чтобы API HTTP-сервера мог получать промежуточные сертификаты из Интернета или локального хранилища, или значение FALSE для получения промежуточных сертификатов только из локального хранилища. Значение реестра по умолчанию — FALSE. По умолчанию API HTTP-сервера создает цепочку сертификатов клиента, извлекая промежуточные сертификаты из хранилища промежуточного центра сертификации в учетной записи локального компьютера. Если задать это значение TRUE , API HTTP-сервера может получать промежуточные сертификаты не только из локального хранилища, но и из промежуточного центра сертификации в Интернете. |