приветствую
работая над расширением набора критериев опционального greylisting'а и
опционального reject'а пришел к некоторым заключениям по поводу
оптимизации механизма фильтрации домена отправителя, A/PTR записей хоста
рилея отправителя и HELO/EHLO:
1. нужно переименовать acls/check_mail_blacklist.m4 в
acls/check_mail_access.m4 и confCHECK_MAIL_BLACKLIST в
confCHECK_MAIL_ACCESS.
возможные значения для confCHECK_MAIL_ACCESS не будут ограничиваться
`NO' и `YES'. вместо `YES' будут использованы:
REJECT - возврата клиенту кода 5xx
DEFER - возврата клиенту кода 451
WARN - вывод в лог файл предупреждения
GREYLIST:XX - добавить XX баллов к счетчику опционального грейлистинга
REJECT:XX - добавить XX баллов к счетчику опционального reject'а
DELAY:XX - задержка XX секунд перед ответом на RCPT TO
значение confCHECK_MAIL_ACCESS будет использовано как значение по
умолчанию действия, если в access-mail будет внесена запись без указания
действия в правой части
2. нужно объединить acls/check_relay_blacklist.m4 и
acls/check_relay_dialup.m4 в файле acls/check_relay_access.m4 и
переименовать переменныу confCHECK_RELAY_BLACKLIST в confCHECK_RELAY_ACCESS.
также будут объединены access-relay-host и access-relay-dialup в файле
access_relay. в access_relay будут перечислены PTR записи рилеев в виде
непосредственно PTR записей, wildcard'ов или регулярных выражений.
для исключений в access_relay можно будет указывать и A записи рилея
отправителя в виде CIDR.
access_relay будет перечитываться при каждом lookup'е (исключая
прокешированные результаты запросов)
действие по умолчанию для записей из access_relay будет описано в
переменной confCHECK_RELAY_ACCESS
для списков хостов в виде CIDR, перечитываемых при старте exim'а, будут
предусмотрены несколько файлов:
- access-relay-blacklist (бывший access-relay-addr, действие по
умолчанию также будет указано в confCHECK_RELAY_ACCESS)
- access-relay-dialup (бывший access-relay-dialup-addr, действие по
умолчанию также будет указано в confCHECK_RELAY_DIALUP, список
допустимых значений такой же, как для confCHECK_RELAY_ACCESS)
- access-relay-greylist (сейчас он так и называется, действием является,
как несложно догадаться, greylisting)
3. нужно объединить acls/check_helo_blacklist.m4 и
acls/check_helo_dialup.m4 в файле acls/check_helo_access.m4, переменные
confCHECK_HELO_BLACKLIST и confCHECK_HELO_DIALUP в переменную
confCHECK_HELO_ACCESS.
список возможных значений переменной confCHECK_HELO_ACCESS такой же, как
для confCHECK_MAIL_ACCESS и confCHECK_HELO_ACCESS.
т. к. поиск dial-up/cable/dsl EHLO/HELO сейчас ведется по тому же
списку, что и dial-up/dsl/cable PTR записей хоитов рилеев (файл
access-relay-dialup), то его содержимое будет добавлено к файлу access-helo.
4. acls/check_digits.m4 будет упразднен, т. к. вся функциональность по
проверке количества цифр будет обеспечена существующими фильтрами
acls/check_mail_access.m4, acls/check_relay_access.m4 и
acls/check_helo_access.m4.
кроме того, что можно будет указывать разные действия при проверке
разных критериев (сейчас действие единое на проверку количества цифр в
домене отправителя, PTR записи хоста отправителя и EHLO/HELO), можно
будет указывать разные действия для разного количества цифр.
может у тех, у кого хватило терпения дочитать до конца письма, будут
какие-либо возражения/пожелания/предложения по поводу вышеописанных
изменений?
я бы конечно реализовал все это в паровозе 4.70, то боюсь, что ждать
версию exim'а 4.70 мы будем не очень мало. таким образом можно либо
реализовать все изменения в версии паровоза 4.60, либо сделать версию
какую-нить 4.61. проблема в том, что некоторые изменения будут
несовместимы с нынешним паровозом 4.60. например, сейчас в
access-relay-dialup описаны PTR записи dial-up/dsl/cable хостов, а после
изменений в этом файле будут описаны A записи и сети этих же
dial-up/dsl/cable хостов.
есть мысли по ряду других изменений в паровозе, но они менее критичны.
об этом я буду писать позже
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 32418694 nic-handle: CRV2-RIPE, CRV-UANIC