Dmitry A.Deineka wrote:
>>единственное, как можно увязать эти два момента - это грейлистить в
>>будущем те хосты, с которых ранее приходили письма с кривыми message-id
>>или вообще без оных
>> Ага, как вариант.
решил таки реализовать эту фичу. паровоз 4.60 решил уже не трогать,
реализовал в 4.61.
для включения такого грейлистинга надо в значение confCHECK_MESSAGE_ID
добавить GREYLIST через точку с запятой... в общем, я лучше приведу
здесь кусок m4/conf.default:
dnl проверка поля Message-Id
dnl NO - не проводить проверку
dnl EMPTY:WARN - вывода в лог файл предупреждения
dnl при пустом Message-Id
dnl EMPTY:REJECT - возврата клиенту кода 5xx
dnl при пустом Message-Id
dnl EMPTY:GREYLIST=XX - занесение хоста в greylist на XX минут
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 OWN:GREYLIST=XX - занесение хоста в greylist на XX минут
dnl если Message-Id содержит $qualify_domain
dnl или message_id_header_domain
dnl LOCAL:WARN - вывода в лог файл предупреждения,
dnl если Message-Id содержит локальный домен
dnl LOCAL:REJECT - возврата клиенту кода 5xx,
dnl если Message-Id содержит локальный домен
dnl LOCAL:GREYLIST=XX - занесение хоста в greylist на XX минут
dnl если Message-Id содержит локальный домен
dnl define(`confCHECK_MESSAGE_ID', `WARN')dnl
dnl
dnl время жизни записи в сером списке может отсутствовать
dnl
dnl значение GREYLIST может использоваться одновременно с WARN или REJECT,
dnl резделяя их точкой с запятой:
dnl EMPTY:WARN;GREYLIST=10080
dnl
dnl несколько значений могут быть указаны через пробел
dnl 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'
само содержимое серого списка динамического хранится в
/var/spool/exim/db/greylist_relays.db
альтернативный путь можно прописать в переменной confGREYLIST_DBM_RELAYS
пустой файл списка создается при выполнении gmake install, но только
тогда, когда в конфиге уже упоминается greylist_relays.db. т. е. надо
сначала внести GREYLIST в confCHECK_MESSAGE_ID, потом выполнить gmake
configure или gmake all, а потом уже gmake install
я еще напишу скрипт, который будет раз в сутки устаревшие записи
вычичать из этого серого списка. но работать пока будет и без этого, т.
е. время жизни записей учитывается и старые записи, даже если они не
вычищены из списка, не используются
--
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