This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
software:win:sec:enabletls [2022/02/04 18:32] – removed - external edit (Unknown date) 127.0.0.1 | software:win:sec:enabletls [2022/02/04 18:32] – ↷ Page moved from ru:software:win:sec:enabletls to software:win:sec:enabletls root | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Повышаем безопасность встроенных средств: | ||
+ | Затрагивает только софт который использует системные API для SSL: IE, WebDav redirector, update client, RDP, SQL NLA, RRAS...\\ | ||
+ | Не затрагивает софт который со своими крипто средствами, | ||
+ | |||
+ | По умолчанию в Windows 7 (остальные смотрите сами) использует TLS1.0 и SSLv3, также не использует сильные алгоритмы хеширования, | ||
+ | Однако данные алгоритмы реализованы и могут быть включены.\\ | ||
+ | |||
+ | ===== Предупреждение ===== | ||
+ | **ВСЕ МОДИФИКАЦИИ НА СВОЙ СТРАХ И РИСК!!!**\\ | ||
+ | .reg файлы не публикую специально, | ||
+ | |||
+ | 1. Если у вас установлены КриптоПро или ещё какие либо сторонние/ | ||
+ | |||
+ | 2. Есть реальная возможность сломать RDP на сервере выставив некоторые параметры, | ||
+ | |||
+ | |||
+ | ===== Алгоритмы шифрования и обмена ключами ===== | ||
+ | **Предупреждение**: | ||
+ | Следите/ | ||
+ | |||
+ | |||
+ | В реестре, | ||
+ | < | ||
+ | многостроковый параметр: | ||
+ | Значение по умолчанию | ||
+ | < | ||
+ | TLS_RSA_WITH_AES_128_CBC_SHA | ||
+ | TLS_RSA_WITH_AES_256_CBC_SHA256 | ||
+ | TLS_RSA_WITH_AES_256_CBC_SHA | ||
+ | TLS_RSA_WITH_RC4_128_SHA | ||
+ | TLS_RSA_WITH_3DES_EDE_CBC_SHA | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384 | ||
+ | TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | ||
+ | TLS_DHE_DSS_WITH_AES_128_CBC_SHA | ||
+ | TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | ||
+ | TLS_DHE_DSS_WITH_AES_256_CBC_SHA | ||
+ | TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA | ||
+ | TLS_RSA_WITH_RC4_128_MD5 | ||
+ | SSL_CK_RC4_128_WITH_MD5 | ||
+ | SSL_CK_DES_192_EDE3_CBC_WITH_MD5 | ||
+ | TLS_RSA_WITH_NULL_SHA256 | ||
+ | TLS_RSA_WITH_NULL_SHA</ | ||
+ | |||
+ | **Включаем всё** | ||
+ | < | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384 | ||
+ | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384 | ||
+ | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 | ||
+ | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | ||
+ | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | ||
+ | TLS_RSA_WITH_AES_256_GCM_SHA384 | ||
+ | TLS_RSA_WITH_AES_128_GCM_SHA256 | ||
+ | TLS_RSA_WITH_AES_256_CBC_SHA256 | ||
+ | TLS_RSA_WITH_AES_256_CBC_SHA | ||
+ | TLS_RSA_WITH_AES_128_CBC_SHA256 | ||
+ | TLS_RSA_WITH_AES_128_CBC_SHA | ||
+ | TLS_RSA_WITH_RC4_128_SHA | ||
+ | TLS_RSA_WITH_3DES_EDE_CBC_SHA | ||
+ | TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | ||
+ | TLS_DHE_DSS_WITH_AES_256_CBC_SHA | ||
+ | TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | ||
+ | TLS_DHE_DSS_WITH_AES_128_CBC_SHA | ||
+ | TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</ | ||
+ | |||
+ | Если сравнить, | ||
+ | Когда я удалил некоторые слабые варианты, | ||
+ | Список алгоритмов можно посмотреть тут: gpedit.msc, Конфигурация компьютера, | ||
+ | в описании этого параметра есть все доступные алгоритмы.\\ | ||
+ | Пользоваться групповой политикой не стал - ограничение в 1023 знака, в такое даже алгоритмы по умолчанию не вписываются.\\ | ||
+ | |||
+ | Результат, | ||
+ | Было: SSL_PROTO:" | ||
+ | Стало: SSL_PROTO:" | ||
+ | (у меня на сервере жёстко заданы алгоритмы и для случая " | ||
+ | |||
+ | ===== Алгоритмы ЭЦП в SSL/TLS ===== | ||
+ | Ключ: < | ||
+ | многостроковый параметр: | ||
+ | |||
+ | Значение по умолчанию | ||
+ | < | ||
+ | ECDSA/ | ||
+ | ECDSA/ | ||
+ | ECDSA/SHA1 | ||
+ | RSA/SHA512 | ||
+ | RSA/SHA256 | ||
+ | RSA/SHA384 | ||
+ | RSA/SHA1 | ||
+ | DSA/ | ||
+ | Единственное, | ||
+ | Не так давно ECDSA/ | ||
+ | |||
+ | ===== Включение/ | ||
+ | SSLv3 - пора закапывать, | ||
+ | TLS1.0 - в принципе тоже, но на него завязана работа RDP и много кто только на нём сидит до сих пор. Поэтому безболезненно отключить его нельзя.\\ | ||
+ | Тем временем МС рекомендует: | ||
+ | < | ||
+ | [[http:// | ||
+ | при этом 1.1 и 1.2 они оставляют в подвешенном состоянии.\\ | ||
+ | |||
+ | ==== Отключаем SSL2 и SSL3 ==== | ||
+ | < | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0] | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | ==== Включаем TLS 1.1 и 1.2 ==== | ||
+ | < | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | <spoiler title=" | ||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0] | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] | ||
+ | " | ||
+ | " | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] | ||
+ | " | ||
+ | " | ||
+ | На TLS 1.0 в венде много завязано намертво, | ||
+ | |||
+ | Подробности по включению/ | ||
+ | |||
+ | |||
+ | ===== Дополнительные настройки TLS/SSL ===== | ||
+ | Раздел: | ||
+ | |||
+ | **AllowInsecureRenegoClients**, | ||
+ | |||
+ | **DisableRenegoOnClient**, | ||
+ | Поставил 0: сервер у меня только RDP, а DoS-ить клиента не очень перспективно таким образом, | ||
+ | Подробнее: | ||
+ | |||
+ | **UseScsvForTls** - если выставить 1 то это отключит механизм пересогласования для совместимости со старыми реализациями TLS 1.0 (Vista без сп1). Ставим 0, чтобы включить расширение Renegotiation Info (RFC5746).\\ | ||
+ | Подробности: | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | **SendExtraRecord** - SSL/TLS 1.0 - защита от beast атак:\\ | ||
+ | 0 - вроде включено\\ | ||
+ | 1 - точно включено, | ||
+ | 2 - патч совсем выключен, | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | (тут рекомендуют использовать RC4 а патч выключать, | ||
+ | |||
+ | |||
+ | ===== Утилита ===== | ||
+ | И на последок, | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== PS ===== | ||
+ | For fun: [[http:// | ||
+ | * Many applications that use schannel are written so that the receiver side assumes application data will be packed into a single packet. This occurs even though the application calls schannel for decryption. The applications ignore a flag that is set by schannel. The flag indicates to the application that there is more data to be decrypted and picked up by the receiver. **This method does not follow the MSDN-prescribed method of using schannel. Because the security update enforces record-splitting, | ||
+ | * **Broken applications include Microsoft products and in-box components.** The following are examples of scenarios that may be broken when the SendExtraRecord registry value is set to 1: | ||
+ | * All SQL products, and applications that are built onto SQL.\\ | ||
+ | * Terminal Servers that have Network Level Authentication (NLA) turned on. By default, NLA is enabled in Windows Vista and later versions of Windows.\\ | ||
+ | * Some Routing Remote Access Service (RRAS) scenarios.\\ | ||