Установка и защита PhpMyAdmin на CentOS 7/6 или Red Hat

Введение

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

Чтобы обеспечить взаимодействие пользователей с MySQL через веб-интерфейс, PhpMyAdmin был разработан. В этом руководстве мы рассмотрим установку и защиту PhpMyAdmin, чтобы вы могли без риска использовать его для управления базами данных на системе CentOS.

Основные требования

  • Сервер CentOS или RHEL с администратором, не являющимся пользователем root, с привилегиями sudo.
  • На вашем сервере установлен стек LAMP. Вы можете следовать этому руководству по установке стека LAMP, чтобы настроить его.

Наконец, при использовании такого программного обеспечения, как PhpMyAdmin, необходимо помнить о важных вопросах безопасности:

  • Общается с вашей установкой MySQL напрямую.
  • Управляет аутентификацией MySQL.
  • Выполняет и возвращает результаты любого SQL-запроса.

По этим причинам, а также из-за того, что PhpMyAdmin является широко распространенным PHP-приложением, которое регулярно подвергается атакам, вы никогда не должны запускать его на удаленных компьютерах через обычное HTTP-соединение. Если у вас еще нет домена с сертификатом SSL/TLS, вы можете использовать этот метод для его создания, защитив Apache с помощью Let’s Encrypt на Ubuntu.

Выполнив эти шаги, вы готовы приступить к работе над этим руководством.

Шаг 1: Установка PhpMyAdmin

Для начала мы установим PhpMyAdmin из стандартного репозитория дистрибутива.

$ sudo yum install epel-release
$ sudo yum install phpmyadmin

Процедура установки помещает файл конфигурации phpMyAdmin Apache в папку /etc/httpd/conf.d/ каталог, где он сразу же будет прочитан.

Перезапустите Apache:

$ sudo systemctl restart httpd.service

На этом установка phpMyAdmin завершена. В веб-браузере перейдите на доменное имя или публичный IP-адрес вашего сервера, а затем /phpMyAdmin:

http://server_IP/phpMyAdmin
веб-интерфейс phpmyadmin

Войдите в интерфейс как root или используя другое имя пользователя и пароль.

Шаг 2: Защита инстанции phpMyAdmin

На данный момент экземпляр phpMyAdmin, установленный на нашем сервере, должен быть полностью функциональным. Однако мы открыли нашу систему MySQL для внешнего мира, добавив веб-интерфейс.

Изменение URL доступа приложения

$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

В верхней части файла вы увидите две строки, которые выглядят следующим образом:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

Эти две строки являются нашими псевдонимами, что означает, что всякий раз, когда мы обращаемся к доменному имени или IP-адресу нашего сайта, за которым следует либо /phpMyAdmin или /phpmyadmin, нам будет отправлено содержимое по адресу /usr/share/phpMyAdmin.

Чтобы применить желаемые модификации, нужно удалить или закомментировать существующие строки и заменить их своими:

# Alias /phpMyAdmin /usr/share/phpMyAdmin
# Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /secretpage /usr/share/phpMyAdmin

Чтобы реализовать изменения, перезапустите веб-сервис:

$ sudo systemctl restart httpd.service

Если вы вернетесь в прежнее место установки phpMyAdmin, то получите ошибку 404.

С другой стороны, ваш интерфейс phpMyAdmin будет доступен на новом сайте, который мы выбрали:

http://server_IP/secretpage

Настройка аутентификации на веб-сервере :

Следующей функцией, которую мы хотели использовать в нашей установке, было приглашение к аутентификации, которое пользователь должен был пройти, прежде чем получить доступ к экрану входа в phpMyAdmin.

Откройте ваш файл конфигурации и добавьте AllowOverride All в <Каталог /usr/share/phpmyadmin>

CentOS: /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    . . .

И перезапустите Apache

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

Создайте файл в папке PhpMyAdmin:

$ sudo nano /usr/share/phpmyadmin/.htaccess

Добавьте следующие строки:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Сохраните и закройте файл, когда закончите.

Вы выбрали /etc/phpmyadmin/.htpasswd в качестве места расположения файла паролей. Теперь вы можете использовать htpasswd создайте этот файл и назначьте ему начального пользователя:

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

затем введите и подтвердите пароль для создаваемого пользователя.

Если вы хотите добавить еще одного пользователя, используйте следующий синтаксис без -c флага:

$ sudo htpasswd /etc/phpmyadmin/.htpasswd newuser

Затем перезапустите Apache, чтобы включить .htaccess аутентификация.

Когда вы войдете в подкаталог phpMyAdmin, вам будет предложено ввести имя и пароль новой учетной записи:

http://server_IP/secretpage
htaccess phpmyadmin

Заключение

Теперь PhpMyAdmin должен быть установлен и готов к работе на вашем сервере. С помощью этого интерфейса вы можете создавать базы данных, пользователей и таблицы, а также выполнять стандартные операции, такие как удаление и изменение структур и данных.

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

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