В статье рассматриваются угрозы для сайта при наличии открытого доступа к популярному компоненту для работы с базой данных - phpMyAdmin.
Перечислены основные проблемы, а также указаны рекомендации по снижению вероятности взлома сайта при использовании phpMyAdmin.
Описание проблематики:
Большинство владельцев VDS/VPS/DDS почти всегда используют настройки сервера по умолчанию, при этом вовне «смотрит» много лишних скриптов и сервисов, через которые сервер или сайты могут взломать. Показательным примером является инструмент для работы с базой данных phpMyAdmin, который входит в большинство панелей управления хостингом и чрезвычайно популярен среди веб-мастеров. Оставляя открытым доступ к этому инструменту, администратор сервера предоставляет возможность хакеру без особого труда взломать сайт, скомпрометировать данные в БД и закрепиться на скомпрометированом сервере. Проблема с phpMyAdmin есть не только у владельцев выделенных серверов. Многие веб-мастера, размещающие сайты на виртуальном хостинге, оставляют phpMyAdmin открытым, причем в директориях с известными именами: /pma, /myadmin, /phpmyadmin, /phpMyAdmin. При сканировании сервера боты их с легкостью находят, а хакеры – эксплуатируют.
Типовое сканирование сайта на наличие открытого phpMyAdmin:

Чем опасен phpMyAdmin, выставленный вовне?
Через скрипты данного инструмента можно: загрузить хакерский шелл (оболочку) и любой другой произвольный файл на сервер;
Прочитать произвольный файл на сервере;
Выполнить произвольный код на целевой системе;
Извлечь или модифицировать данные в базе данных (а для многих CMS, например, vBulletin/IPB/MODx внедрить вредоносный код, бэкдоры и шеллы в шаблоны страниц или плагины).
Что нужно для проведения успешной атаки на сайт через phpMyAdmin?
Выдержка из access_log с успешной загрузкой веб-шелла на сайт через phpMyAdmin:

Если версия phpMyAdmin “свежая”, для которой не анонсированы публичные уязвимости, то в большинстве случаев для проведения атаки достаточно логина и пароля от базы данных.
Узнать эти данные проще, чем кажется: по-прежнему невежественные веб-мастера и владельцы сайта, а порой и админы серверов оставляют открытыми бэкапы сайтов, в которых прописаны логин/пароль в открытом виде, на некоторых виртуальных хостингах можно получить доступ с соседних сайтов к файлам wp-config.php, configuration.php и т.п, доступы можно подсмотреть через эксплуатацию уязвимостей в скриптах CMS и другими способами.
Как защитить свой сайт от атак через phpMyAdmin?
Достаточно разместить .htaccess файл в каталоге phpMyAdmin с кодом:
Для информации: у VDS серверов с ISPManager скрипты данного инструмента расположены в каталоге /usr/share/phpMyAdmin.
Убедитесь, что на вашем сайте недоступна копия phpMyAdmin по одному из перечисленных адресов, так как боты сканируют в первую очередь по ним:
Источник:
Как защитить сайт от взлома через phpMyAdmin
Перечислены основные проблемы, а также указаны рекомендации по снижению вероятности взлома сайта при использовании phpMyAdmin.
Описание проблематики:
Большинство владельцев VDS/VPS/DDS почти всегда используют настройки сервера по умолчанию, при этом вовне «смотрит» много лишних скриптов и сервисов, через которые сервер или сайты могут взломать. Показательным примером является инструмент для работы с базой данных phpMyAdmin, который входит в большинство панелей управления хостингом и чрезвычайно популярен среди веб-мастеров. Оставляя открытым доступ к этому инструменту, администратор сервера предоставляет возможность хакеру без особого труда взломать сайт, скомпрометировать данные в БД и закрепиться на скомпрометированом сервере. Проблема с phpMyAdmin есть не только у владельцев выделенных серверов. Многие веб-мастера, размещающие сайты на виртуальном хостинге, оставляют phpMyAdmin открытым, причем в директориях с известными именами: /pma, /myadmin, /phpmyadmin, /phpMyAdmin. При сканировании сервера боты их с легкостью находят, а хакеры – эксплуатируют.
Типовое сканирование сайта на наличие открытого phpMyAdmin:

Чем опасен phpMyAdmin, выставленный вовне?
Через скрипты данного инструмента можно: загрузить хакерский шелл (оболочку) и любой другой произвольный файл на сервер;
Прочитать произвольный файл на сервере;
Выполнить произвольный код на целевой системе;
Извлечь или модифицировать данные в базе данных (а для многих CMS, например, vBulletin/IPB/MODx внедрить вредоносный код, бэкдоры и шеллы в шаблоны страниц или плагины).
Что нужно для проведения успешной атаки на сайт через phpMyAdmin?
Выдержка из access_log с успешной загрузкой веб-шелла на сайт через phpMyAdmin:

