как заблокировать спам
Применимость: <mail postfix exim sendmail spam recovery>
Задача:
Выявление спам активности, нахождение скриптов/процессов осуществляющие данную активность, базовые методы противодействия
Решение:
1. выявление
- проверить число соединений, к примеру командой netstat -putanl | grep :25 | wc -l, примерное число должно быть в пределах 5-50, большие значения - повод для дополнительных проверок
- проверить количество сообщений: exim -bpс, mailq, не должно быть Frozen и писем в очереди более 4 часов, общее число сообщений зависит от настроек сервера, в целом если не планировалась рассылка - не более чем 5 сообщений в час, в идеале (если не магазин или что-то другое с большими объемами почты) - 0 сообщений
- проверить наличие большого числа файлов: ls /var/spool/{postfix,exim,mqueue}/…., подтверждение предыдущего пункта, в противном случае нужно будет проверять настройки почтового сервера и смотреть где хранятся письма, после чего проверять найденные каталоги
- жалоба на клиента
- жалоба на спам на shared хостингах, в т.ч. и от клиентов, которые сделали у себя shared
2. нахождение скриптов/процессов
- проверить целостность сервера, подробнее - проверка linux-системы на наличие следов взлома, что делать если взломали
- проверка неожиданных процессов типа perl python bash и прочих, неожиданный владелец процессов (www-data, и прочие), неожиданный путь запуска (к примеру /dev/shm, /lib/progname, /var/lib/progname) и прочие (название совпадает с системной программой, но расположение в другом месте, к примеру /var/lib/perl)
- проверка параметров запуска найденных процессов: ls -la /proc/<pid>/exe; cat /proc/<pid>/environ, после чего выполнить проверки аналогично предыдущему пункту
- поискать файлы с вызовами почты в файлах для вебсервера: grep mail /var/www/sitename/….
- если php версия >5.3 - можно использовать опцию maillog
- проверка cron на наличие запуска вредоносных программ
3. базовые методы противодействия
- остановить сервис: service postfix stop (другие варианты - exim, sendmail, или другой тип сервера)
- установить smtp auth для локальных пользователей, пример для postfix (пример для smtps, однако с небольшими правками будет работать и для smtp): http://www.howtoforge.com/postfix-smtp-authentication-on-the-secure-port-only
- зачистить очередь с сообщениями: rm /var/spool/…
- безопасно настроить вебсервер (в частности отключить cgi, установить htpasswd и htaccess на нужные части сайта) и перезапустить его, частный случай - установка обновлений cms
- остановить процессы, включая процессы-менеджеры при их наличии: kill pid1 pid2 pid3 ….
- попробовать перейти на gmail/yandex
Частный случай - open relay, является ошибкой настройки сервера, подробнее - здесь: исправление open relay
Смотрите также:
Актуальность: 2014/04/01 11:59