итак, есть check_relay_resolve.acl, в котором проводится проверка
ризолвинга адреса хоста рилея в реверсной зоне DNS. но! при этом не
различается ситуация отсутствия записи в реверсной зоне и ситуация
несоответствия записей в реверсной и прямой зонах DNS.
я тут недавно таки отработал механизм проверки реверса, при котором эти
ситуации различаются:
http://exim.org.ua/pipermail/exim-users/2004-July/002638.html
посему я собираюсь переделывать check_relay_resolve.acl в свете новых идей
вот фрагмент нынешнего m4/conf.default, который касается проверки
ризолвинга рилея:
dnl проверка резолвинга рилея в реверсной зоне
dnl NO - не проводить проверку
dnl WARN - и вывода в лог файл предупреждения
dnl DEFER - возврата клиенту кода 451
dnl REJECT - возврата клиенту кода 5xx, если запись отсутствует в
реверсной зоне
dnl и 451 в случае проблем с резолвингом
define(`confCHECK_RELAY_RESOLVE', `WARN')dnl
dnl исключеня из проверки резолвинга в реверсной зоне (список)
dnl NO - не делать исключений из проверки резолвинга в
реверсной зоне
dnl AUTH - не проводить проверку аутентифицированных отправителей
dnl RELAY_FROM - не проводить проверку исходящих сообщений
define(`confCHECK_RELAY_RESOLVE_SKIP', `AUTH RELAY_FROM')dnl
получается, что теперь можно создать новую переменную
confCHECK_RELAY_FORGED и указать действие, если записи в реверсной и
прямой зонах не совпадают. по идее, я оставлю те же действия, что и для
confCHECK_RELAY_RESOLVE.
и еще - confCHECK_RELAY_FORGED будет действовать только тогда, когда
confCHECK_RELAY_RESOLVE присвоено значение, отличное от NO
теперь вопросы:
1. если для confCHECK_RELAY_RESOLVE и confCHECK_RELAY_FORGED будет
указано REJECT (или DEFER), что делать с хостами из hosts-relayfrom и
аутентифицированными пользователями? понятно, что они будут указаны в
confCHECK_RELAY_RESOLVE_SKIP. но все же, надо ли хотя бы Warning
выводить в log файл?
2. а если для confCHECK_RELAY_RESOLVE и confCHECK_RELAY_FORGED указано
действие WARN, то выводить ли в этом случае варнинги для локальных
хостов и аутентифицированных пользователей?
3. может тогда еще для переменной confCHECK_RELAY_RESOLVE_SKIP добавить
возможное значение WARN?
чтобы можно было указать не выводить в лог Warning'и для
аутентифицированных и локальных отправителей:
define(`confCHECK_RELAY_RESOLVE_SKIP', `AUTH RELAY_FROM')dnl
и выводить Warning'и для аутентифицированных и локальных отправителей:
define(`confCHECK_RELAY_RESOLVE_SKIP', `AUTH RELAY_FROM WARN')dnl
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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