Я просматривал журналы mysql-slow-logs, чтобы проверить потенциальную оптимизацию, и заметил в них странную схему (см. ниже):
SELECT password, type FROM accounts AS a JOIN sys_users AS s ON (a.id = s.account_id) WHERE s.login='**DICTIONARY_USER_NAME_HERE**' AND (SELECT count(*) FROM hosting AS h WHERE h.sys_user_id = s.id) = 0 AND (SELECT count(*) FROM web_users AS w WHERE w.sys_user_id = s.id) = 0 AND (SELECT count(*) FROM ftp_users AS f WHERE f.sys_user_id = s.id) = 0;
Что еще более пугает, так это то, что эти запросы выполняются с admin@localhost (который указан пользователем Plesk MySQL)
Я проверил, и кажется, что Plesk хранит некоторые пароли в виде обычного текста, и эти запросы являются очевидным методом словаря для угадывания логина, поэтому mysql ответит паролем в виде обычного текста.
Итак, чтобы подвести итог
- запросы называются admin@localhost
- пароли plesks в текстовом виде
Я не уверен, каков вектор атаки, но если мы примем во внимание несколько вещей:
- злоумышленник теперь не знает пароль администратора, иначе он мог бы выполнить точный запрос вместо словаря
- злоумышленник явно не выполняет ssh / удаленное выполнение mysql
- это, вероятно, вина plesk, поскольку я наблюдал это на обоих серверах, которые работают под разными ОС, в разных конфигурациях, и только один из них имеет какой-либо контент (веб-сайт/приложение или что-то еще, что может быть возможным вектором атаки)
- наиболее вероятным кажется то, что злоумышленник (или бот в данном случае) выполняет запрос через некоторые из незащищенных сценариев Plesk (тех, кто разрешает такой запрос, не требуя от вас входа в систему)
Теперь я могу совершенно ошибаться и неправильно понимать ситуацию, и это какое-то совершенно нормальное действие Plesk (в чем я сомневаюсь), что также странно, так это то, что я не смог найти ничего в Google об этой уязвимости.
Некоторый технический/мягкий фон:
- VPS
- 1xCentOS 5 / 1xDebian (оба x64)
- Панель Plesk v. 10.4.4
Я был бы очень признателен, если бы кто-то мог подтвердить, что он действительно столкнулся с этой проблемой/атакой, и, возможно, какие-то решения, как предотвратить злоумышленника - в конце концов он может угадать логин, он еще не получил его.
Обновление до версии 11 пока не обсуждается - провайдер VPS сказал, что пока не может этого сделать, я не могу переносить проекты на другие VPS или, по крайней мере, не так быстро
Заранее спасибо и с уважением, Адам