Greylist для Sendmail - nota bene

Спам не так уж сильно донимает когда используешь фильтрацию на стороне клиента, и продолжительное время я держался в стороне от бесконечной борьбы замка и отмычки. Вместе с тем, терпение - штука не резиновая, и когда количество мусорных писем перевалило за несколько сотен в день, оно порвалось :)

Итак, боремся со спамом на CENTOS4 с Sendmail. Предполагаем что вы хозяин хоста (root), пускай даже и виртуального.

Перепробовал несколько подходов - и DNSBL, и SPAMASSASIN, и Greylisting. Оказалось, что лучше всего они работают в комбинации, как и следовало ожидать :) Вместе с тем, наиболее эффективен именно последний.

Идея серого списка в общем-то тривиальна - отправитель должен продемонстрировать способность отправить то же самое сообщение с того же самого адреса повторно. Оказывается, соответствовать этому требованию тем сложнее, чем более серьезного масштаба рассылку делаешь. Фактически, большинство сетей зомби, построенных из зараженных вирусами ПК ничего не подозревающих домохозяек, не предусматривают возможность повторной отправки письма, тем более в привязке конкретного адресата к конкретному зомби. В общем, хватит теории.  Википедия в помощь :)

Greylist

У меня центос 4
Покурил предварительно ман отсюда http://wiki.centos.org/HowTos/postgrey#head-190b82868d2d30fae11b3d1670d1a4716320bf36
и отсюда http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge

Решил использовать milter-greylist как практически законченное решение, не требующее особых плясок с бубном :)


1. Подключаем RPMForge

yum install yum-plugin-priorities
wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm -i rpmforge-release-0.3.6-1.el4.rf.*.rpm
yum check-update

2. Ставим мильтер

yum install milter-greylist


3. Обновляем конфиг sendmail.mc

INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')dnl
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')dnl
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl

4. Настраиваем систему:

Важно не забыть записать greylist в define(`confINPUT_MAIL_FILTERS', `greylist,smtp-vilter') и пересобрать конфиг sendmail.
Еще нужно не забыть вписать симлинки в /etc/rc.d и не забыть в /etc/mail/greylist.conf включить acl greylist default, можно покрутить параметры delay и autowhite

Вот что получается по итогу:

Новые отправители получают отказ
220 bortnik.virtual.vps-host.net ESMTP Sendmail 8.13.1/8.13.1; Sat, 9 May 2009 20:08:44 +0300
ehlo tim
250-bortnik.virtual.vps-host.net Hello 29-92-133-95.pool.ukrtel.net [95.133.92.29], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
mail from: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
250 2.1.0 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ... Sender ok
rcpt to: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
451 4.7.1 Greylisting in action, please come back later

Собирается база /var/milter-greylist/greylist.db
#
# greylisted tuples
#
# Sender IP     Sender e-mail   Recipient e-mail        Time accepted
95.133.92.29    Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript 1241890754 # 2009-05-09 20:39:14

Курим бамбук delay минут, и пробуем еще раз. Если проходит, значит все ок. Спам кончился :)

220 bortnik.virtual.vps-host.net ESMTP Sendmail 8.13.1/8.13.1; Sat, 9 May 2009 20:47:35 +0300
ehlo tim
250-bortnik.virtual.vps-host.net Hello 29-92-133-95.pool.ukrtel.net [95.133.92.29], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
mail from: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
250 2.1.0 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ... Sender ok
rcpt to: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
250 2.1.5 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject:test

subj:)
.
250 2.0.0 n49HlZBX026392 Message accepted for delivery

Комментарии
Добавить новый Поиск
Оставить комментарий
Имя:
Email:
 
Тема:
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
Пожалуйста, введите проверочный код, который Вы видите на картинке.
 
окна киев
На web-странице этого предприятия Автоинструктор по 2171 - заходите
антенная мачта. Антенные мачты представляет собой тонкий лист металла. Строительство