Если версия phpMyAdmin “свежая”, для которой не анонсированы публичные уязвимости, то в большинстве случаев для проведения атаки достаточно логина и пароля от базы данных.
Узнать эти данные проще, чем кажется: по-прежнему невежественные веб-мастера и владельцы сайта, а порой и админы серверов оставляют открытыми бэкапы сайтов, в которых прописаны логин/пароль в открытом виде, на некоторых виртуальных хостингах можно получить доступ с соседних сайтов к файлам wp-config.php, configuration.php и т.п, доступы можно подсмотреть через эксплуатацию уязвимостей в скриптах CMS и другими способами.
Как защитить свой сайт от атак через phpMyAdmin?
- Обновите его до последней доступной версии;
- Закройте доступ к директории со скриптами данного «движка» (аутентификация по IP, с помощью серверной авторизации, по кодовому слову).
Достаточно разместить .htaccess файл в каталоге phpMyAdmin с кодом:
Код:
Order Deny,Allow
Deny from All
Allow from 1.2.3.4
Где 1.2.3.4 – это ваш IP
Для информации: у VDS серверов с ISPManager скрипты данного инструмента расположены в каталоге /usr/share/phpMyAdmin.
Убедитесь, что на вашем сайте недоступна копия phpMyAdmin по одному из перечисленных адресов, так как боты сканируют в первую очередь по ним:
http://ваш_сайт/phpmy/
http://ваш_сайт/phpmyadmin/
http://ваш_сайт/phpMy/
http://ваш_сайт/_phpmyadmin/
http://ваш_сайт/pma/
http://ваш_сайт/MyAdmin/
http://ваш_сайт/scripts/setup.php
http://ваш_сайт/dumper.php
http://ваш_сайт/admin/phpmyadmin
http://ваш_сайт/admin/pma
http://ваш_сайт/dbadmin
http://ваш_сайт/mysql-admin
http://ваш_сайт/mysqlmanager
http://ваш_сайт/mysql
http://ваш_сайт/phpadmin
http://ваш_сайт/phpmanager
http://ваш_сайт/phpmyadmin1
http://ваш_сайт/phpmyadmin2
http://ваш_сайт/phpMyAdmin-2
http://ваш_сайт/php-myadmin
http://ваш_сайт/phpmy-admin
http://ваш_сайт/pma2005
http://ваш_сайт/PMA2005
http://ваш_сайт/p/m/a
http://ваш_сайт/pma
http://ваш_сайт/sqlmanager
http://ваш_сайт/sqlweb
http://ваш_сайт/typo3/phpmyadmin
http://ваш_сайт/webadmin
http://ваш_сайт/webdb
http://ваш_сайт/web/phpMyAdmin
http://ваш_сайт/xampp/phpmyadmin
http://ваш_сайт/myadminscripts/setup.php
http://ваш_сайт/mysqladmin
http://ваш_сайт/php-my-admin
http://ваш_сайт/phpmyadmin
http://ваш_сайт/websql
http://ваш_сайт/myadmin
http://ваш_сайт/sql/
http://ваш_сайт/mysql/
http://ваш_сайт/phpmyadmin/
http://ваш_сайт/phpMy/
http://ваш_сайт/_phpmyadmin/
http://ваш_сайт/pma/
http://ваш_сайт/MyAdmin/
http://ваш_сайт/scripts/setup.php
http://ваш_сайт/dumper.php
http://ваш_сайт/admin/phpmyadmin
http://ваш_сайт/admin/pma
http://ваш_сайт/dbadmin
http://ваш_сайт/mysql-admin
http://ваш_сайт/mysqlmanager
http://ваш_сайт/mysql
http://ваш_сайт/phpadmin
http://ваш_сайт/phpmanager
http://ваш_сайт/phpmyadmin1
http://ваш_сайт/phpmyadmin2
http://ваш_сайт/phpMyAdmin-2
http://ваш_сайт/php-myadmin
http://ваш_сайт/phpmy-admin
http://ваш_сайт/pma2005
http://ваш_сайт/PMA2005
http://ваш_сайт/p/m/a
http://ваш_сайт/pma
http://ваш_сайт/sqlmanager
http://ваш_сайт/sqlweb
http://ваш_сайт/typo3/phpmyadmin
http://ваш_сайт/webadmin
http://ваш_сайт/webdb
http://ваш_сайт/web/phpMyAdmin
http://ваш_сайт/xampp/phpmyadmin
http://ваш_сайт/myadminscripts/setup.php
http://ваш_сайт/mysqladmin
http://ваш_сайт/php-my-admin
http://ваш_сайт/phpmyadmin
http://ваш_сайт/websql
http://ваш_сайт/myadmin
http://ваш_сайт/sql/
http://ваш_сайт/mysql/
Источник:
Как защитить сайт от взлома через phpMyAdmin