hello
сабж, собственно
навеяло мне переломапить работу check_message_id.acl, когдя за утро в
контору пришло более десятка Trojan.Dropper.Small-11 (по классификации
ClamAV), он же Win32.HLLM.Beagle.9728 (по классификации DrWeb).
во всех экземплярах есть одна общая черта - доменная часть поля
Message-Id совпадает (даже с учетом регистра) с доменной часть адреса
envelope recipient (который в свою очередь полностью совпадает с header To).
когда-то на заре цивилизации проверка поля Message-Id проводилась
следующим образом:
1. exim безусловно добавлял во все сообщения Message-Id, если его там не
было
2. я не мог проверить отсутствие поля Message-Id, мог только сравнить
домен из Message-Id с $qualify_domain или message_id_header_domain (если
таковой был указан в конфигурации exim'а)
3. если домены совпадали, я выводил ошибку, полагая, что поле Message-Id
отсутствовало и потом было добавлено exim'ом
позже (начиная с версии 4.30) exim перестал добавлять поля Message-Id и
Date, если их не было в письме.
поэтому появилась возможность различить ситуацию, когда Message-Id не
было и когда он был, но в нем был использован локальный домен.
в связи со всеми этими изменениями и с участившимимя случаями
использования вирусами и спамерами доменов получателей в Message-Id
данная проверка несколько усложнена - добавлена проверка совпадения
домена из Message-Id с доменом одого из получателей и с
$primary_hostname, $qualify_domain или любым из локальных доменов.
исключения сделаны для +relay_from_hosts и аутентифицированных отправителей
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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