Захист VDS з нуля: SSH, firewall, Fail2Ban і не тільки

02.03.2026 1 хвилин Автор: D2-R2

У статті зібрано 10 базових кроків для hardening VPS: налаштування SSH-ключів, заборона root-доступу, зміна стандартного порту, конфігурація firewall (iptables, ufw), встановлення Fail2Ban, своєчасні оновлення, видалення зайвого ПЗ, резервне копіювання та шифрування каналів через HTTPS і SFTP. Окрему увагу приділено моніторингу логів і контролю доступу за IP-адресами.

Що потрібно зробити одразу після запуску

Буває так: щойно запустив VDS/VPS, проходить пара хвилин, а в логах вже купа спроб підібрати пароль. Сподіватися на провайдера в такому разі марно – він відповідає лише за ізоляцію гіпервізора. А от усе, що відбувається всередині вашої гостьової ОС, – це суто ваша зона відповідальності. Нижче зібрано десять базових правил безпеки VDS. Найкраще вони працюють саме у зв’язці.

1. Ставимо надійні паролі, а краще – SSH-ключі

Головне правило захисту – це автентифікація. Слабкі паролі типу «admin123» – це просто подарунок для ботів та скрипт-кідді, які перебирають тисячі комбінацій за секунду. Якщо вже використовуєте пароль, робіть його дійсно міцним: від 12 символів, великі та малі літери, цифри, спецсимволи.

Але значно надійніше підключатися по SSH-ключу. Це така зв’язка з публічного (на сервері) та приватного (на вашому ПК) ключів. Зламати чи вгадати його практично неможливо, тому перебір просто не спрацює. Крім того, SSH шифрує весь трафік, додаючи ще один рівень захисту від хакерів. Про те, як згенерувати ключ через PuTTY, можна почитати в мережі.

Ну і не забувайте про базову гігієну: не ставте один і той самий пароль для різних сервісів. А якщо в панелі є двофакторна автентифікація – вмикайте відразу.

2. Відмовляємося від root по SSH

На Linux найчастіше намагаються зламати саме користувача root. У нього немає жодних обмежень, тому боти передусім підбирають пароль від цього акаунту. Рішення просте – не давати їм такого шансу.

Створіть окремого користувача для адміністрування, дайте йому права через sudo, а потім забороніть вхід під root по SSH. Зробити це можна у файлі /etc/ssh/sshd_config, змінивши значення PermitRootLogin на no.

Тільки спочатку переконайтеся, що новий користувач працює і має потрібні права, інакше заблокуєте самі себе. Якщо це все ж сталося, є запасний варіант – зайти під root через консоль у панелі провайдера. Після таких налаштувань прямий логін для root буде закритий, а отже, один із найпопулярніших каналів атаки просто зникне.

3. Змінюємо стандартний SSH-порт та звужуємо IP-доступ

Щодня тисячі сканерів простукують порти в надії знайти вразливий сервер. Майже будь-який бот починає атаку зі звичного 22-го порту. Щоб ускладнити їм завдання, просто перенесіть SSH на інший порт (наприклад, десь у діапазоні 49152–65535). Тільки не забудьте відкрити новий порт у файрволі та вказувати прапорець -p при підключенні в SSH-клієнті.

Наступний рівень – дозволити доступ лише для “своїх” IP-адрес. Зазвичай це роблять через правила iptables або ufw. Ви просто дозволяєте підключення, наприклад, тільки з офісу або з дому, а всі інші адреси безжалісно ріжуться. Взагалі, на сервері мають бути відкриті лише ті порти, які реально потрібні для роботи. Інші треба закривати.

4. Налаштовуємо файрвол та закриваємо непотрібні порти

Тут працює золоте правило: «Що не дозволено – те заборонено». На практиці це означає, що у файрволі мають бути відкриті виключно порти для потрібних сервісів.

Але починати треба не з налаштування, а з прибирання. Видаліть усі служби та демони, якими не користуєтесь, щоб вони не займали порти. Перевірити, що зараз активно, допоможуть команди netstat -ntulp та ss -ntulp. Все зайве сміливо блокуйте через iptables, ufw чи інші інструменти.

Також хороша практика – не тримати на VDS нічого, що може стати точкою ризику. Зайві CMS-плагіни, утиліти чи модулі можуть стати дірками для злому. Чим менше непотрібного коду, тим вища надійність.

