使用 Milter 协议集成
2023年8月21日
ID 43931
当通过 Milter 协议集成 Kaspersky Security 8 for Linux Mail Server 和 Postfix 邮件服务器时,将邮件转发到 Kaspersky Security 8 for Linux Mail Server 以进行扫描和邮件返回到 Postfix 邮件服务器需要满足下列条件:
- 过滤器必须配置为通过
socket
从 Postfix 邮件服务器拦截邮件。此套接字必须在配置程序时指定。 - 过滤器必须通过
scanner
套接字将邮件转发至“扫描逻辑”进行扫描。此套接字必须在配置程序时指定。
当 Kaspersky Security 8 for Linux Mail Server 与 Postfix 邮件服务器集成时,socket
和 scanner
可以指向网络套接字或本地套接字。
使用 Milter 协议将 Kaspersky Security 8 for Linux Mail Server 与 Postfix 集成:
- 输入以下命令:
postconf -e $milter_socket
其中,
$milter_socket
代表过滤器用于监听传入连接的 IP 地址和端口号或 UNIX 套接字,如下所示:inet:port@IP address
(用于网络套接字)或unix:<path to UNIX socket>
(用于 UNIX 套接字)。 - 打开配置文件 main.cf。
- 将以下字符串添加到 main.cf 文件的末端:
#lms-milter-begin
milter_connect_macros = j _ {daemon_name} {if_name} {if_addr}
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} \
{cert_issuer}
milter_mail_macros = i {auth_type} {auth_authen} {auth_ssf} {auth_author} \
{mail_mailer} {mail_host} {mail_addr}
milter_rcpt_macros = {rcpt_mailer} {rcpt_host} {rcpt_addr}
milter_default_action = $fail_type
milter_protocol = 3
milter_connect_timeout=180
milter_command_timeout=180
milter_content_timeout=600
#lms-milter-end
其中,
$fail_type
可以采用值:reject
、accept
或tempfail
。${fail_type}
定义在过滤器工作不正常时 Postfix 邮件服务器要对邮件采取的操作。reject
– 拒绝邮件。Accept
– 不扫描即跳过。tempfail
– 将临时错误通知发送给邮件发件人。建议选项为
tempfail
。
- 打开文件 /var/opt/kaspersky/klms/installer.dat(Linux 环境下)或 /var/db/kaspersky/klms/installer.dat(FreeBSD 环境下)。
- 在文件中添加下列行:
POSTFIX_INTEGRATION_TYPE= milter
START_MILTER=1
- 打开文件 /etc/opt/kaspersky/klms/klms_filters.conf(Linux 环境下)或 /usr/local/etc/kaspersky/klms/klms_filters.conf(FreeBSD 环境下)。
- 在
[milter]
区域的以下字符串中,指定过滤器将用于监听传入连接的 IP 地址和端口号或 UNIX 套接字:socket=<
IP 地址和端口号
> 或<
UNIX 套接字>,这在步骤 1 中为$milter_socket
指定使用格式
inet:<
端口>@<IP 地址>(用于网路套接字)或 unix:<UNIX 套接字路径
> (用于 UNIX 套接字)。示例:
socket=inet:10025@127.0.0.1
- 在
[global]
区域中,为header-guard
设置设置false
值。 - 重新启动 klms 服务。
- 重新启动 Postfix 邮件服务器。