Mariadb&MySQL - 12 Рекомендаций по безопасности в MySQL / MariaDB для Linux

12 Рекомендаций по безопасности в MySQL / MariaDB для Linux

Рубрики:

MySQL

Метки:

, , ,

MySQL является самой популярной в мире системой баз данных с открытым исходным кодом, а MariaDB (форк MySQL) является самой быстрорастущей в мире системой баз данных с открытым исходным кодом. После установки сервера MySQL он небезопасен в конфигурации по умолчанию, и обеспечение его безопасности является одной из важнейших задач общего управления базой данных.

Это будет способствовать усилению и повышению общей безопасности сервера Linux, поскольку злоумышленники всегда сканируют уязвимости в любой части системы, а базы данных в прошлом были ключевыми целевыми областями. Типичным примером является грубое применение пароля root для базы данных MySQL.

В этом руководстве мы объясним полезные рекомендации по безопасности MySQL / MariaDB для Linux.

 

1. Безопасная установка MySQL

Это первый рекомендуемый шаг после установки сервера MySQL в направлении защиты сервера базы данных. Этот скрипт облегчает повышение безопасности вашего сервера MySQL, предлагая вам:

  • установить пароль для учетной записи root, если вы не установили его во время установки.
  • отключитье удаленный вход пользователя root, удалив доступ к учетной записи root вне локального хоста.
  • удалить учетные записи анонимных пользователей и проверить базу данных, к которой по умолчанию могут получить доступ все пользователи, даже анонимныe.

 

 

После запуска установите пароль root и ответьте на ряд вопросов, введя [Да/Y] и нажмите [Enter].

Secure-MySQL-Installation - 12 Рекомендаций по безопасности в MySQL / MariaDB для Linux

 

 

2. Привязка сервера базы данных к адресу localhost

Эта конфигурация ограничит доступ с удаленных машин, она говорит серверу MySQL принимать соединения только с локального хоста. Вы можете установить его в основном файле конфигурации.

 

 

Добавьте следующую строку ниже в разделе [mysqld].

 

 

3. Отключить LOCAL INFILE в MySQL

В рамках усиления безопасности необходимо отключить local-infile, чтобы предотвратить доступ к базовой файловой системе из MySQL, используя следующую директиву в разделе [mysqld].

 

 

4. Измените порт MYSQL по умолчанию

Переменная Port устанавливает номер порта MySQL, который будет использоваться для прослушивания соединений TCP/IP. Номер порта по умолчанию – 3306, но вы можете изменить его в разделе [mysqld], как показано.

 

 

5. Включить ведение журнала MySQL

Журналы — это один из лучших способов понять, что происходит на сервере, в случае любых атак вы можете легко увидеть любые действия, связанные с вторжением, из файлов журналов. Вы можете включить ведение журнала MySQL, добавив следующую переменную в разделе [mysqld].

 

 

6. Установите соответствующее разрешение для файлов MySQL.

Убедитесь, что у вас установлены соответствующие разрешения для всех файлов сервера MySQL и каталогов данных. Файл /etc/my.conf должен быть доступен для записи только пользователю root. Это блокирует других пользователей от изменения конфигурации сервера базы данных.

 

 

7. Удалить историю оболочки MySQL

Все команды, которые вы выполняете в оболочке MySQL, хранятся клиентом mysql в файле истории: ~/.mysql_history. Это может быть опасно, поскольку для любых создаваемых вами учетных записей все имена пользователей и пароли, введенные в оболочке, будут записаны в файл истории.

 

 

8. Не запускайте команды MySQL из командной строки

Как вы уже знаете, все команды, которые вы вводите на терминале, хранятся в файле истории, в зависимости от используемой вами оболочки (например, ~/.bash_history для bash). Злоумышленник, которому удается получить доступ к этому файлу истории, может легко увидеть любые записанные там пароли.

Настоятельно не рекомендуется вводить пароли в командной строке, примерно так:

 

 

Когда вы проверите последний раздел файла истории команд, вы увидите введенный выше пароль.

 

Рекомендуемый способ подключения MySQL:

 

 

9. Определите пользователей базы данных приложения

Для каждого приложения, работающего на сервере, предоставьте доступ только пользователю, который отвечает за базу данных для данного приложения. Например, если у вас есть сайт WordPress, создайте определенного пользователя для базы данных сайта WordPress следующим образом.

 

и не забывайте всегда удалять учетные записи пользователей, которые больше не управляют какой-либо базой данных приложений на сервере.

 

 

10. Используйте дополнительные плагины безопасности и библиотеки

MySQL включает в себя ряд подключаемых модулей безопасности для: аутентификации попыток клиентов подключиться к серверу MySQL, проверки пароля и защиты хранилища для конфиденциальной информации, которые все доступны в бесплатной версии.

Вы можете найти больше здесь: https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

 

 

11. Регулярно меняйте пароли MySQL

Это распространенный совет по безопасности информации / приложений / системы. Как часто вы будете это делать, будет полностью зависеть от вашей внутренней политики безопасности. Однако это может помешать «шпионам», которые могли отслеживать вашу активность в течение длительного периода времени, получить доступ к вашему серверу mysql.

 

 

12. Обновляйте MySQL Server регулярно

Настоятельно рекомендуется регулярно обновлять пакеты mysql / mariadb, чтобы быть в курсе обновлений безопасности и исправлений ошибок из репозитория производителя. Обычно пакеты в стандартных репозиториях операционной системы устарели.

 

После внесения любых изменений в сервер mysql/mariadb всегда перезапускайте службу.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

MySQL

Метки:

, , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню