Параметры конфигурации

Компонент использует параметры конфигурации, заданные в секции [MailD] объединенного конфигурационного файла Dr.Web для почтовых серверов UNIX.

В секции представлены следующие параметры:

Параметр

Описание

LogLevel

{уровень подробности}

Уровень подробности ведения журнала компонента.

Если значение параметра не указано, используется значение параметра DefaultLogLevel из секции [Root].

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

Log

{тип журнала}

Метод ведения журнала компонента.

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

ExePath

{путь к файлу}

Путь к исполняемому файлу компонента.

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

для GNU/Linux: /opt/drweb.com/bin/drweb-maild

для FreeBSD: /usr/local/libexec/drweb.com/bin/drweb-maild

FixedSocketPath

{путь к файлу}

Путь к файлу UNIX-сокета фиксированного экземпляра компонента.

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

Значение по умолчанию: (не задано)

TemplatesDir

{путь к каталогу}

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

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

для GNU/Linux: /var/opt/drweb.com/templates/maild

для FreeBSD: /var/drweb.com/templates/maild

ReportLanguages

{строка}

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

Можно указать несколько значений в виде списка. Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Пример: Добавить в список языки ru и de.

1.Добавление значений в файл конфигурации.

Два значения в одной строке:

[MailD]
ReportLanguages = "ru", "de"

Две строки (по одному значению в строке):

[MailD]
ReportLanguages = ru
ReportLanguages = de

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset MailD.ReportLanguages -a ru
# drweb-ctl cfset MailD.ReportLanguages -a de

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

RepackPassword

{None | Plain(<password>) | HMAC(<secret>)}

Способ формирования пароля для архивов с вредоносными объектами, помещаемых в сообщения, доставляемые получателям:

None — архивы не будут защищены паролем (не рекомендуется);

Plain(<password>) — все архивы будут защищены одним и тем же паролем <password>;

HMAC(<secret>) — для каждого архива будет сгенерирован уникальный пароль на основании пары (<secret>, <идентификатор сообщения>).

Чтобы восстановить пароль, которым защищен архив, по идентификатору сообщения и известному секрету, используйте команду drweb-ctl idpass.

По умолчанию для данного параметра задано значение None, которое рекомендуется изменить в процессе настройки Dr.Web для почтовых серверов UNIX.

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

TemplateContacts

{строка}

Контактные данные администратора Dr.Web для почтовых серверов UNIX для вставки в сообщения об угрозах (используется в шаблонах сообщений).

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

Значение по умолчанию: (не задано)

RunAsUser

{UID | имя пользователя}

Пользователь, от имени которого запускается компонент. Можно указать как числовой UID пользователя, так и его имя (логин). Если имя пользователя состоит из цифр (т. е. похоже на числовой UID), то оно указывается с префиксом «name:», например: RunAsUser = name:123456.

Если имя пользователя не указано, работа компонента завершается ошибкой сразу после попытки запуска.

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

DnsResolverConfPath

{путь к файлу}

Путь к файлу настроек DNS (DNS resolver).

Значение по умолчанию: /etc/resolv.conf

IdleTimeLimit

{интервал времени}

Максимальное время простоя компонента, при превышении которого он завершает свою работу.

Значение параметра IdleTimeLimit игнорируется (компонент не завершает свою работу по истечении максимального времени простоя), если задано значение какого-либо из параметров: FixedSocketPath, MilterSocket, SpamdSocket, RspamdHttpSocket, RspamdSocket, SmtpSocket, BccSocket.

Допустимые значения: от 10 секунд (10s) до 30 дней (30d).
Если установлено значение None, компонент будет работать постоянно; в случае отсутствия активности ему не будет отправлен сигнал SIGTERM.

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

SpoolDir

{путь к каталогу}

Каталог для временного хранения проверяемых писем.

Значение по умолчанию: /tmp/com.drweb.maild

Hostname

{строка}

Имя узла (FQDN) отправителя. Будет фигурировать в строке приветствия HELO/EHLO, полученной от SMTP-клиента, и как значение по умолчанию для srvname в заголовке Authentication-Results.

Значение по умолчанию: текущее имя хоста

CaPath

{путь к файлу или каталогу}

Путь к каталогу или файлу с перечнем доверенных корневых сертификатов.

