В октябре инженеры Google опубликовали информацию о критической уязвимости в SSL версии 3.0, получившей забавное название POODLE (Padding Oracle On Downgraded Legacy Encryption или пудель 🙂 ). Уязвимость позволяет злоумышленнику получить доступ к информации, зашифрованной протоколом SSLv3 с помощью атаки «man in the middle». Уязвимости подвержены как серверы, так и клиенты, которые могут соединяться по протоколу SSLv3.
В общем-то ситуация не удивительная, т.к. протоколу SSL 3.0, впервые представленного еще в 1996 году, уже исполнилось 18 лет и морально он уже устарел. В большинстве практических задач его уже заменил криптографический протокол TLS (версий 1.0, 1.1 и 1.2).
Для защиты от уязвимости POODLE рекомендуется полностью отключить поддержку SSLv3 как на стороне клиента, так и на стороне сервера и в дальнейшем использовать только TLS. Для пользователей устаревшего ПО (например, использующих IIS 6 на Windows XP) это означает, что они более не смогут просматривать HTTPS страницы и использовать другие SSL-сервисы . В том случае, если поддержка SSLv3 не отключена полностью, а по умолчанию предлагается используется более сильное шифрование, уязвимость POODLE все равно будет иметь место. Связано это с особенностями выбора и согласования протокола шифрования между клиентом и сервером, т.к. при обнаружении неисправностей в использовании TLS, происходит автоматический переход на SSL.
Рекомендуем проверить все свои сервисы, которые могут использовать SSL/TLS в любом виде и отключить поддержку SSLv3. Проверить свой веб-сервер на наличие уязвимости можно с помощью онлайн теста, например, тут: http://poodlebleed.com/.
Содержание:
- Отключаем SSLv3 в Windows на уровне системы
- Отключаем SSLv2 (Windows 2008 / Server и ниже)
- Включаем TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше
- Утилита для управления системными криптографическими протоколами в Windows Server
Примечание. Нужно четко понимать, что отключение SSL v3 на уровне всей системы будет работать только для ПО, которое использует системные API для SSL-шифрования (Internet Explorer, IIS, WebDav , SQL NLA, RRAS, Direct Access и др.). Программы, которые используют собственные крипто средства (Firefox, Opera и т.д.) нужно обновить и настроить индивидуально.
Отключаем SSLv3 в Windows на уровне системы
В ОС Windows управление поддержкой протоколов SSL/TLS осуществляется через реестр.
Совет. Перед выполнением указанных изменений рекомендуем создать резервную копию указанной ветки с помощью функции редактора реестра Экспорт.
В этом примере мы покажем, как полностью на уровне системы (как на уровне клиента, так и сервера) отключить SSLv3 в Windows Server 2012 R2:
- Откройте редактор реестра (regedit.exe) с правами администратора
- Перейдите в ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocols
- Создайте новый раздел с именем SSL 3.0 ( New -> Key)
- В созданном разделе SSL 3.0 создайте еще два подраздела с именами Client и Server.
- Затем в разделе Client создайте новый параметр типа DWORD (32-bit) с именем DisabledByDefault
- В качестве значения ключа DisabledByDefault укажем 1.
- Затем в ветке Server создайте новый параметр типа DWORD (32-bit) с именем Enabled и значением 0.
- Для вступления изменений в силу необходимо перезагрузить сервер
Отключаем SSLv2 (Windows 2008 / Server и ниже)
В ОС, предшествующих Windows 7 / Windows Server 2008 R2 по-умолчанию используется еще менее безопасный и устаревший протокол SSL v2, который также следует отключить из соображений безопасности (в более свежих версиях Windows, SSLv2 на уровне клиента отключен по умолчанию и используется только SSLv3 и TLS1.0). Для отключения SSLv2 нужно повторить описанную выше процедуру, только для раздела реестра SSL 2.0.
В Windows 2008 / 2012 SSLv2 на уровне клиента отключен по умолчанию.
Включаем TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше
Windows Server 2008 R2 / Windows 7 и выше поддерживают алгоритмы шифрования TLS 1.1 и TLS 1.2, но по-умолчанию эти протоколы отключены. Включить поддержку TLS 1.1 и TLS 1.2 в этих версиях Windows можно по схожему сценарию
- В редакторе реестра откройте ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols
- Создайте два раздела TLS 1.1 и TLS 1.2
- Внутри каждого раздела создайте по подразделу с именами Client и Server
- В каждом из разделов Client и Server создайте по ключу типа DWORD:
- DisabledByDefault со значением 0
- Enabled со значением 1
- После внесенных изменений сервер следует перезагрузить.
Утилита для управления системными криптографическими протоколами в Windows Server
Существует бесплатная утилита IIS Crypto, позволяющая удобно управлять параметрами криптографических протоколов в Windows Server 2003, 2008 и 2012. С помощью данной утилиты включить или отключить любой из протоколов шифрования можно всего в два клика.
В программе уже есть несколько шаблонов, позволяющие быстро применить предустановки для различных вариантов настроек безопасности.
Table of Contents
- Introduction
- Steps
- More information
- Troubleshooting
- Applications
- SSL still enabled
- Related References
Introduction
For security reasons, you may need to disable SSLv2 on a domain controller to force secure LDAP communication using SSLv3 or TLSv1.
The following article,
What is the Point of Encryption if you Don’t Know Who For? offers a description and comparison between
- SSLv2,
- SSLv3, and
- TLSv1 encryption methods
(see the section, SSLv2 versus SSLv3/TLSv1 and Assurance Level).
Steps
To disable SSLv2 on a Windows Server 2008 or Windows Server 2008 R2 domain controller perform the following steps:
-
Open the registry and create a key named Server under the following entry :
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0]
-
Under the registry key Server, create a DWORD value named
Enabled and change the value data to 00000000. -
Reboot.
More information
For more information see
KB 245030: How to Restrict the Use of Certain Cryptographic Algorithms and Protocols in Schannel.dll
Troubleshooting
Applications
If you have any applications that connect to the domain controller using SSL v2.0, they will fail to connect. You can use a network monitoring tool to analyze network traffic to see if there are any packets using SSL v2.0.
SSL still enabled
If you are trying to follow the WIKI post «How to Disable SSLv2 on a Windows
Server 2008 and Windows Server 2008 R2» after doing the work, you reboot the problem server, and after rebooting your security scan is still alarming about «SSLv2» enabled on the problem server , create the fallowing key instead.
- Open the registry and create a key named Server under the following entry :
- HKEY_LOCAL_MACHINE
- SYSTEM
- CurrentControlSet
- Control
- SecurityProviders
- SCHANNEL
- Protocols
- SSL 2.0
- Under the registry key Server, create a DWORD value named “DisabledByDefault” and change the value data to “00000001”
- Reboot the server
If you have more than one server you can export the .reg key and import it on other servers by simply clicking on it
Related References
This article was derived from the DS forum post,
- Is it possible to disable SSLv2 on a Windows 2008 domain controller so that secure LDAP communication is forced to use SSLv3 or TLSv1?
(http://social.technet.microsoft.com/Forums/en-US/winserverDS/thread/1cf01f33-9cbe-4b76-b01c-83923c4cda04).
Windows server 2008 enables SSL v2 and SSL v3 by default. These versions are outdated weak and exposed to recent threats, including POODLE. To secure the server and pass PCI compliance checks you must disable these weak ciphers and enforce clients to use TLS 1.0 or greater.
Here’s how to disable SSL v2:
1. Start – Run
2. Type “regedit” and click OK
3. Locate the following key: HKey_Local_MachineSystemCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0
4. Right click the “SSL 2.0” key and select Edit > Add key
5. Type “Server” and click Enter
6. Right click Server and select New > Add DWORD (32 bit) value
7. Type “Enabled” as the name and make sure the value is “0”
8. Restart the server
Here’s how to disable SSL v3:
1. Start – Run
2. Type “regedit” and click OK
3. Locate the following key: HKey_Local_MachineSystemCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0 (If it doesn’t exist, create it)
4. Right click the “SSL 3.0” key and select Edit > Add key
5. Type “Server” and click Enter
6. Right click Server and select New > Add DWORD (32 bit) value
7. Type “Enabled” as the name and make sure the value is “0”
8. Restart the server
- Related Content by Tag
- poodle
- Security
- SSLv2
- SSLv3
- tls
- Windows
- Windows Server
- Remove From My Forums
-
Question
-
Hi.
Can anyone give me a step by step on how to disable SSL 2.0 on IIS 7.5 please? I cannot find an article for it and those refering to IIS 7.0 do not seem to work.
Regards,
Morris
Best Regards, Morris Fury AFRIDATA.net
Answers
-
Set the follow registry value, and restart the server:
Key: HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server
Value: DisabledByDefault
Type: REG_DWORD
Data: 0x1Client-side SSL 2.0 is already disabled by default on Windows 7 and Windows Server 2008 R2.
Hope this helps,
Jonathan Stephens
This posting is provided «AS IS» with no warranties, and confers no rights. Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can
be beneficial to other community members reading the thread.-
Marked as answer by
Wednesday, July 7, 2010 11:14 AM
-
Marked as answer by
- Remove From My Forums
-
Question
-
Hi.
Can anyone give me a step by step on how to disable SSL 2.0 on IIS 7.5 please? I cannot find an article for it and those refering to IIS 7.0 do not seem to work.
Regards,
Morris
Best Regards, Morris Fury AFRIDATA.net
Answers
-
Set the follow registry value, and restart the server:
Key: HKLMSYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server
Value: DisabledByDefault
Type: REG_DWORD
Data: 0x1Client-side SSL 2.0 is already disabled by default on Windows 7 and Windows Server 2008 R2.
Hope this helps,
Jonathan Stephens
This posting is provided «AS IS» with no warranties, and confers no rights. Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can
be beneficial to other community members reading the thread.-
Marked as answer by
Wednesday, July 7, 2010 11:14 AM
-
Marked as answer by
First published on MSDN on Oct 29, 2014
Recently I have assisted couple of enterprise engineers in disabling a specific version SSL from IIS Servers to mitigate a vulnerability that they were facing. In both cases, I found that engineers were little confused as to what registry change that they needed to apply since there were Client and Server portion of the Registry key. Here is the summary and key takeaways from these two engagements:
These are the key combinations to disable SSL:
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 2.0Client]
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 2.0Server]
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 3.0Client]
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 3.0Server]
«Enabled»=dword:00000000
Note: Client portion contains subkey called «DisabledByDefault» whereas the Server portion contains subkey called «Enabled»
The registry keys and their contents are same for all modern OS: Windows 7, Windows Server 2008, Windows Server 2008 R2 and Windows Server 2012.
Solution
QuoVadis strongly recommends disabling the SSL 2.0 and the SSL 3.0 protocols on your server. Both SSL 2.0 and 3.0 protocols have numerous vulnerabilities.This KB article will describe the process to disable them.
- Start the registry editor by clicking on Start and Run. Type in «regedit» into the Run field (without quotations).
- Highlight Computer at the top of the registry tree. Backup the registry first by clicking on File and then on Export. Select a file location to save the registry file.
- Browse to the following registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols Note: Keys in the registry are similar to folders. The following steps will mention various keys. If you find that that key is missing, you can simply add it by right-clicking on the parent key and selecting New and then Key from the drop-down menu. - Expand the Protocols key.
- Expand (or create) the SSL 2.0 key and click on the Client key underneath it. If there is no Client key, you can create it underneath the SSL 2.0 key.
- Check for the DWORD named Enabled on the right panel and ensure that it shows 0x00000000 in the Data column. If it doesn’t show this value, right-click on Enabled and select Modify… from the drop-down list and set the Value data to 1 and ensure that Base has Hexadecimal selected.
- Underneath the SSL 2.0 key, right-click on the Server key underneath it. If there is no Server key, you can create it underneath the SSL 2.0 key.
- Check for the DWORD named Enabled on the right panel and ensure that it shows 0x00000000 in the Data column. If it doesn’t show this value, right-click on Enabled and select Modify… from the drop-down list and set the Value data to 1 and ensure that Base has Hexadecimal selected.
- Underneath the Protocols key, expand (or create) the SSL 3.0 key and click on the Client key underneath it. If there is no Client key, you can create it underneath the SSL 2.0 key.
- Check for the DWORD named Enabled on the right panel and ensure that it shows 0x00000000 in the Data column. If it doesn’t show this value, right-click on Enabled and select Modify… from the drop-down list and set the Value data to 1 and ensure that Base has Hexadecimal selected.
- Underneath the SSL 3.0 key, right-click on the Server key underneath it. If there is no Server key, you can create it underneath the SSL 3.0 key.
- Check for the DWORD named Enabled on the right panel and ensure that it shows 0x00000000 in the Data column. If it doesn’t show this value, right-click on Enabled and select Modify… from the drop-down list and set the Value data to 1 and ensure that Base has Hexadecimal selected.
- Reboot the server.
Note: You will be editing the registry. This could have detrimental effects on your computer if done incorrectly, so it is strongly advised to make a backup.
SSL 2.0 and SSL 3.0 have both been disabled on your server.
Windows Server 2003
This procedure can be used on a Windows Server 2003 server (IIS 6). You may find that some of the keys mentioned above will already be created. On Windows Server 2003, instead of setting the Enabled Value date to 1, you will need to set it to 0xffffffff for it to be true. The applies for all ‘Yes’ configuration throughout the server.
Reverting Back
If you make a mistake or something just isn’t right, you can revert back to your previous registry settings by opening the Registry Editor and importing the backup you made in step x.
Для подключения к указанным ниже системам можно использовать протокол HTTPS.
- Сервер IIS 3.0 или более поздней версии.
- Службы IIS 5.0 или более поздней версии.
При подключении клиент и сервер обмениваются данными по общему протоколу, чтобы защитить канал связи. Если у клиента и сервера имеется несколько общих протоколов, сервер IIS пытается защитить обмен данными с помощью одного из них. Протоколы пробуются в указанном ниже порядке.
- PCT 1.0
- SSL 3.0
- SSL 2.0
В некоторых случаях может потребоваться отключить какие-либо из этих протоколов. Для этого необходимо внести изменения в реестр.
Примечание. В системе Windows Server 2008 протокол PCT 1.0 изменить нельзя. Перезапускать сервер в этой системе не требуется.
Сервер Microsoft Windows NT Server хранит сведения о различных поддерживаемых протоколах передачи данных с повышенной безопасностью в следующем разделе реестра:
HKey_Local_MachineSystemCurrentControlSetControlSecurityProviders SCHANNELProtocols
Обычно этот раздел содержит следующие подразделы:
- PCT 1.0
- SSL 3.0
- SSL 2.0
- TLS 1.0
Каждый подраздел содержит сведения о соответствующем протоколе. На сервере можно отключить любой из этих протоколов. Для этого в подразделе сервера, соответствующем нужному протоколу, необходимо создать параметр
DWORD
и присвоить ему значение «00 00 00 00».
Примечание. По умолчанию в системе Microsoft Windows Server 2003 протокол PCT отключен.
Важно! В данный раздел, описание метода или задачи включены сведения об изменении параметров реестра. Однако их неправильное изменение может привести к возникновению серьезных проблем. Поэтому при выполнении этих действий рекомендуется строго соблюдать инструкции. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра. В этом случае при возникновении неполадок реестр можно будет восстановить.
Чтобы отключить протокол PCT 1.0 и запретить его использование службами IIS для обмена данными, выполните указанные ниже действия.
1.Откройте меню Пуск, выберите пункт Выполнить, введите regedt32 или regedit и нажмите кнопку ОК.
2.В редакторе реестра найдите следующий раздел:
HKey_Local_MachineSystemCurrentControlSetControlSecurityProviders SCHANNELProtocolsPCT 1.0Server
3.В меню Правка выберите пункт Добавить параметр.
4.В списке Тип данных выберите элемент DWORD.
5.Введите значение Enabled в поле Имя параметра и нажмите кнопку ОК.
Примечание. Если указанный параметр уже существует, дважды щелкните его для изменения текущего значения.
6.В редакторе двоичных данных введите 00000000, чтобы присвоить новому параметру значение 0.
7.Нажмите кнопку ОК. Перезагрузите компьютер.