我想在 rspamd 中使用 RBL,而不使用所有预配置的 RBL,但似乎中的配置/etc/rspamd/local.d/rbl.conf
只能添加新列表,而不能删除默认列表。
该文档还描述了一种禁用规则的方法(我什至不确定这是否会禁用检查本身或只是为匹配分配分数),但看起来你必须为每个默认规则执行此操作,并且未来的更新可能会添加新的默认情况下处于活动状态的 RBL。
如何在/etc/rspamd/local.d
不更改 rspamd 包安装的配置的情况下禁用所有带有配置文件的默认 RBL,这些配置将被未来的更新覆盖?
中定义的集合项与默认配置
local.d
合并。如果要删除列表或集合中默认定义的内容,则必须使用.override.d
创建一个文件
/etc/rspamd/override.d/rbl.conf
:您获取模块配置
/etc/rspamd/modules.d/rbl.conf
并查找其顶级集合,在本例中为rbl { ... }
。在文件的底部,在顶级集合中,包含本地、动态和覆盖文件的指令。由于它们是从顶级集合内部加载的,因此覆盖文件的内容不应包含此顶级集合。因此,您会看到集合中的项目 、url_whitelist = [];
和rbls {... }
一些变量。您只需在文件中定义它们。要从默认和调整中复制配置,您可以从复制文件
modules.d
,删除rbl {
和最终}
并删除.include
底部的三行。这就是你放入的内容override.d
。现在您的覆盖是原件的副本,但不会被更新替换,您可以自由编辑它以按您喜欢的方式塑造。这些文件的处理顺序如下。local.d 中集合的内容默认与集合中的集合合并;简单的值被覆盖。然后,应用动态配置,它甚至可以覆盖 local.d 设置;这个动态配置可以从 rspamd 网络界面更新。然后,override.d 以最高优先级应用,因此您可以将内容放在那里以确保它们不能通过 Web 界面进行编辑,因为 override.d 文件中定义的任何内容都会覆盖您可以通过 Web 界面放置的内容。
要删除所有RBL,需要在目录而不是目录
/etc/rspamd/override.d/rbl.conf
中创建一个文件,它不像文件那样合并,而是替换原始配置。override.d
local.d
local.d
内容需要有一个空的 RBL 部分,如下所示:
有关详细信息,请参阅 Nikita Kipriyanov 的回答。
另外,模糊校验模块也使用了一个RBL,需要禁用using
local.d/options.inc
(only override a single option)在默认配置中,列表中的最后一项是
fuzzy_check
,它使用 rspamd 自己的 RBL,它还带有自己的使用策略,禁止商业用途并具有(高)查询限制。