13 Серпня 2026 15:47
Базовий захист VPS
Після створення VPS сервер готовий до роботи, однак його базове налаштування безпеки залишається відповідальністю користувача.
Виконання наведених нижче кроків допоможе значно підвищити рівень захисту сервера від несанкціонованого доступу та найпоширеніших типів атак.
- Оновити операційну систему;
- Налаштувати фаєрвол;
- Змінити стандартний SSH-порт;
- Увімкнути автентифікацію за SSH-ключами;
- За потреби налаштувати захист від перебору паролів за допомогою Fail2Ban.
|
1
|
Крок 1
Первинне налаштування та оновлення системи |
Після активації VPS в Особистому кабінеті TENET Ви маєте змогу увійти на сервер через вебконсоль. В вебконсолі Вам буде послідовно запропановано встановити ім'я та пароль користувача, а також, можливо, пароль вбудованого адміністратора (root). Далі обов’язково дочекайтеся завершення встановлення операційної системи (ОС). Після появи запрошення до авторизації (login:) можна переходити до наступного кроку.
1.1. Підключіться до VPS:
Відкрийте Термінал (macOS/Linux) або PowerShell (Windows) та виконайте команду входу:
# Наприклад: ssh taras.shevchenko@85.238.112.0
1.2. Оновіть систему до актуального стану: актуалізація пакетів
Перед встановленням засобів захисту обов'язково оновіть репозиторії та всі пакети ОС:
Almalinux: sudo dnf upgrade -y && sudo dnf install epel-release -y && sudo systemctl reboot
Для роботи команди sudo можливо знадобиться ввести пароль користувача знову.
|
2
|
Крок 2
Налаштування фаєрвола |
Знову відкрийте термінал і підключіться до VPS. Активуйте брандмауер, який закриє всі порти, крім необхідних.
1. Встановіть фаєрвол:
Almalinux: sudo dnf install firewalld policycoreutils-python-utils -y && systemctl enable firewalld --now
2. Відкрийте новий SSH-порт (наприклад, але не обов’язково 2222):
Almalinux: sudo firewall-cmd --add-port=2222/tcp --permanent
3. Увімкніть брандмауер:
Almalinux: sudo firewall-cmd --reload
Введіть y для підтвердження.
4. Перевірте список активних правил:
Almalinux: sudo firewall-cmd --zone=public --list-all
|
3
|
Крок 3
Зміна стандартного SSH-порту |
Більшість автоматизованих атак спрямована на стандартний порт 22. Зміна цього порту допоможе зменшити кількість таких спроб і підвищити рівень безпеки сервера.
Налаштуйте Selinux (дозвольте sshd використовувати новий порт 2222):
sudo semanage port -a -t ssh_port_t -p tcp 22221. Відкрийте файл конфігурації SSH:
Almalinux: sudo dnf install nano -y && sudo nano /etc/ssh/sshd_config
2. Знайдіть рядок #Port 22, видаліть # та змініть значення на кастомний порт (2222):
Збережіть файл (Ctrl+O → Enter, вихід Ctrl+X).
3. Перезапустіть SSH:
Almalinux: sudo systemctl restart sshd
4. Від’єднайтеся від сервера та спробуйте під’єднатися на інший порт:
ssh -p 2222 ВАШЕ_ІМЯ_КОРИСТУВАЧА@IP_ВАШОГО_СЕРВЕРА
|
4
|
Крок 4
Налаштування входу за SSH-ключами |
Автентифікація за криптографічними ключами унеможливлює підбір пароля (брутфорс). Приватний ключ залишається на вашому ПК, а публічний додається на VPS.
1. Генерація та додавання ключа
У новому вікні терміналу на Вашому комп'ютері згенеруйте ключ:
(Натисніть Enter кілька разів для значень за замовчуванням).
Додайте створений публічний ключ на сервер:
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_keys3. Вставте ключ, збережіть та виставте права доступу:
Ubuntu/Debian/Almalinux: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys2. Повне відключення входу за паролем
Коли Ви переконалися, що можете заходити без пароля (ssh -p 2222 taras.shevchenko@85.238.112.0), вимкніть парольну аутентифікацію на сервері.
Відкрийте конфіг SSH:
Ubuntu/Debian/Almalinux: /etc/ssh/sshd_config:
Змініть або додайте параметри:
PubkeyAuthentication yes
Перезапустіть SSH:
Almalinux: sudo systemctl restart sshd
|
5
|
Крок 5
Захист від перебору пароля |
Якщо Ви все ж таки бажаєте використовувати парольну авторизацію, налаштуйте Fail2ban. Служба Fail2ban відстежує журнал спроб авторизації та автоматично блокує IP-адреси, які здійснюють підозрілу активність.
1. Встановіть Fail2ban:
Ubuntu: sudo apt install pip -y && sudo python3 -m pip install pyasynchat --break-system-packages
Almalinux: sudo dnf install fail2ban fail2ban-firewalld -y
2. Створіть локальну конфігурацію:
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 fail2ban-client status sshd
Якщо Ви випадково заблокували собі доступ чи втратили SSH-ключ, скористайтеся вебконсоллю в Особистому кабінеті TENET.
Вона працює напряму в обхід мережевих правил UFW, що дозволить Вам відновити доступ до VPS та виправити помилки конфігурації.