Безопасность RDP: как закрыть любимую дверь хакеров в ваш офис
Я занимаюсь обслуживанием корпоративных сетей уже 14 лет. За это время ни один из наших клиентов не пострадал от взлома через RDP после того, как мы грамотно его настроили. До того, как мы взялись за настройку — случалось. Один раз очень неприятно. Поэтому сегодня расскажу, что именно мы делаем и почему это работает.
RDP — это не баг, это фича. Очень опасная фича
Удалённый рабочий стол Windows — штука удобная. Ваш бухгалтер сидит дома, заходит в 1С, всё работает. Системный администратор подключается к серверу без поездки в офис. Удобно? Безусловно. Безопасно по умолчанию? Категорически нет.
RDP работает на порту 3389. Это знает каждый хакер. Существуют целые ботнеты, которые круглосуточно сканируют весь интернет именно по этому порту — автоматически, без участия человека. Нашли открытый — начали подбирать пароли. Словари у них огромные, машин для атаки — тысячи. Пароль «Ivanov2023» они подбирают за несколько часов. «Бухгалтерия1» — быстрее.
Расскажу один случай. В 2023 году мы взяли на обслуживание юридическую фирму — 12 рабочих мест, Windows Server 2016, 1С и несколько терабайт конфиденциальных документов. Сервер стоял с открытым портом 3389 напрямую в интернет. Пароль администратора — восемь символов, заглавная буква и цифра. Казалось бы, нормально. В пятницу вечером сервер зашифровал всё. Ransomware. Восстановление заняло три дня. Повезло, что резервная копия была — иначе это был бы конец фирмы. Когда я увидел их настройки впервые — я не удивился. Удивился, что доехали до нас, а не сломались раньше.
NLA: первое, что мы делаем на любом сервере
NLA — Network Level Authentication. По-русски: требование пройти аутентификацию до того, как Windows вообще покажет экран входа. Звучит как техническая мелочь. На деле — одна из важнейших галочек.
Без 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С, миграции, резервные копии, лайфхаки из реальных проектов.
