Отправка писем и сужение сценария
Я использую очень старый сервер Ubuntu, который некоторое время назад был почтовым сервером, который был заражен. К сожалению, на этом сервере работает веб-страница. Некоторые сценарии / страницы / вредоносные программы пытаются отправить много спама - я знаю, потому что / var / spool / postfix / maildrop заполняется довольно быстро.
Я думал, что изменение php5 / cli / php.ini sendmail_path на что-то недопустимое остановит это. К сожалению, это не так (я перезагрузил Apache). Сервер настолько старый, что даже iotop не работает. (нужно обновить ядро + пакеты, чего не произойдет).
Есть ли способ сузить главную проблему здесь? Есть ли способ проверить, какой файл пытается отправить спам, чтобы я мог удалить его?
2 ответа
Я подозреваю, что заражен не ваш почтовый сервер. Возможно, на сервере запущен спамбот, который отправляет электронную почту напрямую. Если спам не записан в журналах вашей электронной почты, скорее всего, это так.
Следующие правила IP-таблиц будут блокировать отправку электронной почты спам-ботов и программ, работающих как другие пользователи.
iptables -A OUTPUT --dport 25 -m owner --uid-owner XX -j ACCEPT # Where XX is the UID of the Email server
iptables -A OUTPUT --dport 25 -j LOG --log-level 6 --log-prefix "Outgoing SMTP blocked:"
iptables -S OUTPUT --dport 25 -j DROP
Возможно, вы захотите запустить команду netstat от имени root несколько раз, чтобы увидеть, какие программы отправляют сообщения. Я бы использовал команду что-то вроде:
netstat -antp | grep :25
Важно, чтобы ваша рассылка была актуальной. Используя LTS, вы можете обновлять версию каждые 2 года, а нормальный цикл выпуска - каждые 6 месяцев. Пакет как unattended-upgrades
можно применять обновления по мере их появления.
Благодаря помощи @BillThor - большое спасибо, и несколько подобных вопросов здесь, в суперпользователе, мне удается это сделать:
1) Отключить ввод и вывод порта 25 (smtp)
iptables -A OUTPUT -p tcp --dport 25 -j DROP
iptables -A OUTPUT -p tcp --dport 25 -j LOG --log-level 6 --log-prefix "SMTP BLOCK:"
iptables -A INPUT -p tcp --dport 25 -j DROP
2) Отключите любой сервис imap/courier/pop/smtp на сервере (это был старый почтовый сервер, теперь нет смысла его иметь)
3) Я загружаю maldetect, который немедленно показал мне проблемные файлы, такие как img23141243.php.jpg или img1321312.php.gif
После очистки этой старой учетной записи веб-сервера соединение apache2 отсутствует:25 в любом случае. Мониторинг этого с помощью регистрации любого исходящего актива на порту 25, и с
netstat -antp | grep :25
4) к сожалению, LMD не обнаружил все вредоносные программы на сервере, но я использовал статью HowToForge о том, как перенаправить команду sendmail на внешний скрипт, который будет регистрировать каждую попытку отправки почты, которая регистрирует путь к папке зараженного файла. Благодаря этому я нашел sql.php, который был заражен.