У меня есть окно Linux (debian), которое работает нормально. Однако у меня возникла проблема. Мне нужно выяснить, какая программа отправляет электронные письма, когда я использую команду «mail». Или, если на то пошло, когда PHP-скрипт отправляет электронные письма с помощью функции mail (), мне нужно знать, какая программа отправляет эти электронные письма.
Как я могу узнать?
Ps: Для ясности, я хотел бы знать, какая программа вызывается, когда я (или программа) использую команду "mail".
На моем сервере установлено 2-3 MTA, но я не могу понять, какой из них отвечает за отправку почты.
Что вы спрашиваете, как делать:
dpkg -S /path/to/mail
/ path / to / mail / можно найти с помощью which mail
, при условии, что mail
на вашем пути.
Незначительное примечание:
Почта также может быть отправлена с использованием sendmail
вместо того mail
.
Что ты должен делать:
Посмотрите на свой почтовый журнал, скорее всего /var/log/maillog
или /var/log/mail.log
там должно быть имя демона.
Этот вопрос похож на Как узнать, какой скрипт на моем сервере рассылает спам? , но поскольку он больше не позволяет отвечать (помечен как дублированный), я отвечаю на него здесь, чтобы дать некоторую информацию.
Сменить файл /etc/php.ini
или /etc/php5/apache/php.ini
добавив эти две строки:
mail.add_x_header = On
mail.log = /var/log/phpmail.log
перезапустите свой php5 or php5-fpm service and nginx/apache
сервис, затем проверьте /var/log/phpmail.log
файл, чтобы увидеть, в каком скрипте были ошибки запуска, и удалите их!
Вот очень конкретная область действия (мое решение не решает другой сценарий):
Я запускаю Ubuntu на VPS и имею nginx, php5-fpm, and wordpress
установлен, и он был взломан, и я почти уверен, что это был взлом WP и спам-коды.
Я пробовал следующие действия, чтобы исправить; например, использованный Детектор вредоносных программ для Linux; сбросить все учетные данные для подключения к базе данных; и просто просматривайте, чтобы удалить вредоносные коды.
Я предпринял следующие действия:
Для исходного кода:
1346.php
, и т.д.eval
всех ваших файлов, чтобы увидеть что-нибудь вредоносноеphp
файлы с обфусцированным кодомПосле того, как я это сделал, я также удаляю разрешение на выполнение всех файлов, кроме каталога: chmod -x+X -R *
или обратитесь сюда: удалить разрешения на выполнение из файлов, не касаясь папки
Однако я все еще вижу много ошибок в своих /var/log/mail.err
и /varlog/syslog
, потому что я не настраивал sendmail
или postfix
(вы можете остановить такие службы, чтобы выявить ошибку спама):
postfix/sendmail[2422]: fatal: open /etc/postfix/main.cf: No such file or directory
Однако я до сих пор не знаю, где скрипты спама ... здесь застряли ...
После нескольких часов поиска я нашел решение, упомянутое в короткий ответ , настройте параметры почты в php.ini
и выставляем расположение скриптов.
После удаления этих сценариев я больше не обнаружил ошибок, связанных со спамом, и пока мой сервер выглядит чистым.
Хотя, как многие предлагали, вы должны отключить такой сервер и выполнить повторное создание образа или сбросить его до предыдущего состояния и т. Д.
справочные ссылки:
Как мне поступить с взломанным сервером?
https://blog.rimuhosting.com/2012/09/20/finding-spam-sending-scripts-on-your-server/
strace раскроет поведение вашего кода - независимо от того, выполняет ли он программу или устанавливает TCP-соединение с почтовым сервером.