After-queue интеграция методом изменения маршрутов
19 декабря 2024
ID 43875
При интеграции "после передачи сообщения в очередь" (after-queue интеграции) методом изменения маршрутов для передачи сообщений на проверку программе Kaspersky Security 8 для Linux Mail Server и возвращения их почтовому серверу Exim требуется соблюдение следующих условий:
- Фильтр должен быть настроен для перехвата сообщений от почтового сервера Exim по сокету
socket-in.
Этот сокет требуется задать в конфигурации программы. - Фильтр должен передавать сообщения для проверки модулю Scan Logic по сокету
scanner.
Этот сокет требуется задать в конфигурации программы. - Фильтр должен возвращать сообщения почтовому серверу Exim по сокету
socket-out.
Этот сокет требуется задать в конфигурации программы.
При after-queue интеграции с почтовым сервером Exim методом изменения маршрутов socket-in
, scanner
и socket-out
должны указывать на сетевой сокет.
В зависимости от дистрибутива операционной системы вам требуется внести изменения в один или несколько конфигурационных файлов почтового сервера Exim. Например, в Debian и Ubuntu почтовый сервер Exim может конфигурироваться как с помощью нескольких файлов в директории /etc/exim/conf.d, так и с помощью одного файла.
Чтобы выполнить after-queue интеграцию Kaspersky Security 8 для Linux Mail Server с Exim методом изменения маршрутов, выполните следующие действия:
- Сделайте резервную копию конфигурационного файла (файлов) Exim.
- В секцию
[routers]
конфигурационного файла (файлов) Exim после строкиbegin routers
добавьте следующие строки:
#klms-filter-begin-2
klms_dnslookup:
driver = dnslookup
domains = ! +local_domains
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
verify_only
pass_router = smtp_proxy
no_more
klms_system_aliases:
driver = redirect
allow_fail
allow_defer
data =${lookup{$local_part}lsearch{/etc/aliases}}
verify_only
pass_router = smtp_proxy
klms_localuser:
driver = accept
check_local_user
verify_only
pass_router = smtp_proxy
cannot_route_message = Unknown user
failed_address_router:
driver = redirect
verify_only
condition = "{0}"
allow_fail
data = :fail: Failed to deliver to address
no_more
smtp_proxy:
driver = manualroute
condition = "${if or {{eq {$interface_port}{$forward_port}} \\
{eq {\$received_protocol}{spam-scanned}} \\
}{0}{1}}"
transport = smtp_proxy
route_list = "* localhost byname"
self = send
#klms-filter-end-2
где
$forward_port
– номер порта сокета, на который передается сообщение после проверки программой Kaspersky Security 8 для Linux Mail Server. - В секцию
[transports]
конфигурационного файла (файлов) Exim после строкиbegin transports
добавьте следующие строки:
#klms-filter-begin-3
smtp_proxy:
driver = smtp
port = $scanner_port
delay_after_cutoff = false
allow_localhost
#klms-filter-end-3
где
$scanner_port
– порт, на котором фильтр ожидает сообщения. - В главном конфигурационном файле Exim (exim.conf или update-exim.conf.conf) укажите подстроку вида
127.0.0.1.$forward_port
в строке вида:dc_local_interfaces=<IP-адрес1>.<порт1>:127.0.0.1.$forward_port
или
local_interfaces=<IP-адрес1>.<порт1>:127.0.0.1.$forward_port
где подстрока
127.0.0.1.$forward_port
требуется для того, чтобы почтовый сервер Exim принимал от фильтра обработанные сообщения, ожидая данных на порту$forward_port
. - Скомпилируйте конфигурационный файл (файлы) Exim согласно параметрам вашей операционной системы.
- Откройте файл /var/opt/kaspersky/klms/installer.dat (для Linux) или /var/db/kaspersky/klms/installer.dat (для FreeBSD).
- Добавьте в файл следующие строки:
EXIM_INTEGRATION_TYPE= after-queue
START_SMTP_PROXY=1
- Откройте файл /etc/opt/kaspersky/klms/klms_filters.conf (для Linux) или /usr/local/etc/kaspersky/klms/klms_filters.conf (для FreeBSD).
- В секции
[smtp_proxy]
укажите следующие параметры:socket-in=inet:$scanner_port@127.0.0.1
socket-out=inet: $forward_port@127.0.0.1
- В секции
[global]
установите значениеtrue
для параметраheader-guard
. - Перезапустите службу klms.
- Перезапустите почтовый сервер Exim.