Двухфакторная аутентификация для RDP: как защитить удалённый рабочий стол

Двухфакторная аутентификация для RDP означает, что для входа на удалённый рабочий стол мало знать пароль. Нужно ещё подтвердить вход вторым способом: кодом из приложения на телефоне, нажатием кнопки в push-уведомлении или аппаратным ключом. Украденный или подобранный пароль в одиночку тогда ничего не открывает.

Во встроенном клиенте и сервере RDP в Windows второго фактора «из коробки» нет. Его добавляют одним из трёх способов: ставят перед серверами шлюз удалённых рабочих столов (RD Gateway) с проверкой второго фактора, пускают к RDP только через VPN с 2FA или устанавливают на сам сервер агент, который после пароля спрашивает одноразовый код.

Если внедрить 2FA прямо сейчас не получается, закройте прямой доступ к порту 3389 из интернета, разрешите вход только с известных IP-адресов, включите блокировку после неудачных попыток и проверку подлинности на уровне сети (NLA). Эти меры не заменяют второй фактор, но снижают риск большей части массовых атак.

Почему одного пароля для RDP мало

На сервере с открытым в интернет RDP начинают перебирать пароли очень быстро, буквально через несколько часов после появления в сети. Сканеры постоянно обходят адреса провайдеров и хостингов, находят ответивший порт и пробуют типовые логины: administrator, admin, user, buh, 1c. Мы постоянно в логах сервера видим, что в журнале безопасности за сутки копятся тысячи неудачных входов с разных адресов.

Пароль уязвим сразу с нескольких сторон:

  • Перебор. Короткий или словарный пароль рано или поздно подбирают. Если попытки не ограничены, у атакующего будет сколько угодно времени.
  • Утечки. Сотрудник использует один и тот же пароль для почты, сайтов и сервера. Пароль утёк с постороннего сайта, попал в базы, и его пробуют везде, рано или поздно подберут.
  • Фишинг и вредоносные программы. Письмо с поддельной страницей входа или программа-шпион на домашнем компьютере передаёт пароль злоумышленнику. Сложность пароля здесь не спасает: его просто вводят за вас.
  • Слабые места людей. Пароль на стикере у монитора, в файле на рабочем столе, отправленный в мессенджере «на минутку».

Последствия входа на сервер по RDP тяжёлые. Атакующий получает рабочий стол со всеми правами пользователя, видит сетевые диски и базы 1С. Именно так в небольшие компании часто попадают шифровальщики: вход по подобранному паролю, отключение антивируса, запуск шифрования ночью. Что делать, если это уже случилось, разобрано в статье «что делать при заражении шифровальщиком».

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

Что такое второй фактор и какие бывают варианты

Факторы делят на три группы: то, что вы знаете (пароль, PIN), то, что у вас есть (телефон, токен), и ваши биометрические признаки (отпечаток пальца, лицо). Двухфакторная проверка сочетает два разных типа. Два пароля подряд — это всё ещё один фактор.

Приложение-генератор кодов (TOTP)

На телефон ставится приложение-аутентификатор: Google Authenticator, Microsoft Authenticator, Яндекс Ключ и аналоги. При настройке пользователь сканирует QR-код, после чего приложение каждые 30 секунд показывает новый шестизначный код. Сервер знает правило вычисления (секрет) и вычисляет тот же код, поэтому связь телефона с сервером не нужна: приложение работает даже без интернета.

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

Push-подтверждение

После ввода пароля на телефон приходит уведомление «Подтвердить вход?», пользователь нажимает кнопку. Это удобнее кода, но требует фирменного приложения конкретного поставщика и интернета на телефоне. Есть и отдельный риск: атакующий с правильным паролем может засыпать сотрудника запросами, пока тот не нажмёт «Да», чтобы уведомления прекратились. Хорошие системы защищаются от этого: показывают, откуда идёт вход, или просят ввести число с экрана.

Аппаратный ключ или смарт-карта

Отдельное устройство, которое подключают в USB или прикладывают по NFC: токены вроде Рутокен и JaCarta, ключи стандарта FIDO2. Скопировать такой ключ по сети нельзя, фишинг против него практически бесполезен. Минусы — стоимость каждого устройства и более сложное внедрение. Вход в Windows по смарт-карте обычно требует доменной инфраструктуры с центром сертификации, а через RDP карту нужно пробросить с клиентского компьютера на сервер.

SMS и звонки

Код в SMS лучше, чем ничего, но это слабый вариант. Сообщения можно перехватить, а SIM-карту перевыпустить по поддельной доверенности. Для доступа к серверу компании SMS стоит выбирать в последнюю очередь.

Как подключить 2FA к удалённому рабочему столу Windows

Сам протокол RDP второй фактор не спрашивает. Проверку встраивают либо до сервера (на входе в сеть), либо на сервере (в процесс входа Windows). Для небольшой компании обычно подходит один из трёх вариантов.

