Как защитить phpMyAdmin
Поанализировал логи apache. Первым делом конечно открыл файл error.log, и офигел. Вот несколько строчек всего за один день:
[Sun Mar 21 12:42:46 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/php-my-admin
[Sun Mar 21 12:42:47 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/myadmin
[Sun Mar 21 12:42:48 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/PHPMYADMIN
[Sun Mar 21 12:42:48 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin
[Sun Mar 21 12:42:49 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/config
[Sun Mar 21 12:42:50 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phppgadmin
[Sun Mar 21 12:42:50 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpmyadmin2
[Sun Mar 21 12:42:51 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin2
[Sun Mar 21 12:42:52 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/mail
[Sun Mar 21 12:42:52 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/webmail
[Sun Mar 21 12:42:59 2010] [error] [client 202.173.213.9] File does not exist: /usr/share/phpmyadmin/config
[Sun Mar 21 12:42:59 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/pma
[Sun Mar 21 12:43:00 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/admin
[Sun Mar 21 12:43:01 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/dbadmin
[Sun Mar 21 12:43:01 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/mysql
[Sun Mar 21 12:43:02 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/php-my-admin
[Sun Mar 21 12:43:03 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/myadmin
[Sun Mar 21 12:43:03 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/PHPMYADMIN
[Sun Mar 21 12:43:04 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin
[Sun Mar 21 12:43:04 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/config
[Sun Mar 21 12:43:05 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phppgadmin
[Sun Mar 21 12:43:06 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpmyadmin2
[Sun Mar 21 12:43:06 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin2
[Sun Mar 21 12:43:07 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/mail
[Sun Mar 21 12:43:08 2010] [error] [client 202.173.213.9] File does not exist: /var/www/hosting.expertise4you.com/webmail
[Sun Mar 21 14:31:59 2010] [error] [client 217.24.240.68] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin
[Sun Mar 21 14:31:59 2010] [error] [client 217.24.240.68] File does not exist: /var/www/hosting.expertise4you.com/phpMyAdmin
[Sun Mar 21 14:32:00 2010] [error] [client 217.24.240.68] File does not exist: /var/www/hosting.expertise4you.com/mysql
[Sun Mar 21 14:32:00 2010] [error] [client 217.24.240.68] File does not exist: /var/www/hosting.expertise4you.com/mysql
Не найдено кучу файлов, которые запрашиваются. Из того, какие файлы запрашивают, я сделал вывод только один – мудаков на свете много, GeoIP пишет, что они и в Китае, и из Африки, а вот эти двое из Таиланда и Албании. Ну это неважно, откуда, в принципе может и кореец и через русскую проксю заходить. Главное что? Ломят мой phpMyAdmin, естественно вариант, который дает сразу правильную ссылку на него, в первом-втором десятке подборов – по умолчанию у меня phpMyAdmin доступен по ссылке hosting.expertise4you.com/phpmyadmin (после настройки-установки сервера все так и было…)
Что это дает мудакам? Что-что, начинают бомбить мой MySQL сервер, подбирая логины-пароли, поэтому первый рубеж, можно сказать, ими проходится влет. Он и так, сервер, WordPress’ом нагружается, и еще бомбят. А сломают MySQL сервер – летите голуби, летите… Т.е. сайты. Хорошо еще если бакапы будут. Уведут все или порушат.
Что делать? Хотя бы уж такую дыру слегка прикрыть. Ищу на сервере в папке /etc/phpmyadmin конфигурационный файл apache.conf и открываю его на редактирование, интересует первая после комментария строка:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
Вот ее и меняю на какую-нибудь известную только мне абра-кадабру, типа:
Alias /vtnfrjycfknbyu /usr/share/phpmyadmin
Рестарт апача, чтобы phpMyAdmin открывался уже по новой ссылке:
/etc/init.d/apache2 restart
Все, накрыли тазиком дыру.


Спасибо
Интересный способ.
Ещё бы узнать про защиту SysCp, webmin и пр.
Кривовато однако. Ищут админ для проверки на дефолтовые пароли, а самое главное, на уязвимости, в том числе и неизвестные широким массам. 0 day bugs. Можно применить описанную защиту, а можно воспользоваться более элегантным вариантом- апачевские файлики .htaccess – описать в нем доступ к папке по ип, логину-паролю. Гугл в помощь. Вообще, вы даже не представляете, насколько уязвим современный софт-особенно тот же wp- админка любого сайта должна быть под паролем именно средствами что упомянул выше. Админки типа вебмина и сисцп, как и ссш лучше перевесить на нестандартный порт- например, ссш на порт 5555 или по вашей фантазии
Сисцп имхо г на палочке по сравнению с ispcp.
ssh я повесил на нестандартный порт, а вот до .htaccess с .htpasswd руки пока чето не дотянул
надо будет.