Неділя, 2 Лютого, 2025

Війна

Новини компаній

Захист VPS від несанкціонованого доступу

Розповідаємо, як обмежити доступ до баз даних для безпеки вашого віртуального сервера. На прикладі Cloud VPS Hosting від UkrLine.

Для захисту даних на VPS (virtual private server) важливо обмежити доступ до баз даних, щоб запобігти несанкціонованому доступу. Наступні заходи допоможуть налаштувати безпечний доступ та мінімізувати ризики.

679ab30de7875.webp

Обмеження доступу до баз даних

Обмеження доступу до баз даних – це один з основних заходів безпечного доступу та мінімізація ризику несанкціонованого доступу третіх осіб, часто хакерів. Отже, основні заходи обмеження доступу до баз VPS:

1. Локальне обмеження доступу до БД

Якщо до БД потрібен доступ лише додатків, то налаштуйте базу лише на локальний інтерфейс (127.0.0.1). Це дасть вашим програмам підключатися до БД, але не дасть можливості зовнішнього підключення.

Це можна зробити так:

  • MySQL та MariaDB:

    У файлі конфігурації my.cnf налаштуйте параметр bind-address:

    bind-address = 127.0.0.1
  • PostgreSQL:

    У файлі postgresql.conf вкажіть listen_addresses тільки як localhost:

    listen_addresses = 'localhost'

    У файлі pg_hba.conf залиште з’єднання лише для localhost.

2. Обмеження доступу за IP-адресою

Якщо потрібний доступ з іншої мережі, то БД налаштовується під доступ із конкретного IP.

Робиться так:

  • MySQL та MariaDB:

    Створіть користувача бази даних з доступом лише з певної IP-адреси:

    CREATE USER 'username'@'specific_ip_address' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON database.* TO 'username'@'specific_ip_address';
  • PostgreSQL:

    У pg_hba.conf додайте правило для конкретного IP:

    host    all             all             specific_ip_address/32            md5

3. SSH-тунелювання для віддаленого підключення

Це захистить базу даних, якщо потрібний тимчасовий доступ до бази даних із зовнішньої мережі. Зв’язуйтеся з БД захищеним тунелем без відкриття порту.

Це можна зробити так:

  • Створіть SSH-тунель із командою:
    ssh -L 3306:localhost:3306 user@your_vps_ip

    Тут 3306 – порт MySQL, а your_vps_ip – IP-адреса VPS.

    Тепер база даних доступна локально через localhost:3306, якби вона знаходилася на вашому комп’ютері.

4. Використання VPN для постійного віддаленого доступу

Це захистить з’єднання шифруванням і не дозволить підключатися користувачам з VPN.

5. Обмеження прав користувачів бази даних

Щоб усунути ризик компрометації облікового запису, створюйте облікові записи з мінімальними правами.

Робиться так:

GRANT SELECT, INSERT, UPDATE ON database.table TO 'username'@'specific_ip_address';

6. Налаштування брандмауера для бази даних

Обмежте доступ до БД за допомогою брандмауера, щоб підключення йшло тільки з довірених IP-адрес.

Це робиться так:

  • Linux Firewall (iptables): Закрийте порт бази даних для всіх, за винятком певних IP.
    iptables -A INPUT -p tcp -s specific_ip_address --dport 3306 -j ACCEPT
    iptables -A INPUT -p tcp --dport 3306 -j DROP

7. Додаткові заходи безпеки

  • Використовуйте складні паролі та, якщо можливо, налаштуйте двофакторну автентифікацію.
  • Введіть логін та робіть моніторинг активності. Це головний показник, чи здійснюється на сервері підозріла активність. У разі виявлення такої вживаються заходи.
  • Також рекомендуємо налаштувати сигналізацію про підозрілі спроби доступу, такі як повторні помилки авторизації або спроби доступу з невідомих IP-адрес.

Що може запропонувати UkrLine

  • Повне налаштування хмарного VPS та всіх сервісних служб.
  • Повне адміністрування вашого сервера та оперативне вирішення проблем 24/7/365.
  • Пільговий період на початку використання сервісу.

Докладніше ознайомтесь тут: https://ukrline.com.ua/ua/cloud-linux-vds.php

Інше в категорії