Після чистки налаштовуйте файрвол. У багатьох провайдерів є свій фільтр трафіку, але на рівні ОС все одно варто задіяти iptables, nftables, firewalld або хоча б ufw. Спершу встановіть правило DROP для всіх вхідних з’єднань, а потім вручну відкрийте лише потрібні IP та порти. У підсумку, навіть якщо хакер вгадає ваш новий порт, без дозволеної IP-адреси він не підключиться.

5. Встановлюємо Fail2Ban або аналог

Наступний крок – захист від брутфорс-атак. Найкраще для цього підходить Fail2Ban (ставиться через пакетний менеджер). Він стежить за логами авторизації і автоматично блокує IP-адреси, з яких намагаються вгадати пароль.

На машинах з Windows цієї утиліти немає. Доведеться або використовувати WSL2 (хоча демони там працюють не завжди стабільно), або шукати аналоги типу F2B чи Fail2Ban4Win. Після встановлення Fail2Ban на Linux, налаштування краще робити в окремому файлі jail.local (зазвичай лежить у /etc/fail2ban/). Там треба увімкнути потрібні правила – як мінімум, активувати захист для sshd.

6. Вчасно оновлюємося

Свіжий VDS важливо тримати в актуальному стані з першого ж дня. Будь-який софт (ядро, пакети, сервіси) має вразливості, і розробники регулярно випускають патчі, коли їх знаходять. Чим новіша версія, тим складніше хакеру використати баг.

Щоб не перевіряти все руками, оновлення краще автоматизувати. Наприклад, через cron-завдання, яке щодня оновлює антивірусні бази або перевіряє пакети. Але головне тут не інструменти, а ваша дисципліна.

7. Видаляємо непотрібне ПЗ

Продовжуючи попередній пункт: не встановлюйте все підряд. Кожен зайвий сервіс чи бібліотека – це потенційні двері для злому. Якщо вам не потрібен поштовий сервер або інтерпретатор Perl (а вистачає Nginx+PHP+MySQL), то й не ставте їх.

Якщо ж на VDS уже встановлена купа програм, залиште лише те, що дійсно використовуєте. Зайві служби вимикайте, а їхні порти повністю закривайте.

8. Регулярно створюємо резервні копії

Надійна стратегія бекапів – це не так прямий захист, як підстраховка на випадок злому чи інших проблем. В ідеалі варто налаштувати автоматичні бекапи (раз на добу) за допомогою rsync, cron-скриптів або послуг хостингу.

Багато провайдерів автоматично роблять знімки або бекапи VDS десь раз на тиждень, але розраховувати лише на них ризиковано. Найкраще дублювати бази та файли у віддалене сховище (хмара чи інший сервер) і стаціонарно, на свій ПК.

9. Шифруємо канали та дані

Шифрувати дані треба скрізь, де це можливо. Почнемо з очевидного: старий FTP використовувати не можна – він передає все у відкритому вигляді і легко перехоплюється. Замість нього беріть SFTP (по SSH) або FTPS. Вони шифрують і самі файли, і ваші паролі.

Якщо на сервері є сайти або API, одразу вмикайте HTTPS/SSL, навіть для внутрішніх сервісів. TLS не лише шифрує дані, а й захищає контент від підміни, що критично важливо для адмінок. Дуже чутливу інформацію можна додатково зашифрувати на рівні каталогів чи дисків через LUKS.

10. Моніторимо систему та логи

Наостанок – постійно стежте за станом VDS. Візьміть за звичку хоча б раз на тиждень читати логи: там зберігаються записи про авторизації, помилки та мережеві події. Це допоможе вчасно помітити підозрілу активність (купу невдалих входів, дивні запити тощо).

На рівні панелі чи крона можна налаштувати сповіщення на пошту про фатальні помилки або падіння сервісів. На серйозних проєктах ставлять інструменти типу Zabbix, Prometheus + Alertmanager або простий Logwatch, який щодня надсилає короткий звіт. У крайньому разі можна просто іноді запускати tail -f /var/log/auth.log або dmesg, щоб візуально перевірити, чи немає потоку помилок.

Усі ці правила безпеки VDS – це не “фішки для параноїків”, а ваша впевненість у збереженні даних. SSH-ключі, закриті порти, заборона root-доступу, свіжі пакети, бекапи та моніторинг не вимагають надзусиль. Проте саме вони визначають, чи буде ваш сервер спокійно працювати роками, чи перетвориться на легку мішень для зловмисників.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.