Может ли кто-нибудь помочь мне в построении правил sendmail для ограничения спама? Предполагая, что имя моего домена my.domain.com, я хочу использовать следующие правила:
Если адрес отправителя и получателя находится с my.domain.com, сообщение должно быть отклонено (сервер sendmail только ретранслирует сообщения между моим внутренним сервером обмена и внешним словом, поэтому отправка сообщений между пользователями с my.domain.com всегда происходит на сервере обмена и никогда на сервере sendmail)
Если список получателей содержит ТОЛЬКО ОДИН недопустимый адрес, все сообщение должно быть отклонено (даже для действительных адресов получателей)
Если отправляющий сервер использует сообщение HELO с поддельным доменным именем (кроме домена этого сервера), сообщение должно быть отклонено
Любой сервер, пытающийся отправить почту на выделенный адрес (например, mail_trap@my.domain.com), должен быть автоматически занесен в черный список.
Любые другие предлагаемые правила ...
Вы не хотите этого делать. Нет никакого способа, чтобы те усилия, которые вам пришлось бы приложить (и продолжать прилагать, поскольку тенденции к спаму меняются), чтобы поддерживать наполовину полезный набор правил, стоили бы результата. Посмотри на milter.org для каталога отличных наборов правил, поддерживаемых сообществом, и рассмотрите SpamAssassin для более сложной фильтрации спама на уровне Sendmail. Надеюсь, это поможет!
Я согласен с большинством других постеров о том, что некоторые из них лучше делать с помощью milters.
Что касается пункта (1), есть ли веская причина не отклонять всю почту извне, утверждающую, что она пришла из вашего домена? Если нет, это лучше всего сделать, определив записи SPF и используя spf-milter для отклонения все входящая почта, нарушающая опубликованную запись SPF.
Для пункта (3) это уже должно быть сделано, поскольку это стандартно для sendmail. Обычно необходимо включить
FEATURE(`accept_unresolvable_domains')
в конфигурационном файле m4, чтобы отправить sendmail на принять электронная почта с недействительных доменов. Проверьте свой файл m4; если эта строка есть, удалите ее и создайте файл cf заново.
Честно говоря, вы могли бы сидеть и пытаться изобрести колесо для уменьшения спама по спицам, но многие другие люди уже проделали много другой хорошей работы в этой области. Для меня sendmail без указанной выше строки, плюс milter-greylist и spf-milter, плюс spamassassin-via-procmail при доставке, снизили спам во INBOX более чем на 99% (а серый список был самым дешевым и самым большим выигрышем из всех). ).
Если ты хочешь бежать MIMEDefang вместе с sendmai вы можете делать большую часть того, что пишете, предоставляя соответствующие процедуры в mimedefang-фильтр. Однако лучше всего сначала использовать SpamAssassin, а затем посмотреть, какие еще фильтры вы можете реализовать самостоятельно. SpamAssassin можно запустить через MIMEDefang, что означает, что вы можете комбинировать его со своими собственными правилами.