Значение по умолчанию: путь к системному перечню доверенных сертификатов. Зависит от дистрибутива GNU/Linux.

Для Astra Linux, Debian, Linux Mint, SUSE Linux и Ubuntu обычно используется путь /etc/ssl/certs/.

Для CentOS и Fedora — путь /etc/pki/tls/certs/ca-bundle.crt.

Для других дистрибутивов путь может быть определен через результат вызова команды openssl version -d.

Если эта команда недоступна или дистрибутив ОС опознать не удалось, используется значение /etc/ssl/certs/

WarnOfUnknownDomain

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

Добавлять в тело письма предупреждение о том, что домен отправителя не включен в список защищенных доменов (см. параметр ProtectedDomains) и необходимо соблюдать меры предосторожности. Текст предупреждения задается параметром ExternalDomainWarning.

Возможные значения:

On, Yes, True — добавлять предупреждение;

Off, No, False — не добавлять предупреждение.

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

ProtectedDomains

{строка}

Список доменов, защищенных продуктами Dr.Web. Если домен отправителя не входит в этот список, то в тело письма будет добавлено предупреждение о том, что необходимо соблюдать меры предосторожности (см. параметры WarnOfUnknownDomain и ExternalDomainWarning).

Можно указать несколько значений в виде списка. Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Пример: Добавить в список домены drweb.com и drweb.ru.

1.Добавление значений в файл конфигурации.

Несколько значений в одной строке:

[MailD]
ProtectedDomains = "localhost", "drweb.com", "drweb.ru"

По одному значению в строке:

[MailD]
ProtectedDomains = localhost
ProtectedDomains = drweb.com
ProtectedDomains = drweb.ru

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset MailD.ProtectedDomains -a drweb.com
# drweb-ctl cfset MailD.ReportLanguages -a drweb.ru

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

ExternalDomainWarning

{кодировка; текст предупреждения}

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

При обработке письма название кодировки определяется полем charset заголовка письма. Список названий кодировок, соответствующих стандарту RFC2047, доступен по адресу https://www.iana.org/assignments/character-sets/character-sets.xhtml. Если не удалось определить кодировку, то будет использовано значение default. Текст предупреждения в этом случае рекомендуется составлять, используя латинский алфавит. Если задано несколько значений с одинаковой кодировкой, то для такой кодировки будет использован текст, указанный в последнем таком значении.

Пример: Добавить текст предупреждения для кодировки KOI8-R (также известной как csKOI8R).

1.Добавление значений в файл конфигурации, по одному значению в строке:

[MailD]
ExternalDomainWarning = "{""default"", ""Attention: The message was sent from an external domain. It is not recommended to follow links, open attachments, or provide confidential information.""}"
ExternalDomainWarning = "{""utf-8"", ""Внимание: письмо отправлено с внешнего домена. Не рекомендуется переходить по ссылкам, открывать вложения или предоставлять конфиденциальную информацию.""}"
ExternalDomainWarning = "{""KOI8-R"", ""External domain warning""}"
ExternalDomainWarning = "{""csKOI8R"", ""External domain warning""}"

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset -a MailD.ExternalDomainWarning '{"KOI8-R", "External domain warning"}'
# drweb-ctl cfset -a MailD.ExternalDomainWarning '{"csKOI8R", "External domain warning"}'

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

{"default", "Attention: The message was sent from an external domain. It is not recommended to follow links, open attachments, or provide confidential information."}

{"utf-8", "Внимание: письмо отправлено с внешнего домена. Не рекомендуется переходить по ссылкам, открывать вложения или предоставлять конфиденциальную информацию."}

ScanTimeout

{интервал времени}

Тайм-аут на проверку одного сообщения.

Допустимые значения: от 1 секунды (1s) до 1 часа (1h).

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

HeuristicAnalysis

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

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

Эвристический анализ повышает надежность проверки, но увеличивает ее длительность.

Возможные значения:

On, Yes, True — использовать эвристический анализ;

Off, No, False — не использовать эвристический анализ.

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

PackerMaxLevel

{целое число}

Максимальный уровень вложенности для запакованных объектов. Под запакованным объектом понимается исполняемый код, сжатый при помощи специализированных инструментов (UPX, PELock, PECompact, Petite, ASPack, Morphine и др.). Такие объекты могут включать другие запакованные объекты, в состав которых также могут входить другие запакованные объекты, и т. д. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого объекты внутри объектов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

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

