我想在 rspamd 中使用 RBL 而不使用所有预配置的 RBL,但似乎配置/etc/rspamd/local.d/rbl.conf
只能添加新列表,而不能删除默认列表。
这文档还描述了一种禁用规则的方法(我甚至不确定这是否会禁用检查本身或仅为比赛分配点数),但看起来您必须对每个默认规则执行此操作,并且未来的更新可能会添加默认激活的新 RBL。
如何使用配置文件禁用所有默认 RBL,/etc/rspamd/local.d
而不更改 rspamd 包安装的配置(这些配置将被未来的更新覆盖)?
答案1
local.d
get中定义的集合项合并使用默认配置。如果你想消除列表或集合中默认定义的东西,你必须使用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.conf
在override.d
目录中创建一个文件而不是目录local.d
,该文件不会像local.d
文件那样合并,而是替换原始配置。
内容需要有一个空的 RBL 部分,如下所示:
url_whitelist = [];
rbls {
}
有关更多详细信息,请参阅 Nikita Kipriyanov 的回答。
除此之外模糊检查模块还使用 RBL,需要使用local.d/options.inc
(仅覆盖单个选项)禁用
filters = "chartable,dkim,regexp";
在默认配置中,列表中的最后一项是fuzzy_check
,它使用 rspamd 自己的 RBL,它也带有自己的使用政策禁止商业使用并且具有(高)查询限制。