Начиная с 8 мая 2018 года, после установки обновлений на свой персональный компьютер, многие пользователи серверов под управлением ОС Windows Server столкнулись с ошибкой «CredSSP encryption oracle remediation» при попытке подключения к удалённому рабочему столу:



На самом деле это не ошибка, а уведомление о проблеме безопасности давно необновлённого сервера.
13 марта 2018 года вышла информация об уязвимости в протоколе CredSSP и первые патчи для ее закрытия в серверных операционных системах. Эта уязвимость позволяет в обход проверки выполнять на самом сервере от имени передаваемых учётных записей различные команды, включая установку и удаление произвольного программного обеспечения, изменение и удаление данных на сервере, создание учётных записей с произвольными правами.

С этой проблемой не столкнулись те, кто своевременно устанавливал накопительные обновления на свой сервер. В марте они вышли для серверных операционных систем, для десктопных ОС они автоматически установились с прочими обновлениями в мае.

Для решения проблемы первым делом нужно к нему все-таки подключиться. Проще всего это сделать через авариный режим работы с сервером в вашем личном кабинете – такое есть почти у кажого провайдера VPS / VDS серверов. На VPS.house это делается простым кликом на скриншот экрана сервера в личном кабинете:



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

Инструкция для тех, кто пользуется редакцией Windows HOME:
[развернуть]
1. Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора


2. Наберите следующий текст в командной строке (можно скопировать и вставить):
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Эта команда вносит изменения в реестр Windows, разрешая вашему компьютеру подключаться с протоколом шифрования CredSSP к ещё необновлённому серверу.

Если в результате выполнения вы получили ошибку «Отказано в доступе», значит вы запустили командную строку НЕ от имени администратора (см. на скриншоте выше как запускается командная строка корректно).

Инструкция для тех, кто пользуется редакцией Windows PRO:
[развернуть]
1. Откройте редактор групповых политик, для этого в командной строке или в PowerShell наберите «gpedit.msc» или найдите его через поиск на вашем ПК по фразе «Edit group policy» или «Изменение групповой политики» если вы работаете в русскоязычном интерфейсе.

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

2. В папках настроек дерева слева вам необходимо открыть:
Computer Configuration -> Administrative Templates -> System -> Credentials Delegation
если ваша ОС русифицирована, то:
Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных


3. В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)


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

Как только вы подключились к серверу, установите обновления как это делается в любой десктопной версии Windows.



Если при попытке установки возникает ошибка, поверьте запущена ли служба «Windows Update» («Центр обновления Windows»). Открыть список служб можно по пути:
Start -> Windows Administrative Tools -> Services
если ваша ОС русифицирована, то:
Пуск -> Средства администрирования Windows -> Службы

Если служба не запускается, проверьте, разрешен ли ее запуск: статус не должен быть «Disabled» («Отключена»).



Если вы используете Windows Server 2012 R2 или Windows Server 2008 R2 SP1, то вы можете установить не все обновления, а только одно, исправляющее эту уязвимость и тем самым значительно быстрее решить проблему подключения к серверу.

Скачать его можно прямо с сайта Microsoft на странице описания уязвимости:
• обновление для Windows Server 2012 R2
• обновление для Windows Server 2008 R2 SP1

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



