LINUX.ORG.RU
ФорумAdmin

Спам через PHP


0

0

Добрый день. Подскажите пожалуйста, какими способами можно отправить почту из PHP? Дело в том, что у меня на сервере libhttpd.ep кушает 99% процессора, в очереди писем 4000 единиц спама и весь спам отправлен от имени апача. Специальный скрипт, заменяющий /bin/mail и /usr/sbin/sendmail записывает обращения к этим программам в лог и вызывает оригинальные бинарники, но в логах ничего нет. 25-й порт никто не слушает. В апаче куча виртуальных хостов, так что просмотреть тексты на предмет этой гадости не представляется возможным. Тушить postfix тоже нельзя - есть хорошие скрипты, использующие отправку почты, которые должны работать. Вопрос: как же еще может отправляться почта из PHP или других скриптов на хостинге?

Заранее благодарю.


Как минимум, реализовать SMTP на ПХП не так и сложно. Так что запросто могут /bin/mail и не использовать.

Можно попробовать от рута lsof -P | grep IPv4 | grep :25 | head

Это покажет те процессы, что коннектятся на 25 порт.

Потом посмотреть тем же лсофом, какие еще файлы у них открыты.

Лучше даже сделать lsof >snapshot, и потом уже с этим файлом возиться.

ну и man lsof

lodin ★★★★
()
Ответ на: комментарий от k41n

Та-ак, у меня его тоже никто не listen

тогда lsof | grep postfix

и смотреть потом, кто еще пишет в указанные файлы. Вероятно, смотреть придется *много* раз -- скрипт-то быстро закинул данные и свалил.

Среди открытых файлов мылоотправляющих процессов должен быть и сам скрипт, естественно.

...А вот интересно, что более опытные товарищи скажут?

lodin ★★★★
()

> Специальный скрипт, заменяющий /bin/mail и /usr/sbin/sendmail
А может кто-то закинул и вызывает свои собственные аналоги mail/sendmail ? Или выкупил пути/мена оригинальных бинарников и вызывает их напрямую ?
Да, каталог почтовой очереди не доступен на запись кому не надо ?

spirit ★★★★★
()
Ответ на: комментарий от soomrack

Если так, то sendmail используется

k41n
() автор топика
Ответ на: комментарий от spirit

Поиск по имени mail и sendmail ничего не выявляет. А если злодей их переименовал, то как их пропалить?

k41n
() автор топика
Ответ на: комментарий от spirit

Каталог с очередью на запись только для postfix и рута.

k41n
() автор топика

watch "lsof | grep /var/www/ | grep postfix" > /var/log/watch.log

Так показать должен по идее рано или поздно, не так ли?

k41n
() автор топика
Ответ на: комментарий от k41n

Не, это выведет только строчки с /var/www *и* postfix, а то что нужно будет в разных.

типа такого (формат упрощаю для наглядности)

PID     file
1222    /var/www/cgi-bin/badscript
1222    /some/mail/sending/socket

А кстати, что если поискать все скрипты, которые что-то мылят?

lodin ★★★★
()
Ответ на: комментарий от lodin

Проблема в том, что скрипты которые мылят есть, и их много, но на 99% это формы для обратной связи, т.е. хорошие скрипты. А есть один плохой. Но из 1000 его очень трудно выискать.

k41n
() автор топика
Ответ на: комментарий от k41n

> Специальный скрипт, заменяющий /bin/mail и /usr/sbin/sendmail
Да, а не пробовали заменить скрипт бинарником или использовать sudo ? А то для запуска скрипта, тому, кто запускает, необходимо иметь право на его чтение (т.к. реально идет запуск не самого скрипта, а /bin/bash, /usr/bin/perl, ..., которые для выполнения читают скрипт).
А раз у всех есть право на его чтение, значит каждый может увидеть какие реальные бинарники он вызывает, и вызывать их напрямую в обход скрипта.
Думаю это более реальный вариант, т.к. наличие своих собственных (собранных самостоятельно) бинарников вряд ли что-то даст спамеру. Например у sendmail-а бинарник /usr/sbin/sendmail имеет бит SGID и группу smmsp, в которую никто, кроме user-а smmsp не входит, и право записи в очередь имеет только этот user.
Т.е. спамер не сможет дать своему бинарнику нужную группу/владельца всемте с битами SGID/SUID.

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.