Частенько приходится бороться со спамом. Мы расскажем, как находить скрипты, которые рассылают спам, даже если антивирус maldet (или любой другой) не нашел его.
Конечно, у Вас должен быть root доступ на VPS, чтобы проделать подобные манипуляции.
Для начала, в конфиг файле php в /etc/php.ini должна быть включена функция логирования mail.
Строка mail.add_x_header = On должна быть включена.
Также можно сделать отдельное логирование в отдельный файл:
mail.log = /var/log/phpmail.log
Если не указан лог файла, то статистику можно смотреть в самой почтовой системе по идентификатору сообщения. Например, через mailq смотрим номер сообщения (id) и далее смотрим его содержимое:
postfix: postcat -q id | grep X-PHP-Originating-Script
exim: exim -Bpc id | grep X-PHP-Originating-Script
sendmail: cat /var/spool/mqueue/id | grep X-PHP-Originating-Script
В ответ мы получаем UID пользователя и название файла, через который шлется спам. Например, файл erfa3as.php. Также можно просто без grep посмотреть, что за пользователь высылает сообщения. Например, пользователь spamer, у которого домашняя директория /var/www/spamer.
Делаем поиск файла в его домашней директории:
find /var/www/spamer -name erfa3as.php
Таким образом, файл найден. Удаляем и закрываем дыры в CMS.
AdminVPS не допускает возможности рассылки спама! На всех VPS серверах с панелью ispmanager спам фильтруется через php mail.