Skip to main content

Установить и защитить MariaDB

Это руководство объясняет, как установить и безопасно настроить MariaDB на вашем VPS.

Предварительные требования

  • Доступ SSH root или sudo
  • Обновленная система Debian/Ubuntu

Установка

  1. Установите MariaDB:

    sudo apt update
    sudo apt install mariadb-server
  2. Защитите установку:

    sudo mysql_secure_installation

    Следуйте шагам безопасности:

    • Нажмите Enter для пароля root (пустой по умолчанию)
    • Ответьте на вопросы безопасности:
      • Изменить пароль root? [Y/n] : Y (рекомендуется)
      • Удалить анонимных пользователей? [Y/n] : Y
      • Запретить удаленный вход root? [Y/n] : Y
      • Удалить тестовую базу данных? [Y/n] : Y
      • Перезагрузить таблицы привилегий? [Y/n] : Y

Конфигурация пользователя

  1. Подключитесь к MariaDB:

    sudo mysql
  2. Создайте нового пользователя-администратора (замените 'your_user' и 'your_password'):

    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;

Проверка установки

  1. Проверьте соединение с новым пользователем:

    mysql -u your_user -p
  2. Проверьте статус службы:

    sudo systemctl status mariadb

Защита порта MariaDB

  1. Проверьте текущий порт прослушивания:

    sudo netstat -tlnp | grep mysql
  2. Настройте брандмауэр (UFW):

    # Заблокировать доступ по умолчанию к порту MySQL (3306)
    sudo ufw deny 3306

    # Если вам нужно разрешить удаленный доступ с конкретного IP
    sudo ufw allow from AUTHORIZED_IP to any port 3306
  3. Измените файл конфигурации MariaDB:

    sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

    Найдите и измените эти строки:

    # Ограничить прослушивание только localhost
    bind-address = 127.0.0.1

    # Или укажите конкретный IP-адрес
    # bind-address = YOUR_SERVER_IP
  4. Перезапустите MariaDB для применения изменений:

    sudo systemctl restart mariadb
  5. Проверьте авторизованные соединения:

    mysql -u root -p
    SELECT user, host FROM mysql.user;

Лучшие практики безопасности

  • Используйте надежные пароли
  • Ограничьте доступ к базе данных
  • Выполняйте регулярные резервные копии
  • Регулярно обновляйте MariaDB
  • Ограничьте соединения доверенными IP
  • Регулярно отслеживайте попытки соединения

Устранение неполадок

  • Проверьте логи: sudo tail -f /var/log/mysql/error.log
  • Убедитесь, что служба активна: sudo systemctl status mariadb
  • Убедитесь, что порты открыты: sudo netstat -tulpn | grep mysql