IP 欺骗:通过用户的公共 IP 地址控制访问的安全性如何?

信息安全 ip欺骗
2021-08-15 12:28:17

我们在亚马逊云中托管了一些 Windows 服务器虚拟机。用户需要输入帐户和密码以 RDP 到 VM。VM 的 RDP 端点(IP+端口)对 Internet 是公共的。作为一项额外的安全措施,我们设法将对 RDP 端口(对公众可用)的访问限制为特定的公共 IP 地址。

问题是,欺骗公共 IP 地址有多容易?黑客能否欺骗我们指定的公共 IP 地址,从而绕过我们的公共 IP 地址防火墙?谢谢,

3个回答

简答

假设一个 TCP 连接,几乎不可能在不控制网络的情况下欺骗源 IP 地址。

更长的答案

假设您没有使用任何代理(如果您从 X-FORWARDED-FOR 标头获取其 IP 地址可能会导致问题),并且在 TCP 上运行服务,则很难欺骗源 IP 地址

要初始化 TCP 连接,必须在服务器和攻击者之间来回发送多个数据包。如果初始请求的源地址被欺骗,那么攻击者将无法完成打开连接,因为欺骗的地址不是他们的地址。因此,当服务器将数据包“返回”给他们时,它将被定向到地址的真正所有者,而不是攻击者。

我会为此在 Visio 上制作图表,但我正在上课,所以希望草图就足够了。

TCP 握手

欺骗源地址相当容易,仍然有很多 ISP 没有实现源地址过滤。

接收对这些欺骗性数据包的回复更加困难。攻击者需要进入客户端和服务器之间的网络路径或修改路由以更改网络路径。这更难,但肯定不是不可能的。

现代 TCP 实现使用随机序列号,这使得成功打开 TCP 连接而没有收到对 SYN 数据包的回复的概率非常低。较旧的系统和基于 UDP 的协议可能更容易受到此类攻击。服务器使用“SYN cookie”也增加了这种攻击成功的可能性(尽管它仍然是一个非常低的可能性)。

我认为源 IP 过滤是一种有用的额外防线,但我不想依赖它作为唯一的保护手段。

在本地层面进行欺骗很容易。当涉及到公共 IP 时,它可能会困难得多。我发现了这个https://superuser.com/questions/619477/how-do-i-spoof-the-ip-that-my-computer-sends-a-server-without-using-something-li

也发现了这个做IP欺骗真的很容易吗?

希望这可以帮助。