Как защитить Windows VDS от brute force и сканирования портов
Каждую секунду боты в сети стараются пробить защиту любого из Windows VDS-серверов, выявляя их слабые места и собирая техническую информацию о существующих подключениях и портах. И этот процесс не прекращается никогда. Поэтому чтобы сервер мог «держаться на плаву», его защита должна «работать» на все 100% и быть безукоризненной. Но для этого нужно чётко знать от чего и как защищаться. Brute Force и сканирование портов – одни из самых распространённых действий злоумышленников, имеющих целью подбор пароля доступа и сбор сведений о системе. Поэтому они требуют к себе особого внимания. Рассмотрим эти виды атак и покажем возможные пути борьбы с ними.
Атака Brute Force и методы борьбы с ней
Суть проведения атаки состоит в запуске автоматизированных сценариев в выбранном сетевом сегменте с целью выявления и сбора учётных данных пользователей, использующихся для входа в систему по разным каналам связи – прямой вход, SSH, RDP и некоторым другим. То есть, такие атаки затрагивают процесс входа в систему и аутентификации пользователей и поэтому должны применяться соответствующие методы защиты.
Результатом проведенной атаки могут быть следующие последствия:
- Утеря конфиденциальных данных пользователей и данных VDS-сервера;
- Получение полного контроля над сервером;
- Нарушение целостности данных;
- Установка вредоносного программного обеспечения (ПО);
- Использование машины для последующего проведения DDoS-атак;
- Генерация вредоносного трафика;
- Снижение производительности сервера или даже вывод его из строя.
Для борьбы с brute force могут быть применены такие основные меры:
- Использование надёжных паролей;
- Регулярное обновление ОС и приложений;
- Создание отдельных учётных записей для удаленного подключения, а также отключение неиспользуемых записей;
- Смена «стандартных» портов протоколов связи;
- Блокировка или переименование «стандартной» учётной записи Администратора;
- Установка антивирусного ПО;
- Организация защищённого доступа к RDP/SSH с помощью VPN;
- Использование SSH-ключей для аутентификации;
- Настройка двухфакторной аутентификации;
- Настройка брандмауэра;
- Мониторинг системы;
- Использование инструментов обнаружения атак.
Ниже будут рассмотрены некоторые из наиболее значимых мер.
Использование надёжных паролей
Одно из главных требований к учётным данным пользователей – наличие пароля, отвечающего требованиям надёжности. Приведём здесь некоторые из критериев надёжности:
- Запрет на использование предсказуемых комбинаций – passw, 12345, admin и т. д.;
- Наличие строчных и заглавных букв, цифр и специальных символов;
- Длина не менее 12-ти символов;
- Установка разных паролей для разных учётных записей;
- Использование комбинаций несвязанных между собой слов;
- Запрет на использование в паролях личных данных пользователей;
- Регулярные обновления / смена паролей каждые 60–90 дней.
Более детальную информацию о критериях надёжности и о том, как придумать надёжный пароль можно узнать в одной из наших предыдущих статей.
Регулярное обновление ОС и приложений
Регулярное выполнение обновлений ОС и ПО позволит получить следующие преимущества:
- Устранение проблем безопасности с приложениями баз данных, облачными сервисами, веб-серверами;
- Повышение производительности ПО для мониторинга работы сервера;
- Улучшение качества шифрования протоколов безопасности;
- Своевременное устранение уязвимостей в службах RDP, SSH и др.;
- Улучшение работы фаервола по выявлению подозрительного трафика.
Мониторинг системы
Регулярный мониторинг событий на сервере поможет своевременно выявлять неудачные попытки аутентификации в системе, а также просматривать заблокированные IP-адреса для принятия эффективных мер по отражению атак.
Выделим основные методы мониторинга:
- Просмотр событий Windows в системных журналах;
- Использование инструментов автоматизации мониторинга Sysinternals Suite;
- Использование средств командной строки, таких как Netdata.
Для просмотра журнала безопасности Windows достаточно ввести команду eventvwr в окне запуска команд Windows. В результате появится окно Просмотр событий, в левой части которого можно выбрать нужный журнал, а в правой просмотреть его содержимое, как показано на скрине ниже.
Настройка брандмауэра
Брандмауэр или сетевой экран является первой линией защиты сервера от атак, сконфигурированной с помощью настраиваемых правил. Настроив группу правил в соответствии с конфигурацией и назначением сервера, можно повысить уровень его безопасности.
Приведём базовые действия для брандмауэра, которые необходимо выполнить в первую очередь:
- Ограничить количество попыток аутентификации;
- Создать «белый» список IP-адресов, ограниченный сотрудниками компании;
- Создать «чёрный» список IP-адресов, имеющихся в открытых источниках;
- Ограничить количество запросов с одного IP;
- Закрыть неиспользуемые порты;
- Вести регулярный мониторинг журналов брандмауэра;
- Настроить регулярные обновления программы.
Ниже будет приведён пример открытия / закрытия портов в брандмауэре.
Использование инструментов обнаружения атак
В целях обеспечения безопасности сервера от brute force нередко прибегают к помощи сторонних инструментов, позволяющих вовремя обнаружить атаку или её последствия.
Для VDS на базе Windows наиболее важно защитить часто используемые RDP-соединения, требующие аутентификации пользователя. Именно они часто являются целью злоумышленников.
Одним из инструментов обнаружения и предотвращения brute force атак является программа RDPGuard. Приведём некоторые из возможностей программы:
- Непрерывный мониторинг запросов аутентификации;
- Использование интеллектуальных алгоритмов для выявления известных шаблонов для попыток аутентификации;
- Динамическое занесение подозрительных IP-адресов в чёрный список;
- Автоматическое блокирование подозрительных адресов;
- Ведение журнала регистрации всех попыток аутентификации;
- Гибкость в управлении «белым» списком IP-адресов.
Для установки и настройки программы на VDS Windows следует выполнить следующие действия:
- Загрузить установщик RDPGuard для Windows Server с официального сайта разработчика;
- Запустить установщик на сервере и следовать выводимым инструкциям;
- В окне настройки конфигурации RDPGuard выбрать нужные опции и сохранить полученную конфигурацию, кликнув по кнопке Save.
- После завершения установки запустить программу из главного меню Windows, при этом она будет работать в фоновом режиме, мониторя любые попытки RDP-подключений;
- Для внесения изменений в стандартные настройки приложения следует кликнуть правой кнопкой мыши по значку программы в области уведомлений и выбрать пункт меню Настройки;
- В открывшемся окне в меню Tools можно внести любые изменения в стандартные настройки приложения – установить максимальное количество попыток входа и длительность блокировки, добавить доверенные IP-адреса и т. д.;
- Для просмотра и анализа зафиксированных в RDPGuard событий можно перейти в раздел журнала View и ознакомиться там с сохранёнными записями.
Проверка открытых портов
Необходимо периодически выполнять проверку открытых портов на Windows VDS-сервере. Это обусловлено рядом причин:
- Вредоносные программы могут использовать порты для связи со своими управляющими серверами в целях похищения данных или распространения вирусов;
- Наличие открытого порта повышает риск получения злоумышленником удалённого доступа к серверу, что может привести к непредсказуемым последствиям;
- Неиспользуемые порты потребляют системные ресурсы, что сказывается на производительности сервера.
Для проверки портов в Windows можно воспользоваться одним из встроенных инструментов ОС:
- Утилита командной строки Netstat;
- Инструмент автоматизации выполнения задач PowerShell.
Например, для сканирования портов с помощью утилиты Netstat следует ввести в командной строке:
netstat -an
Результат выполнения команды приведён ниже. Утилита с указанным параметром вывела все активные соединения нашего сервера. В первом столбце выведено название протокола, который использует порт. В столбце Local Address указаны IP-адрес и номер порта каждого соединения. Анализируя выведенную информацию можно делать выводы о целесообразности открытости того или иного порта.
Как открыть / закрыть порт с помощью брандмауэра
По результатам сканирования портов может обнаружиться, что какой-нибудь из них необходимо закрыть или, наоборот, открыть. Для этого следует воспользоваться возможностями встроенного брандмауэра Windows.
Приведём пример открытия порта, необходимого для работы VDS сервера Windows. Для закрытия порта последовательность шагов будет та же. Наши действия должны быть следующими:
- Запустить брандмауэр в режиме повышенной безопасности;
- В левой части открывшегося окна выбрать пункт Inbound Rules и затем кликнуть по кнопке New Rule для создания нового правила;
- На первом экране поставить переключатель в положение Port и нажать кнопку Далее;
- На втором экране выбрать протокол UDP, указать нужный порт и нажать Далее;
- На третьем экране необходимо выбрать для каких соединений будет действовать наше правило. Указываем Все соединения и идём дальше;
- На четвёртом экране необходимо указать в каких случаях должно применяться наше правило. Отмечаем все возможные варианты и идём дальше;
- На завершающем экране следует ввести произвольное имя нового правила, после чего нажать Finish.
В результате выполненных действий созданное нами правило было добавлено в брандмауэр. Чтобы убедиться в этом достаточно выделить пункт Inbound Rules в окне фаервола и просмотреть в правой части окна имена всех имеющихся правил. Можно убедиться, что среди них присутствует созданное нами правило с именем 4242. В полях записи для правила можно просмотреть все действующие для него установки.