приветствую
после спора в одной частной беседе о пользе и вреде паранойи при приеме
писем для всех несуществующих получателей локальных доменов (типа чтобы
не дать спамеру инфы о том, существует ли такой получатель) появилась у
меня мысль написать в лист о работе со спамтрапами средствами паровоза.
адреса получателей, являющиеся spamtrap'ами, указываются в access-rcpt
(в site/conf переменная confCHECK_RCPT_ACCESS должна содержать значение,
отличное от `NO').
итак:
1. на этапе RCPT TO ответить 5xx, залистить хост в DNSBL, письмо будет
доставлено получателям, адреса которых были указаны раньше адреса
spamtrap'а:
spamtrap на corvax.kiev.ua : submit_rbl reject : User unknown : Host
sending message to spamtrap blacklisted
2. на этапе RCPT TO ответить 5xx, залистить хост в DNSBL, письмо не
будет доставлено остальным получателям, клиенту будет возвращена ошибка
5xx в ответ на команду DATA (до получения тела письма):
spamtrap на corvax.kiev.ua : submit_rbl reject reject_all : User unknown :
Host sending message to spamtrap blacklisted
3. на этапе RCPT TO ответить 5xx, залистить хост в DNSBL, если до
указания адреса spamtrap'ы были указаны другие адреса получателей,
письмо будет доставлено в карантин:
spamtrap на corvax.kiev.ua : submit_rbl reject quarantine_other : User
unknown : Host sending message to spamtrap blacklisted
4. после приема письма ответить 5xx, залистить хост в DNSBL, содержимое
письма отправить на автообучение spamassassin'у:
spamtrap на corvax.kiev.ua : submit_rbl quarantine reject : User unknown :
Host sending message to spamtrap blacklisted
5. после приема письма ответить 250, залистить хост в DNSBL, содержимое
письма отправить на автообучение spamassassin'у:
spamtrap на corvax.kiev.ua : submit_rbl quarantine : User unknown : Host
sending message to spamtrap blacklisted
действие submit_rbl доступно пользователям enterprise версии паровоза. в
двух последних вариантах необязательно использовать submit_rbl.
для вариантов 4 и 5 необходимо также в site/system_filter_top настроить
доставку копий писем для автообучения bayes'ового фильтра spamassassin'а
(либо любого другого статистического фильтра):
if X-Quarantine-Rcpt: matches "Host sending message to spamtrap
blacklisted" then
logwrite "$tod_log $message_id saved for learning; original
recipients: $recipients"
unseen save /var/vmail/localhost/admin/.spam.sa-learn-spam/ 640
fi
после matches должны быть указана подстрока, которая в файле access-rcpt
указана после сообщения smtp клиенту. это же сообщение будет выведено в
файл протокола exim'а.
доставлять вообщение необходимо в каталог, специфичный для используемого
вами статистического фильтра.
можно доставлять в этот каталоге не копию письма, а оригинал. тогда
unseen нужно просто заменить на seen.
если в каталог для обучения доставляется копия письма, то оригинал будет
доставлен в каталог, указанный в confSYSTEM_FILTER_QUARANTINE_DIR
(подкаталог rcpt). это описано в site/system_filter_quarantine_quarantined
три первых вариант из указанных выше используются уже достаточно долго.
четвертый и пятый прошли предварительное тестирование. сейчас начну
тестировать их в реальных условиях.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC