Victor Ustugov wrote:
> итак, есть check_relay_resolve.acl, в котором проводится проверка
> ризолвинга адреса хоста рилея в реверсной зоне DNS. но! при этом не
> различается ситуация отсутствия записи в реверсной зоне и ситуация
> несоответствия записей в реверсной и прямой зонах DNS.
>> я тут недавно таки отработал механизм проверки реверса, при котором эти
> ситуации различаются:
>http://exim.org.ua/pipermail/exim-users/2004-July/002638.html>> посему я собираюсь переделывать check_relay_resolve.acl в свете новых идей
[...]
> получается, что теперь можно создать новую переменную
> 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
вроде уже есть подписанные товарищи в листе. но пока или всем пофигу,
как будет реализован acls/check_relay_resolve.acl, либо времени ни у
кого нет
так я сделал по-простому - так, как выгодно мне:
dnl
dnl проверка наличия записи рилея в реверсной зоне DNS
dnl
dnl NO - не проводить проверку
dnl WARN - и вывода в лог файл предупреждения
dnl DEFER - возврата клиенту кода 451
dnl REJECT - возврата клиенту кода 5xx, если запись отсутствует в
реверсной зоне
dnl и 451 в случае проблем с резолвингом
dnl define(`confCHECK_RELAY_RESOLVE', `WARN')dnl
dnl
dnl проверка совпадения записей рилея в прямой и реверсной зонах DNS
dnl (проверка работает только если переменная confCHECK_RELAY_RESOLVE не
установлена в NO)
dnl NO - не проводить проверку
dnl WARN - и вывода в лог файл предупреждения
dnl DEFER - возврата клиенту кода 451
dnl REJECT - возврата клиенту кода 5xx
dnl define(`confCHECK_RELAY_FORGED', `WARN')dnl
dnl
dnl исключеня из проверки резолвинга в реверсной зоне (список)
dnl NO - не делать исключений из проверки резолвинга в
реверсной зоне
dnl AUTH - не проводить проверку аутентифицированных отправителей
dnl RELAY_FROM - не проводить проверку исходящих сообщений
dnl WARN - и вывода в лог файл предупреждения
dnl define(`confCHECK_RELAY_RESOLVE_SKIP', `AUTH RELAY_FROM')dnl
dnl в confCHECK_RELAY_RESOLVE_SKIP могут быть указаны несколько
значений, разделеные пробелом
dnl
dnl exim должен быть скомпилирован с поддержкой dnsdb
dnl
если кому надо - велкам gmake sync
я у себя пока на _тестовом_ хосте использую:
define(`confCHECK_RELAY_RESOLVE', `REJECT')dnl
define(`confCHECK_RELAY_FORGED', `DEFER')dnl
define(`confCHECK_RELAY_RESOLVE_SKIP', `AUTH RELAY_FROM WARN')dnl
остальным пока можно посоветовать дефолтовые
define(`confCHECK_RELAY_RESOLVE', `WARN')dnl
define(`confCHECK_RELAY_FORGED', `WARN')dnl
и посматривать, сколько будет warning'ов по проверке ризолвинга
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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