[exim-conf] опциональный грейлистинг

Victor Ustugov victor на corvax.kiev.ua
Чт Фев 16 12:07:20 EET 2006


Victor Ustugov wrote:

>>формат записей немного напоминаем описание антивирусов. для описания 
>>DNSBL'ей используется новая конструкция DNS_BL, которой передается 6 
>>параметров:
>>
>>1. имя зоны
>>2. действие в случае попадания рилея отправителя в DNSBL
>>      warn    - выводить в лог файл предупреждение
>>      reject  - отвергать сообщение
>>      deny    - синоним reject
>>3. действие в случае defer'а от резолвера
>>      pass    - принять сообщение
>>      defer   - вернуть клиенту 4xx
>>4. сообщение отправителю:
>>      пустое значение - формируется умолчательное сообщение отправителю
>>      dialup          - формируется сообщение отправителю для 
>>dial-up/dsl/cable сетей
>>      текст           - данный текст возвращается отправителю как текст 
>>сообщения об ошибке
>>5. количество баллов для опционального greylisting'а (только если второй 
>>параметр равен warn)
>>6. количество баллов для опционального reject'а (только если второй 
>>параметр равен warn)
>>
>>последний параметр пока не используется, но будет использован в будущем 
>>для отказа в приеме сообщения на основании попадания хоста рилея 
>>отправителя в несколько DNSBL'ей или срабатывания других признаков. 
>>критерии опционального отказа в приеме сообщения будут такие же, как для 
>>опционального грейлистинга.
>>
>>итак, примеры описания DNSBL'ей:
>>
>>DNS_BL(`dynablock.easynet.nl',      `warn', `pass', `dialup',`8',`4')
>>DNS_BL(`dul.ru',                    `deny', `defer',`dialup',`0',`0')
>>DNS_BL(`list.dsbl.org',             `warn', `defer',`',     `8',`5')
>>DNS_BL(`multihop.dsbl.org',         `warn', `pass', `',     `4',`2')
>>DNS_BL(`opm.blitzed.org',           `warn', `pass', `',     `4',`2')
>>DNS_BL(`relays.ordb.org',           `warn', `pass',
>>`sender relay listed in relays.ordb.org',     `4',`2')
> 
> 
> посмотрел я сутки на этот формат описания dnsbl'ей и уже хочу его переделать
> 
> баллы для опционального greylisting'а и опционального reject'а будут 
> указываться во втором параметре "действие". туда же добавится 
> возможность делать паузу.
> 
> т. е. теперь полный перечень действий следующий:
> 2. действие в случае попадания рилея отправителя в DNSBL
> 	warn    - выводить в лог файл предупреждение
> 	reject  - отвергать сообщение
> 	deny    - синоним reject
> 	drop    - обрыв соединения
> 	defer   - возврат временной ошибки
> 	greylist:xx - добавление xx баллов к счетчику опционального greylisting'а
> 	reject:yy   - добавление yy баллов к счетчику опционального reject'а
> 	delay:zz    - задержка на zz секунд перед продолжением обработки сообщения
> 
> при этом значения "warn", "greylist:xx", "reject:yy", "delay:zz" можно 
> указывать через пробел для одного dnsbl'я

все вышеописанное (включая новую фишку опционального reject'а) 
реализовано и выложено в рипозитарий

пример описнаия DNSBL'ей приведен в начале файла соответствующей feature:
http://mta.org.ua/exim-4.60-conf/features/dnsbl.m4

пока недостатком реализации является необходимость ручного включения 
механизма опционального reject'а, если данная функциональность будет 
использована при проверке хоста рилея отправителя в DNSBL'ях или в 
будущем (ближайшем) опциональный reject будет использован по другим 
критериям

влючается опциональный reject прописыванием в site/conf:
define(`confOPTIONAL_REJECT',   `YES')

предварительные тесты нововведений я провел. если будут проблемы - 
пишите. сегодня сам буду переводить подшефные хосты на новую схему 
работы с DNSBL'ями

-- 
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




Подробная информация о списке рассылки exim-conf