В секции [Receiver] собраны настройки компонента Receiver в тех версиях Dr.Web для почтовых серверов UNIX, которые предназначены для работы с почтовыми системами Exim, Zmailer и Postfix (в случае если Postfix не использует протокол Milter) и в версии, предназначенной для работы в режиме SMTP/LMTP-прокси.
1. Общие параметры работы компонента Receiver
Address = {адрес}
|
Адрес, используемый компонентом Receiver для получения сообщений.
Задается сокет, через который получаются сообщения (либо TCP-сокет, либо UNIX-сокет).
|
Значение по умолчанию:
Address = inet:25@0.0.0.0
|
PoolOptions = {настройки пула}
|
Настройки пула потоков компонента Receiver.
|
Значение по умолчанию:
PoolOptions = auto
|
RealClients = {логический}
|
Возможность приема соединений напрямую от клиентов.
|
Значение по умолчанию:
RealClients = Yes
|
ProcessingErrors = {действие}
|
Действие, совершаемое над письмом в случае возникновения каких-либо ошибок.
Значением параметра может быть только одно из основных действий:
tempfail, discard, reject
|
Значение по умолчанию:
ProcessingErrors = reject
|
StalledProcessingInterval = {время}
|
Промежуток времени для обработки "потерянных" писем.
"Потерянные" письма – сообщения, полученные компонентом Receiver, но по каким-либо причинам не обработанные подключаемыми модулями вовремя, из-за чего они не были переданы компоненту MailD core. Такая ситуация может случиться при возникновении проблем с сетью или питанием.
При обнаружении таких сообщений компонент Receiver ставит их в очередь на обработку.
|
Значение по умолчанию:
StalledProcessingInterval = 10m
|
OneCommandTimeout = {время}
|
Максимальный промежуток времени на исполнение одной команды.
|
Значение по умолчанию:
OneCommandTimeout = 5m
|
OneMessageTimeout = {время}
|
Максимальный промежуток времени на получение одного сообщения.
|
Значение по умолчанию:
OneMessageTimeout = 10m
|
AddReceivedHeader = {логический}
|
Добавление заголовка Received ко всем получаемым сообщениям.
|
Значение по умолчанию:
AddReceivedHeader = Yes
|
ReturnReject = {логический}
|
Параметр определяет поведение компонента Receiver в случае применения действия reject (отклонение письма с уведомлением) к письму, обрабатываемому в синхронном режиме.
При значении Yes возвращается ошибка SMTP 55*, а при значении No возвращается положительный ответ SMTP 250, но отправителю сообщения высылается DSN (если не запрещена параметром SkipDSNOnBlock).
Ответ, возвращаемый клиенту, дополняется строкой Reply<Reason>, заданной в настройках подключаемого модуля, выполнившего действие reject, но только в том случае, ести это разрешено его настройкой UseCustomReply=Yes (где <Reason> – причина срабатывания действия reject). В противном случае будет выведено стандартное сообщение "The message has been rejected by the Dr.Web MailD".
Обратите внимание, что если Dr.Web MailD работает не в режиме SMTP/LMTP-прокси, а сопряжен с MTA, рекомендуется установить значение No, чтобы гарантировать корректное уведомление отправителя о том, что его сообщение было отвергнуто (поскольку возможно возникновение ситуации, когда MTA перед проверкой письма уже успела подтвердить отправителю его успешный прием).
Если ReturnReject=No, то рекомендуется в действиях подключаемого модуля указать в дополнение к обязательному действию reject дополнительное действие notify (так как в рамках SMTP-сессии Receiver, отклонив сообщение, выдаст код об успешной обработке письма 250), или разрешить DSN. Но разрешать DSN (управляется параметром SkipDSNOnBlock в секции [Maild]) стоит только в том случае, если есть уверенность, что поток отклоняемых писем невелик, иначе может возникнуть лавинная нагрузка на MTA по отправке DSN.
|
Значение по умолчанию:
ReturnReject = Yes
|
GreetingString = {текст}
|
Строка, выводимая в качестве приветствия при подключении нового SMTP-клиента.
Макрос %host% заменяется на значение параметра Hostname из секции [General], макрос %ver% заменяется на текущую версию модуля drweb-receiver.
|
Значение по умолчанию:
GreetingString = "%host% Dr.Web SMTP receiver v%ver% ready"
|
RelayDomains = {Lookup}
|
Список доменов, которым разрешена пересылка почты.
При указании обычного списка доменов, для которых Dr.Web MailD будет являться почтовым релеем, их поддомены не учитываются, т.е. почта, приходящая от их поддоменов, пересылаться не будет.
Для задания поддоменов возможно использование регулярного выражения или задание файла со списком регулярных выражений rfile (используется синтаксис регулярных выражений Perl).
Обратите внимание, что значение параметра – Lookup.
Пример:
RelayDomains = regex:.*.domain.com
Будет разрешена пересылка для всех поддоменов domain.com.
Пример:
RelayDomains = rfile:/path
rfile содержит список регулярных выражений, каждое из которых должно располагаться на новой строке:
.*.domain.com
.*.domain1.com
.*.domain2.com
В текущей версии Dr.Web MailD параметр RelayDomains не поддерживает формат записей wildcard DNS. Таким образом, подобная запись некорректна:
RelayDomains = *.domain
|
Значение по умолчанию:
RelayDomains =
|
RestrictionStat = {логический}
|
Сбор статистики по срабатыванию ограничений SMTP-сессии (про ограничения см. ниже).
Получить статистику можно, послав сигнал SIGUSER1 процессу drweb-receiver. Статистика хранится в файле restrictions.txt в каталоге, указанном в значении параметра BaseDir секции настроек [General].
|
Значение по умолчанию:
RestrictionStat = No
|
DelayRejectToRcpt = {логический}
|
Приостановка блокирования письма до стадии RCPT, даже если какое-либо ограничение сработало раньше.
Установка данного параметра позволяет работать с устаревшими версиями почтовых клиентов и выводить список заблокированных адресов получателей в лог.
|
Значение по умолчанию:
DelayRejectToRcpt = Yes
|
2. Числовые ограничения SMTP-сессии
Перечисленные здесь параметры позволяют задавать ряд численных ограничений, при нарушении которых протокольный диалог SMTP c клиентом прерывается.
MaxRecipients = {числовое значение}
|
Максимальное количество получателей одного письма (число SMTP-команд RCPT TO).
При значении 0 ограничений нет.
Если IP-адрес, с которого было установлено данное соединение, отмечен как trusted, то данное ограничение не проверяется
|
Значение по умолчанию:
MaxRecipients = 100
|
MaxConcurrentConnection = {числовое значение}
|
Максимальное количество одновременных SMTP-подключений с одного IP-адреса.
При значении 0 ограничений нет.
|
Значение по умолчанию:
MaxConcurrentConnection = 5
|
MaxMailsPerSession = {числовое значение}
|
Максимальное количество писем (SMTP-команд MAIL FROM), которые может отправить клиент за одну сессию.
При значении 0 ограничений нет.
|
Значение по умолчанию:
MaxMailsPerSession = 20
|
MaxReceivedHeaders = {числовое значение}
|
Максимальное количество заголовков Received.
При значении 0 ограничений нет.
Проверка MaxReceivedHeaders будет осуществляться компонентом Receiver всегда, независимо от того, отмечен ли IP-адрес, с которого было установлено данное соединение, как trusted, или нет.
|
Значение по умолчанию:
MaxReceivedHeaders = 100
|
MaxErrorsPerSession = {числовое значение}
|
Максимальное количество ошибок за одну сессию.
При значении 0 ограничений нет.
|
Значение по умолчанию:
MaxErrorsPerSession = 10
|
MaxMsgSize = {размер}
|
Максимальный размер сообщения (переданного в SMTP-командe DATA).
Проверка MaxMsgSize будет осуществляться компонентом Receiver всегда, независимо от того, отмечен ли IP-адрес, с которого было установлено данное соединение, как trusted, или нет.
|
Значение по умолчанию:
MaxMsgSize = 10m
|
MaxJunkCommands = {числовое значение}
|
Максимальное число SMTP-команд RSET, NOOP и VRFY на сессию.
Если число команд превысит указанное значение, то начнет увеличиваться счетчик ошибок. Значение счетчика сбрасывается при каждой успешной обработке письма модулем drweb-maild.
Если значение равно 0, то данное ограничение не используется.
|
Значение по умолчанию:
MaxJunkCommands = 100
|
MaxHELOCommands = {числовое значение}
|
Максимальное число SMTP-команд HELO, EHLO и LHLO на сессию.
Если число команд превысит указанное значение, то начнет увеличиваться счетчик ошибок. Значение счетчика сбрасывается при каждой успешной обработке письма модулем drweb-maild.
Если значение равно 0, то данное ограничение не учитывается.
|
Значение по умолчанию:
MaxHELOCommands = 20
|
Обратите внимание, что некоторые ограничения на граничные значения параметров проверяются даже для доверенных (trusted) соединений. В таблице ниже перечислено поведение проверок для доверенных соединений, а также указано, какие сообщения отправляются отправителю сообщений при их срабатывании.
Ограничение
|
Сообщение отправителю при срабатывании
|
Выполняется ли для trusted-соединений
|
MaxRecipients
|
452 4.5.3 Too many rcpts
|
Нет
|
MaxConcurrentConnection
|
421 4.7.0 Too many concurrent SMTP connections from this IP address; please try again later
|
Нет
|
MaxMailsPerSession
|
421 4.2.1 too many messages in this connection
|
Нет
|
MaxReceivedHeaders
|
554 5.7.0 MailD error: Too many received headers: N
|
Да
|
MaxErrorsPerSession
|
421 4.7.0 Error: too many errors
|
Нет
|
MaxMsgSize
|
552 5.3.4 Message size exceeds file system imposed limit
|
Да
|
MaxJunkCommands
|
421 4.7.0 Error: too many errors
|
Нет
|
MaxHELOCommands
|
421 4.7.0 Error: too many errors
|
Нет
|
3. Oграничения и проверки различных этапов SMTP-сессии
Следующие несколько параметров (*Restrictions) определяют SMTP-ограничения, т.е. проверки, которым подвергаются IP-адреса соединений, не отмеченные как надежные (надежными являются соединения, для которых установлен внутренний флаг trusted), на различных этапах SMTP-сессии. По умолчанию надежными считаются соединения с localhost и от UNIX-сокетов. Ограничения позволяют фильтровать нежелательную корреспонденцию в модуле drweb-receiver на этапе SMTP-сессии еще до передачи писем на проверку модулю drweb-maild, экономя таким образом ресурсы и добавляя дополнительный уровень фильтрации спама (тем самым повышая вероятность его обнаружения).
SMTP-ограничения работают на следующих этапах SMTP-сессии:
•на этапе подключения нового клиента (INTRO) – используются ограничения, указанные в параметре SessionRestrictions; •при получении команды HELO/EHLO – используются ограничения, указанные в параметре HeloRestrictions; •при получении команды FROM, когда клиент устанавливает отправителя для нового письма – используются ограничения, указанные в параметре SenderRestrictions; •при получении команды RCPT, когда клиент добавляет нового получателя к текущему письму – используются ограничения, указанные в параметре RecipientRestrictions; •при получении команды DATA, когда клиент закончил передавать всех получателей письма и готов отправлять тело письма – используются ограничения, указанные в параметре DataRestrictions. Ограничения задаются через запятую в каждой из настроек *Restrictions и проверяются в порядке их задания – слева направо. Проверка ограничений происходит только после проверки остальных условий, таких как порядок следования команд, корректность их параметров и т.п. Все ограничения проверяются последовательно до тех пор, пока для сообщения не будет установлен флаг trusted. Как только он будет установлен для соединения, то проверка всех последующих ограничений не производится.
SessionRestrictions = {список ограничений}
|
Параметр задает проверки, осуществляемые непосредственно в начале соединения (INTRO).
Специфические для этого этапа действия:
•trust_protected_network •trust_protected_domains •trust_white_networks •trust_white_domains •reject_dnsbl •reject_black_networks •reject_black_domains |
Значение по умолчанию:
SessionRestrictions = trust_protected_network
|
HeloRestrictions = {список ограничений}
|
Проверки, выполняемые на стадии HELO/EHLO.
Специфические для этого этапа действия:
•reject_unknown_hostname •reject_diff_ip |
Значение по умолчанию:
HeloRestrictions =
|
SenderRestrictions = {список ограничений}
|
Проверки, выполняемые на стадии FROM.
Специфические для этого этапа действия:
•reject_unknown_sndrs •reject_unknown_domain •trust_sasl_authenticated •pass_sasl_authenticated. |
Значение по умолчанию:
SenderRestrictions = trust_sasl_authenticated
|
RecipientRestrictions = {список ограничений}
|
Проверки, выполняемые на стадии RCPT. Все заявленные получатели проверяются по очереди.
Специфические для этого этапа действия:
•reject_unknown_domain •reject_unauth_destination •reject_unknown_rcpts •pass_sasl_authenticated |
Значение по умолчанию:
RecipientRestrictions = reject_unauth_destination
|
DataRestrictions = {список ограничений}
|
Проверки, выполняемые на стадии DATA.
Специфические для этого этапа действия:
•reject_spam_trap •reject_multi_recipient_bounce •pass_sasl_authenticated |
Значение по умолчанию:
DataRestrictions =
|
Эффект от блокировки по ограничению различен в зависимости от этапа SMTP-сессии, на которой происходит проверка. В SessionRestrictions (на этапе INTRO) блокировка происходит на всю сессию – т.е. в ответ на все дальнейшие команды от пользователя возвращаются ошибки. На всех остальных этапах блокировка происходит только для конкретной указанной SMTP-команды.
Каждое из ограничений может принимать в качестве необязательного параметра дополнительное значение счета [SCORE] (кроме set_score и add_score, где значение счета является единственным обязательным параметром). В зависимости от типа ограничения данный счет обрабатывается по разному:
•ограничение может сработать, если текущий счет письма меньше указанного в параметре; •ограничение может сработать, если текущий счет письма больше указанного в параметре; •если ограничение срабатывает, вместо его основного действия выполняется добавление к текущему счету письма заданного в параметре значения. В зависимости от этапа, на котором работает ограничение, оно работает с соответствующим счетом: если ограничение находится на этапе SessionRestrictions или HeloRestrictions, то работа происходит со счетом, который будет добавляться к каждому сообщению, передаваемому в этой сессии; для ограничений на остальных этапах работа происходит со счетом для каждого конкретного обрабатываемого сообщения.
Для каждого этапа проверки ограничений существуют свои собственные (специфичные) ограничения, а также имеются ограничения, которые можно использовать на всех этапах SMTP-сессии. К последним относятся:
Действие
|
Описание
|
sleep {time}
[SCORE]
|
Приостановить SMTP-соединение на заданное время (в секундах).
Если указан SCORE, то действие выполняется только в том случае, если текущий счет больше значения, указанного в параметре.
|
reject
[SCORE]
|
Вернуть постоянную ошибку SMTP (код 5*).
Если указан SCORE, то ошибка возвращается только в том случае, если текущий счет больше значения, указанного в параметре.
|
tempfail
[SCORE]
|
Вернуть временную ошибку (код 4*).
Если указан SCORE, то временная ошибка возвращается только в том случае, если текущий счет больше значения, указанного в параметре.
|
mark_trust
[SCORE]
|
Установить для соединения флаг trusted. Если есть еще ограничения после даного, то они будут пропущены.
Если указан SCORE, то флаг trusted устанавливается только если текущий счет меньше указанного в параметре.
|
set_score
SCORE
|
Заменяет текущий счет на значение SCORE.
Если используется на этапах SessionRestrictions или HeloRestrictions, то влияет на счет каждого проходящего в сессии сообщения, а на всех остальных этапах влияет на счет конкретного обрабатываемого сообщения.
|
add_score
SCORE
|
Добавляет к значению счета заданное значение.
Если используется на этапах SessionRestrictions или HeloRestrictions, то влияет на счет каждого проходящего в сессии сообщения, а на всех остальных этапах влияет на счет конкретного обрабатываемого сообщения.
|
Ограничения, специфичные для различных этапов проверки:
Действие
|
Описание
|
Действия, специфичные для ограничения SessionRestrictions
|
trust_protected_network
[SCORE]
|
Если IP-адрес соединения находится в списке, определенном значением параметра ProtectedNetworks из секции [Maild], то либо адрес помечается как доверенный IP-адрес, либо, если указан SCORE, значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также – к счету IP-адреса отправителя.
|
trust_protected_domains
[SCORE]
|
Проверка, находится ли IP-адрес соединения в списке, определенном значением параметра ProtectedDomains из секции [Maild].
Проверка осуществляется посредством двойного DNS-запроса. Сначала производится PTR-запрос и проверяется, находится ли полученное имя хоста в списке ProtectedDomains. Если этот домен есть в списке, производится A-запрос и проверяется, находится ли IP-адрес соединения в полученном списке адресов.
При совпадении адрес либо помечается как доверенный IP-адрес, либо, если указан SCORE, значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также - к счету IP-адреса отправителя.
|
trust_white_networks
[SCORE]
|
Eсли IP-адрес соединения находится в белом списке, определенном значением параметра WhiteNetworks (см. ниже), то адрес либо помечается как доверенный IP-адрес, либо, если указан SCORE, значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также – к счету IP-адреса отправителя.
|
trust_white_domains
[SCORE]
|
Проверка, находится ли домен, которому принадлежит IP-адрес, с которого произведено соединение, в белом списке, определенном значением параметра WhiteDomains (см. ниже).
Для этого производится PTR-запрос. При совпадении адрес либо помечается как доверенный IP-адрес, либо, если указан SCORE, значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также - к счету IP-адреса отправителя.
|
reject_dnsbl
[SCORE]
|
Проверка, находится ли IP-адрес соединения в черных списках RBL/DNSBL, определенных значением параметра DNSBLList (см. ниже).
Для этого к сначала проверяется доступность сервера, и, в случае его доступности, производится A-запрос DNSBL. Доступность DNSBL-сервера проверяется отправкой ему тестового запроса, определенного спецификацией (127.0.0.2), на который сервер обязан отвечать положительно. Если сервер не ответил на данный запрос утвердительно, он считается недоступным, запись о чем фиксируется в журнале.
В случае если какой-либо DNSBL-сервер положительно ответил на A-запрос DNSBL относительно IP-адреса отправителя, сессия закрывается, либо (если указан SCORE) в журнал выводится ошибка, а значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также к счету IP-адреса отправителя.
Обратите внимание, что если при проверке не удалось опросить ни один DNSBL-сервер, отправитель будет считаться надежным, и reject_dnsbl для него не сработает (но в журнале будет зафиксировано, что опросить DNSBL-сервера не удалось).
|
reject_black_networks
[SCORE]
|
Eсли IP-адрес соединения находится в черном списке, определенном значением параметра BlackNetworks (см. ниже), сессия закрывается, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также – к счету IP-адреса отправителя.
|
reject_black_domains
[SCORE]
|
Проверка, находится ли домен, с которого произведено подключение, в черном списке, определенном значением параметра BlackDomains (см. ниже).
Для этого производится PTR-запрос. При совпадении установленного имени домена хотя бы с одним доменом в списке BlackDomains сессия закрывается, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также – к счету IP-адреса отправителя.
|
Действия, специфичные для ограничения HeloRestrictions
|
reject_unknown_hostname
[SCORE]
|
Eсли имя хоста не имеет ни DNS A-, ни DNS MX-записи, то почта с такого адреса блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также данный счет прибавляется к счету IP-адреса отправителя.
В процессе проверки производятся A-запросы и иногда MX-запросы.
|
reject_diff_ip
[SCORE]
|
Eсли IP-адрес клиента не совпадает ни с одним из IP-адресов, определенных для указанного в EHLO/HELO доменного имени, то почта с такого адреса блокируется.
В случае если указан аргумент SCORE, письмо пропускается, но в лог выводится ошибка, а значение SCORE прибавляется к счету каждого письма, передаваемого в этой сессии, а также к счету IP-адреса отправителя.
|
Действия, специфичные для ограничения SenderRestrictions
|
reject_unknown_domain
[SCORE]
|
Eсли имя хоста отправителя не имеет ни DNS A, ни DNS MX записи, почта с такого адреса блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
В процессе проверки производятся A-запросы и иногда MX-запросы.
Рекомендуется использовать reject_unknown_domain вместе с другими ограничениями для данного этапа сессии (т.е. первым reject_unknown_domain, а далее остальные проверки для данной стадии сессии).
Это связано с тем, что если в поле FROM конверта письма отсутствует доменное имя, то ограничение не сработает, т.к. нет имени домена, которое можно проверить в DNS.
Запрет же на прием писем с пустым TO или FROM невозможен, т.к. согласно RFC 5321 Dr.Web MailD должен всегда иметь возможность принимать уведомления DSN и MSN, поле FROM которых содержит пустой адрес <>.
|
trust_sasl_authenticated
[SCORE]
|
Eсли SASL-аутентификация IP-адреса была успешной, то он помечается как доверенный, либо, если указан SCORE, то только если и его текущий счет также меньше указанного в параметре.
|
pass_sasl_authenticated
[SCORE]
|
Пропустить все остальные проверки на данном этапе SMTP-сессии, если клиент успешно прошел аутентификацию SASL.
Если указан SCORE, то пропуск проверок для прошедшего аутентификацию SASL клиента выполняется только если и текущий счет также меньше указанного в параметре.
|
reject_unknown_sndrs
[SCORE]
|
Проверяет отправителя на присутствие в списке ProtectedSenderEmails (см. ниже).
Если адреса в этом списке нет, почта от такого отправителя блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
Рекомендуется использовать вместе с Reputation IP Filter anti_dha.
|
Действия, специфичные для ограничения RecipientRestrictions
|
reject_unknown_domain
[SCORE]
|
Если имя хоста получателя не имеет ни DNS A, ни DNS MX записи, почта на такой адрес блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
В процессе проверки производится A-запросы и иногда MX-запросы.
Рекомендации по использованию ограничения reject_unknown_domain вместе с другими ограничениями для данного этапа сессии аналогичны приведенным выше (для этапа SenderRestrictions), только они распространяются на анализ содержимого поля TO.
|
reject_unauth_destination
[SCORE]
|
Если домена получателя нет ни в списке RelayDomains, ни в списке ProtectedDomains из секции [Maild], почта на такой адрес блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
В случае если осуществляется также прием почты и для поддоменов (параметр IncludeSubdomains установлен в Yes), то на стадии RCPT помимо проверки reject_unauth_destination должна обязательно присутствовать проверка reject_unknown_domain, в противном случае почта будет приниматься даже для несуществующих поддоменов защищаемых доменов.
|
reject_unknown_rcpts
[SCORE]
|
Проверяет получателя на присутствие в списке ProtectedEmails (см. ниже).
Если адреса в этом списке нет, почта на такой адрес блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
Рекомендуется использовать вместе с Reputation IP Filter anti_dha.
|
pass_sasl_authenticated
[SCORE]
|
Пропустить все остальные проверки на данном этапе SMTP-сессии, если клиент успешно прошел аутентификацию SASL.
Если указан SCORE, то пропуск проверок для прошедшего аутентификацию SASL клиента выполняется только если и текущий счет также меньше указанного в параметре.
|
Действия, специфичные для ограничения DataRestrictions
|
reject_spam_trap
[SCORE]
|
Проверка на спам-ловушку. Адрес получателя должен иметь формат <USER@HOST>.
Если имя хоста находится в списке, определенном значением параметра ProtectedDomains (если этот список не пуст, см. ниже), и имя пользователя находится в списке, определенном значением параметра SpamTrap (см. ниже), сообщение блокируется, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма. В списке SpamTrap может быть также определен полный электронный адрес.
|
reject_multi_recipient_bounce
[SCORE]
|
Блокирование сообщений с пустым полем FROM и несколькими получателями, либо, если указан SCORE, в лог выводится ошибка, а значение SCORE прибавляется к счету передаваемого письма.
|
pass_sasl_authenticated
[SCORE]
|
Пропустить все остальные проверки на данном этапе SMTP-сессии, если клиент успешно прошел аутентификацию SASL.
Если указан SCORE, то пропуск проверок для прошедшего аутентификацию SASL клиента выполняется только если и текущий счет также меньше указанного в параметре.
|
Примеры:
SenderRestrictions = trust_protected_networks, reject
Позволяет принимать почту только с IP-адресов, указанных в ProtectedNetworks, а остальные IP-адреса блокирует;
SenderRestrictions = trust_protected_networks, trust_protected_domains, sleep 5, add_score 10
Позволяет принять почту с IP-адресов, указанных в ProtectedNetworks, а также с доменов, указанных в ProtectedDomains. Для остальных почтовых сообщений перед продолжением он делает паузу в 5 секунд и увеличивает счет письма на 10 баллов.
Существует возможность собирать статистику по каждому из ограничений, чтобы определить число заблокированных им сообщений и, соответственно, определить его эффективность. Получить накопленную информацию можно, послав специальный сигнал процессу drweb-receiver, как описано в главе Обрабатываемые сигналы. Необходимость ведения статистики контролируется параметром RestrictionStat (указан выше, в пункте 1).
4. Параметры настройки проверки различных этапов SMTP-сессии
BlackNetworks = {Lookup}
WhiteNetworks = {Lookup}
|
Черные и белые списки сетей, используемые в действиях trust_white_networks и reject_black_networks.
Синтаксис данного параметра аналогичен синтаксису параметра ProtectedNetworks из секции [Maild].
Обратите внимание, что значение параметров – Lookup.
|
Значение по умолчанию:
BlackNetworks =
WhiteNetworks =
|
DNSBLList = {LookupLite}
|
Список серверов DNSBL (предназначены для проверки IP-адреса соединения на наличие в списке спамеров).
Данный список используется в действии reject_dnsbl. Сервера опрашиваются по очереди в том порядке, в котором они перечислены в значении параметра, до момента, пока какой-либо из них не ответит утвердительно, что IP-адрес – спамер, либо пока список серверов не закончится.
Соединение с каждым сервером из списка предварительно тестируется отправкой ему тестового запроса, определенного спецификацией (127.0.0.2), на который сервер обязан отвечать положительно. Если сервер не ответил на данный запрос утвердительно, он считается недоступным, запись о чем фиксируется в журнале.
Если ни один сервер из списка не удалось опросить, то IP-адрес соединения считается отсутствующим в списке серверов DNSBL, т.е. "чистым".
Обратите внимание, что значение параметра – LookupLite.
|
Значение по умолчанию:
DNSBLList =
|
PositiveDNSBLCacheTimeout = {время}
|
Максимальный промежуток времени для кеширования положительных ответов от DNSBL-серверов.
|
Значение по умолчанию:
PositiveDNSBLCacheTimeout = 24h
|
NegativeDNSBLCacheTimeout = {время}
|
Максимальный промежуток времени для кеширования отрицательных ответов от DNSBL-серверов.
|
Значение по умолчанию:
NegativeDNSBLCacheTimeout = 10m
|
NegativeDNSCacheTimeout = {время}
|
Максимальный промежуток времени для кеширования отрицательных ответов от DNS-серверов.
Значение параметра имеет смысл для всех ответов от DNS-серверов, кроме ответов от DNSBL-серверов.
|
Значение по умолчанию:
NegativeDNSCacheTimeout = 10m
|
BlackDomains = {Lookup}
WhiteDomains = {Lookup}
|
Черные и белые списки доменов, используемые в действиях trust_white_domains и reject_black_domains.
Синтаксис аналогичен синтаксису параметра ProtectedDomains из секции [Maild].
Обратите внимание, что значение параметров – Lookup.
|
Значение по умолчанию:
BlackDomains =
WhiteDomains =
|
SpamTrap = {LookupLite}
|
Список адресов спам-ловушек.
Данный список используется в действии reject_spam_trap.
Обратите внимание, что значение параметра – LookupLite.
|
Значение по умолчанию:
SpamTrap =
|
ProtectedEmails = {Lookup}
|
Список защищаемых адресов.
Используется в ограничении reject_unknown_rcpts. Позволяет отбрасывать письма для неверных получателей (тех, которые не принадлежат списку) и, при использовании фильтра anti_dha в Репутационном IP-фильтре, эффективно бороться с DHA-атаками.
Рекомендуется задавать этот параметр вместе с reject_unknown_rcpts и использовать соместно с фильтром anti_dha.
Обратите внимание, что значение параметра – Lookup.
|
Значение по умолчанию:
ProtectedEmails =
|
ProtectedSenderEmails = {Lookup}
|
Список доверенных адресов отправителей.
Используется в ограничении reject_unknown_sndrs. Позволяет отбрасывать письма от неизвестных (неверных) отправителей и, при использовании фильтра anti_dha в Репутационном IP-фильтре, эффективно бороться с DHA-атаками.
Рекомендуется задавать этот параметр вместе с reject_unknown_sndrs и использовать соместно с фильтром anti_dha.
Обратите внимание, что значение параметра – Lookup.
|
Значение по умолчанию:
ProtectedSenderEmails =
|
ReputationIPFilter = {список фильтров}
|
Настройки использования Репутационного IP-фильтра.
Позволяет выставлять счет IP-адресу на основе набираемой по данному адресу статистики и временно блокировать IP-адрес в случае, если его итоговый счет превышает некоторое пороговое значение.
Доступны следующие фильтры:
anti_dha, errors_filter, score_filter.
Фильтры перечисляются через запятую и проверяются в порядке задания. Для каждого фильтра в начале указывается его название, затем перечисляются необязательные параметры, разделяемые пробелами.
|
Значение по умолчанию:
ReputationIPFilter =
|
MaxSessionScore = {числовое значение}
|
Пороговое значение для максимального общего счета для каждой сессии.
Если общий счет сессии превысит указанное значение, то соединение закрывается с возвращением временной ошибки.
Если значение установлено в 0, то данный параметр игнорируется.
|
Значение по умолчанию:
MaxSessionScore = 10000
|
|