Ввиду недостаточного уровня безопасности, обеспечиваемого устаревшими протоколами TLS 1.0 и TLS 1.1, их рекомендуется отключать и использовать более новые версии TLS 1.2 и TLS 1.3. В статье мы кратко проговорим отличия старых и новых реализаций этого протокола, а также разберём три способа отключения TLS 1.0 и TLS 1.1: через реестр, команды PowerShell или командную строку.

Растущая активность кибератак вынуждает системных администраторов реализовывать всё более безопасные протоколы связи с целью защиты ресурсов и сетей. Наиболее же важную роль в этом процессе играет TLS. TLS – это протокол безопасности транспортного уровня, используемый для шифрования коммуникаций между клиентами и серверами. Последними версиями этого протокола являются TLS 1.2 и TLS 1.3, которые предлагают множество преимуществ относительно предыдущих.

Сегодня чаще всего используется версия 1.2, но 1.3 тоже набирает популярность благодаря своей эффективности и высокой скорости работы. Как системному администратору для повышения безопасности подотчётной инфраструктуры вам следует задействовать в Windows Server именно TLS 1.2 или TLS 1.3, но одного этого будет недостаточно. Также необходимо отключить TLS 1.0 и TLS 1.1, поскольку на сегодня их уровень защищённости уже недостаточен.

Прежде чем переходить к способам отключения TLS 1.0 и TLS 1.1 в Windows Server, мы разберём особенности этих версий и уточним причины для их отключения.

Содержание


  • Немного об особенностях TLS 1.0 и TLS 1.1
  • Почему нужно отключать TLS 1.0 и TLS 1.1 в Windows Server?
  • Уязвимости TLS 1.0 и TLS 1.1
  • Какая есть альтернатива TLS 1.0 и TLS 1.1?
  • Как отключить TLS 1.0 и TLS 1.1 в Windows Server?
    • Способ 1: отключение вручную через реестр
    • Способ 2: отключение с помощью команд PowerShell
    • Способ 3: отключение через командную строку


Немного об особенностях TLS 1.0 и TLS 1.1


TLS – это криптографический протокол, обеспечивающий безопасность передачи данных через интернет.

Версия TLS 1.0 была выпущена в 1999 году, а TLS 1.1 вышла в качестве её обновления в 2006. Сегодня обе этих версии являются устаревшими и уже не обеспечивают должный уровень безопасности.

Почему следует отключать TLS 1.0 и TLS 1.1 в Windows Server?


Для отключения TLS 1.0 и TLS 1.1 есть несколько причин:

  1. Эти версии больше не считаются безопасными ввиду своей уязвимости к различным атакам, например, POODLE.
  2. Отключение TLS 1.0 и TLS 1.1 на сервере вынудит клиентов использовать более безопасную версию TLS 1.2.
  3. Некоторые правительственные агентства, например, Агентство национальной безопасности (NSA), рекомендуют отключать TLS 1.0 и TLS 1.1.
  4. Microsoft прекратили предоставлять обновления безопасности для Windows Server, где используется TLS 1.0 или TLS 1.1.
  5. Многие ведущие поставщики ПО, включая Google, Microsoft, Mozilla и Apple, остановили поддержку этих версий.

Уязвимости TLS 1.0 и TLS 1.1


В TLS 1.0 и TLS 1.1 есть целый ряд известных уязвимостей, которые могут быть эксплуатированы хакерами. К ним относятся:

  • POODLE (Padding Oracle On Downgraded Legacy Encryption),
  • BEAST (Browser Exploit Against SSL/TLS),
  • CRIME (Compression Ratio Info-leak Made Easy),
  • FREAK (Factoring Attack on RSA-EXPORT Keys),
  • LOGJAM (Diffie-Hellman Key Exchange Weakness).

Эти уязвимости позволяют выполнять атаки по типу «человек посередине», расшифровывать чувствительную информацию и перехватывать сеансы пользователей. Отключая на своём сервере TLS 1.0 и TLS 1.1, вы можете защитить себя от этих атак.