Шлюз удалённых рабочих столов (RD Gateway) с 2FA

RD Gateway — роль Windows Server, через которую RDP-подключения идут по HTTPS (порт 443). Сами серверы в интернет не смотрят, наружу опубликован только шлюз. Для проверки второго фактора шлюз передаёт запрос на сервер политик сети (NPS) по протоколу RADIUS, а тот — в систему многофакторной аутентификации. У Microsoft для этого есть расширение NPS для облачной MFA Microsoft Entra; есть и сторонние, в том числе российские, системы с RADIUS-интерфейсом.

Плюсы: одна точка входа для всех серверов, стандартный клиент mstsc и Windows App, аккуратное централизованное управление. Минусы: нужен отдельный сервер или роль, TLS-сертификат, как правило домен Active Directory и понимание того, как работают RADIUS и NPS. Для офиса с одним сервером это заметный объём работы.

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

VPN с двухфакторной проверкой

Порт RDP вообще не публикуется в интернет. Сначала пользователь подключается к VPN, и только внутри защищённого туннеля ему доступен удалённый рабочий стол. Второй фактор спрашивает VPN-сервер: многие решения умеют принимать одноразовые коды или работать через RADIUS с системой MFA.

Даже без отдельного второго фактора VPN с входом по сертификату или ключу сильно сужает круг атакующих: чтобы увидеть порт RDP, нужно сначала иметь настроенный VPN-клиент с ключом. Минус — ещё одна программа на компьютере пользователя и ещё одна точка, которую надо обслуживать и обновлять.

Если в компании несколько офисов или много удалённых сотрудников, VPN обычно решает сразу две задачи: защищает доступ и связывает офисы в одну сеть. Такую схему можно не собирать самостоятельно, а заказать объединение офисов и подключение через VPN вместо открытого RDP.

Агент на самом сервере

Третий класс решений — программа на сервере, которая встраивается в процесс входа Windows (так называемый поставщик учётных данных, credential provider). После ввода пароля появляется ещё одно поле для одноразового кода. Такие агенты есть у коммерческих систем MFA; есть и открытые варианты, например multiOTP с компонентом для Windows.

Плюсы: работает без шлюза и VPN, подходит для одиночного сервера. Минусы: агент встраивается во вход в систему, и ошибка в настройке может заблокировать вход всем, включая администратора. У части агентов есть особенности совместной работы с NLA и с входом из консоли. Перед установкой внимательно прочитайте документацию конкретного продукта и обязательно оставьте себе резервный путь входа: консоль гипервизора или локальный доступ к серверу.

Сравнение вариантов

ВариантСложность внедренияУдобство для пользователяОт чего защищает
RD Gateway с 2FAВысокая: отдельная роль, сертификат, NPS/RADIUS, обычно доменВысокое: привычный клиент RDP плюс подтверждение на телефонеПеребор и утёкшие пароли; серверы скрыты за шлюзом
VPN с 2FAСредняя: VPN-сервер, клиенты на устройствах, MFA для VPNСреднее: сначала VPN, потом RDPСканирование и перебор RDP из интернета, утёкшие пароли
Агент на сервере (credential provider)Средняя: установка на каждый сервер, риск заблокировать входСреднее: дополнительное поле с кодом при каждом входеУтёкшие и подобранные пароли; порт RDP остаётся открытым для сканеров
Только белый список IPНизкая: правило брандмауэраВысокое, пока IP-адреса сотрудников не меняютсяМассовые атаки из интернета; не защищает, если заражён разрешённый компьютер
Пароль без 2FA и без ограниченийНетВысокоеПрактически ни от чего, кроме случайных попыток

Что сделать сразу, даже без 2FA

Внедрение второго фактора занимает время. Следующие шаги можно сделать за день, и они заметно снижают риск уже сегодня.

  1. Уберите порт 3389 из интернета. Проверьте проброс портов на роутере и правила у хостинга. Если RDP нужен снаружи, пускайте к нему через VPN или шлюз.
  2. Включите белый список IP. Разрешите подключение к порту RDP только с постоянных адресов офиса и сотрудников. Это делается правилом брандмауэра Windows (в свойствах правила указывается область — удалённые IP-адреса) или правилами на роутере и у хостинга.
  3. Блокируйте IP после неудачных попыток. Встроенного механизма блокировки IP для RDP в Windows нет. Используют сторонние утилиты, которые читают журнал безопасности (неудачные входы — событие 4625) и добавляют адрес в запрещающее правило брандмауэра, либо такую защиту включает провайдер.
  4. Настройте политику блокировки учётных записей. В локальной политике безопасности задайте порог неудачных попыток и время блокировки. Учтите обратную сторону: при массовом переборе атакующий может заблокировать учётную запись настоящего пользователя. Поэтому этот шаг хорошо работает вместе с белым списком IP.
  5. Включите NLA. Проверка подлинности на уровне сети требует ввести учётные данные до того, как сервер создаст сеанс. Это снижает нагрузку от перебора и закрывает часть уязвимостей, которые срабатывают до входа.
  6. Сделайте пароли длинными и уникальными. Не меньше 12–14 символов, свой пароль для сервера, никаких повторов с почтой и сайтами. Переименуйте или отключите учётные записи с типовыми именами, заведите администраторам отдельные учётные записи.
  7. Обновляйте систему. Уязвимости в службах удалённых рабочих столов закрываются обновлениями, а сервер без них остаётся открытым даже при хороших паролях.

