Установка и защита phpMyAdmin на Debian 7

Что такое phpMyAdmin?

phpMyAdmin – это свободное программное обеспечение, предназначенное для работы с MySQL в сети. Данная программа позволяет использовать удобный внешний интерфейс для MySQL.

Требования

Прежде чем приступить к работе с phpMyAdmin, на сервер нужно установить LAMP.Чтобы найти инструкции по установке Linux, Apache, MySQL и PHP, обратитесь к данному руководству.

Установив все необходимое программное обеспечение, создайте запись пользователя с привилегиями sudo. Затем можно приступить к установке phpMyAdmin на виртуальный выделенный сервер.

Установка phpMyAdmin

Самый простой способ установить phpMyAdmin – использовать команду apt-get:

sudo apt-get install phpmyadmin

Во время установки PhpMyAdmin нужно выполнить базовую конфигурацию. Когда процесс установки запущен, выполните следующие действия:

  • Выберите Apache2 в качестве сервера;
  • На вопрос, нужно ли настроить базу данных для phpmyadmin с помощью dbconfig-common, ответьте YES;
  • Введите пароль MySQL;
  • Установите пароль для входа в phpmyadmin.

По завершении установки внесите phpMyAdmin в конфигурации Apache.

sudo nano /etc/apache2/apache2.conf

Добавьте конфигурационный файл phpMyAdmin в файл:

Include /etc/phpmyadmin/apache.conf

Затем перезапустите Apache:

sudo service apache2 restart

Теперь откройте phpMyAdmin, введя ipадрес/phpmyadmin; это выведет страницу приветствия phpMyAdmin, которая выглядит так:

страница приветствия

Защита phpMyAdmin

Старые версии PhpMyAdmin имели серьезные уязвимости в системе безопасности. Это позволяло удаленным пользователям использовать root виртуального выделенного сервера. Теперь большинство подобных атак можно предотвратить, выполнив простое действие – заблокировав каталог, содержащий ограничения пользователей/паролей Apache (это не позволит удаленному пользователю даже попытаться использовать старые версии PhpMyAdmin).

Настройка файла .htaccess

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

sudo nano /etc/phpmyadmin/apache.conf

В разделе каталога внесите AllowOverride All под параметром Directory Index; теперь раздел имеет такой вид:

<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
[...]

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

Сначала нужно создать страницу .htaccess в каталоге phpmyadmin:

sudo nano /usr/share/phpmyadmin/.htaccess

Затем настройте авторизацию пользователя в файле .htaccess. Скопируйте и вставьте следующий текст:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /path/to/passwords/.htpasswd
Require valid-user

Эти строки выполняют следующее:

  • AuthType ссылается на тип авторизации. На данный момент пароли проверяются через HTTP, потому Basic менять не нужно.
  • AuthName содержит текст, который отображается в запросе ввести пароль. Сюда можно внести текст на свое усмотрение.
  • AuthUserFile определяет путь к файлу паролей на сервере (будет создан в следующем подразделе).
  • Require valid-user говорит файлу .htaccess, что доступ к странице входа в phpMyAdmin разрешен только пользователям, указанным в файле паролей.

Создание файла .htpasswd

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

Создайте файл .htpasswd. Для этого используйте команду htpasswd и поместите файл в любой каталог (поскольку он недоступен в браузере). Хотя назвать этот файл можно как угодно, по договоренности он называется .htpasswd.

sudo htpasswd -c /path/to/passwords/.htpasswd username

Далее нужно ввести и подтвердить пароль.

После того, как пара “имя пользователя/пароль” сохранена, пароль будет хранится в файле в зашифрованном виде.

Теперь перезагрузите Apache:

sudo service apache2 restart

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

При вводе ipадрес/phpmyadmin появится окно, в которое нужно внести созданные ранее имя пользователя и пароль. Пройдя авторизацию, используйте имя пользователя и пароль MySQL для входа в phpMyAdmin.

Tags: , , , , , , ,

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