LogLevel
{уровень подробности}
|
Уровень подробности ведения журнала компонента.
Если значение параметра не указано, используется значение параметра DefaultLogLevel из секции [Root].
Значение по умолчанию: Notice
|
Log
{тип журнала}
|
Метод ведения журнала компонента.
Значение по умолчанию: Auto
|
ExePath
{путь к файлу}
|
Путь к исполняемому файлу компонента.
Значение по умолчанию: <opt_dir>/bin/drweb-maild.
•Для GNU/Linux: /opt/drweb.com/bin/drweb-maild.
•Для FreeBSD: /usr/local/libexec/drweb.com/bin/drweb-maild. |
RunAsUser
{UID | имя пользователя}
|
Пользователь, от имени которого запускается компонент. Можно указать как числовой UID пользователя, так и его имя (логин). Если имя пользователя состоит из цифр (т. е. похоже на числовой UID), то оно указывается с префиксом «name:», например: RunAsUser = name:123456.
Если имя пользователя не указано, работа компонента завершается ошибкой сразу после попытки запуска.
Значение по умолчанию: drweb
|
FixedSocketPath
{путь к файлу}
|
Путь к файлу UNIX-сокета фиксированной копии компонента.
При задании этого параметра демон управления конфигурацией Dr.Web ConfigD следит за тем, чтобы всегда имелась запущенная копия компонента, доступная клиентам через этот сокет.
Значение по умолчанию: (не задано)
|
IdleTimeLimit
{интервал времени}
|
Максимальное время простоя компонента, при превышении которого он завершает свою работу.
Значение параметра IdleTimeLimit игнорируется (компонент не завершает свою работу по истечении максимального времени простоя), если задано значение какого-либо из параметров: FixedSocketPath, MilterSocket, SpamdSocket, RspamdHttpSocket, RspamdSocket, SmtpSocket, BccSocket.
Допустимые значения: от 10 секунд (10s) до 30 дней (30d) включительно.
Если установлено значение None, компонент будет работать постоянно; в случае отсутствия активности ему не будет отправлен сигнал SIGTERM.
Значение по умолчанию: 30s
|
DnsResolverConfPath
{путь к файлу}
|
Путь к файлу настроек DNS (DNS resolver).
Значение по умолчанию: /etc/resolv.conf
|
TemplatesDir
{путь к каталогу}
|
Путь к каталогу, в котором хранятся файлы шаблонов почтовых сообщений, возвращаемых пользователю при блокировке.
Значение по умолчанию: <var_dir>/templates/maild.
•Для GNU/Linux: /var/opt/drweb.com/templates/maild.
•Для FreeBSD: /var/drweb.com/templates/maild. |
TemplateContacts
{строка}
|
Контактные данные администратора Dr.Web для почтовых серверов UNIX для вставки в сообщения об угрозах (используется в шаблонах сообщений).
Контактная информация будет добавлена в перепакованное сообщение только в том случае, если к нему будет прикреплен защищенный паролем архив с угрозами или иными нежелательными объектами, вырезанными из исходного сообщения. Если, согласно текущему значению параметра RepackPassword (см. ниже), прикрепляемые архивы не защищаются паролем, то контактная информация не добавляется в измененное сообщение.
Значение по умолчанию: (не задано)
|
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
|
ScanTimeout
{интервал времени}
|
Тайм-аут на проверку одного сообщения.
Допустимые значения: от 1 секунды (1s) до 1 часа (1h).
Значение по умолчанию: 3m
|
HeuristicAnalysis
{On | Off}
|
Использовать/не использовать эвристический анализ для поиска возможных неизвестных угроз при проверке сообщения, инициированной по запросу Dr.Web MailD.
Эвристический анализ повышает надежность проверки, но увеличивает ее длительность.
Возможные значения:
•On — использовать эвристический анализ при проверке;
•Off — не использовать эвристический анализ.
Значение по умолчанию: 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
|
MaxSizeToExtract
{размер}
|
Устанавливает ограничение на размер файлов в архиве. Файлы, размер которых превышает значение этого параметра, будут пропущены при проверке. По умолчанию никаких ограничений на размер файлов в архивах нет.
Значение этого параметра указывается как число с суффиксом (b, kb, mb, gb). Если никакого суффикса не указывается, число интерпретируется как размер в байтах.
Если установлено значение 0, файлы в архивах не будут проходить проверку вообще.
Значение по умолчанию: None
|
MaxCompressionRatio
{целое число}
|
Максимальную допустимая степень сжатия запакованных объектов (отношение сжатого объема к несжатому). Если степень сжатия объекта превысит указанную величину, он будет пропущен при проверке сообщения, инициированной по запросу Dr.Web MailD.
Величина степени сжатия должна быть не менее 2.
Значение по умолчанию: 500
|
MilterSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA как Milter-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD как соответствующий фильтр). Допускается использование UNIX-сокета или сетевого сокета.
Правила обработки сообщений, поступающих на проверку через Milter, задаются в параметре MilterHook (см. ниже).
Значение по умолчанию: (не задано)
|
MilterDebugIpc
{логический}
|
Сохранять/не сохранять в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Milter.
Значение по умолчанию: No
|
MilterTraceContent
{логический}
|
Выводить в журнал на отладочном уровне (LogLevel = Debug) тела сообщений электронной почты, полученных на проверку через интерфейс Milter.
Значение по умолчанию: No
|
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
|
SpamdSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA как Spamd-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD как соответствующий фильтр). Допускается использование UNIX-сокета или сетевого сокета.
Правила обработки сообщений, поступающих на проверку через Spamd, задаются в параметре SpamdReportHook (см. ниже).
Значение по умолчанию: (не задано)
|
SpamdDebugIpc
{логический}
|
Выводить в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Spamd.
Значение по умолчанию: No
|
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
|
SpoolDir
{путь к каталогу}
|
Каталог для временного хранения проверяемых писем.
Значение по умолчанию: /tmp/com.drweb.maild
|
RspamdHttpSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA как Rspamd-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD как соответствующий фильтр, с использованием HTTP-варианта протокола Rspamd). Допускается использование UNIX-сокета или сетевого сокета.
Правила обработки сообщений, поступающих через Rspamd, задаются в параметре RspamdHook (см. ниже).
Значение по умолчанию: (не задано)
|
RspamdSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA как Rspamd-фильтр сообщений электронной почты (на этот сокет MTA будет выполнять подключение при использовании Dr.Web MailD как соответствующий фильтр, с использованием legacy-варианта протокола Rspamd). Допускается использование UNIX-сокета или сетевого сокета.
Значение по умолчанию: (не задано)
|
RspamdDebugIpc
{логический}
|
Выводить в журнал на отладочном уровне (LogLevel = Debug) сообщения протокола Rspamd.
Значение по умолчанию: No
|
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
|
SmtpSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA в качестве фильтра сообщений электронной почты в режиме SMTP (MTA будет подключаться через этот сокет при использовании Dr.Web MailD в качестве внешнего фильтра). Допускается использование UNIX-сокета или сетевого сокета.
Значение по умолчанию: (не задано)
|
SmtpSenderRelay
{путь к файлу | IP-адрес:port}
|
Сокет для подключения Dr.Web MailD к MTA для отправки прошедших проверку сообщений в режиме SMTP (Dr.Web MailD будет подключаться к MTA через этот сокет при использовании Dr.Web MailD в качестве внешнего фильтра). Допускается использование UNIX-сокета или сетевого сокета.
Значение по умолчанию: (не задано)
|
BccSocket
{путь к файлу | IP-адрес:port}
|
Сокет для подключения к MTA в качестве фильтра сообщений электронной почты в режиме BCC (MTA будет подключаться через этот сокет при использовании Dr.Web MailD в качестве внешнего фильтра). Допускается использование UNIX-сокета или сетевого сокета.
Значение по умолчанию: (не задано)
|
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-сокета.
Значение по умолчанию: (не задано)
|
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).
Значение по умолчанию: (не задано)
|
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
|
SmtpRetryInterval
{интервал времени}
|
Тайм-аут на повторную попытку проверки или отправки сообщения в случае ошибки при работе в режиме SMTP.
Значение по умолчанию: 5m
|
SmtpRequireTls
{Always | IfSupported | Never}
|
Определяет политику работы с расширением STARTTLS протокола SMTP в режиме SMTP.
Допустимые значения:
•Always — всегда использовать защищенное соединение; прерывать соединение, если сервер не поддерживает его защиту;
•IfSupported — если сервер поддерживает защищенное соединение, то предпочитать его; в ином случае отправлять сообщения по незащищенным каналам;
•Never — не использовать защищенное соединение.
Значение по умолчанию: Always
|
SmtpDebugIpc
{логический}
|
Сохранять/не сохранять в журнале на отладочном уровне (при LogLevel = DEBUG) SMTP-команды в режиме SMTP.
Значение по умолчанию: No
|
SmtpTraceContent
{логический}
|
Сохранять/не сохранять в журнале на отладочном уровне (при LogLevel = DEBUG) содержимое почтовых сообщений в режиме SMTP.
Значение по умолчанию: No
|
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/ |
Hostname
{строка}
|
Имя узла (FQDN) отправителя. Будет фигурировать в строке приветствия HELO/EHLO, полученной от SMTP-клиента, и как значение по умолчанию для srvname в заголовке Authentication-Results.
Значение по умолчанию: текущее имя хоста
|