如何在CentOS邮件服务器中设置MailScanner、Clam Antivirus和SpamAssassin如何在CentOS邮件服务器中设置MailScanner、Clam Antivirus和SpamAssassin如何在CentOS邮件服务器中设置MailScanner、Clam Antivirus和SpamAssassin如何在CentOS邮件服务器中设置MailScanner、Clam Antivirus和SpamAssassin
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在CentOS邮件服务器中设置MailScanner、Clam Antivirus和SpamAssassin

在邮件服务器领域,MailScanner 是用于病毒扫描和垃圾邮件检测的最佳开源软件之一。 MailScanner 依靠预装的防病毒和反垃圾邮件软件来检查传入和传出的电子邮件是否存在恶意内容或垃圾邮件模式。这可以确保邮件服务器不会参与恶意软件和未经请求的垃圾邮件的分发。它还有助于防止邮件服务器 IP 被列入黑名单,保持邮件服务器记录干净。

本教程将重点介绍在 CentOS 系统中设置 MailScanner 以及 Clam Antivirus 和 SpamAssassin。该过程也应该适用于 RHEL。如果您有兴趣在 Ubuntu 上设置此系统,请参阅本教程。

安装 MailScanner 是一个漫长的过程,但逐步进行应该会使部署过程变得容易。

准备系统

在我们开始做任何事情之前,应该提到 SELinux 在 CentOS 上是被禁用的。为 MailScanner 配置 SELinux 超出了本教程的范围。还需要在 CentOS 上添加 Repoforge 存储库。

安装依赖项

yum 用于安装 MailScanner 所需的软件包。这个列表很长,但幸运的是 yum 可以解决所有依赖关系。


# yum install -y yum-utils gcc cpp perl bzip2 zip unrar make patch automake rpm-build perl-Archive-Zip perl-Filesys-Df perl-OLE-Storage_Lite perl-Sys-Hostname-Long perl-Sys-SigAction perl-Net-CIDR perl-DBI perl-MIME-tools perl-DBD-SQLite binutils glibc-devel perl-Filesys-Df zlib zlib-devel wget mlocate

安装 ClamAV 和 SpamAssassin

yum 也可用于安装 ClamAV 和 SpamAssassin。以下几个步骤介绍了如何安装和准备它们。


# yum install clamav spamassassin

更新 ClamAV。


# freshclam -v

更新并启动 SpamAssassin。


# sa-update
# service spamassassin start
# chkconfig spamassassin on

通过创建符号链接修复 MailScanner 的路径。


# ln -s  /usr/bin/freshclam /usr/local/bin/freshclam

配置后缀

Postfix 在启动时停止并禁用。 Postfix 不应自动启动,因为 MailScanner 服务将负责在必要时调用 Postfix。


# service postfix stop
# chkconfig postfix off

Postfix header_checks 用于保存 Postfix 收到的任何传入电子邮件。 MailScanner 对队列中保存的电子邮件执行检查。


# vim /etc/postfix/main.cf

## This line is added ##
header_checks = regexp:/etc/postfix/header_checks

# vim /etc/postfix/header_checks

## This line is added ##
/^Received:/ HOLD

准备邮件扫描仪

MailScanner 在 CentOS 或 Repoforge 存储库中尚不可用。我们将从 MailScanner 官方网站下载软件包并安装。


# wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.84.6-1.rpm.tar.gz

现在我们将提取并安装软件包。安装需要一些时间,因此您可以根据需要休息一下。


# tar zxvf MailScanner-4.84.6-1.rpm.tar.gz
# cd MailScanner-4.84.6-1
# ./install

安装完成后,会创建SpamAssassin所需的目录并修改权限。


# mkdir /var/spool/MailScanner/spamassassin
# chown postfix /var/spool/MailScanner/spamassassin
# chown postfix /var/spool/MailScanner/incoming/*

接下来,备份并修改MailScanner 的配置文件。


# vim /etc/MailScanner/MailScanner.conf

%org-name% = test CentOS Mail Server
%org-long-name% = ORGFULLNAME
%web-site% = ORG WEBSITE

Run As User = postfix
Run As Group = postfix
MTA = postfix

Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming

Virus Scanners = clamav

## please check /etc/MailScanner/spam.lists.conf for more details ##
Spam List = SBL+XBL

## the directory created earlier ##
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

至此,MailScanner 已准备就绪。我们可以初始化服务。

在启动之前调试 MailScanner 统计信息。


# MailScanner -lint

# service MailScanner start
# chkconfig MailScanner on

验证 MailScanner 操作

部署 MailScanner 后,可以在 /var/log/maillog 中查看幕后发生的事件。以下日志片段显示了 Postfix 处理邮件时的示例活动。


# tailf /var/log/maillog

Mar  8 03:12:15 centos postfix/pickup[15865]: 79F6D1391: uid=0 from=
Mar  8 03:12:15 centos postfix/cleanup[15871]: 79F6D1391: hold: header Received: by mail.example.tst (Postfix, from userid 0)??id 79F6D1391; Sat,  8 Mar 2014 03:12:15 +0600 (BDT) from local; from= to=
Mar  8 03:12:15 centos postfix/cleanup[15871]: 79F6D1391: message-id=<20140307211215.79F6D13[email >
Mar  8 03:12:16 centos MailScanner[15832]: New Batch: Scanning 1 messages, 668 bytes
Mar  8 03:12:16 centos MailScanner[15832]: Virus and Content Scanning: Starting
Mar  8 03:12:22 centos MailScanner[15832]: Requeue: 79F6D1391.AA526 to 0FA2E139C
Mar  8 03:12:22 centos MailScanner[15832]: Uninfected: Delivered 1 messages
Mar  8 03:12:22 centos postfix/qmgr[15866]: 0FA2E139C: from=, size=442, nrcpt=1 (queue active)
Mar  8 03:12:22 centos MailScanner[15832]: Deleted 1 messages from processing-database
Mar  8 03:12:22 centos postfix/local[15897]: 0FA2E139C: to=, relay=local, delay=6.8, delays=6.7/0.01/0/0.07, dsn=2.0.0, status=sent (delivered to mailbox)
Mar  8 03:12:22 centos postfix/qmgr[15866]: 0FA2E139C: removed

上述过程可以概括为:

  1. 按照指示,Postfix 在收到邮件后保留邮件。

  2. MailScanner 突然介入并扫描队列中的电子邮件。

  3. MailScanner 重新对电子邮件进行排队并将其移回 Postfix。

  4. Postfix 根据需要处理电子邮件并将邮件传递给收件人。

最后一点,MailScanner 是一个非常强大的工具,可以为邮件服务器提供必要的安全性。它可以保护邮件服务器免受传入和传出邮件的恶意软件的侵害。对于生产环境中部署的任何电子邮件服务器来说,这是必须的。

本教程介绍了使用基本配置设置 MailScanner。 MailScanner以及SpamAssassin和ClamAV的参数都可以定制,以满足生产环境的要求。

希望这可以帮助。

©2015-2025 艾丽卡 support@alaica.com