Настройка модуля

Все основные параметры работы подключаемого модуля задаются (по умолчанию) в файле %etc_dir/plugin_headersfilter.conf. Устройство конфигурационного файла и краткое описание его параметров приведены в в разделе Конфигурационные файлы.

В секции [Headersfilter] собраны общие настройки работы модуля фильтрации по заголовкам Dr.Web HeadersFilter.

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

Если почтовое сообщение попало под действие правила фильтрации типа Reject*, то дальнейшая проверка сообщения не производится. Если почтовое сообщение попало под действие правила фильтрации типа Accept*, то оставшиеся правила фильтрации игнорируются и продолжается обработка сообщения остальными подключаемыми модулями Dr.Web MailD (если в очередях еще остались модули, не обработавшие письмо).

Секция [Headersfilter]

Параметр может использоваться в Правилах

ScanEncodedHeaders = {логический}

Сканирование заголовков сообщений перед их перекодированием.

К примеру, указание значения Yes для параметра ScanEncodedHeaders вместе с условием

RejectCondition = Subject = "iso-8859-5"

позволяет отфильтровать сообщения, поле Subject которых закодировано в iso-8859-5.

Пожалуйста, обратите внимание, что все при установке этого параметра в Yes закодированные заголовки будут просканированы всеми правилами фильтрации дважды: до и после перекодирования (при этом сканирование останавливается, если срабатывает какое-либо правило).

Значение по умолчанию:

ScanEncodedHeaders = Yes

Параметр может использоваться в ПравилахПараметр обладает аддитивной семантикой в Правилах

RejectCondition = {набор условий}

Отвергающие правила фильтрации сообщений.

Если какой-либо из заголовков письма попадает под действие того или иного из указанных правил, письмо отфильтровывается. Действия, применяемые к такому почтовому сообщению, задаются параметром Action в той же секции конфигурационного файла. Отвергающие правила фильтрации могут быть заданы для любого из заголовков.

Обычно каждое правило фильтрации состоит из имени заголовка и регулярного выражения.

HEADER_NAME = regular_expression

Допустимо объединять несколько правил с помощью скобок или логических операторов OR и AND. Оператор "!=" (не равно) также может быть использован. Выражения, содержащие пробелы, обязательно должны быть заключены в кавычки.

Пример:

RejectCondition = Subject = "money" AND Content-Type = "text/html"

Также существует два дополнительных типа фильтрации:

No HEADER_NAME - условие, позволяющее отфильтровать сообщения, у которых какой-либо из заголовков отсутствует.

Пример:

RejectCondition = No From - отфильтровывает все письма с отсутствующим заголовком From.

HEADER_NAME = "8bit" - условие, позволяющее отфильтровать сообщения, у которых в заголовках содержатся 8-битные символы.

Cм. важную сноску под таблицей.

Значение по умолчанию:

RejectCondition =

Параметр может использоваться в ПравилахПараметр обладает аддитивной семантикой в Правилах

AcceptCondition = {набор условий}

Принимающие правила фильтрации сообщений.

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

Все, сказанное про набор условий RejectCondition, справедливо и для условий AcceptCondition.

Значение по умолчанию:

AcceptCondition =

Параметр может использоваться в Правилах

FilterParts = {логический}

Значение Yes разрешает обработку правил фильтрации, заданных параметрами RejectPartCondition и AcceptPartCondition.

Значение по умолчанию:

FilterParts = Yes

Параметр может использоваться в ПравилахПараметр обладает аддитивной семантикой в Правилах

RejectPartCondition = {набор условий}

AcceptPartCondition = {набор условий}

Правила фильтрации, аналогичные RejectCondition и AcceptCondition, но работающие с заголовками вложенных объектов.

Также может быть использовано следующее правило:

FileName = mask

где "mask" — регулярное выражение.

Обработка сообщений в соответствии с этими правилами фильтрации возможна только если параметр FilterParts имеет значение Yes.

Значение по умолчанию:

RejectPartCondition =

AcceptPartCondition =

Параметр может использоваться в ПравилахПараметр обладает аддитивной семантикой в Правилах

MissingHeader = {текст}

Набор заголовков, отсутствие которых в письме становится условием его отфильтровывания.

Пример:

MissingHeader = "To", "From"

Значение по умолчанию:

MissingHeader =

Параметр может использоваться в Правилах

Action = {список действий}

Действия, совершаемые с отфильтрованными сообщениями.

Должно быть задано одно основное действие (обязательно), и, возможно, несколько дополнительных.

К основным действиям относятся:

pass, tempfail, discard, reject.

Дополнительно могут быть заданы следующие действия:

quarantine, redirect, notify, add-header, score.

Значение по умолчанию:

Action = reject, notify

В тех случаях, когда сообщение блокируется (reject) модулем в синхронном режиме обработки, ответ Dr.Web MailD клиенту состоит из кода SMTP (55* или 250, в зависимости от значения параметра ReturnReject в секции [Receiver]), а также текстового сообщения, содержание которого может задаваться идущими далее параметрами. Значения параметров должны быть заключены в кавычки.

Параметр может использоваться в Правилах

UseCustomReply = {логический}

Использование настраиваемых сообщений в SMTP-сессии для случаев, когда сообщения отклоняются.

Значение по умолчанию:

UseCustomReply = No

Параметр может использоваться в Правилах

ReplyRuleFilter = {текст}

Настраиваемое сообщение в SMTP-сессии для случаев, когда выполняется действие Action = reject, а также если UseCustomReply = Yes.

Вы можете задать только текстовую часть сообщения. Текст, содержащий пробелы, должен быть заключен в кавычки.

Пример:

550 5.7.0 "Text part of reply"

Значение по умолчанию:

ReplyRuleFilter = "DrWEB HeadersFilter plugin: Message is rejected by headers rule filter."

Если UseCustomReply = No или соответствующая строка текста не задана, будет выдано стандартное сообщение "The message has been rejected by the Dr.Web MailD".

warning

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

Правила работы со значениями заголовков в произвольных кодировках рассмотрены в разделе Работа со строковыми значениями