TCP 转发的安全问题

信息安全 SSH 配置
2021-09-01 21:08:24

到目前为止,我一直在 ssh 中将 TCP 转发设置为无,但在网上搜索时,我很难找出真正的安全威胁是什么,当允许它时。

我确实发现的一件事是手册页指出,如果用户没有外壳访问权限,它只会有助于关闭 TCP 转发。http://joeyh.name/blog/entry/ssh_port_forwarding/虽然说,没有外壳访问权限并不重要,但no-port-forwarding在授权密钥中。

AllowTCPForwarding No那么, - 允许在 SSH 中进行 TCP 转发的安全威胁是什么?当我添加到 sshd_config 时,我是否会摆脱这种担忧,或者我是否还必须限制 shell 访问或添加no-port-forwarding选项?

2个回答

当您使用 SSH 隧道时,就目标服务器而言,它的客户端是 SSH 服务器,而不是连接到 SSH 隧道的实际客户端。

例如,如果您在 上运行 SSH 客户端10.1.1.1,连接到 SSH 服务器10.2.2.2并建立到 的隧道10.3.3.3,则当客户端(可能来自10.4.4.4或其他任何地方)最后连接到隧道10.1.1.1时,它可以访问,10.3.3.3就好像它是来自10.2.2.2.,不是10.1.1.110.4.4.4

这允许此类连接绕过有关目标服务器的防火墙规则,这些规则允许来自运行 SSH 服务器的机器的连接,但不能进一步。

如果 SSH 服务器是两个网络之间的网关,这通常是一个问题,例如,具有公共 IP 地址和一个私有 IP 地址。只允许访问内部 LAN 中的某些服务的防火墙规则不会捕获来自该 SSH 服务器的连接(除非为该机器制定了特殊情况)。

远程连接可能来自更远的地方。在 SSH 客户端,一些 SSH 客户端可以将它们的侦听套接字绑定到特定的 IP 地址(例如localhost),至少可以防止来自远程机器的连接。但是,您依赖于正确使用这些设置的客户端。

如果您的用户被允许进行此类连接,或者如果您在网络上使用的防火墙(和相关)规则专门处理 SSH 服务器的 IP 地址以考虑到这一点,那就没问题了。话虽如此,您可能仍然想检查隧道的建立位置,否则您也可能会遇到其他第三方服务器的麻烦。

如果您不需要任何这些,禁用此功能会更好。

TCP 转发允许用户使用 SSH 设置 VPN,他们可以使用该 VPN 隧道进入网络。这可能允许攻击者绕过防火墙等网络安全措施。SSH 隧道可能是一个非常有用的工具,但它也存在安全风险,因此除非明确要求,否则应禁用它。