Як захистити 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. У полях запису для правила можна переглянути всі діючі для нього налаштування.