Victor Ustugov wrote:
>> в связи со всеми этими изменениями и с участившимимя случаями
>> использования вирусами и спамерами доменов получателей в Message-Id
>> данная проверка несколько усложнена - добавлена проверка совпадения
>> домена из Message-Id с доменом одого из получателей и с
>> $primary_hostname, $qualify_domain или любым из локальных доменов.
>> исключения сделаны для +relay_from_hosts и аутентифицированных
>> отправителей
>> а вот и первые грабли. возможна ситуация, при которой валидное исходящее
> письмо с локальным доменом в Message-Id вернется из мира (например, в
> виде письма из списка рассыки). тогда и в адресе получателя будет
> локальный домен и в Message-Id тот же локальный домен
>> в общем, я пока закомментирую эту фишку
очередные переделки check_message_id.acl:
1. первая проверка на несуществующий, пустой Message-Id или состоящий
только из угловых скобок. исключения производятся для исходящих
сообщений и сообщений от аутентифицированных отправителей.
2. вторая проверка на Message-Id, доменная часть которого совпадает с
$qualify_domain или message_id_header_domain. исключения производятся
для исходящих сообщений и сообщений от аутентифицированных отправителей.
только что сделаны исключения для писем, у которых существует непустое
после List-Id и header From содержит отправителя из локального домена
3. треться проверка пока не используется. она отличается от второй лишь
тем, что доменная часть Message-Id проверяется еще и на совпадение с
локальными доменами
есть мысль сделать действие для каждой проверки отдельно. т. е. для
первой проверки просится явный REJECT
для второй, по крайней мере на период наблюдений - WARN. ну и если будет
отдельное действие, то можно и третью проверку раскомментаривать и
делать WARN
посему настройки проверки Message-Id изменены с
dnl проверка поля Message-Id
dnl NO - не проводить проверку
dnl WARN - вывода в лог файл предупреждения
dnl REJECT - возврата клиенту кода 5xx
define(`confCHECK_MESSAGE_ID', `WARN')dnl
на
dnl проверка поля Message-Id
dnl NO - не проводить проверку
dnl EMPTY:WARN - вывода в лог файл предупреждения
dnl при пустом Message-Id
dnl EMPTY:REJECT - возврата клиенту кода 5xx
dnl при пустом Message-Id
dnl OWN:WARN - вывода в лог файл предупреждения,
dnl если Message-Id содержит $qualify_domain
dnl или message_id_header_domain
dnl OWN:REJECT - возврата клиенту кода 5xx,
dnl если Message-Id содержит $qualify_domain
dnl или message_id_header_domain
dnl LOCAL:WARN - вывода в лог файл предупреждения,
dnl если Message-Id содержит локальный домен
dnl LOCAL:REJECT - возврата клиенту кода 5xx,
dnl если Message-Id содержит локальный домен
define(`confCHECK_MESSAGE_ID', `EMPTY:REJECT OWN:REJECT LOCAL:WARN')dnl
dnl несколько значений могут быть указаны через пробел
dnl значение `WARN' приравнивается к
dnl `EMPTY:WARN OWN:WARN LOCAL:WARN'
dnl значение `REJECT' приравнивается к
dnl `EMPTY:REJECT OWN:REJECT LOCAL:REJECT'
по умолчанию, как и раньше, останется режим предупреждений:
define(`confCHECK_MESSAGE_ID', `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