如何在Ubuntu 16.04上使用Apache SpamAssassin阻止垃圾邮件

Apache SpamAssassin 是一种开源企业级垃圾邮件过滤器,邮件服务器管理员可以使用该过滤器来阻止垃圾邮件,也称为 不请自来的批量电子邮件。 SpamAssassin由Perl编写,由Apache软件基金会开发。 在本教程中,我们将研究如何在Ubuntu 16.04上安装和配置SpamAssassin,如何将其与Postfix SMTP服务器集成以及可用于打击垃圾邮件的方法。

垃圾邮件无疑浪费了我们很多时间,有时甚至使我们生气。 您可能收到了以下几种垃圾邮件:

  • 一些非洲人向银行财富转移寻求帮助
  • 中文产品推销电子邮件
  • 一晚展位邀请
  • 快速致富
  • 并不断

要遵循本教程,假定您已经在Ubuntu 16.04上安装了Postfix。 如果没有,请查看以下分步指南。

  • 在Ubuntu上构建自己的电子邮件服务器:基本Postfix设置

SpamAssassin可以对收到的电子邮件使用以下测试:

  • 标头字段
  • 身体短语识别
  • 贝叶斯滤波
  • 自动白名单/黑名单
  • 手动白/黑名单
  • 字符集和语言环境

合法电子邮件称为 火腿 通过SpamAssassin。

安装和配置Apache SpamAssassin

可从Ubuntu软件存储库中获得SpamAssassin。 使用以下命令安装SpamAssassin。 spamc 是SpamAssassin垃圾邮件过滤守护程序的客户端。

sudo apt install spamassassin spamc

然后创建一个名为 spamd

sudo adduser spamd --disabled-login

编辑SpamAssassin配置文件。

sudo nano /etc/default/spamassassin

找到以下行:

OPTIONS="--create-prefs --max-children 5 --helper-home-dir"

我们指定用户名Spamassassin将以 spamd 并将日志文件名的位置设置为 /var/log/spamd.log

OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username spamd -s /var/log/spamd.log"

要使cron作业每晚自动更新spamassassin的规则,请找到以下行

CRON=0

并将其更改为

CRON=1

保存并关闭文件。

设置SpamAssassin规则

编辑 /etc/spamassassin/local.cf 文件。

sudo nano /etc/spamassassin/local.cf

默认情况下,此文件中的所有行都被注释掉。 您可以阅读文件以查看每个规则的作用。 我的邮件服务器上使用了以下设置。

rewrite_header Subject ***** SPAM _SCORE_ *****
report_safe             0
required_score          5.0
use_bayes               1
use_bayes_rules         1
bayes_auto_learn        1
skip_rbl_checks         0
use_razor2              0
use_dcc                 0
use_pyzor               0

保存并关闭文件。 然后开始 spamd 通过发出:

sudo systemctl start spamassassin.service

并在启动时启用自动启动:

sudo systemctl enable spamassassin.service

spamd 将在本地主机的TCP端口783上侦听。

从Postfix将传入电子邮件传递给SpamAssassin

编辑Postfix主配置文件。

sudo nano /etc/postfix/master.cf

找到以下行:

smtp      inet  n       -       -       -       -       smtpd

并添加以下选项。

-o content_filter=spamassassin

然后,将以下行添加到文件末尾,以启用队列后内容过滤。

spamassassin unix -     n       n       -       -       pipe
        user=spamd argv=/usr/bin/spamc -f -e  
        /usr/sbin/sendmail -oi -f ${sender} ${recipient}

保存并关闭文件。 然后重新加载Postfix,以使更改生效。

sudo systemctl reload postfix

现在,您的反垃圾邮件系统应该可以正常工作了。

而已!

我希望本教程可以帮助您在Ubuntu 16.04上安装和设置Apache SpamAssassin。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯。您还可以在Google +,Twitter或Facebook页面上关注我们。

Sidebar