opened image

Безпека на хмарному VPS: як захистити сервер від атак

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

  1. DDoS-атаки (Distributed Denial of Service): Сервер перевантажується безліччю запитів, що призводить до його недоступності для користувачів і фінансових втрат для бізнесу.

  2. Брутфорс-атаки: Зловмисники підбирають логін і пароль для отримання несанкціонованого доступу, що може призвести до повного захоплення системи.

  3. Шкідливе ПЗ та руткіти: Після проникнення на сервер через вразливості зловмисники встановлюють шкідливі програми, які можуть виконувати приховані дії (збір даних, відправка спаму, запуск атак на інші сервери).

 

 

Уникнути цих загроз можна за допомогою грамотного налаштування і комплексного підходу до безпеки. У статті ми розглянемо, як правильно налаштувати SSH, брандмауер, реалізувати двофакторну аутентифікацію та використовувати інші заходи для захисту.

 

Основні заходи безпеки для хмарного VPS

 

1. Налаштування мережевого протоколу SSH

SSH — основний спосіб управління сервером і "Встановлення та використання протоколу SSH на Ubuntu 24.04 LTS", але його стандартні налаштування роблять сервер вразливим для атак. Захист з'єднання з сервером можна забезпечити, прийнявши певні заходи безпеки.

Зміна стандартного порту SSH
Стандартний для SSH Порт 22 часто піддається скануванню з боку зловмисників. Для скорочення кількості серверних атак рекомендується відмовитися від використання SSH-порту і замінити його.

Внесіть необхідні правки в файл sshd_config для зміни SSH-порту:
sudo nano /etc/ssh/sshd_config

В конфігураційному документі слід знайти рядок з #Port 22 і встановити інше значення, наприклад, 2200. Збережіть зміни і здійсніть процес перезавантаження SSH-служби:
sudo systemctl restart ssh

 

 

  • Вимкнення доступу через пароль
    Значно покращує робочий процес впровадження і застосування SSH-ключів, які замінюють класичні паролі, оскільки ключі важко підібрати брутфорс-методом. Для налаштування ознайомтеся з діями, описаними далі:
    Формування ключа:
    ssh-keygen -t rsa -b 4096
    Створення на сервері дублікату ключа:
    ssh-copy-id user@server_ip
    Деактивація системи паролів:
    sudo nano /etc/ssh/sshd_config
    Встановіть PasswordAuthentication в значення no, після цього перезапустіть мережевий протокол.

  • Використання IP-адресів для обмеження доступу
    Вам необхідно використовувати налаштування брандмауера або файлів налаштувань /etc/hosts.allow та /etc/hosts.deny для застосування конфігурацій, які дозволять доступ до SSH тільки для конкретних IP-адресів.

 

2. Залучення стійких паролів

 

Складні паролі, що містять як мінімум 12 символів, спеціальні символи та літери в різному регістрі, підвищують стійкість, граючи ключову роль у захисті від брутфорс-атак. Рекомендується використовувати менеджери паролів, щоб уникнути запам'ятовування складних комбінацій.

 

3. Двоетапна аутентифікація

 

Щоб забезпечити більш високий рівень безпеки, необхідно налаштувати двоетапну аутентифікацію (2FA). Це додасть ще один рівень захисту, вимагаючи не тільки пароль, але й одноразовий код, що генерується додатком на вашому телефоні.

Встановіть бібліотеку:
sudo apt install libpam-google-authenticator

 

 

Налаштуйте аутентифікацію за допомогою Google Authenticator:
google-authenticator

 

 

Скануйте QR-код додатком і дотримуйтесь інструкцій. Скриншот вище призначений для того, щоб показати, як це буде виглядати і робилося в тестовому середовищі.

 

4. Інші заходи безпеки

Обмеження прав доступу: Створюйте окремих користувачів з обмеженими правами і використовуйте sudo тільки за необхідності.

Оновлення ПЗ: Старі версії програмного забезпечення можуть містити вразливості, які зловмисники можуть використовувати для зламу сервера. Регулярне оновлення всіх пакетів зменшує такі ризики:
sudo apt update && sudo apt upgrade

Моніторинг логів: Логи містять важливу інформацію про підозрілу активність на сервері. Використовуйте утиліти fail2ban і logwatch для автоматичного моніторингу і сповіщення про підозрілу активність.

 

Конфігурація міжмережевого екрану

 

Брандмауер, він же міжмережевий екран, є першою лінією захисту, що запобігає неправомірному проникненню на ваш сервер. Можна скористатися утилітою ufw (Uncomplicated Firewall), яку можливо застосовувати в якості міжмережевого екрану. Вона відрізняється своєю простотою в налаштуванні і управлінні.

 

1. Інсталяція та запуск утиліти

У разі відсутності встановленої версії, інсталюйте і активуйте ufw:

sudo apt install ufw


 

sudo ufw enable

 

2. Відкриття доступу через SSH

Надайте доступ для SSH до обраного порту, щоб уникнути втрати зв'язку з сервером:

sudo ufw allow 2200/tcp  # Вкажіть ваш нестандартний порт

 

3. Налаштування правил доступу

Після налаштування SSH можна дозволити доступ до інших служб, наприклад, до HTTP і HTTPS:

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

 

4. Блокування всіх інших підключень

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

sudo ufw default deny incoming

sudo ufw default allow outgoing

 

5. Аналіз і оцінка норм

Можливість ознайомитися з діючими правилами фаєрвола і підтвердити, що всі конфігурації функціонують коректно дає команда ufw status:

sudo ufw status


 

Спостереження і оцінка заходів безпеки

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

 

Як працювати з fail2ban
Утиліта fail2ban самостійно обмежує доступ IP-адресів, що здійснюють підозрілі дії, такі як багаторазові невдалі входи в систему. Інсталіруйте утиліту:
sudo apt install fail2ban


 

Підготуйте файл конфігурації і задайте параметри блокування:


sudo nano /etc/fail2ban/jail.local

Задайте необхідні налаштування для SSH, HTTP та інших служб.

 

Моніторинг логів за допомогою logwatch


logwatch — утиліта, що дозволяє отримувати звіти про підозрілу активність на сервері. Інсталіруйте logwatch:
sudo apt install logwatch


 

 

 

  1. Для спостереження за активністю, що відбувається на сервері, вам слід налаштувати щоденні звіти на email.

  2. Бекап даних
    Щоб захистити свої файли від кібератак або помилки адміністратора, вкрай корисно проводити систематичний бекап всіх необхідних даних. Для налаштування автоматичного бекапу можна звернутися до rsync, cron, а також хмарним сервісам зберігання.

 

 

Висновок

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

Також варто пам'ятати про систематичний бекап даних. Незалежно від того, наскільки надійно ваша система захищена, завжди існує шанс, що сервер зіткнеться з нападом. У таких випадках бекапи виявляться неоціненною допомогою у швидкому відновленні системи і зменшенні шкоди. Не забувайте періодично переглядати і оновлювати свої налаштування безпеки відповідно до поточних загроз. Сучасні кібератаки стають все більш витонченими, і тільки постійна увага до безпеки дозволить захистити ваш VPS і дані на ньому.

Щоб посилити вашу захист, намагайтеся залишатися в курсі нових вразливостей і тенденцій у сфері кібербезпеки. Використання цих рекомендацій в комплексі створює потужну захисну стратегію і забезпечує стабільну і безпечну роботу вашого сервера, незалежно від того, для яких завдань ви його використовуєте.