当使用了“后端队列”集成且将邮件重新路由至 Kaspersky Security 8 for Linux Mail Server 进行扫描,然后再返回 Exim 邮件服务器时,必须满足以下条件:
socket-in 从 Exim 邮件服务器拦截邮件。此套接字必须在配置程序时指定。scanner 套接字将邮件转发至“扫描逻辑”进行扫描。此套接字必须在配置程序时指定。socket-out 将邮件返回 Exim 邮件服务器。此套接字必须在配置程序时指定。当与 Exim 邮件服务器的后端序列集成用于重新路由时,socket-in、scanner 和 socket-out 必须指向网络套接字。
根据操作系统的具体分发,您必须修改 Exim 邮件服务器的一个或多个配置文件。例如,在 Debian 和 Ubuntu 中,Exim 邮件服务器配置可能包含 /etc/exim/conf.d 目录下的几个文件,或仅包含一个文件。
通过重新路由执行 Kaspersky Security 8 for Linux Mail Server 与 Exim 的后端序列集成:
[routers] 区域中,在行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 for Linux Mail Server 扫描之后被发送的套接字的端口号。
[transports] 区域中,在行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 代表过滤器用于等待邮件的端口。
127.0.0.1.$forward_port 形式指定子字符串,如下所示:dc_local_interfaces=<IP adress1>.<port1>:127.0.0.1.$forward_port
或
local_interfaces=<IP address1>.<port1>:127.0.0.1.$forward_port
其中,必须有 127.0.0.1.$forward_port 子字符串,Exim 邮件服务器才能接受来自过滤器的已处理邮件并在 $forward_port 上监听数据。
EXIM_INTEGRATION_TYPE= after-queue
START_SMTP_PROXY=1
[smtp_proxy] 区域中,指定以下设置:socket-in=inet:$scanner_port@127.0.0.1
socket-out=inet: $forward_port@127.0.0.1
[global] 区域中,为 header-guard 设置设置 true 值。