安全研究员 Jacob Appelbaum建议避免 linux 内核中的某些与 conntrack 相关的代码路径,这些代码路径在内核中进行协议解析(例如 fdp、sip 等)以达到强化目的。
如何在 linux 内核中禁用 conntrack 协议解析?
安全研究员 Jacob Appelbaum建议避免 linux 内核中的某些与 conntrack 相关的代码路径,这些代码路径在内核中进行协议解析(例如 fdp、sip 等)以达到强化目的。
如何在 linux 内核中禁用 conntrack 协议解析?
有几种方法可以设置模块参数,包括临时的和持久的。先前的答案仅提供了一个临时更改,如果模块已加载,则该更改将不起作用。
更改将在加载模块后立即生效,无论是手动完成还是在启动时自动完成。如果模块已经加载,您必须重新启动,或者加载并卸载它,如果它具有不可删除的依赖项,这可能会也可能不会。为此,请创建一个文件,例如/etc/modprobe.d/no_conntrack_helper.conf,其中包含以下内容:
options nf_conntrack nf_conntrack_helper=0
这需要在运行命令之前卸载模块。卸载模块或系统重新启动时,更改将消失。您可以通过modprobe在加载模块时将特定参数作为参数传递给实用程序来更改它们。以root身份加载模块:
modprobe nf_conntrack nf_conntrack_helper=0
一些模块即使在模块被加载之后也可以修改它们的参数。这可以通过写入sysfs. 我不知道您要更改的特定参数是否可以在运行时修改,但如果可以,您希望以 root 身份运行以下命令:
echo 0 > /sys/module/nf_conntrack/parameters/nf_conntrack_helper
您可以禁用该模块。
modprobe nf_conntrack nf_conntrack_helper=0
有关在不完全禁用模块的情况下保护助手的更多信息,请参见https://home.regit.org/netfilter-en/secure-use-of-helpers/