Повернутись назад
VPS

   ​​ 13 Серпня 2026 15:47

Базовий захист VPS

Після створення VPS сервер готовий до роботи, однак його базове налаштування безпеки залишається відповідальністю користувача.

Виконання наведених нижче кроків допоможе значно підвищити рівень захисту сервера від несанкціонованого доступу та найпоширеніших типів атак.

У цій інструкції ви дізнаєтеся, як:
  • Оновити операційну систему;
  • Налаштувати фаєрвол;
  • Змінити стандартний SSH-порт;
  • Увімкнути автентифікацію за SSH-ключами;
  • За потреби налаштувати захист від перебору паролів за допомогою Fail2Ban.

1
Крок 1

Первинне налаштування та оновлення системи

Після активації VPS в Особистому кабінеті TENET Ви маєте змогу увійти на сервер через  вебконсоль. В вебконсолі Вам буде послідовно запропановано встановити ім'я та пароль користувача, а також, можливо, пароль вбудованого адміністратора (root). Далі обов’язково дочекайтеся завершення встановлення операційної системи (ОС). Після появи запрошення до авторизації (login:) можна переходити до наступного кроку.

1.1. Підключіться до VPS:

Відкрийте Термінал (macOS/Linux) або PowerShell (Windows) та виконайте команду входу:

ssh ВАШЕ_ІМ'Я_КОРИСТУВАЧА@IP_ВАШОГО_СЕРВЕРА
# Наприклад: ssh taras.shevchenko@85.238.112.0

1.2. Оновіть систему до актуального стану: актуалізація пакетів

Перед встановленням засобів захисту обов'язково оновіть репозиторії та всі пакети ОС:

Ubuntu/Debian: sudo apt update && sudo apt upgrade -y && sudo systemctl reboot
Almalinux: sudo dnf upgrade -y && sudo dnf install epel-release -y && sudo systemctl reboot

Для роботи команди sudo можливо знадобиться ввести пароль користувача знову.


2
Крок 2

Налаштування фаєрвола

Знову відкрийте термінал і підключіться до VPS. Активуйте брандмауер, який закриє всі порти, крім необхідних.

1. Встановіть фаєрвол:

Ubuntu/Debian: sudo apt install ufw -y && sudo systemctl enable ufw --now
Almalinux: sudo dnf install firewalld policycoreutils-python-utils -y && systemctl enable firewalld --now

2. Відкрийте новий SSH-порт (наприклад, але не обов’язково 2222):

Ubuntu/Debian: sudo ufw allow 2222/tcp
Almalinux: sudo firewall-cmd --add-port=2222/tcp --permanent

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

Ubuntu/Debian: sudo ufw enable
Almalinux: sudo firewall-cmd --reload

Введіть y для підтвердження.

4. Перевірте список активних правил:

Ubuntu/Debian: sudo ufw status
Almalinux: sudo firewall-cmd --zone=public --list-all

3
Крок 3

Зміна стандартного SSH-порту

Більшість автоматизованих атак спрямована на стандартний порт 22. Зміна цього порту допоможе зменшити кількість таких спроб і підвищити рівень безпеки сервера.

Для Almalinux:
Налаштуйте Selinux (дозвольте sshd використовувати новий порт 2222):
sudo semanage port -a -t ssh_port_t -p tcp 2222

1. Відкрийте файл конфігурації SSH:

Ubuntu/Debian: sudo apt install nano -y && sudo nano /etc/ssh/sshd_config
Almalinux: sudo dnf install nano -y && sudo nano /etc/ssh/sshd_config

2. Знайдіть рядок #Port 22, видаліть # та змініть значення на кастомний порт (2222):

Port 2222

Збережіть файл (Ctrl+O → Enter, вихід Ctrl+X).

3. Перезапустіть SSH:

Ubuntu/Debian: sudo systemctl enable ssh --now && sudo systemctl restart ssh
Almalinux: sudo systemctl restart sshd

4. Від’єднайтеся від сервера та спробуйте під’єднатися на інший порт:

# Вихід: Ctrl+d
ssh -p 2222 ВАШЕ_ІМЯ_КОРИСТУВАЧА@IP_ВАШОГО_СЕРВЕРА

4
Крок 4

Налаштування входу за SSH-ключами

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

1. Генерація та додавання ключа

У новому вікні терміналу на Вашому комп'ютері згенеруйте ключ:

ssh-keygen -t ed25519

(Натисніть Enter кілька разів для значень за замовчуванням).
Додайте створений публічний ключ на сервер:

Варіант А (Автоматично за допомогою ssh-copy-id):
Ubuntu/Debian/Almalinux: ssh-copy-id -p 2222 ВАШЕ_ІМЯ_КОРИСТУВАЧА@IP_ВАШОГО_СЕРВЕРА
Варіант Б (Вручну):
1. Перегляньте ключ на ПК: cat ~/.ssh/id_ed25519.pub та скопіюйте його.
2. На VPS виконайте:
Ubuntu/Debian/Almalinux: mkdir -p ~/.ssh
Ubuntu/Debian/Almalinux: nano ~/.ssh/authorized_keys

3. Вставте ключ, збережіть та виставте права доступу:
Ubuntu/Debian/Almalinux: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

2. Повне відключення входу за паролем
Коли Ви переконалися, що можете заходити без пароля
(ssh -p 2222 taras.shevchenko@85.238.112.0), вимкніть парольну аутентифікацію на сервері.

Відкрийте конфіг SSH:

Ubuntu/Debian/Almalinux: /etc/ssh/sshd_config:

Змініть або додайте параметри:

PasswordAuthentication no
PubkeyAuthentication yes

Перезапустіть SSH:

Ubuntu/Debian: sudo systemctl restart ssh
Almalinux: sudo systemctl restart sshd

5
Крок 5

Захист від перебору пароля

Якщо Ви все ж таки бажаєте використовувати парольну авторизацію, налаштуйте Fail2ban. Служба Fail2ban відстежує журнал спроб авторизації та автоматично блокує IP-адреси, які здійснюють підозрілу активність.

1. Встановіть Fail2ban:

Ubuntu/Debian: sudo apt install fail2ban -y
Ubuntu: sudo apt install pip -y && sudo python3 -m pip install pyasynchat --break-system-packages
Almalinux: sudo dnf install fail2ban fail2ban-firewalld -y

2. Створіть локальну конфігурацію:

Ubuntu/Debian/Almalinux: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local && sudo nano /etc/fail2ban/jail.local

3. Знайдіть і налаштуйте блок [sshd]:

[sshd]
enabled = true
port    = 2222
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 5
bantime  = 1h
banaction = ufw
banaction_allports = ufw

[sshd]
enabled = true
port    = 2222
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 5
bantime  = 1h

Переконайтеся, що вказано Ваш кастомний порт SSH (2222), , а також встановлено максимально дозволену кількість помилкових авторизацій maxretry = 5.
Збережіть файл (Ctrl+O -> Enter, вихід Ctrl+X)

4. Запустіть службу та перевірте статус:

Ubuntu/Debian/Almalinux: sudo systemctl enable fail2ban --now
Ubuntu/Debian/Almalinux: sudo fail2ban-client status sshd

Порада для екстрених випадків

Якщо Ви випадково заблокували собі доступ чи втратили SSH-ключ, скористайтеся вебконсоллю в Особистому кабінеті TENET.

Вона працює напряму в обхід мережевих правил UFW, що дозволить Вам відновити доступ до VPS та виправити помилки конфігурації.