ArchiveMaxLevel

{целое число}

Максимальный уровень вложенности для архивов (.zip, .rar и др.), в которые вложены другие архивы, в которые, в свою очередь, также могут быть вложены архивы, и т. д. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого архивы внутри архивов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

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

MailMaxLevel

{целое число}

Максимальный уровень вложенности для файлов почтовых программ (.pst, .tbb и др.), в которые могут быть вложены объекты, в которые также могут быть вложены объекты, и т. д. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого объекты внутри объектов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

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

ContainerMaxLevel

{целое число}

Максимальный уровень вложенности при проверке других типов объектов с вложениями (например, страницы HTML, файлы .jar и др.). Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого объекты внутри объектов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

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

MaxCompressionRatio

{целое число}

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

Величина степени сжатия должна быть не менее 2.

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

MaxSizeToExtract

{размер}

Ограничение на размер файлов в архиве. Файлы, размер которых превышает значение этого параметра, будут пропущены при проверке. По умолчанию никаких ограничений на размер файлов в архивах нет.

Значение этого параметра указывается как число с суффиксом (b, kb, mb, gb). Если суффикс не указан, число интерпретируется как размер в байтах.

Если установлено значение 0, файлы в архивах проверяться не будут.

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

MilterDebugIpc

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

Сохранять или не сохранять в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Milter.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

MilterTraceContent

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

Сохранять или не сохранять в журнал на отладочном уровне (LogLevel = Debug) тело сообщений электронной почты, полученных на проверку через интерфейс Milter.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

MilterSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA как Milter-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD в качестве соответствующего фильтра). Допускается использование UNIX-сокета или сетевого сокета.

Правила обработки сообщений, поступающих на проверку через Milter, задаются параметром MilterHook (см. ниже).

Значение по умолчанию: (не задано)

MilterHook

{путь к файлу | функция Lua}

Код скрипта на языке Lua для обработки почтовых сообщений, полученных через интерфейс Milter, либо путь к файлу этого скрипта (см. раздел Обработка сообщений на Lua).

Если указан недоступный файл, то при загрузке компонента будет выдана ошибка.

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

local dw = require "drweb"
local dwcfg = require "drweb.config"

function milter_hook(ctx)

 -- Отклонить сообщение, если оно похоже на спам
 if ctx.message.spam.score >= 100 then
   dw.notice("Spam score: " .. ctx.message.spam.score)
   return {action = "reject"}
 else
   -- Добавить заголовки X-Drweb-Spam с отчетом о спаме
   ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
   ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
   ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
   ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
 end

  -- Проверить письмо на наличие угроз и, если они имеются, перепаковать его
  for threat, path in ctx.message.threats{category = {"known_virus", "virus_modification", "unknown_virus", "adware", "dialer"}} do
    ctx.modifier.repack()
    dw.notice(threat.name .. " found in " .. (ctx.message.part_at(path).name or path))
  end

  -- Перепаковать, если найден нежелательный URL
  for url in ctx.message.urls{category = {"infection_source", "not_recommended", "owners_notice"}} do
    ctx.modifier.repack()
    dw.notice("URL found: " .. url .. "(" .. url.categories[1] .. ")")
  end

 -- Добавить заголовок X-AntiVirus
 ctx.modifier.add_header_field("X-AntiVirus", "Checked by Dr.Web [MailD version: " .. dwcfg.maild.version .. "]")

 -- Принять письмо со всеми запланированными преобразованиями
  return {action = 'accept'}
end

SpamdDebugIpc

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

Сохранять или не сохранять в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Spamd.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

SpamdSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA как Spamd-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD в качестве соответствующего фильтра). Допускается использование UNIX-сокета или сетевого сокета.

Правила обработки сообщений, поступающих на проверку через Spamd, задаются параметром SpamdReportHook (см. ниже).

Значение по умолчанию: (не задано)

SpamdReportHook

{путь к файлу | функция Lua}

Код скрипта на языке Lua для обработки сообщений электронной почты, полученных через интерфейс Spamd, либо путь к файлу, содержащему этот скрипт (см. раздел Обработка сообщений на Lua).

