Блог

Інструкції, посібники й новини про продукт.

Безпека та резервні копії

Перші 10 кроків безпеки на новому VPS

3 листопада 2026 5 хв читання
Поділитися записом

На новому VPS спершу слід оновити систему, створити окремого користувача, який входить за ключем замість root, вимкнути вхід за паролем, увімкнути брандмауер і fail2ban, ввімкнути автоматичні оновлення безпеки та перевірити, чи працюють резервні копії. Нижче — 10 кроків у тому порядку, в якому їх варто виконувати. Команди призначені для Ubuntu і Debian.

Кожен сервер в інтернеті — ціль для автоматичного сканування та ботів, що підбирають паролі, і це видно у вашому власному журналі SSH. Порядок має значення: перш ніж виконувати крок 4, переконайтеся, що кроки 2 і 3 працюють, інакше можна заблокувати собі доступ. sudo у командах працює й тоді, коли ви увійшли як root.

Система й облікові записи

1. Оновіть систему

sudo apt update && sudo apt upgrade -y

В Ubuntu файл /var/run/reboot-required з’являється, коли оновленню потрібен перезапуск. Якщо він є, один раз перезапустіть сервер. У Debian цей файл може не створюватися, тому після оновлення ядра перезапускайте в будь-якому разі.

2. Створіть власного користувача

Не користуйтеся root у щоденній роботі. Створіть окремого користувача з правами sudo. Замість deploy підставте будь-яке ім’я:

sudo adduser deploy

sudo usermod -aG sudo deploy

3. Входьте за ключем SSH

Якщо на вашому комп’ютері ще немає пари ключів, створіть її командою ssh-keygen -t ed25519. Потім скопіюйте відкритий ключ новому користувачеві та перевірте вхід:

ssh-copy-id [email protected]

ssh [email protected]

Якщо ви увійшли без запиту пароля, усе готово. У Windows немає ssh-copy-id. У PowerShell те саме робить ця команда:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Захистіть SSH

4. Вимкніть вхід за паролем і вхід під root

Спершу переконайтеся, що можете увійти новим користувачем за ключем. Потім дізнайтеся, у яких файлах задано ці налаштування. Якщо OpenSSH знаходить те саме налаштування в кількох місцях, він бере перше прочитане значення. У Debian і Ubuntu головний файл конфігурації на самому початку підключає теку /etc/ssh/sshd_config.d/. Образи провайдерів можуть залишити в цій теці файл, що вмикає вхід за паролем. Навіть якщо в головному файлі ви напишете no, значення yes із того файлу залишиться чинним:

sudo grep -rniE "^\s*(PasswordAuthentication|PermitRootLogin|KbdInteractiveAuthentication)" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

Задайте no у кожному активному рядку з результату, у тому файлі, де він трапився: PasswordAuthentication no, PermitRootLogin no, KbdInteractiveAuthentication no. Налаштування, яких у результаті немає, додайте в кінець /etc/ssh/sshd_config. Потім перевірте, застосуйте й подивіться значення, які діють насправді:

sudo sshd -t && sudo systemctl reload ssh

sudo sshd -T | grep -E "^(passwordauthentication|permitrootlogin|kbdinteractiveauthentication)"

Усі три рядки мають закінчуватися на no. Не закривайте відкритий сеанс. Відкрийте новий термінал і переконайтеся, що вхід за ключем працює, перш ніж піти. Якщо ви все ж заблокували собі доступ, відкрийте консоль VNC у панелі. Налаштування SSH не впливають на вхід через консоль.

Ці налаштування згодом можуть непомітно повернутися. Дії в панелі провайдера, як-от додавання ключа SSH чи скидання пароля, можуть призвести до того, що під час наступного завантаження знову запуститься скрипт першого запуску провайдера (cloud-init), а він може знову ввімкнути вхід за паролем. Після будь-якої такої дії ще раз виконайте наведену вище команду sshd -T і перевірте значення.

Обмежте доступ ззовні

5. Увімкніть брандмауер

В ufw спершу дозвольте SSH, а потім вмикайте брандмауер. Якщо зробити навпаки, з’єднання розірветься. Якщо SSH працює не на порту 22, використайте замість 22 свій порт:

sudo ufw allow 22/tcp

sudo ufw enable

sudo ufw status verbose

Якщо запускатимете вебсервер, дозвольте також порти 80 і 443. За замовчуванням ufw відхиляє вхідні з’єднання. У панелі теж є інструмент брандмауера. Якщо ви користуєтеся Docker, будьте обережні: за документацією Docker, опубліковані порти обходять правила ufw. Для служб, до яких має звертатися лише сам сервер, публікуйте порт тільки на адресі loopback, наприклад 127.0.0.1:5432:5432 у файлі Docker Compose.

6. Встановіть fail2ban

fail2ban на деякий час блокує IP-адреси, з яких постійно невдало намагаються увійти:

sudo apt install -y fail2ban python3-systemd

printf '[sshd]\nenabled = true\nbackend = systemd\nmaxretry = 5\nbantime = 1h\n' | sudo tee /etc/fail2ban/jail.local

sudo systemctl enable fail2ban && sudo systemctl restart fail2ban

sudo fail2ban-client status sshd

На серверах Seturack із застосунками в один клік ufw увімкнено, а fail2ban працює. Якщо ви встановили чисту операційну систему, перевірте їхній стан командами sudo ufw status і systemctl is-active fail2ban.

7. Перегляньте відкриті порти

sudo ss -tulpn

Команда виводить усі служби й порти, що слухають з’єднання. Служби, яким не потрібен доступ ззовні, як-от бази даних і кеші, мають слухати лише 127.0.0.1. Вимкніть усе непотрібне: sudo systemctl disable --now service-name

Підтримуйте порядок

8. Автоматизуйте оновлення безпеки

За документацією Ubuntu, пакет unattended-upgrades зазвичай встановлений заздалегідь, а оновлення безпеки ввімкнено. Якщо його немає, встановіть і ввімкніть:

sudo apt install -y unattended-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

Автоматичний перезапуск за замовчуванням вимкнено, тому після оновлень ядра перезапускайте сервер самостійно. За умовами користування підтримувати систему в актуальному стані після налаштування — ваша відповідальність.

9. Робіть резервні копії й перевіряйте відновлення

У Seturack резервна копія вашого сервера створюється щоночі, і зберігаються останні 7 днів. Це входить у ціну. На вкладці Керування відкрийте Резервні копії, щоб переглянути їх, відновити окремий файл або весь сервер. Щоб перевірити відновлення, відновіть один файл: відновлення всього сервера замінює весь поточний диск. Знімок перед великою зміною — добра звичка, але знімок не є резервною копією. Зберігайте копію важливих даних і поза сервером. Докладніше читайте в статті про щоденні резервні копії.

10. Зміцніть паролі

Ваш обліковий запис у панелі — ключ до сервера. Використовуйте там довгий пароль, який ніде більше не застосовується, і зберігайте його в менеджері паролів. Змініть перший пароль root, скопійований із панелі, командою sudo passwd root. Захистіть закритий ключ SSH парольною фразою. Ніколи не надсилайте паролі чи ключі в повідомленнях до підтримки або в чатах.

Коментарі0

Коментарів поки немає

Поділіться своєю думкою першим.

Долучайтеся до обговорення

Будь ласка, увійдіть або зареєструйтеся, щоб залишити коментар.

Не пропускайте нові записи

Отримуйте наші свіжі інструкції, посібники та новини продукту на пошту.

Ви підписалися на нашу розсилку.