Проблема в том что с сервера идет спам (исходящие письма), время от времени появляются чужие скрипты php с логикой рассылки, которые я подчищаю. Пароли все поменены. Но это не решает проблемы.1) Мне в идеале нужно бы некий список - из каких скриптов были отправлены письма (с указание пути файла). Если такое возможно?
2) Или как минимум какой нибудь анализатор maillog, который позволил бы через вэб-интерфейс смотреть все отправленные письма через мой сервер (личного там нет). В идеале с подтверждением отправки, что то вроде модерацией - если такое возможно.Подскажите пожалуйста какие есть варианты?
> Проблема в том что с сервера идет спам (исходящие письма), время от
> времени появляются чужие скрипты php с логикой рассылки, которые я подчищаю.
> Пароли все поменены. Но это не решает проблемы.
> 1) Мне в идеале нужно бы некий список - из каких скриптов
> были отправлены письма (с указание пути файла). Если такое возможно?
> 2) Или как минимум какой нибудь анализатор maillog, который позволил бы через
> вэб-интерфейс смотреть все отправленные письма через мой сервер (личного там нет).
> В идеале с подтверждением отправки, что то вроде модерацией - если
> такое возможно.
> Подскажите пожалуйста какие есть варианты?Найми админа!
> Найми админа!с таким успехом можно закрыть opennet и на главной написать - "Если у вас есть вопросы - наймите админа". Заодно и stackoverflow закрыть, с надписью - "Если у вас есть вопросы - наймите программиста" :facepalm:
> с таким успехом можно закрыть opennet и на главной написать - "Если
> у вас есть вопросы - наймите админа". Заодно и stackoverflow закрыть,
> с надписью - "Если у вас есть вопросы - наймите программиста"
> :facepalm:Есть некий уровень познаний матчасти, если человек его имеет - есть смысл отвечать. Если его нет, а судя по уровню вопроса его нет - то и смысла нет. Иначе придется рассказать про что такое дырки в биплатных CMS, что такое апач и как настраивать и читать его логи, где лежит php.ini и что есть смысел почитать хотябы его комменты по поводу директив, и т.д. и т.п.
>> с таким успехом можно закрыть opennet и на главной написать - "Если
>> у вас есть вопросы - наймите админа". Заодно и stackoverflow закрыть,
>> с надписью - "Если у вас есть вопросы - наймите программиста"
>> :facepalm:
> Есть некий уровень познаний матчасти, если человек его имеет - есть смысл
> отвечать. Если его нет, а судя по уровню вопроса его нет
> - то и смысла нет.вы видели вопросы на SO у которых больше всего рейтинг? Вы не поверите, самые базовые и простые вопросы ;) А на реально сложный и узкоспецифический вопрос там врядли ответят (по крайней мере из личного опыта)
>>> с таким успехом можно закрыть opennet и на главной написать - "Если
>>> у вас есть вопросы - наймите админа". Заодно и stackoverflow закрыть,
>>> с надписью - "Если у вас есть вопросы - наймите программиста"
>>> :facepalm:
>> Есть некий уровень познаний матчасти, если человек его имеет - есть смысл
>> отвечать. Если его нет, а судя по уровню вопроса его нет
>> - то и смысла нет.
> SOwwtf?
> Подскажите пожалуйста какие есть варианты?1) Есть патч для php, который заставляет его добавлять имя скрипта во все отправляемые письма
https://choon.net/php-mail-header.php
2) В постфиксе есть ключ конфигурации always_bcc = имя ящика - будет пересылаться копия всей почты туда
> 1) Есть патч для php, который заставляет его добавлять имя скрипта во
> все отправляемые письмаа что, использовать mail.add_x_header в php.ini уже не модно?
mail.add_x_header
Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
> а что, использовать mail.add_x_header в php.ini уже не модно?не ругай меня! я когда пхп использовал, ещё патч был - помог чем смог
> а что, использовать mail.add_x_header в php.ini уже не модно?
> mail.add_x_header
> Add X-PHP-Originating-Script: that will include uid of the script followed by the
> filenameСпасибо, вот это помогло!
mail.add_x_header = On
mail.log = /var/log/php.mail.logИ в отдельный файл что бы не мешалось в кучу.
> Проблема в том что с сервера идет спам (исходящие письма), время от
> времени появляются чужие скрипты php с логикой рассылки, которые я подчищаю.
> Пароли все поменены. Но это не решает проблемы.
> 1) Мне в идеале нужно бы некий список - из каких скриптов
> были отправлены письма (с указание пути файла). Если такое возможно?
> 2) Или как минимум какой нибудь анализатор maillog, который позволил бы через
> вэб-интерфейс смотреть все отправленные письма через мой сервер (личного там нет).
> В идеале с подтверждением отправки, что то вроде модерацией - если
> такое возможно.
> Подскажите пожалуйста какие есть варианты?Покажите хотя бы фрагмент maillog с сеансом отправки - возможно, вам "залили" php-shell, в этом случае mail.add_x_header не поможет.
Как уже советовали выше, перехватите письма с помощью always_bcc и посмотрите в них заголовок X-Mailer. Узнаете, с помощью чего письмо сделано.
Сервер на malware проверили с помощью LMD?
Проанализируйте maillog на периодичность рассылки - как часто она происходит? Раз в час, раз в 2 часа, случайным образом? Если вычислили периодичность рассылки - изготовьте "засаду" в виде iftop, lsof, netstat, дождитесь начала рассылки и проанализируйте установленные соединения в это время
Посмотрите логи веб-сервера на предмет команд POST, завершившихся с кодом 200. Посмотрите, к каким файлам при этом было обращение. Это могут быть любые файлы, не обязательно .php. Проверьте права доступа на эти файлы.
Почитайте, что такое php obfuscated malware code - возможно, оно у вас где-то прячется - LMD зачастую такое не обнаруживает
> Как уже советовали выше, перехватите письма с помощью always_bcc и посмотрите в
> них заголовок X-Mailer. Узнаете, с помощью чего письмо сделано.использовать для этого always_bcc нет никакой необходимости
> Проблема в том что с сервера идет спам (исходящие письма), время от
> времени появляются чужие скрипты php с логикой рассылки, которые я подчищаю.
> Пароли все поменены. Но это не решает проблемы.
> 1) Мне в идеале нужно бы некий список - из каких скриптов
> были отправлены письма (с указание пути файла). Если такое возможно?
> 2) Или как минимум какой нибудь анализатор maillog, который позволил бы через
> вэб-интерфейс смотреть все отправленные письма через мой сервер (личного там нет).
> В идеале с подтверждением отправки, что то вроде модерацией - если
> такое возможно.
> Подскажите пожалуйста какие есть варианты?tcpdump по smtp порту.
netstat -anpc|grep :25
> tcpdump по smtp порту.
> netstat -anpc|grep :25и как это поможет в данном случае? o_O
>> tcpdump по smtp порту.
>> netstat -anpc|grep :25
> и как это поможет в данном случае? o_Otcpdump по smtp порту. - получить текст всех писем отправленных с этого сервера
netstat -anpc|grep :25 - получить pid и имя программы которая производит рассылку.
получив pid можно сделать lsof чтобы узнать все открытые файлы этой программой или подключится к процессу отладчиком.
> tcpdump по smtp порту. - получить текст всех писем отправленных с этого сервераСуровые челябенские админы смотрят почтовые логи через tcpdump :) И все равно, по логам postfix вы никогда не поймете, с какого скрипта идет отправка. Для этого специально придумали mail.add_x_header
> netstat -anpc|grep :25 - получить pid и имя программы которая производит рассылку.
ну получите вы pid postfix, а дальше что?
> получив pid можно сделать lsof чтобы узнать все открытые файлы этой программой
> или подключится к процессу отладчиком.какие открытые файлы?! Там данные через pipe вливаются (popen+fprintf)
http://risovach.ru/upload/2013/02/mem/dzheki-chan_10244806_b...
>> tcpdump по smtp порту. - получить текст всех писем отправленных с этого сервера
> Суровые челябенские админы смотрят почтовые логи через tcpdump :) И все равно,
> по логам postfix вы никогда не поймете, с какого скрипта идет
> отправка. Для этого специально придумали mail.add_x_headerа заголовка чтобы отправить всем получателям спам рассылки и свой /etc/passwd заодно, еще не придумали?
>> netstat -anpc|grep :25 - получить pid и имя программы которая производит рассылку.
> ну получите вы pid postfix, а дальше что?а почему вы уверены что именно постфикс? потому что так утверждает человек спрашивающий совета? или потому что иной вариант просто не пришел в голову? с таким же успехом почту может рассылать и скрипт напрямую..
>> получив pid можно сделать lsof чтобы узнать все открытые файлы этой программой
>> или подключится к процессу отладчиком.
> какие открытые файлы?! Там данные через pipe вливаются (popen+fprintf)так вы точно знаете механизм? ваш троян чтоли?
> а почему вы уверены что именно постфикс? потому что так утверждает человек
> спрашивающий совета? или потому что иной вариант просто не пришел в
> голову? с таким же успехом почту может рассылать и скрипт напрямую..в контексте php не важно какой MTA будет, см ниже.
>>> получив pid можно сделать lsof чтобы узнать все открытые файлы этой программой
>>> или подключится к процессу отладчиком.
>> какие открытые файлы?! Там данные через pipe вливаются (popen+fprintf)
> так вы точно знаете механизм? ваш троян чтоли?я просто посмотрел реализацию mail в php ;)
https://github.com/php/php-src/blob/master/ext/standard/mail.c