Если указан недоступный файл, то при загрузке компонента будет выдана ошибка.

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

local dw = require "drweb"

function spamd_report_hook(ctx)
  local score = 0
  local report = ""

  -- Прибавить 1000 баллов за каждую угрозу в сообщении
  for threat, path in ctx.message.threats{category = {"known_virus", "virus_modification", "unknown_virus", "adware", "dialer"}} do
      score = score + 1000
      report = report .. "Threat found: " .. threat.name .. "\n"
      dw.notice(threat.name .. " found in " .. (ctx.message.part_at(path).name or path))
  end

  -- Прибавить 100 баллов за каждый нежелательный URL в сообщении
  for url in ctx.message.urls{category = {"infection_source", "not_recommended", "owners_notice"}} do
      score = score + 100
      report = report .. "Url found: " .. url .. "\n"
      dw.notice("URL found: " .. url .. "(" .. url.categories[1] .. ")")
  end

  -- Добавить спам-рейтинг
  score = score + ctx.message.spam.score
  report = report .. "Spam score: " .. ctx.message.spam.score .. "\n"
  if ctx.message.spam.score >= 100 then
      dw.notice("Spam score: " .. ctx.message.spam.score)
  end

  -- Вернуть результат проверки
  return {
     score = score,
     threshold = 100,
     report = report
     }
end

RspamdDebugIpc

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

Сохранять или не сохранять в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Rspamd.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

RspamdHttpSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA в качестве Rspamd-фильтра сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD в качестве соответствующего фильтра, с использованием HTTP-варианта протокола Rspamd). Допускается использование UNIX-сокета или сетевого сокета.

Правила обработки сообщений, поступающих через Rspamd, задаются параметром RspamdHook (см. ниже).

Значение по умолчанию: (не задано)

RspamdSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA в качестве Rspamd-фильтра сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD в качестве соответствующего фильтра, с использованием legacy-варианта протокола Rspamd). Допускается использование UNIX-сокета или сетевого сокета.

Значение по умолчанию: (не задано)

RspamdHook

{путь к файлу | функция Lua}

Код скрипта на языке Lua для обработки сообщений электронной почты, полученных через интерфейс Rspamd, либо путь к файлу, содержащему этот скрипт (см. раздел Обработка сообщений на Lua).

Если указан недоступный файл, то при загрузке компонента будет выдана ошибка.

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

local dw = require "drweb"

function rspamd_hook(ctx)
  local score = 0
  local symbols = {}

  -- Прибавить 1000 баллов за каждую угрозу в сообщении
  for threat, path in ctx.message.threats{category = {"known_virus", "virus_modification", "unknown_virus", "adware", "dialer"}} do
      score = score + 1000
      table.insert(symbols, {name = threat.name, score = 1000})
      dw.notice(threat.name .. " found in " .. (ctx.message.part_at(path).name or path))
  end

 -- Прибавить 100 баллов за каждый нежелательный URL в сообщении
  for url in ctx.message.urls{category = {"infection_source", "not_recommended", "owners_notice"}} do
      score = score + 100
      table.insert(symbols, {name = "URL " .. url, score = 100})
      dw.notice("URL found: " .. url .. "(" .. url.categories[1] .. ")")
  end

  -- Добавить спам-рейтинг
  score = score + ctx.message.spam.score
  table.insert(symbols, {name = "Spam score", score = ctx.message.spam.score})
  if ctx.message.spam.score >= 100 then
      dw.notice("Spam score: " .. ctx.message.spam.score)
  end

  -- Вернуть результат проверки
  return {
     score = score,
     threshold = 100,
     symbols = symbols
  }
end

SpfCheckTimeout

{интервал времени}

Максимальное общее время, отведенное на проверку SPF.

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

SpfVoidLimit

{целое число}

Максимальное допустимое число пустых ответов во время проверки SPF.

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

SmtpDebugIpc

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

Сохранять или не сохранять в журнал на отладочном уровне (при LogLevel = DEBUG) SMTP-команды в режиме SMTP.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

SmtpTraceContent

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

Сохранять или не сохранять в журнал на отладочном уровне (при LogLevel = DEBUG) содержимое почтовых сообщений в режиме SMTP.

Возможные значения:

On, Yes, True — сохранять в журнал;

