Захист Windows від уразливості в SSL v3

У жовтні інженери 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:

  1. Відкрийте редактор реєстру (regedit.exe) з правами адміністратора
  2. Перейдіть в гілку HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ Schannel \ Protocols \
  3. Створіть новий розділ з ім'ям SSL 3.0 ( New-> Key)
  4. У створеному розділіSSL 3.0 створіть ще два підрозділи з іменами Client і Server.
  5. Потім в розділі Client створіть новий параметр типу DWORD (32-bit) з ім'ям DisabledByDefault
  6. Як значення ключа DisabledByDefault вкажемо 1.
  7. Потім в гілці Server створіть новий параметр типу DWORD (32-bit) з ім'ям Enabled і значенням 0.
  8. Для вступу змін в силу необхідно перезавантажити сервер

Відключаємо 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 можна за схожим сценарієм

  1. У редакторі реєстру відкрийте гілку HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols
  2. Створіть два розділи TLS 1.1 і TLS 1.2
  3. Усередині кожного розділу створіть по підрозділу з іменами Client і Server
  4. У кожному з розділів Client і Server створіть по ключу типу DWORD:
    • DisabledByDefault зі значенням 0
    • Enabled зі значенням 1
  5. Після внесених змін сервер слід перезавантажити.

Утиліта для управління системними криптографічними протоколами в Windows Server

Існує безкоштовна утиліта IIS Crypto, що дозволяє зручно управляти параметрами криптографічних протоколів в Windows Server 2003, 2008 і 2012. За допомогою даної утиліти включити або відключити будь-який з протоколів шифрування можна всього в два кліка.

У програмі вже є кілька шаблонів, що дозволяють швидко застосувати налаштування для різних варіантів налаштувань безпеки.