如何禁用 rspamd 使用的默认 RBL?

如何禁用 rspamd 使用的默认 RBL?

我想在 rspamd 中使用 RBL 而不使用所有预配置的 RBL,但似乎配置/etc/rspamd/local.d/rbl.conf只能添加新列表,而不能删除默认列表。

文档还描述了一种禁用规则的方法(我甚至不确定这是否会禁用检查本身或仅为比赛分配点数),但看起来您必须对每个默认规则执行此操作,并且未来的更新可能会添加默认激活的新 RBL。

如何使用配置文件禁用所有默认 RBL,/etc/rspamd/local.d而不更改 rspamd 包安装的配置(这些配置将被未来的更新覆盖)?

答案1

local.dget中定义的集合项合并使用默认配置。如果你想消除列表或集合中默认定义的东西,你必须使用override.d

创建文件/etc/rspamd/override.d/rbl.conf

url_whitelist = [];

rbls {
}

你采取模块配置/etc/rspamd/modules.d/rbl.conf并寻找它的顶层集合,在本例中为rbl { ... }。在文件底部,里面顶级集合,包含本地、动态和覆盖文件的坐落指令。由于它们是从顶级集合内部加载的,因此覆盖文件的内容不应包含这个顶级集合。因此,您会看到集合中的项目、、url_whitelist = [];rbls {... }一些变量。您只需在文件中定义它们即可。

要从默认配置复制并进行调整,请从中复制文件modules.d消除 rbl {最后},删除.include底部的三行。这就是您要输入的内容override.d。现在您的覆盖是原始内容的副本,但不会被更新替换,您可以自由编辑它以根据需要进行调整。

这些文件的处理顺序如下。local.d 中的 collections 内容如下合并使用默认的集合;简单值将被覆盖。然后,应用动态配置,甚至可以覆盖 local.d 设置;此动态配置可以从 rspamd Web 界面更新。然后,将以最高优先级应用 override.d,因此您可以将内容放在那里以确保它们无法通过 Web 界面进行编辑,因为 override.d 文件中定义的任何内容都将覆盖您可以通过 Web 界面放置的内容。

答案2

要删除所有 RBL,需要/etc/rspamd/override.d/rbl.confoverride.d目录中创建一个文件而不是目录local.d,该文件不会像local.d文件那样合并,而是替换原始配置。

内容需要有一个空的 RBL 部分,如下所示:

url_whitelist = [];

rbls {
}

有关更多详细信息,请参阅 Nikita Kipriyanov 的回答。

除此之外模糊检查模块还使用 RBL,需要使用local.d/options.inc(仅覆盖单个选项)禁用

filters = "chartable,dkim,regexp";

在默认配置中,列表中的最后一项是fuzzy_check,它使用 rspamd 自己的 RBL,它也带有自己的使用政策禁止商业使用并且具有(高)查询限制。

相关内容