在 Debian 和 Ubuntu 上的 ISPConfig 3.1 中用 Rspamd 替换 Amavisd
在此页
- 先决条件
- 安装Redis
- 如果未安装 BIND,则安装 Unbound
- 安装和配置 Rspamd
- 更新 ISPConfig
- 在 ISPConfig 中启用 Rspamd
- 使 Rspamd 仪表板可从外部访问
- 阿帕奇
- Nginx
- Rspamd GUI
本教程描述了在 ISPConfig 3.1 服务器上用 Rspamd 替换 amavis (amavisd-new) 垃圾邮件扫描软件的步骤。本教程是为 Debian 和 Ubuntu Linux 编写的。
先决条件
- 根权限。
- 必须安装 ISPConfig 3.1。在此过程之后,ISPConfig 版本将为 3.1.15 或更新版本。
- 服务器在 x86_64 处理器(64 位 Linux)上使用 Debian 9 - 10 或 Ubuntu 18.04。较旧的 Debian 和 Ubuntu 版本也可能工作,但我没有测试它们。
以下所有命令都以 root 用户身份运行。在继续本指南之前,以 root 用户身份登录或在 Debian 上使用 su - 或在 Ubuntu 上使用 sudo -s 成为 root 用户。
注意:此过程将重新配置所有邮箱和别名以编写每个帐户的 Rspamd 配置(类似于 ISPConfig 工具 > 重新同步运行),这在大型邮件服务器上可能需要相当长的时间和资源。
安装Redis
ISPConfig 的 Rspamd 设置需要 Redis,因此我们将首先安装它。
apt-get install redis-server lsb-release
如果未安装 BIND,则安装 Unbound
如果您的服务器没有安装本地 DNS 服务器,则应安装像 unbound 这样的本地 DNS 解析器。
首先,使用以下命令检查是否安装了 BIND:
which named
如果命令返回指定二进制文件的路径:
:/tmp# which named
/usr/sbin/named然后安装 BIND,您必须跳过此步骤。如果没有返回 named 的路径,则安装 unbound:
apt-get install unbound
安装和配置 Rspamd
安装 Rspamd 的第一步是添加 Rspamd Debian/Ubuntu 软件包存储库。
CODENAME=`lsb_release -c -s`
wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add -
echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list
echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list更新包列表:
apt-get update
并使用 apt 安装 Rspamd:
apt-get install rspamd
在 Rspamd 配置中激活 Redis。
echo 'servers = "127.0.0.1";' > /etc/rspamd/local.d/redis.conf
增加 Rspamd 历史记录,启用压缩并显示历史记录中的主题。此步骤是可选的。
echo "nrows = 2500;" > /etc/rspamd/local.d/history_redis.conf
echo "compress = true;" >> /etc/rspamd/local.d/history_redis.conf
echo "subject_privacy = false;" >> /etc/rspamd/local.d/history_redis.conf然后重新启动 Rspamd。
systemctl restart rspamd
更新 ISPConfig
需要更新 ISPConfig 以启用 Rspamd 配置。当 ISPConfig 更新程序询问您是否要重新配置服务时,请选择是。
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php当检测到并配置 Rspamd 时,您将在更新脚本的输出中看到行 \Configuring Rspamd\。
在 ISPConfig 中启用 Rspamd
最后一步要求您以管理员用户身份登录 ISPConfig。
在 ISPConfig 中导航到System > Server Config > Mail。
在那里,您将内容过滤器字段的值从 Amavisd 更改为 Rspamd,然后按页面底部的保存按钮。 ISPConfig 现在将开始为 Rspamd 重新配置所有邮箱。
当您返回System > Server Config > Mail 时,您会看到一些新字段,您可以在其中读取和设置 Rspamd 密码。
使 Rspamd 仪表板可从外部访问
Rspamd 仪表板位于本地主机的 11334 端口,因此无法从外部访问。在本章中,我们将在 ISPConfig 中创建一个网站并添加代理配置。 Apache 和 Nginx 网络服务器的配置不同,请使用与您安装的网络服务器软件相匹配的章节。
阿帕奇
启用代理模块并重新启动 apache。
a2enmod proxy
systemctl restart apache2然后登录 ISPconfig 并创建一个用于访问 Rspamd GUI 的网站。您可以自由选择域名,我将在此处使用 rspamd.example.com。您不必在该站点中启用任何编程语言或其他选项,只需将所有内容保留为默认值即可。不过,强烈建议启用 SSL 和 Lets encrypt。
转到网站的“选项”选项卡,然后在“Apache 指令”字段中输入以下配置。对于 Apache 2.2,使用:
<Location /rspamd>
Order allow,deny
Allow from all
</Location>
RewriteEngine On
RewriteRule ^/rspamd$ /rspamd/ [R,L]
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]对于 Apache 2.4,请改用它:
<Location /rspamd>
Require all granted
</Location>
RewriteEngine On
RewriteRule ^/rspamd$ /rspamd/ [R,L]
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]现在您可以使用网络浏览器访问 Rspamd GUI https://rspamd.example.com/rspamd。您将被要求输入密码,请使用您在 Rspamd 安装期间生成的密码。
Nginx
登录 ISPconfig 并创建一个网站,该网站将用于访问 Rspamd GUI。您可以自由选择域名,我将在此处使用 rspamd.example.com。您不必在该站点中启用任何编程语言或其他选项,只需将所有内容保留为默认值即可。不过,强烈建议启用 SSL 和 Lets encrypt。
转到网站的选项选项卡,然后在 Nginx 指令字段中输入以下配置。
location / {
root /usr/share/rspamd/www/;
try_files $uri @proxy;
}
location @proxy {
proxy_pass http://127.0.0.1:11334;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}现在您可以使用网络浏览器访问 Rspamd GUI https://rspamd.example.com/。您将被要求输入密码,请使用您在 ISPConfig 中为 Rspamd 设置的密码。
Rspam GUI
现在您可以使用浏览器访问 Rspamd GUI 并获得有关垃圾邮件过滤率和吞吐量的详细统计信息。
ISPConfig 已被重新配置为使用 Rspamd 而不是 Amavis 来扫描垃圾邮件。 Rspamd 也用于 Dkim 签名。
禁用 Amavis
最后,我们停止并禁用 amavisd 服务:
systemctl stop amavisd-new
systemctl disable amavisd-new结论
Rspamd 是一款适用于 Linux 服务器的现代高性能垃圾邮件扫描软件,可提供非常准确的过滤结果。 ISPConfig 从 3.1.15 版本开始支持 Rspamd 作为垃圾邮件扫描单元。本教程展示了如何在 ISPConfig 3.1 服务器上用 Rspamd 替换 amavisd.new。