После закрытия порта и перехода на VPN пользователи иногда видят при подключении ошибку «не удаётся подключиться к удалённому компьютеру». Чаще всего это значит, что VPN не поднят, — разбор похожих случаев есть в статье про ошибку RDP 0x204.

Смена порта — не защита

Перенос RDP с 3389 на другой порт убирает часть попыток перебора паролей в журналах: простые сканеры проверяют только стандартный порт. Но современные сканеры обходят все порты и распознают RDP по ответу сервера. Нестандартный порт находят за минуты или часы, после чего перебор продолжается как обычно. Смена порта не мешает делать все остальное, но считать её мерой защиты нельзя.

Чек-лист защиты RDP

МераСколько времениЭффект
Закрыть 3389 из интернета, доступ через VPNОт нескольких часовСервер перестают сканировать и перебирать напрямую
Белый список IPМинутыОтсекает подключения с чужих адресов
Блокировка IP после неудачных попытокОколо часаПеребор с одного адреса быстро прекращается
Политика блокировки учётных записейМинутыПодбор пароля к конкретной учётной записи становится долгим
NLAМинутыУчётные данные проверяются до создания сеанса
Длинные уникальные паролиДень на переходСловарный перебор и повтор утёкших паролей не срабатывают
Второй факторОт дня до нескольких недельПароля без телефона или ключа недостаточно для входа

Как выбрать вариант для небольшой компании

Отталкивайтесь от того, как устроен ваш доступ:

  • Один сервер в офисе, сотрудники работают из офиса. RDP в интернет не нужен вовсе. Закройте порт, а редким удалённым подключениям дайте VPN.
  • Сотрудники работают из дома со стабильных адресов. Начните с белого списка IP и блокировки после неудачных попыток. Второй фактор добавьте для администраторов и главного бухгалтера.
  • Много удалённых сотрудников, адреса постоянно меняются, есть ноутбуки и телефоны. Белый список здесь неудобен. Подойдёт VPN с 2FA или шлюз удалённых рабочих столов с MFA.
  • Облачный сервер у провайдера. Уточните, что провайдер предлагает сам. Например, у Service4biz.ru белый список IP и блокировка IP после неверных паролей включаются бесплатно по запросу, а двухфакторная авторизация подключается по запросу.

Отдельно продумайте, что делать, если сотрудник потерял телефон или забыл токен дома. Заранее опишите порядок: кто и как временно пускает его на сервер, как привязать новое устройство. Без этого 2FA в первую же неделю превращается в поток срочных звонков администратору.

Частые вопросы

Есть ли в Windows встроенная двухфакторная аутентификация для RDP?

Готового переключателя «включить 2FA для RDP» в Windows и Windows Server нет. Встроены отдельные кирпичики: RD Gateway, NPS, вход по смарт-карте. Второй фактор собирают из них вместе с системой MFA или ставят сторонний агент на сервер.

Можно ли сделать 2FA для RDP бесплатно?

Да, есть открытые решения, например multiOTP, и бесплатные приложения-генераторы кодов для телефона. Платите вы в этом случае временем администратора на настройку и сопровождение. Если сервер один и настраивать некому, практичнее начать с белого списка IP, VPN и блокировки после неудачных попыток.

Хватит ли VPN вместо двухфакторной аутентификации?

VPN с входом по сертификату или ключу уже заметно лучше открытого RDP: порт не виден из интернета. Но если ключ VPN лежит на заражённом ноутбуке, злоумышленник пройдёт через туннель вместе с ним. Надёжнее, когда второй фактор спрашивает сам VPN или шлюз.

Защищает ли 2FA от шифровальщиков?

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

Что делать, если сотрудник потерял телефон с аутентификатором?

Администратор отвязывает старое устройство в системе MFA и выдаёт новое. На время можно дать одноразовые резервные коды, если решение их поддерживает. Важно сразу убрать привязку потерянного телефона, чтобы им не воспользовался посторонний.

Нужно ли включать 2FA для всех пользователей или хватит администраторов?

Начать с администраторов и сотрудников с доступом к бухгалтерии и банку разумно: их учётные записи особенно интересны атакующему. Но любая учётная запись с доступом к серверу открывает дверь внутрь, поэтому в итоге второй фактор стоит распространить на всех, кто подключается извне.