Off, No, False — не сохранять в журнал.

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

SmtpRetryInterval

{интервал времени}

Тайм-аут на повторную попытку проверки или отправки сообщения в случае ошибки при работе в режиме SMTP.

Допустимые значения: от 1 секунды (1s) до 1 дня (1d).

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

SmtpRequireTls

{Always | IfSupported | Never}

Политика работы с расширением STARTTLS протокола SMTP в режиме SMTP.

Допустимые значения:

Always — всегда использовать защищенное соединение; прерывать соединение, если сервер не поддерживает его защиту.

IfSupported — если сервер поддерживает защищенное соединение, то предпочитать его; в ином случае отправлять сообщения по незащищенным каналам.

Never — не использовать защищенное соединение.

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

SmtpSslCertificate

{путь к файлу сертификата}

Путь к файлу сертификата для подключения MTA к Dr.Web MailD, работающему в качестве внешнего фильтра сообщений электронной почты в режиме SMTP или BCC.

Значение по умолчанию: (не задано)

SmtpSslKey

{путь к файлу закрытого ключа}

Путь к файлу закрытого ключа для подключения MTA к Dr.Web MailD, работающему в качестве внешнего фильтра сообщений электронной почты в режиме SMTP или BCC.

Значение по умолчанию: (не задано)

SmtpTimeout

{интервал времени}

Максимальное время хранения сообщения в очереди (в минутах), в течение которого должна быть выполнена проверка при работе Dr.Web MailD в режиме SMTP. Если в течение указанного времени проверка не завершилась успешно, то будет выполнено действие, указанное в параметре SmtpTimeoutAction. Если указано нулевое значение, проверка выполняется немедленно после помещения сообщения в очередь или после очередной неудачной попытки проверки. Если значение данного параметра превышает значение параметра SmtpRetryInterval, то в течение указанного времени будут предприняты две попытки проверки.

Допустимые значения: 0, либо от 1 минуты (1m) до 1 недели (1w).

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

SmtpTimeoutAction

{Accept|Discard}

Действие, которое выполняется по истечении интервала времени, указанного в параметре SmtpTimeout.

Допустимые значения:

Accept — принять (разрешить MTA отправить сообщение получателю);

Discard — отбросить сообщение, не уведомляя отправителя.

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

SmtpSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA в качестве фильтра сообщений электронной почты в режиме SMTP (MTA будет подключаться через этот сокет при использовании Dr.Web MailD в качестве внешнего фильтра). Допускается использование UNIX-сокета или сетевого сокета. Сервер, подключающийся через данный сокет, использует сертификат, путь к файлу которого задается параметром SmtpSslCertificate, и закрытый ключ, путь к файлу которого задается параметром SmtpSslKey.

Значение по умолчанию: (не задано)

SmtpSenderRelay

{путь к файлу | IP-адрес:порт}

Сокет для подключения Dr.Web MailD к MTA для отправки прошедших проверку сообщений в режиме SMTP (Dr.Web MailD, используемый в качестве внешнего фильтра, будет подключаться к MTA через этот сокет). Допускается использование UNIX-сокета или сетевого сокета.

Значение по умолчанию: (не задано)

SmtpHook

{путь к файлу | функция Lua}

Код скрипта на языке Lua для обработки сообщений электронной почты, полученных на проверку в режиме SMTP, либо путь к файлу, содержащему этот скрипт (см. раздел Обработка сообщений на Lua).

Если в секции [Root] конфигурационного файла установлено значение параметра UseVxcube=Yes, в Lua-скрипт по умолчанию добавляется операция проверки файлов почтовых вложений с помощью Dr.Web vxCube.

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

local dw = require "drweb"