Все образы операционных систем Windows Server на VPS.house по умолчанию содержат все последние обновления и после пересоздания сервера проблем с ошибкой «CredSSP encryption oracle remediation» при подключении к нему уже не будет.

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


  1. Dr_Wut
    10.05.2018 03:43

    Все было бы здорово, если бы не было проблемы с домашней версией Windows — в них банально нет gpedit.msc. Был бы очень благодарен, если бы вы выложили верти реестра и параметры, которые надо добавлять вручную для решения проблемы


    1. acyp
      10.05.2018 04:04

      Разве в домашней есть RDP? Если да, то штатного включения я не находил. Как это можно сделать?


      1. Vladimir92 Автор
        10.05.2018 04:22

        В домашней есть RDP-клиент, с него можно подключаться, а в серверных и в версиях PRO дополнительно есть RDP-сервер, чтоб подключаться извне к нему.


    1. brainfair
      10.05.2018 04:09

      Windows Registry Editor Version 5.00
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
      «AllowEncryptionOracle»=dword:00000002


      1. Islamius
        10.05.2018 10:23

        У меня по этой ветке отсутствует \CredSSP. Также в передаче учетных записей отсутствует параметр EOR. Моя ОС — Win 10 Pro.


        1. Islamius
          10.05.2018 10:31

          Параметр нашел, внес изменения согласно рекомендации в статье — помогло!
          Спасибо!


    1. lostpassword
      10.05.2018 08:11

      Попробуйте secpol.msc. Может быть, там будет такая настройка.


  1. acyp
    10.05.2018 04:32

    В стать речь идет о сервере. Тем более, что клиент в патчинге не нуждается. Или я чего то не понял?


    1. Vladimir92 Автор
      10.05.2018 04:41

      Речь о том, как с пропатченного клиента подключиться к непропатченному серверу
      Если редакция Win Home, то да, как и указали выше можно поправить руками в реестре и перезагрузить ОС.
      Для командной строки:
      REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2


    1. gromka
      10.05.2018 11:28

      клиент патчить тоже нужно, но если у вас винда в автоапдейте то он уже запатченный


  1. haumea
    10.05.2018 08:36

    Microsoft рекомендует использовать значение Mitigated (Исправлено) для параметра Encryption Oracle Remediation. Статья на support.microsoft.com (обновление от 8 мая).


    1. gromka
      10.05.2018 11:27

      вот выставив Mitigated вы не сможете больше подключиться к серверу:
      1. если у вас не патченный RDP клиент
      2. если у вас экзотичный RDP клиент типа 2x rdp, freerdp и тп старой версии


  1. gromka
    10.05.2018 11:32

    Если у вас патченный сервер и не патченный клиент — доступа не будет.
    Если у вас НЕ патченный сервер и НЕ патченный клиент — доступ будет.
    Если у вас НЕ патченный сервер и патченный клиент — доступа НЕ будет.
    если я не ошибся.


    1. zomby
      10.05.2018 13:07

      С 8 мая по дефолту устанавливается политика Mitigated, которая разрешает подключение непатченных клиентов, т.е. у вас ошибка в первом пункте.


  1. BotMan4
    10.05.2018 14:40

    Статья очень вовремя)
    Прилетело обновление на W 10 и с него не мог подключиться на один из двух серверов по RDP.
    Выполнил выше указанную команду и все получилось.
    И да, если на сервере не стоит проверка подлинности на уровне сети, тогда подключиться тоже можно.


  1. plastun_spb
    10.05.2018 14:40

    На сервере установлены все обновления, на клиенте тоже все обновления установлены.
    Выдаётся сообщение:
    Произошла ошибка проверки подлинности.
    Указанная функция не поддерживается.


    1. Vladimir92 Автор
      10.05.2018 14:41

      Значит на сервере не все обновления


      1. plastun_spb
        10.05.2018 14:51

        Жму: проверить наличие обновлений. Ответ: новых обновлений не обнаружено.


        1. Tto_ogarin
          10.05.2018 18:43

          Если установлен WSUS в сети, скорее всего необходимо апрувить сначала там.


        1. VolkZubamiSchelk
          10.05.2018 20:15

          Посмотрите на историю установки обновлений. Если там датой последней установки значится декабрь 2017, то вам поможет следующий ключ реестра:

          Windows Registry Editor Version 5.00
          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat]
          "cadca5fe-87d3-4b96-b7fb-a231484277cc"=dword:00000000

          После внесения изменений проверьте обновления снова.


          1. plastun_spb
            11.05.2018 09:10

            Нет, обновления вчера скачались и установились. К WinServ2008R2 не подключиться, если не стоит в настройках «Подключаться с любой версией клиента (опаснее)».
            При этом, после обновления Win10, к нему нормально подключаюсь. Подключаюсь с Win7Pro.



  1. Vladimir92 Автор
    11.05.2018 03:32

    Всем спасибо за участие!
    В текст статьи добавил отдельно инструкцию для Windows версии HOME и отдельно для версии PRO