7

OpenBSD 手册指出:

出于安全原因,OpenBSD 不将 IPv4 流量路由到 AF_INET6 套接字,也不支持IPv4 映射地址,其中 IPv4 流量被视为来自 IPv6 地址,例如 ::ffff:10.1.1.1。在需要接受 IPv4 和 IPv6 流量的地方,监听两个套接字。

但是,没有关于这些“安全原因”的解释。这些是什么?我想不出与该映射相关的任何安全问题。

4

2 回答 2

2

我不知道 OpenBSD 使用的具体动机是什么,但我知道至少一个可能是安全问题的问题,即 ACL 和特别是黑名单。

考虑一下您有来自 10.1.1.1 的传入连接。此地址在您的 ACL 中被列入黑名单,因此您拒绝连接。但是,如果您使用的是映射地址,则它似乎来自 ::ffff:10.1.1.1。您的黑名单可能无法捕捉到这一点,并可能让连接通过。

这可以通过应用程序逻辑来解决,并且由于使用单个套接字可能会简化代码,我个人认为 OpenBSD 的决定是不幸的。可以将 v4mapped 默认设置为关闭,但允许通过setsockopt.

尽管我不知道他们可能有更多的担忧。

于 2015-08-27T10:27:46.997 回答
1

据我所知,主要原因是保持 IPv4 和 IPv6 堆栈分开。处理进入一个堆栈但由另一个堆栈处理的数据包所必需的黑客行为会导致安全风险。

于 2015-08-18T21:19:11.660 回答