[exim-conf] переработана поддержка ratelimit'ов

Victor Ustugov victor на corvax.kiev.ua
Сб Дек 6 11:34:58 EET 2014


Nikolay Ivanyushin wrote:
> Привет всем.

привет

а вот и виновник торжества ;-)

> Надо было дефолт описать, что
> conf.default:define(`confRATELIMIT', `NO')dnl

так в conf.default как раз указано:

dnl использование ratelimit'ов
dnl NO          - не использовать ratelimit'ы
dnl HOST        - использовать ratelimit'ы по хостам отправителей
dnl AUTH        - использовать ratelimit'ы по учетным записям
dnl             аутентифицировавшихся отправителей
dnl MAIL        - использовать ratelimit'ы по адресам отправителей
dnl RCPT        - использовать ratelimit'ы по адресам получателей
dnl DEBUG       - выводить в файл протокола результаты расчет
dnl             ratelimit'ов вне зависимости от их превышения
define(`confRATELIMIT', `NO')dnl
dnl возможно одновременное использование нескольких значений


сегодня я только два перевода строк добавил, чтобы из conf.default можно
было копипастить прямо в письмо и строки не рвало.

или ты о том, что я не указал в письме, что по дефолту confRATELIMIT не
используется?


на самом деле от угрозы исходящего спама с инфицированного хоста
рилеемой сети или с клиентского почтового сервера из рилеемой сети,
учетку с которого украли, все эти рейтлимиты не спасают. но растягивают
всё во времени. чтобы можно было отреагировать и придушить проблему при
как можно меньших последствиях.


> PS. Мне стало любопытно, как оно сейчас сделано, пришлось делать
> # grep -i confRATELIMIT con*
> 
> 
> 23.11.2014 23:51, Victor Ustugov пишет:
>> приветствую
>>
>> чуть меньше чем полностью переработана поддержка ratelimit'ов
>>
>> в переменной confRATELIMIT можно указывать одно или больше следующих
>> значений:
>>
>> NO          - не использовать ratelimit'ы
>> HOST        - использовать ratelimit'ы по хостам отправителей
>> AUTH        - использовать ratelimit'ы по учетным записям
>>              аутентифицировавшихся отправителей
>> MAIL        - использовать ratelimit'ы по адресам отправителей
>> RCPT        - использовать ratelimit'ы по адресам получателей
>> DEBUG       - выводить в файл протокола результаты расчет ratelimit'ов
>>              вне зависимости от их превышения
>>
>> настройки ratelimit'ов по хостам отправителей указываются в файле
>> ratelimit-host
>>
>> настройки ratelimit'ов по учетным записям аутентифицировавшихся
>> отправителей указываются в файле ratelimit-auth
>>
>> настройки ratelimit'ов по адресам отправителей указываются в файле
>> ratelimit-mail
>>
>> настройки ratelimit'ов по адресам получателей указываются в файле
>> ratelimit-rcpt
>>
>> во всех файлах настроек ratelimit'ов данные указываются однотипно в виде:
>>
>> аргумент : лимит : действие : сообщение
>>
>> где:
>> аргумент    - это адрес хоста отправителя в случае ratelimit-host,
>>              SMTP логин в случае ratelimit-auth, адреса отправителя
>>              и получателя в случае ratelimit-mail и ratelimit-rcpt.
>> лимит       - ограничение в виде "количество / время"
>> действие    - действие, применяемое к письму (может отсутствовать)
>> сообщение   - сообщение SMTP клиенту
>>
>> адреса хостов можно задавать в виде IP адресов, номеров сетей, имен
>> хостов, в том числе указанных по маске или в виде регулярно
>> го выражения.
>>
>> SMTP логины и адреса отправителей и получателей можно указывать в виде
>> полных адресов, масок или регулярных выражений.
>>
>> лимит указывается в виде "количество сообщений / период времени".
>>
>> возможные действия:
>> ok                  - исключение из проверки
>> warn                - вывод предупреждения в файл протокола и
>>                      добавление в письмо поля заголовка
>> reject              - отказ в приеме сообщения
>> deny                - синоним для reject
>> defer               - возврат временной ошибки
>> greylist=X          - добавление X баллов к счетчику опционального
>>                      грейлистинга
>> reject=X            - добавление X баллов к счетчику опционального
>>                      reject'а
>> delay=zz            - задержка на zz секунд перед продолжением
>>                      обработки сообщения
>> pause=zz            - синоним delay=zz
>>
>> по умолчанию применяется действие defer.
>>
>> при описании действий можно использовать вычисляемые выражения.
>> пример:
>> * : 20 / 10m : defer delay=${eval:${sg{$sender_rate}{\N[\.].*$\N}{}} -
>> $sender_rate_limit} : Try again later
>>
>> в качестве сообщения SMTP клиенту указывается не столько само сообщение,
>> сколько его уточнение
>>
>> в уточнении сообщения SMTP клиенту можно использовать вычисляемые
>> выражения, например в нем можно использовать переменные $sender_rate,
>> $sender_rate_limit и $sender_rate_period
>>
>> по умолчанию SMTP клиенту возвращаются следующие сообщения:
>> Sender host rate exceeds limit
>> Sender rate exceeds limit
>> Recipient rate exceeds limit
>>
>> далее следует уточнение сообщения. если оно отсутсвует, то используется
>> фраза "Try again later"
>>
>>
> 
> 


-- 
Best wishes Victor Ustugov  mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:       http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614          JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC



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