У меня есть небольшой сервер за маршрутизатором, работающий под управлением Windows 10. Довольно просто настроить удаленный рабочий стол напрямую в Интернете и открыть нужный порт, изменив конфигурацию маршрутизатора.
Вопрос:Должен ли я знать о проблемах безопасности, связанных с этим? Я имею в виду, что мой серверпо меньшей мередоступ к которому имеет каждый, кто знает правильную комбинацию имени пользователя и пароля.
Если вы хотите ограничить круг лиц, имеющих доступ к вашему ПК, выберите разрешение доступа только с помощью сетевой аутентификации (NLA). При включении этой опции пользователи должны пройти аутентификацию в сети, прежде чем смогут подключиться к вашему ПК. Разрешение подключений только с компьютеров, на которых запущен удаленный рабочий стол с NLA, является более безопасным методом аутентификации, который может помочь защитить ваш компьютер от вредоносных пользователей и программного обеспечения. Чтобы узнать больше о NLA и удаленном рабочем столе, ознакомьтесь с разделом Настройка NLA для подключений RDS.
решение1
Ни один серьезный сетевой администратор не будет напрямую выставлять RDP-сервер в Интернет.
Если в нем есть какие-либо дыры/бэкдоры, это не только означает «конец игры» для части системы (т. е. точка перегиба/точка перехода), но и создает возможность для DoS-атак и снятия отпечатков с рабочего стола(ов) в локальной сети, что может привести к раскрытию ненужной информации.
В зависимости от RDP-сервера и клиента, также может быть возможно провести атаку MITM (man in middle). Существуют различные способы, которыми это можно сделать, включая принудительное понижение версии протокола или использование небезопасной криптографии. Вы можете обнаружитьhttps://labs.portcullis.co.uk/blog/ssl-man-in-the-middle-attacks-on-rdp/интересный.
Предусмотрительный оператор может настроить VPN и разрешить удаленный доступ по RDP только через него, чтобы обеспечить еще один уровень безопасности, управления доступом, аудита и контроля.
решение2
Удаленный рабочий стол Microsoft использует шифрование, поэтомукоммуникациипоэтому достаточно защищены. Слабое место — это атака методом подбора против вашего имени пользователя и пароля.
Учитывая, как хакеры постоянно сканируют Интернет в поисках слабых мест, а также количество известных (и неизвестных) эксплойтов, гораздо лучше установить как можно больше мер защиты (но не до такой степени, чтобы это чрезмерно усложняло доступ).
Для защиты RDP вы можете сделать следующее:
Измените порт по умолчанию, который прослушивает удаленный рабочий стол.
Сильные полномочия
Используйте нестандартное имя пользователя и длинный и сложный пароль.Ограниченные учетные записи пользователей
Серьезно ограничьте пользователей, которые могут использовать RDP, запустивsecpol.msc
и перейдя по адресу Локальная политика > Назначение прав пользователя, дважды щелкните «Разрешить вход в систему через службы удаленных рабочих столов» и удалите все отображаемые группы, затем добавьте своего одного пользователя.Высокий уровень безопасности
Запуститеgpedit.msc
и перейдите к Политика локального компьютера > Административные шаблоны > Компоненты Windows > Службы удаленного рабочего стола > Узел сеанса удаленного рабочего стола > Безопасностьи установить:- «Установить уровень шифрования клиентского соединения» -> Включено и Высокий уровень, чтобы ваши сеансы были защищены 128-битным шифрованием.
- «Требовать использования определенного уровня безопасности для удаленных (RDP) подключений» -> SSL
- «Требовать аутентификацию пользователя для удаленных подключений с использованием аутентификации на уровне сети» -> Включено
Установить политику блокировки учетной записи
Чтобы заблокировать учетную запись на определенный период времени после нескольких неверных попыток, перейдите по ссылкеАдминистративные инструменты > Локальная политика безопасности > Политики учетных записей > Политики блокировки учетных записейи задайте значения для всех трех вариантов (3 недействительные попытки с продолжительностью блокировки в 3 минуты являются разумными).отслеживайте входы в систему вашего ПК
Периодически заходите в Event Viewer в Журналы приложений и служб > Microsoft > Windows > TerminalServices-LocalSessionManger > Операционные, чтобы увидеть информацию для входа.Поддерживайте высокий уровень UAC
Создать VPN-сервер
Вы также можете пойти дальше и настроить VPN-сервер (связь), что добавит еще один уровень безопасности.
Я общался на нашем сайте с авторами, которые реализовали все вышеперечисленные пункты, и это кажется достаточной защитой. При реализации всех этих мер предосторожности атака методом подбора становится практически невозможной, поэтому единственной оставшейся угрозой является какой-нибудь эксплойт. Но поскольку никаких эксплойтов не было обнаружено ни при входе через VPN, ни при входе через RDP, я бы подумал, что эта настройка достаточно безопасна.
решение3
Извините, что опоздал, но я подумал, что для вас и других людей в будущем вы можете найти мой опыт решения схожей проблемы — давайте просто назовем его «интересным».
Некоторое время назад я настроил OpenVPN на сервере Linux. У Linux есть отличные функции ведения журнала с использованием IPTables (кстати, потрясающее сетевое ПО). Я открыл порт SSH, чтобы передавать сертификаты.
В ту ночь я просмотрел журналы и обнаружил, что внешний субъект начал брутфорсить этот порт через несколько секунд после того, как он был выставлен на маршрутизаторе. Затем, поскольку они знали, что учетная запись может быть заблокирована после трех неудачных попыток, их ферма ботов использовала тот же пароль и чередовала имена учетных записей, не давая системе распознавать несколько неудачных попыток для одного и того же имени учетной записи. Затем, поскольку они, должно быть, поняли, что IPTables может блокировать неудачные попытки с одного и того же IP-адреса, они попробовали только около шести попыток с одного и того же IP-адреса, прежде чем переключиться на другой компьютер.
Я говорю «бот-ферма», потому что на протяжении всей недели (вскоре после этого я заблокировал SSH, но оставил порт открытым, чтобы иметь возможность наблюдать — я был совершенно заворожён) количество IP-адресов, с которых приходил источник, ни разу не повторялось, каждые пару секунд, каждую минуту, каждый час каждого дня — шесть попыток, и появлялся новый IP-адрес, продолжая тот же алфавитный список имён учётных записей.
Настройте VPN. Используйте сертификаты, а не имена учетных записей. И не раскрывайте такие вещи, как RDP, дольше нескольких часов, даже если у вас есть потрясающая система для создания паролей. Не делайте этого. (Кстати, имя моей учетной записи было в его списке, просто ждало, когда он найдет правильный пароль.)
решение4
Согласен, что выставлять RDP в интернет обычно не рекомендуется. Но я делал это несколько раз, чтобы получить доступ к jumpbox, предварительно настроив брандмауэр на разрешение RDP-подключений только с известного удаленного статического IP-адреса. Так что это предотвращает любые атаки методом подбора или использования уязвимостей. Хотя есть возможность атаки Man In the Middle, но разве NLA не предотвратит это?
То же самое я делаю и с SSH.