net.ipv4.conf.all.secure_redirects
中选项的正确安全设置是什么sysctl.conf
?
这里它设置为1
和这里设置为0
。net.ipv4.conf.default.secure_redirects
与前一个相关吗?以及 ٌ它的正确设置是什么?
====
第一个链接(wiki.ubuntu.com)指出:
在撰写本文时,以下 sysctl 设置为默认设置。我们希望它们保持这种状态。
net.ipv4.conf.all.secure_redirects = 1.
通过仅允许从我们的路由表中已知的网关重定向来防止路由路径被劫持。
第二个链接(joshrendek.com)指出:
# Make sure no one can alter the routing tables
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
答案1
当我看到这个的时候我使用 Fedora 作为参考(看看另一个操作系统如何看待这个问题)(编辑:这些是 Fedora 关于设置服务器的想法!请参阅底部了解为什么这很重要):
文档:
accept_redirects - BOOLEAN
Accept ICMP redirect messages.
accept_redirects for the interface will be enabled if:
- both conf/{all,interface}/accept_redirects are TRUE in the case
forwarding for the interface is enabled
or
- at least one of conf/{all,interface}/accept_redirects is TRUE in the
case forwarding for the interface is disabled
accept_redirects for the interface will be disabled otherwise
default TRUE (host)
FALSE (router)
这是一个有趣的博客。 结论:
这个神秘的逻辑意味着,对于非路由器(即大多数服务器),不仅必须
/proc/sys/net/ipv4/conf/all/accept_redirects
是 0,而且也必须是/proc/sys/net/ipv4/conf/interface/accept_redirects
。
所以 ...
- 如果您将系统用作服务器,请将其设置为 0。
- 如果您将系统用作桌面,则可以将其保留为 1(但如果您想强化系统,可以将其设置为 0)。
两者都可以被认为是正确的(并且是合理的)。