Най-голямата заплаха е, че нападателят може да използва уязвимост като; обхождане на директория или използване на SQL инжекция за извикване на load_file()
да прочете потребителското име/паролата в обикновен текст в конфигурационния файл и след това да влезете с помощта на phpmyadmin или през tcp порт 3306. Като пентестър използвах този модел на атака, за да компрометирам система.
Ето страхотен начин да заключите phpmyadmin:
- PhpMyAdmin няма силна защита с груба сила, така че трябва да използвате дълга, произволно генерирана парола.
- НЕ РАЗРЕШАВАТЕ ОТДАЛЕНО ВХОДЯНЕ НА ROOT! Вместо това phpmyadmin може да бъде конфигуриран да използва "Cookie Auth"
за да ограничите какви потребители имат достъп до системата. Ако имате нужда от някои root привилегии, създайте персонализиран акаунт, който може да добавя/пуска/създава, но няма
grant
илиfile_priv
. - Премахнете
file_priv
разрешения от всеки акаунт.file_priv
е едно от най-опасните привилегии в MySQL, защото позволява на нападателя да чете файлове или да качва бекдор. - Поставете в бял списък IP адреси, които имат достъп до интерфейса на phpmyadmin. Ето един пример .htaccess reulset:
Order deny,allow Deny from all allow from 199.166.210.1
-
Нямате предвидимо местоположение на файла като:
http://127.0.0.1/phpmyadmin
. Скенерите за уязвимости като Nessus/Nikto/Acunetix/w3af ще сканират за това. -
Защитната стена изключва tcp порт 3306, така че да не може да бъде достъпен от нападател.
-
Използвайте HTTPS, в противен случай данните и паролите могат да изтекат към атаковащия. Ако не искате да отделите $30 за сертификат, тогава използвайте самоподписан. Ще го приемете веднъж и дори ако е променен поради MITM, ще бъдете уведомени.