function smtp_hook(ctx)
  -- Отклонить сообщение, если оно похоже на спам
  if ctx.message.spam.score >= 100 then
      dw.notice("Spam score: " .. ctx.message.spam.score)
      return {action = "discard"}
  else
      -- Добавить заголовки X-Drweb-Spam с отчетом о спаме
      ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
      ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
      ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
      ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
  end

  -- Проверить письмо на наличие угроз и, если они имеются, перепаковать его
  threat_categories = {"known_virus", "virus_modification", "unknown_virus", "adware", "dialer"}
  if ctx.message.has_threat({category = threat_categories}) then
      for threat, path in ctx.message.threats({category = threat_categories}) do
        dw.notice(threat.name .. " found in " .. (ctx.message.part_at(path).name or path))
      end
      ctx.modifier.repack()
      return {action = "accept"}
  end

  -- Перепаковать, если найден нежелательный URL
  url_categories = {"infection_source", "not_recommended", "owners_notice"}
  if ctx.message.has_url({category = url_categories}) then
      for url in ctx.message.urls({category = url_categories}) do
        dw.notice("URL found: " .. url .. " (" .. url.categories[1] .. ")")
      end
      ctx.modifier.repack()
      return {action = "accept"}
  end

  -- Принять письмо со всеми запланированными преобразованиями
  return {action = 'accept'}
end

BccSocket

{путь к файлу | IP-адрес:порт}

Сокет для подключения к MTA в качестве фильтра сообщений электронной почты в режиме BCC (MTA будет подключаться через этот сокет при использовании Dr.Web MailD в качестве внешнего фильтра). Допускается использование UNIX-сокета или сетевого сокета. Сервер, подключающийся через данный сокет, использует сертификат, путь к файлу которого задается параметром SmtpSslCertificate, и закрытый ключ, путь к файлу которого задается параметром SmtpSslKey.

Значение по умолчанию: (не задано)

BccReporterAddress

{строка}

Адрес электронной почты, с которого будут отправляться отчеты Dr.Web MailD по итогам проверки вложений почтовых сообщений в режиме BCC.

Значение по умолчанию: (не задано)

BccReporterPassword

{None | Plain(<пароль>)}

Пароль от почтового ящика, с которого будут отправляться отчеты Dr.Web MailD по итогам проверки вложений почтовых сообщений в режиме BCC.

Возможные значения:

None — ящик не защищен паролем;

Plain(<пароль>) — ящик защищен указанным паролем.

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

BccReportRecipientAddress

{строка}

Адрес электронной почты, на который будут отправляться отчеты Dr.Web MailD по итогам проверки вложений почтовых сообщений в режиме BCC.

Значение по умолчанию: (не задано)

BccSmtpServer

{строка}

Адрес MTA для отправки почтовых сообщений в режимах SMTP и BCC. Допускается использование домена, IP-адреса или UNIX-сокета.

Значение по умолчанию: (не задано)

BccTimeout

Максимальное время хранения сообщения в очереди (в минутах), в течение которого должна быть выполнена проверка при работе Dr.Web MailD в режиме BCC. Если в течение указанного времени проверка не завершилась успешно, то будет выполнено действие Discard. Если указано нулевое значение, проверка выполняется немедленно после помещения сообщения в очередь или после очередной неудачной попытки проверки. Если значение данного параметра превышает значение параметра SmtpRetryInterval, то в течение указанного времени будут предприняты две попытки проверки.

Допустимые значения: 0, либо от 1 минуты (1m) до 1 недели (1w).

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

VxcubePlatforms

{платформа, … | All}

Список платформ ОС для выполнения файлов почтовых вложений при использовании Dr.Web vxCube в качестве инструмента проверки почтовых сообщений в режиме внешнего фильтра (SMTP или BCC).

Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Допустимые значения:

<платформа> — значение поля os_code (название ОС с указанием разрядности) из API-вызова platforms в Dr.Web vxCube (подробнее см. Руководство пользователя Dr.Web vxCube, раздел Platform);

All — все доступные платформы.

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

VxcubeFileFormats

{формат, … | All}

Список форматов файлов почтовых вложений, которые будут отправляться на анализ при использовании Dr.Web vxCube в качестве инструмента проверки почтовых сообщений в режиме внешнего фильтра (SMTP или BCC).

Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Допустимые значения:

<формат> — значение поля name (буквенное обозначение формата) из API-вызова formats в Dr.Web vxCube (подробнее см. Руководство пользователя Dr.Web vxCube, раздел Format);

All — все доступные форматы.

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

VxcubeSampleRunTime

{интервал времени}

Время выполнения файла почтового вложения, отправленного на анализ в Dr.Web vxCube при использовании его в качестве инструмента проверки почтовых сообщений в режиме внешнего фильтра (SMTP или BCC).

Значение по умолчанию: (не задано)