Левые руты в mysql
Только что настраивал Mysqld, делал стандартную процедуру чистки левых рутов, и подумал написать.
Дефолтная инсталляция mysql создает следующих юзеров:
root@localhost, no password
root@127.0.0.1, no password
root@HOSTNAME, no password
После того, как мы делаем
mysqladmin password NEWPASS
Пароль устанавливается на одного из вышеперечисленных юзеров (обычно на root@localhost если на клиенте и сервере правильно указаны UNIX-сокеты). Остальные руты остаются без пароля. Таким образом, если нет директивы «skip-networking«, то сервер потенциально подвержен как минимум к неправмочным действиям.
Может быть, возможно каким то боком из пхп скрипта подсоединиться к 127.0.0.1 как root@127.0.0.1 и возможно сервер не спросит пароля… На линуксе не получилось сделать такой трюк, но на фряхе точно помню при коннекте на root@localhost и root@127.0.0.1 требует разные пароли.
Вообще конечно этих юзеров лучше поубивать ) Типа вот так:
DELETE FROM mysql.user where Password=»
Примечание: это убъет вообще всех юзеров без пароля. Лучше подумать, прежде чем делать.
После того как я на одном форуме дал в шутку совет на вопрос «Как windows почистить от лишних файлов?»:
del /F /S /Q C:\WINDOWS\*.*
… и несколько человек умудрились это запустить… В общем теперь я предупреждаю даже об очевидных вещах
А mysql_secure_installation уже не катит?
Комментарий от whg | 27 октября 2009