如何使用防病毒/反垃圾邮件网关 Sagator 来保护您的邮件服务器
我们每天都会读到病毒感染的消息(新病毒不断出现),并且不知何故受到垃圾邮件的影响。虽然有大量免费和商业解决方案(作为客户端应用程序提供)可以解决这两种问题,但系统管理员需要制定策略,在这些威胁到达用户邮箱之前就对其进行处理。
其中一种策略是设置防病毒/反垃圾邮件网关。就电子邮件内容而言,您可以将此工具视为外部世界和内部网络之间的中间层(或过滤器)。
另外,如果你想一想,在一台机器(邮件服务器)上安装和维护一个软件比在多台机器上单独安装和维护一个软件要容易得多。
在本文中,我们将向您介绍 Sagator,这是一个用 Python 编写的 Linux 邮件服务器防病毒/反垃圾邮件网关。除此之外,Sagator 还为用户提供数据库日志记录、使用统计数据和每日报告。也就是说,让我们开始吧。
安装 Sagator 和 Postfix 邮件服务器
要在 CentOS/RHEL 7 中安装 Sagator,请下载并安装以下 RPM 软件包。最新的测试版 (7) 包括对 systemd 的支持和修复 - 这就是为什么我们更喜欢使用此方法安装它,而不是从存储库下载软件包。
rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-core-1.3.2-0.beta7.el7.noarch.rpm
rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-1.3.2-0.beta7.el7.noarch.rpm
如果您在新服务器上执行此安装,请注意,需要安装其他几个软件包作为依赖项,其中我们可以提到 Postfix、ClamAV 和 SpamAssassin。
此外,您可能还需要安装Rrdtool,这是一个用于创建和显示日/周/月 /的实用程序年份总数/干净/病毒/垃圾邮件电子邮件数量的图形。
一旦服务及其依赖项完全发挥作用,这些图形将在 /var/www/html/sagator 中提供。
yum install epel-release
yum install postfix spamassassin clamav clamav-scanner clamav-scanner-systemd clamav-data clamav-update rrdtool
这并不奇怪,因为我们需要一个邮件服务器,并且防病毒/反垃圾邮件软件 Sagator 可以连接。另外,我们可能还需要安装mailx包,它提供了MUA(Mail User Agent,也称为Email Agent)功能。
在 Debian 和 Ubuntu 中,您需要从预编译的 .deb
软件包安装 Sagator,您可以从此处下载该软件包并按如下方式安装:
Debian 杰西:
wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator-base_1.3.2-0.beta7_all.deb
wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator_1.3.2-0.beta7_all.deb
dpkg -i sagator-base_1.3.2-0.beta7_all.deb
dpkg -i sagator_1.3.2-0.beta7_all.deb
值得信赖的Ubuntu:
wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator-base_1.3.2-0.beta7_all.deb
wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator_1.3.2-0.beta7_all.deb
sudo dpkg -i sagator-base_1.3.2-0.beta7_all.deb
sudo dpkg -i sagator_1.3.2-0.beta7_all.deb
与 CentOS 的情况一样,您需要安装和配置邮件服务器、SpamAssassin 和 ClamAV 软件包:
aptitude install postfix spamassassin clamav clamav-daemon -y
不要忘记在 Ubuntu 中使用 sudo。
接下来,无论发行版如何,您都需要在启动ClamAV之前更新病毒定义。执行此操作之前,请编辑 /etc/clamd.d/scan.conf 和 /etc/freshclam.conf 并删除以下行:
Example
另外,在 /etc/clamd.d/scan.conf 中,确保取消注释以下行:
LocalSocket /var/run/clamd.scan/clamd.sock
最后,做
freshclam
并启动/启用 ClamAV、SpamAssassin 和 Sagator:
systemctl start clamd@scan
systemctl start spamassassin
systemctl start sagator
systemctl enable clamd@scan
systemctl enable spamassassin
systemctl enable sagator
您可能需要检查 Sagator 日志以确保服务正确启动:
systemctl status -l sagator
或了解更多详情,
tail -f /var/spool/vscan/var/log/sagator/sagator.log
上述命令如下图所示:
在 Linux 中配置 Sagator
主要配置文件位于/etc/sagator.conf。让我们看一下为了让 Sagator 正常运行需要设置的最少指令集:
第 1 步 – 我们将在 chroot 中使用 Sagator,因此请确保取消注释以下行:
CHROOT = '/var/spool/vscan'
第 2 步 – 确保 LOGFILE 指令与以下值匹配:
LOGFILE = CHROOT + '/var/log/sagator/sagator.log'
第 3 步 – 选择将与 Sagator 集成的防病毒软件。为此,请确保下图中突出显示的行未注释:
虽然您可以自由选择各种防病毒解决方案,但 ClamAV 提供更高的性能和稳定性。尽管我们将在本指南中使用 ClamAV,但请记住,配置文件包含将 Sagator 连接到其他防病毒/反垃圾邮件解决方案的说明。
完成后,运行
sagator --test
来检查配置文件。没有输出也是好事!否则,请在继续之前解决发现的任何错误。
将 Sagator 与 Postfix 集成
为了将 Sagator 与 Postfix 集成,请确保以下行存在于 /etc/postfix/main.cf 和 / 中etc/postfix/master.cf:
mynetworks = 127.0.0.0/8
content_filter = smtp:[127.0.0.1]:27
#smtp inet n - n -- smtpd
127.0.0.1:26 inet n - n - 30 smtpd
-o content_filter=
-o myhostname=localhost
-o local_recipient_maps= -o relay_recipient_maps=
-o mynetworks=127.0.0.0/8 -o mynetworks_style=host
-o smtpd_restriction_classes= -o smtpd_client_restrictions=
-o smtpd_helo_restrictions= -o smtpd_sender_restrictions=
-o smtpd_data_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_use_tls=no
然后重新启动 postfix 并确保它能够在启动时自动启动:
systemctl restart postfix
systemctl enable postfix
我们现在可以继续进行测试。
测试萨加特
要测试 Sagator,请从用户 root 向用户 gacanepa 发送一封包含以下正文的电子邮件。这无非就是SpamAssassin提供的标准GTUBE(针对未经请求的批量电子邮件的通用测试),如下图所示:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
现在让我们看看当病毒作为附件发送时会发生什么。在以下示例中,我们将使用 EICAR 测试(有关更多详细信息,请参阅此维基百科条目):
wget http://www.eicar.org/download/eicar.com
mail -a eicar.com gacanepa
然后查看日志:
tail -f /var/spool/vscan/var/log/sagator/sagator.log
然后,被拒绝的电子邮件将返回给发件人,并附有相应的通知:
这有什么好呢?正如您所看到的,垃圾邮件和病毒实际上从未到达目标邮件服务器和用户的邮箱,但它们在网关级别被丢弃或拒绝。
正如我们之前提到的,这些图表可在 http://<服务器 ip 或主机名>/sagator
获取:
概括
在本文中,我们解释了如何安装和配置 Sagator,这是一种防病毒/反垃圾邮件网关,可与您的邮件服务器无缝集成并保护您的邮件服务器。
要了解更多信息和进一步的功能(这个令人难以置信的软件的功能远远超出我们在一篇文章中所能充分介绍的内容!),您可能需要参考该项目的网站:http://www.salstar.sk/sagator。
一如既往,如果您有任何问题或意见,请随时使用下面的评论表给我们留言。
特别感谢 Sagator 的开发者 Jan ONDREJ (SAL),他在我撰写本文时提供了出色的支持。