Логирование Schannel (TLS/SSL)
Для диагностики проблем с безопасными подключениями (например, ошибок рукопожатия TLS) можно включить журналирование событий Schannel.
🔧 Ключ реестра
- Путь:
- HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
- Параметр: EventLogging (тип DWORD)
📊 Возможные значения
Значение | Описание |
---|---|
0x0000 | Логирование отключено |
0x0001 | Только ошибки |
0x0002 | Только предупреждения |
0x0004 | Только информационные сообщения |
0x0007 | Полное логирование (всё выше) |
💻 Пример команды PowerShell
Включить полное логирование:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" ` -Name "EventLogging" -Value 7 -Type DWord
📁 Где смотреть логи
Открыть: Просмотр событий (Event Viewer) → Windows Logs → System
- Источник события: `Schannel`
- Часто встречающиеся ID:
- 36874 — Ошибка при TLS-рукопожатии
- 36888 — Фатальная ошибка TLS
ℹ️ Примечания
- Перезагрузка не обязательна, но рекомендуется.
- Полезно для диагностики проблем с HTTPS, RDP, SMTP и другими TLS-сервисами.
Фильтрация событий TLS по версиям в Event Viewer
Фильтры для разных версий TLS
Откройте Schannel → Operational → Filter Current Log… → вкладка XML → галочка Edit query manually → вставьте нужный фильтр:
TLS 1.0
<QueryList> <Query Id="0" Path="System"> <Select Path="System"> *[EventData[Data[@Name="Protocol"] = "TLS 1.0"]] </Select> </Query> </QueryList>
Добавление кастом полей в IIS
Название поля | Источник | |
---|---|---|
crypt-protocol | CRYPT_PROTOCOL | ServerVariable |
crypt-cipher | CRYPT_CIPHER_ALG_ID | ServerVariable |
crypt-hash | CRYPT_HASH_ALG_ID | ServerVariable |
crypt-keyexchange | CRYPT_KEYEXCHANGE_ALG_ID | ServerVariable |
crypt-protocol
- TLS 1.2 400
- TLS1.1 100
- TLS1.0 40
- SSLv3 10