Перші десять хвилин на свіжому VPS тихо вирішують багато що. Нову публічну IP починають сканувати боти майже одразу — цілять не у вас, просто шарять усе підряд. Нічого не зробити — і ви сподіваєтесь на удачу. Зробити чотири-п'ять дрібниць — і ви зачинили двері, які реально вибивають. Ось список за пріоритетом, із командами.
1. SSH-ключі й вимкнути вхід паролем
Найважливіше. Якщо ви заходите паролем — те саме може й бот, що його підбере, а пробують вони тисячами на хвилину.
З ноутбука, якщо ключа ще немає:
ssh-keygen -t ed25519 -C "you@laptop"
ssh-copy-id root@айпі-сервера
Потім на сервері вимикаємо пароль:
# /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
sudo systemctl reload ssh
⚠️ Перевірте другу SSH-сесію до закриття першої — якщо вхід по ключу працює, чудово; якщо ні, у вас лишається відкрита сесія все полагодити. Замкнути самого себе — класичний промах тут.
2. Фаєрвол — заборона за замовчуванням
Відкривайте лише те, що потрібно. На Ubuntu/Debian:
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH # або ваш SSH-порт
sudo ufw enable
Тепер випадковий сервіс не дістати ззовні, доки ви його не відкриєте. Це ловить те, про що ви неминуче забудете.
Нюанс для NAT-тарифів: ваш SSH приходить на проброшений порт, не на 22, і довільні вхідні порти не відкрити — ізоляція робить частину роботи за вас. На тарифі з виділеним IP у вас усі порти, і фаєрвол бере на себе більше.
3. Автоматичні оновлення безпеки
Більшість зламаних серверів — не хитрі цілі, а відомий баг, який патч уже полагодив, на машині, яку ніхто не оновлював. Зробіть патчинг автоматичним:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Поставив і забув. Звичка №1 за цінністю після SSH-ключів.
4. fail2ban (опційно, але дешево)
З уже вимкненим паролем перебір не переможе — тож це про чистку шуму й ранній бан абьюзних IP, а не базовий захист:
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
Варте того заради тихих логів; без докорів пропустіть, якщо тримаєте мінімалізм.
Що можна пропустити
- Зміна SSH-порту — ріже шум ботів, не зупиняє реального атакувальника. Косметика. Не плутайте із захистом.
- Накручені IDS/SELinux — перебір для односервісної машини під бота чи агента. Спадна віддача.
Чесний підсумок
Якщо робити одне — робіть SSH-ключі + вимкнений пароль. Додайте фаєрвол і авто-оновлення — і ви зачинили переважну частину реального ризику менш ніж за десять хвилин. Усе далі — шліфування.
Тримаєте на сервері постійного агента чи бота? Поєднуйте це із запуском під systemd, щоб він переживав перезавантаження й падіння, а не лише атакувальників.