我管理一个 Debian Squeeze 服务器,该服务器使用 Exim 作为 MTA,并使用 Mailman 运行多个邮件列表。我想设置 ClamAV 来阻止可能发布到列表中的病毒。我在网上找不到有关如何将 ClamAV 与 Exim 和 Mailman 集成的文档(以及 Debian 安装脚本自动完成哪些配置)。
除了安装适当的软件包以使 ClamAV 与 Exim 和 Mailman 列表一起工作之外,还需要做什么?
答案1
要在 Debian squeeze 中使用 clamav,您需要先安装软件包,exim4-daemon-heavy
而不是默认exim4-daemon-light
版本,这个重型守护进程被编译为具有更多功能,包括链接到 clamav 的能力。只需执行apt-get install exim4-daemon-heavy
,它不会发生太大变化,并且运行起来非常安全。
启用该功能后,您需要进行一些设置。我假设您使用的是拆分配置,如果不是,则必须将以下内容翻译到组合配置文件中的正确位置。
/etc/exim4/conf.d/main/04_exim4-config_filter
我通常会创建一个如下所示的文件。
# socket for clamd
av_scanner = clamd:/var/run/clamav/clamd.ctl
然后我取消注释你的文件中的恶意软件配置/etc/exim4/conf.d/acl/40_exim4-config_check_data
。
# Deny if the message contains malware. Before enabling this check, you
# must install a virus scanner and set the av_scanner option in the
# main configuration.
#
# exim4-daemon-heavy must be used for this section to work.
#
deny
malware = *
message = This message was detected as possible malware ($malware_name).
您可能还想阻止某些类型的附件。
我通常创建一个文件 acl 来检查 mime 扩展名。 /etc/exim4/conf.d/acl/50_exim4-config_check_mime
# This access control list is used for every MIME part in a an incoming
# SMTP message.
#
acl_check_mime:
# Decode MIME parts to disk. This will support virus scanners later.
warn decode = default
# File extension filtering.
deny message = This file extension has been blacklisted and is not allowed \
through our email system. Send an email to [email protected] if \
you have received this message in error.
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.ade|\.adpx|\.app|\.bas|\.bat|\.chm|\.cmd|\.com|\.cpl|\
\.crt|\.exe|\.fxp|\.hlp|\.hta|\.inf|\.ins|\.isp|\
\.js|\.jse|\.lnk|\.mda|\.mdb|\.mde|\.mdt|\.mdw|\.mdz|\
\.msc|\.msi|\.msp|\.mst|\.ops|\.pcd|\.pif|\.prf|\.prg|\
\.reg|\.scf|\.scr|\.sct|\.shb|\.shs|\.url|\.vb|\.vbe|\
\.vbs|\.wsc|\.wsf|\.wsh|\.xsl)$\N} \
{1}{0}}
要启用此 acl,您必须在文件中添加几行/etc/exim4/conf.d/main/02_exim4-config_options
。
# Defines the access control list that is run when an
# SMTP DATA command is received.
#
.ifndef MAIN_ACL_CHECK_MIME
MAIN_ACL_CHECK_MIME = acl_check_mime
.endif
acl_smtp_mime = MAIN_ACL_CHECK_MIME