Данная информация будет особенно полезна владельцам VPS/VDS или выделенных серверов, которые зачастую оставляют настройки сервера по умолчанию.
Среди элементов управления базой данных MySQL распространена утилита phpMyAdmin, которая при дефолтных настройках никак не защищена. Именно этим и пользуются хакеры и взломщики, пытаясь получить доступ к вашим базам данных через phpMyAdmin. Наверняка, изучая логи ошибок на своем сервере вы встречали записи о сканировании вашего сервера на наличие на нем папок /pma, /myadmin, /phpmyadmin, /phpMyAdmin.
Оставляя открытым доступ к этому инструменту, вы даете возможность хакеру без особого труда взломать ваш ресурс и скомпрометировать данные в базе данных.
При помощи phpMyAdmin возможно:
• загрузить хакерский шелл или любой произвольный файл на сервер;
• прочитать произвольный файл на сервере;
• выполнить произвольный код на сервере;
• извлечь или модифицировать данные в базе данных.
Все это может привести не только к заражению вашего сервера вирусом, но и к возможности получить все ваши данные из базы.
phpMyAdmin свободно распространяемая утилита, а это значит, что в ней встречаются уязвимости.
Попробуйте зайти в phpMyAdmin с незнакомого IP адреса, например через прокси. Если дополнительная авторизация отсутствует (не выскакивает окно с просьбой ввести логин или пароль) и не сообщается ошибка 403 Forbidden и при этом появляется форма входа в phpMyAdmin – значит доступ к phpMyAdmin у вас открыт.
Достаточно ограничить доступ к phpMyAdmin по IP адресу для этого разместив .htaccess файл в каталоге phpMyAdmin с кодом:
Order Deny,Allow
Deny from All
Allow from 123.456.789.123
Где 123.456.789.123 – это ваш IP с которого разрешен доступ
У VPS серверов с ISPManager .htaccess нужно размещать в папке /usr/share/phpmyadmin.
Кроме того, будет так же полезно сделать серверную авторизацию при помощи файла .htpasswd – тогда ограничивать по IP нет необходимости. Для этого нужно прописать в .htaccess файле следующий код:
Require valid-user
AuthType Basic
AuthName "PLease Login"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Там же в /usr/share/phpmyadmin создайте файл с паролем .htpasswd и внесите в него логин и пароль для доступа. Сгенерировать его можно, например, тут
Таким образом, закрыв доступ к phpMyAdmin извне, вы сократите риск взлома своего сервера.