Поиск по сайту:

Как установить и защитить phpMyAdmin в Ubuntu 14.04


Введение

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

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

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

Предпосылки

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

Во-первых, мы предположим, что вы используете пользователя без полномочий root с привилегиями sudo, как описано в шагах 1-4 при начальной настройке сервера Ubuntu 14.04.

Мы также предполагаем, что вы завершили установку LAMP (Linux, Apache, MySQL и PHP) на свой сервер Ubuntu 14.04. Если это еще не сделано, вы можете следовать этому руководству по установке стека LAMP в Ubuntu 14.04.

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

Шаг первый — установите phpMyAdmin

Для начала мы можем просто установить phpMyAdmin из стандартных репозиториев Ubuntu.

Мы можем сделать это, обновив наш локальный индекс пакетов, а затем используя систему упаковки apt, чтобы извлечь файлы и установить их в нашей системе:

sudo apt-get update
sudo apt-get install phpmyadmin

Это задаст вам несколько вопросов, чтобы правильно настроить вашу установку.

Когда появляется первое приглашение, apache2 подсвечивается, но не выбирается. Если вы не нажмете \ПРОБЕЛ, чтобы выбрать Apache, программа установки не переместит необходимые файлы во время установки. Нажмите \ПРОБЕЛ, \TAB, а затем \ВВОД, чтобы выбрать Апач.

  • Для выбора сервера выберите apache2.
  • Ответьте да, когда вас спросят, следует ли использовать dbconfig-common для настройки базы данных
  • Вам будет предложено ввести пароль администратора базы данных
  • Затем вам будет предложено выбрать и подтвердить пароль для самого приложения phpMyAdmin

В процессе установки файл конфигурации Apache phpMyAdmin фактически добавляется в каталог /etc/apache2/conf-enabled/, откуда он автоматически считывается.

Единственное, что нам нужно сделать, это явно включить расширение php5-mcrypt, что мы можем сделать, набрав:

sudo php5enmod mcrypt

После этого вам нужно будет перезапустить Apache, чтобы ваши изменения были распознаны:

sudo service apache2 restart

Теперь вы можете получить доступ к веб-интерфейсу, посетив доменное имя вашего сервера или общедоступный IP-адрес, а затем /phpmyadmin:

<пред>

Теперь вы можете войти в интерфейс, используя имя пользователя root и пароль администратора, который вы установили во время установки MySQL.

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

Шаг второй — защитите свой экземпляр phpMyAdmin

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

Один из самых простых способов сделать это — разместить шлюз перед всем приложением. Мы можем сделать это, используя встроенные в Apache функции аутентификации и авторизации .htaccess.

Настройте Apache для разрешения переопределений .htaccess

Во-первых, нам нужно включить использование переопределений файла .htaccess, отредактировав наш файл конфигурации Apache.

Мы отредактируем связанный файл, который был помещен в наш каталог конфигурации Apache:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Нам нужно добавить директиву AllowOverride All в раздел файла конфигурации, например:

<пред>

Когда вы добавите эту строку, сохраните и закройте файл.

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

sudo service apache2 restart

Создайте файл .htaccess

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

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

sudo nano /usr/share/phpmyadmin/.htaccess

В этом файле нам нужно ввести следующую информацию:

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

Давайте рассмотрим, что означает каждая из этих строк:

  • AuthType Basic: в этой строке указывается тип аутентификации, который мы реализуем. Этот тип реализует аутентификацию по паролю с использованием файла паролей.
  • AuthName: устанавливает сообщение для диалогового окна аутентификации. Вы должны оставить его общим, чтобы неавторизованные пользователи не могли получить информацию о том, что защищается.
  • AuthUserFile: устанавливает расположение файла паролей, который будет использоваться для аутентификации. Это должно быть за пределами каталогов, которые обслуживаются. Вскоре мы создадим этот файл.
  • Требовать действительного пользователя. Указывает, что доступ к этому ресурсу должен быть предоставлен только пользователям, прошедшим проверку подлинности. Это то, что на самом деле предотвращает вход неавторизованных пользователей.

Когда вы закончите, сохраните и закройте файл.

Создайте файл .htpasswd для аутентификации.

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

На самом деле нам нужен дополнительный пакет для завершения этого процесса. Мы можем установить его из наших репозиториев по умолчанию:

sudo apt-get install apache2-utils

После этого у нас будет доступна утилита htpasswd.

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

<пред>

Вам будет предложено выбрать и подтвердить пароль для создаваемого пользователя. После этого создается файл с введенным вами хешированным паролем.

Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c, например:

<пред>

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

<пред>

После входа в систему аутентификации Apache вы попадете на обычную страницу аутентификации phpMyAdmin, чтобы ввести другие учетные данные. Это добавит дополнительный уровень безопасности, поскольку в прошлом phpMyAdmin страдал от уязвимостей.

Заключение

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

Чтобы узнать, как еще больше защитить ваше взаимодействие с сервером, зашифровав вашу связь с помощью SSL, ознакомьтесь с нашей статьей о настройке SSL-сертификатов с помощью phpMyAdmin.

Джастин Эллингвуд