[exim-conf] фильтрация по TXT записям домена отправителя

Victor Ustugov victor на corvax.kiev.ua
Пн Ноя 22 20:02:57 EET 2010


приветствую

фильтрация по A и MX записям домена отправителя есть.

давненько уже надо было прикрутить фильтрацию по TXT записям домена
отправителя.

пока единственным применением такому фильтру может служить фильтрация по
SPF записям домена отправителя для случаев сильно хитроизогнутых
товарищей, которые прописывают в SPF записях несколько сетей с маской 2
бита, покрывая таким образом все адресное пространство.

это еще в июне обсуждалось в русскоязычном exim-users:
http://mailground.net/pipermail/exim-users/2010-June/000065.html

и хотя SPF записи всех доменов, упомянутых в том треде, уже
перенастроены, хочется иметь механизм фильтрации писем от них, не
вписывая регулярные выражения прямо в конфигурационный файл exim'а.

т. о. по образу и подобию механизмов confCHECK_MAIL_DOMAIN_A и
confCHECK_MAIL_DOMAIN_MX был создан механизм проверки TXT записей.

для включения механизма используется переменная confCHECK_MAIL_DOMAIN_TXT

список возможных значений традиционный:
NO          - не проводить проверку
REJECT      - возврата клиенту кода 5xx
DEFER       - возврата клиенту кода 451
WARN        - вывод в лог файл предупреждения
GREYLIST:XX - добавить XX баллов к счетчику опционального грейлистинга
QUARANTINE  - принять письмо с сохранением в карантин без доставки
получателям
REJECT:XX   - добавить XX баллов к счетчику опционального reject'а
DELAY:XX    - задержка XX секунд перед ответом на RCPT TO

черный список TXT записей доменов отправителей находятся в файле
CONFDIR/access-mail-domain-txt в виде:
txt_record : действие : сообщение SMTP клиенту : сообщение в лог файл

в качестве "действия" могут выступать:
ok                  - принимать сообщения
warn                - выдача предупреждения в лог файл и добавление в
                    заголовки сообщения в поле X-Warn-Mail-TXT, текст
                    сообщения об ошибке может быть указан через
                    двоеточие
deny или reject     - отказ в приеме сообщения
drop                - отказ в приеме сообщения с обрывом соединения
discard             - прием письма без доставки получателю
defer               - возврат клиенту временной ошибки 4xx
quarantine          - принять письмо с сохранением в карантин без
                    доставки получателям
greylist:xx         - добавление xx баллов к счетчику опционального
                    greylisting'а
greylisting:xx      - синоним greylist:xx
reject:yy           - добавление yy баллов к счетчику опционального
                    reject'а
deny:yy             - синоним reject:yy
delay:zz            - задержка на zz секунд перед продолжением
                    обработки сообщения
pause:zz            - синоним delay:zz


поля "сообщение SMTP клиенту" и "сообщение в лог файл" могут отсутствовать.

если в файле CONFDIR/access-mail-domain-txt будет отсутствовать и поле
"действие", то будет выполнено действие по умолчанию из переменной
confCHECK_MAIL_DOMAIN_TXT

пример:

\N^v=spf.*/2\s\-all$\N : deny : Access denied : Suspicious SPF record
"$acl_m_key"

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC




Подробная информация о списке рассылки exim-conf