Какая есть альтернатива для TLS 1.0 и TLS 1.1?


Последней версией протокола является TLS 1.3. Она была выпущена в 2018 году и включает ряд доработок безопасности. Мы рекомендуем использовать эту версию вместо устаревших TLS 1.0 и TLS 1.1.

Что касается TLS 1.2, то она превосходит TLS 1.1 поддержкой эллиптической криптографии (ECC) и наличием новых криптографических наборов, которые обеспечивают более высокий уровень безопасности. TLS 1.3, в свою очередь, превосходит TLS 1.2 тем, что упрощает процесс рукопожатия и делает его более устойчивым к атакам «человек посередине». Кроме того, в этой версии задействуются новые криптографические наборы, обеспечивающие ещё более высокий уровень безопасности.

И TLS 1.2, и TLS 1.3 являются обратно совместимыми с TLS 1.0 и TLS 1.1. Это означает, что клиент, использующий TLS 1.2, может взаимодействовать с сервером, использующим TLS 1.1 и наоборот. Но при этом сами TLS 1.2 и TLS 1.3 между собой несовместимы.

Как уже было сказано, последняя версия протокола постепенно набирает популярность. Многие ведущие браузеры, включая Chrome, Firefox и Edge, уже её поддерживают. Кроме того, основные провайдеры интернет-услуг, такие как Cloudflare и Akamai, тоже начали поддерживать TLS 1.3 на своих серверах.

Если вас интересует более подробное сравнение реализаций этого протокола для разных серверов и клиентов, рекомендую заглянуть на эту страницу.

А ниже я приведу серию статей, посвящённых особенностям TLS 1.2 и TLS 1.3:


Как отключить TLS 1.0 и TLS 1.1 в Windows Server?


Далее мы рассмотрим 3 способа отключения TLS 1.0 и TLS 1.1 в Windows Server. Вы можете выбрать наиболее подходящий в зависимости от ваших технических навыков и навыков автоматизации.

  1. Отключение вручную через реестр.
  2. Отключение с помощью команд PowerShell.
  3. Отключение через командную строку.

Примечание: в Microsoft открыто заявили, что больше не поддерживают TLS 1.0 и TLS 1.1 в операционных системах Windows и патчи для этих версий не предоставляют. Можете ознакомиться с этой таблицей, где отражена поддержка TLS в различных ОС Windows.

▍ Способ 1: ручное отключение TLS 1.0 и TLS 1.1 через реестр


Потребуется 15 минут.

1. Запуск утилиты regedit.

Откройте окно Run, введите regedit и кликните OK.


2. Создание нового раздела.

В редакторе реестра перейдите по пути:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.

Создайте новый раздел, кликнув правой кнопкой по Protocols –> New –> Key.


3. Именование раздела реестра TLS 1.0.

Назовите созданный раздел TLS 1.0.


4. Создание в TLS 1.0 раздела реестра Client.

В дополнение к шагу выше создайте в TLS 1.0 раздел Client, как показано на скриншоте.


5. Создание нового параметра DWORD (32-bit) Value в Client.

Создайте новый параметр через правый клик по Client –> New –> DWORD (32-bit) Value.


6. Именование параметра DWORD (32-bit) Value как Enabled.

Присвойте параметру DWORD (32-bit) Value имя Enabled, установив для него шестнадцатеричное значение 0.


7. Создание в TLS 1.0 параметра DisabledByDefault.

Аналогичным образом создайте параметр DisabledByDefault с шестнадцатеричным значением 1.


8. Создание раздела Server и соответствующих параметров.

По аналогии с шагами выше создайте в Protocols раздел Server, а также параметры реестра DWORD (32-bit) Value и Enabled, как показано ниже.


9. Отключение TLS 1.1 в Windows Server.

Для отключения TLS 1.1 создайте в Protocols раздел TLS 1.1, а в нём разделы и параметры, приведённые ниже:

> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client\Enabled с шестнадцатеричным значением 0
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client\DisabledByDefault с шестнадцатеричным значением 1
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server\Enabled с шестнадцатеричным значением 0
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server\DisabledByDefault с шестнадцатеричным значением 1


▍ Способ 2: отключение TLS 1.0 и TLS 1.1 с помощью команд PowerShell


Описанная ниже простая процедура позволит отключить TLS 1.0 и TLS 1.1 командами Powershell.

1. Откройте Powershell от имени администратора.


2. Выполните следующие команды для создания записей реестра.

- New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' –PropertyType 'DWORD' -Name 'Enabled' -Value '0' 
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' –PropertyType 'DWORD' -Name 'DisabledByDefault' -Value '1' 

- New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -Force
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -PropertyType 'DWORD' -Name 'Enabled' -Value '0'
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' –PropertyType 'DWORD' -Name 'DisabledByDefault' -Value '1' 


- New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' –PropertyType 'DWORD' -Name 'Enabled' -Value '0' 
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' –PropertyType 'DWORD' -Name 'DisabledByDefault' -Value '1' 

- New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -Force
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -PropertyType 'DWORD' -Name 'Enabled' -Value '0'
- New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' –PropertyType 'DWORD' -Name 'DisabledByDefault' -Value '1'

До выполнения команд вы увидите, что в Protocols никаких параметров нет.


После их выполнения будут созданы два раздела: TLS 1.0 и TLS 1.1. Под каждым протоколом присутствуют разделы Client и Server, внутри которых есть два параметра: DisableByDefault и Enabled.


▍ Способ 3: отключение TLS 1.0 и TLS 1.1 в Windows Server через командную строку


1. Откройте командную строку от имени администратора.


2. Выполните следующие команды для создания записей реестра.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f 
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v Enabled /t REG_DWORD /d 0 /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 0 /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v Enabled /t REG_DWORD /d 0 /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f

Надеюсь, эта статья помогла вам разобраться, как отключать TLS 1.0 и TLS 1.1 в Windows Server.

Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх ????️

