Установка и защита phpMyAdmin на Debian 7
Debian, VPS | Комментировать запись
Что такое 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: Apache, Debian, Debian 7, LAMPstack, Linux, MySQL, phpMyAdmin, VPS