Безопасность RDP: как закрыть любимую дверь хакеров в ваш офис
Я обслуживаю корпоративные сети 14 лет. За это время ни один клиент не пострадал от взлома через RDP — при условии, что мы сами настраивали доступ. До нас — случалось. Один раз очень неприятно. Поэтому расскажу честно: что именно мы делаем и почему это реально работает.
RDP — это не баг, это фича. Очень опасная фича
Удалённый рабочий стол Windows — вещь удобная. Бухгалтер из дома заходит в 1С, системный администратор чинит сервер без поездки в офис. Удобно — да. Безопасно по умолчанию? Категорически нет.
Порт 3389 — это RDP. Его знает каждый хакер. Целые ботнеты круглосуточно сканируют весь интернет именно по нему: автоматически, без участия человека. Нашли открытый — начали перебирать пароли. Словари огромные, машин для атаки — тысячи. Пароль «Ivanov2023» они подбирают за несколько часов. «Бухгалтерия1» — ещё быстрее.
Расскажу конкретный случай. В 2023 году к нам на обслуживание пришла юридическая фирма: 12 рабочих мест, Windows Server 2016, 1С, несколько терабайт конфиденциальных документов. Порт 3389 — открыт напрямую в интернет. Пароль администратора — восемь символов, заглавная буква плюс цифра. Казалось бы, нормально. В пятницу вечером сервер зашифровал всё. Ransomware. Восстановление заняло три дня. Повезло, что резервная копия была — иначе это был бы конец фирмы. Когда я увидел их настройки в первый раз — не удивился. Удивился, что вообще доехали до нас, а не сломались раньше.
NLA: первое, что мы делаем на любом сервере
NLA — Network Level Authentication. По-русски: пользователь проходит аутентификацию ещё до того, как Windows показывает экран входа. Звучит как техническая мелочь. На деле — одна из важнейших галочек во всей настройке RDP.
Без NLA злоумышленник подключается к серверу, получает экран ввода логина и спокойно начинает перебор. Это уже нагрузка на систему, это уже риск. Но хуже другое: часть эксплойтов работает именно до этапа аутентификации. Самый известный пример — BlueKeep (CVE-2019-0708), критическая уязвимость 2019 года. С включённым NLA он не срабатывает. Без NLA — всё зависит от того, стоит ли патч. Я проверял серверы ещё в 2024 году и находил непропатченные. До сих пор такое встречается.
Включить NLA несложно: свойства системы, вкладка «Удалённый доступ», одна галочка. Или через групповую политику, если есть домен. Минут пять работы. После включения клиент без поддержки NLA получит отказ ещё до экрана логина. Старые клиенты — например, Windows XP без патчей — NLA не поддерживают, но надеюсь, у вас таких давно нет. Ставьте NLA всегда. Это база, без которой всё остальное теряет большую часть смысла.
Смена порта: помогает от шума, но не от целенаправленной атаки
Сменить порт с 3389 на нестандартный — например, 51472 — и количество автоматических атак падает в разы. Боты сканируют именно 3389. Нестандартный большинство из них просто пропускают. Тишина в логах наступает почти сразу — это заметно.
Делается через реестр: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp, параметр PortNumber, значение — новый порт в десятичном формате. После этого перезапустите службу Remote Desktop Services. Обязательно откройте новый порт в брандмауэре Windows и закройте 3389. Если на сетевом оборудовании настроен проброс портов — там тоже правите.
Но честно скажу: смена порта — это security through obscurity. Целенаправленная атака на вашу компанию за десять минут просканирует все порты через nmap и найдёт RDP на любом из них. Смена порта убирает шум от ботнетов — и это реально ценно — но нормальную защиту не заменяет. Одна мера из комплекса, не финальное решение.
Белый список IP — самое действенное из простых решений
Если сотрудники подключаются с фиксированных адресов — у каждого дома статический IP — вопрос закрывается примерно на 95 процентов. Просто запрещаете RDP для всего мира и разрешаете только конкретным адресам. В брандмауэре Windows это правило на входящий трафик: протокол TCP, порт 3389, источник — список разрешённых IP. Всё остальное отклоняется. Боты упираются в стену и идут дальше.
Главная проблема — у большинства сотрудников дома динамический IP. Провайдер меняет его каждые несколько дней, иногда каждый день. Решений несколько: договоритесь с сотрудниками о статическом IP у провайдера — обычно это 100–300 рублей в месяц дополнительно — либо используйте VPN или RD Gateway. Ещё вариант: ограничить доступ по стране, запретив весь трафик не из России. Это делается на уровне Windows Firewall с таблицами GeoIP или прямо на роутере.
Гео-блокировка — не панацея, но разумная прослойка. Большая часть атак на российские компании идёт из Китая, Нидерландов — там сосредоточено много серверов ботнетов — и Бразилии. Закрыть нероссийский трафик на RDP-порт значит снять большую часть шума без какой-либо потери для ваших сотрудников. На нашей практике — я работаю в Москве — ни одной компании, которой был бы нужен RDP-доступ из Сингапура, я не встречал.
RD Gateway: правильная архитектура удалённого доступа
RD Gateway — роль Windows Server, которая позволяет пользователям снаружи подключаться к внутренним ресурсам через HTTPS. Наружу открыт только 443-й порт — тот самый, по которому ходит обычный веб. Порт 3389 снаружи вообще недоступен. Пользователь подключается к шлюзу по 443-му, шлюз проверяет права и уже внутри сети устанавливает RDP-сессию до нужного компьютера. Снаружи это выглядит как обычный HTTPS-трафик.
Это правильная архитектура. Не просто «защита», а нормальная схема. Дополнительный плюс — политики ресурсов: бухгалтер подключается только к бухгалтерскому серверу, только в рабочее время, только с авторизованных устройств. Пересечь эту границу без прав — невозможно. Шлюз ведёт полный журнал подключений: кто, когда, на какой ресурс, с какого IP. Когда нужно разобрать инцидент — это очень удобно.
Что нужно для развёртывания RD Gateway? По сути — три вещи. Лицензия Windows Server (у большинства она уже есть в составе установленной системы), SSL-сертификат на доменное имя — Let's Encrypt подходит, он бесплатный — и несколько часов на настройку. Мы ставим RD Gateway почти всем клиентам, где работает пять и более удалённых пользователей. Один раз настроили — дальше работает само. Дополнительных затрат практически нет. Зато уровень защиты меняется кардинально: из категории «открытая дверь» переходим в категорию «нормально закрытая».
Политика блокировки аккаунтов и мониторинг событий
Политику блокировки учётных записей нужно настроить. Без вариантов. Суть простая: после N неудачных попыток ввода пароля аккаунт блокируется на M минут. На нашей практике — 5 попыток, блокировка на 15 минут. При таких параметрах брутфорс превращается в занятие без смысла: за сутки злоумышленник проверит несколько сотен паролей, а не миллионы. Разница принципиальная.
Настройка — через групповую политику: Computer Configuration → Windows Settings → Security Settings → Account Policies → Account Lockout Policy. Нет домена? Тогда через локальную политику безопасности, secpol.msc. Цифры такие: порог — 3–5 попыток, длительность блокировки — минимум 15 минут, сброс счётчика — через 30 минут. Это рабочий стандарт. Смягчать его в сторону послабления не стоит.
Мониторинг — тема, которую откладывают до последнего. Зря. Журнал безопасности Windows фиксирует каждую попытку входа. Событие с кодом 4625 — это неудачная аутентификация. Сотни таких событий в минуту с одного IP — атака. В реальном времени, прямо сейчас. Настройте хотя бы минимальный алерт: скрипт на PowerShell, который раз в час считает события 4625 за прошедший час и шлёт письмо, если их набралось больше ста. Мы у себя используем Zabbix с собственными шаблонами — но даже примитивный скрипт лучше, чем полное отсутствие мониторинга. Атаку, о которой никто не знает, никто и не остановит.
Пароли, двухфакторка и резервные копии — финальный рубеж
Пароли. Да, банально — но пропустить нельзя. Минимум 12 символов: строчные и заглавные буквы, цифры, спецсимволы. В политике: Minimum password length — 12, Password must meet complexity requirements — включено, смена каждые 90 дней. Сотрудники будут ворчать. Это нормально, привыкнут. И ещё один момент, который часто игнорируют: не используйте учётную запись Administrator для удалённых подключений. Создайте отдельного пользователя с именем, которое не похоже на «admin», «rdp» или «remote». Хакеры перебирают стандартные имена первыми. Аккаунт с именем вроде «fin_acc_ext» сломать значительно сложнее.
Двухфакторная аутентификация для RDP — это уже другой уровень защиты. Есть решения типа Duo Security, есть отечественные альтернативы — все они добавляют OTP поверх стандартной Windows-аутентификации. Стоимость: от 300 до 900 рублей на пользователя в месяц, зависит от конкретного продукта и числа людей. Для компаний, которые работают с чувствительными данными — медицина, юриспруденция, финансы — это де-факто обязательный элемент. Даже если злоумышленник каким-то образом узнает пароль, войти без одноразового кода он всё равно не сможет.
Резервные копии — это не защита от взлома. Это защита от катастрофы. Если всё перечисленное выше не сработало и сервер зашифровали — актуальный бэкап означает, что вы теряете максимум один рабочий день, а не всё, что накапливалось годами. Для большинства клиентов мы используем Veeam Backup. Резервные копии хранятся физически отдельно от основной системы: на отдельном диске, лучше в другом помещении, или в облаке. Ransomware шифрует то, что видит. То, что он не видит, остаётся нетронутым. Помните ту юридическую фирму из начала статьи? Они выжили именно потому, что резервная копия лежала на диске, который не был подключён постоянно.
Частые вопросы
Можно ли просто сменить порт RDP с 3389 на другой и больше ничего не делать?
Смена порта снижает количество автоматических атак от ботнетов — это реальный плюс. Но только это. Целенаправленная атака за несколько минут просканирует ваш сервер и найдёт RDP на любом порту. Без NLA, без политики блокировки, без ограничения по IP или RD Gateway — смена порта лишь отодвигает проблему. Это одна мера из пяти, а не замена всему остальному.
Нужен ли RD Gateway небольшой компании на 10–15 человек?
Нужен, если у вас есть хотя бы пять удалённых пользователей и ценные данные. Размер компании здесь вторичен. У небольших юрфирм и медицинских клиник данных иногда на порядок чувствительнее, чем у крупных торговых. RD Gateway — один раз настроить, дальше работает само. Лицензия Windows Server у вас, скорее всего, уже есть. SSL-сертификат — бесплатный через Let's Encrypt. Настройка — несколько часов работы специалиста.
Сколько стоит нормально защитить RDP в небольшой компании?
Если считать только работу специалиста — настройка NLA, политик блокировки, белого списка IP и RD Gateway — это 4–8 часов, в Москве примерно 8 000–20 000 рублей единоразово. Если нужна двухфакторка — плюс 300–900 рублей в месяц на пользователя. Всё остальное либо бесплатно, либо уже включено в то, что у вас есть. На фоне стоимости восстановления после атаки с потерей данных — несопоставимо дёшево.
Что делать, если взлом уже произошёл и сервер зашифрован?
Сразу отключить сервер от сети — физически, не просто выключить службы. Это ограничивает распространение. Проверить резервные копии: если они есть и не зашифрованы — вы в относительно хорошей ситуации. Вызвать специалиста — попытки самостоятельного восстановления часто уничтожают улики. Не платить выкуп: никаких гарантий, что ключ пришлют. После восстановления — полный аудит того, как зашли и что нужно изменить.
Оставьте заявку, и наш специалист проведёт аудит удалённого доступа и расскажет, что именно нужно исправить в вашей конкретной ситуации.
Бесплатная консультация →
Подпишитесь на рассылку ITfresh
Каждую неделю — практические гайды для руководителей и сисадминов: безопасность, 1С, миграции, резервные копии и лайфхаки из реальных проектов.