Комментарии (25)


  1. Vasily_Pechersky
    02.04.2023 10:42
    +11

    Интересно читать такие статьи — когда в продакшене больше сталкиваешься с обратной необходимостью.
    Суровое легаси не работает с новомодными поделками а обновление стоит таких денег что ....


    1. achekalin
      02.04.2023 10:42
      +4

      Самое стремное - когда после переустановки ОС не можешь к ней скачать обновления, потому что какой-то мудрый инженер на сервере обновлений включил TLS версии, не поддерживаемой этой же ОС из коробки.


  1. Antiokh
    02.04.2023 10:42
    +3

    Теоретически сейчас при установке как раз эти протоколы выключены. А потом выясняется, что какое-то чудо, без которого жить никак нельзя, не умеет работать на свежем TLS.


  1. DikSoft
    02.04.2023 10:42
    +7

    Отключение TLS 1.0 приводит к полной неработоспособности связки ADFS - WAP, при этом отваливается оно не сразу, а через некоторое время. Диагностируется проблема не самым очевидным путём. Актуально для всех версий ADFS, включая последнюю. Уже не помню, у кого из них должна остаться поддержка TLS 1.0 клиентом, а у кого сервером. Но суть в том, что это не стороннее легаси, а родная роль. И вот такая оказия...

    Больнее всего наступать на детские грабли. Просто для информации, может кому поможет.


    1. Mnemonic0
      02.04.2023 10:42

      Тут вы немного не правы. Столкнулся с такой же проблемой, надо было взять вайршарк в руки. WAP Windows Server 2019 по дефолту выключены TLS 1.0 и TLS 1.1. А работает TLS 1.2. Решение оказалось чуть другое:

      HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\EnableDefaultHttp2 Value: 0


  1. DikSoft
    02.04.2023 10:42
    +5

    Написать так много слов, и не упомянуть утилиту IISScrypto - как минимум странно.


    1. ifap
      02.04.2023 10:42
      +2

      Упомянуть все "костыли", но ни слова о наиболее очевидном пути - через GPO... да что Вы знаете о странностях?


      1. DikSoft
        02.04.2023 10:42

        Справедливости ради, через GPO preferences то, что в статье описано, остается только завернуть.

        Родными шаблонами политик, насколько я помню, отключается только поддержка клиента TLS, но не сервера.

        Update: Возможно, такие шаблоны есть в Security Compliance Toolkit (SCT) - прямой линк на скачивание


        1. ifap
          02.04.2023 10:42

          А даже последняя версия IIS Crypto не знает про существование TLS 1.3, но я же не придираюсь ;)


          1. DikSoft
            02.04.2023 10:42

            не знает про существование TLS 1.3

            Эээ... у меня глюки?

            Глюк


            1. ifap
              02.04.2023 10:42

              Или у меня... а какая ОС? Это на Win10 x64:


              1. DikSoft
                02.04.2023 10:42

                Windows server 2022 - есть 1.3
                Windows server 2016, 2019 со всеми обновлениями - нет 1.3


                1. ifap
                  02.04.2023 10:42

                  Если верить мелкомягким, то его там и нет. Правда, об этом забыли сообщить тому же ишаку, который позволяет включить TLS 1.3 в настройках по крайней мере на клиентской десятке...


                  1. ElvenSailor
                    02.04.2023 10:42
                    +1

                    поддержка внутри браузера не равна поддержке на стороне SChannel


                    1. ifap
                      02.04.2023 10:42

                      Полагаете, у Ишака собственный schannel и он может в то, во что не умеет ОС? Не затруднит привести пример?


                  1. DaemonGloom
                    02.04.2023 10:42
                    +1

                    Гораздо веселее с 2019 MS Exchange, если его запустить на 2022 сервере. Ибо вин-сервер про TLS 1.3 знает и использует, а почтовый — нет. В результате — сплошные ошибки. Всё — последних версий на текущий момент.


                    1. ifap
                      02.04.2023 10:42

                      Хм... разве hello формирует сам почтовик?


                      1. DaemonGloom
                        02.04.2023 10:42
                        +1

                        Там тесная связка из сервисов самого Exchange (для базовых протоколов), службы IIS для клиентов и всё завязано на schannel и .net. Чтобы эта фигня вообще взлетела — приходится кучу всего настраивать вручную дополнительно.


                    1. DikSoft
                      02.04.2023 10:42
                      +1

                      Был сильно удивлён, когда MS добавили Server 2022 в поддерживаемые ОС для Exchange 2019. Там глюк на глюке в такой связке.


                      1. Mnemonic0
                        02.04.2023 10:42

                        Но лишь в CU12. Изначально была рекомендация ставить вообще на 16й сервер, потом подтянули под 2019, сейчас и 2022й.

                        Тут в работу вступает другой момент - все клиенты будут работать всё одно с tls 1.2, поскольку 1.3 только в Win11 и, наверное, последний 22H2 Win10.

                        Пока самая рабочая схема Server 2019 для exchange, ad, adfs, wap и клиенты начиная с windows 7.


  1. klis
    02.04.2023 10:42
    +3

    Но это же не три способа, а один и тот же


    1. Mingun
      02.04.2023 10:42
      +4

      Причём забыли упомянуть самый простой — создать файл .reg с необходимыми командами создания нужных ключей в реестре. Нет, вместо этого мы лучше будем расписывать мышковозюканье в regedit…


      1. littleleshy
        02.04.2023 10:42

        Нет, через пш проще.


  1. faceplam
    02.04.2023 10:42

    работает не трог (с)

    а если появится какая нибудь острая необходимость срочно ето дело замутить, мемкрософт выкатит соответствующее обновление


  1. evil_raider
    02.04.2023 10:42
    -1

    всё крайне странно и непонятно. Если эти TLSы-такие старые и неподдерживаемые, почему бы их не отключить тому же Майкрософту? В таблице поддержки TLS написано, что даже в Win11Server2022 включены все TLS - и 1.0, и 1.1, 2. По счастливой случайности они частично выключены в winserver2008r2