在什么情况下依赖源 IP 地址作为可接受/不可接受的安全控制?

信息安全 网络 ip欺骗
2021-08-30 08:24:28

该站点上的许多问题都提到依赖源 IP 地址作为控制,并且在大多数问题中它被认为是不可靠的。

在什么情况下使用源 IP 地址作为控制可能是一个潜在有用的想法或一个坏想法,以及为什么。

“欺骗”源 IP 地址的想法被提出,但人们很少详细说明这在实践中可能有多么具有挑战性(例如,准确猜测 TCP 序列号),特别是与 HTTP 等常用应用程序协议有关

2个回答

我注意到的一件事是“欺骗”源 IP 地址的想法被提出,但人们很少详细说明这在实践中可能有多么具有挑战性(例如,准确猜测 TCP 序列号),所以我会对使用常见应用协议(例如 HTTP)欺骗 IP 地址的实用性的任何意见感兴趣。

一个公平的点,赢得了我的 +1。

正如您所说,如果您在劫持现有连接之后,因为您知道256.0.0.1(故意不真实)在白名单上是相当困难的。

我认为我们将 IP 欺骗作为最明显的威胁,就像所有黑客都是“leet”、使用平铺窗口管理器并拥有透明终端的想法一样。但是,还有一些更明显的问题:

  1. 如果另一台计算机获得该 IP 地址会怎样?如果您单独使用基于 IP 地址的限制,那么它就会成为一个问题。
  2. 如果那台计算机受到威胁,会发生什么?同样,如果您单独使用 IP 地址过滤,则会出现问题。
  3. 当您有 NAT 并且无法访问源 IP 地址时会发生什么?

换句话说,问题在于虽然这可能会限制访问,但它对检查授权没有任何作用。就像无状态防火墙一样,它假设这个私有子网上的每个人都是好的。这一切都很好,但是你授权他们访问了吗?如果他们可以通过任何方式获得正确范围内的 IP 地址,那么您将信任他们。

相比之下,如果您使用某种形式的身份验证层,则会使潜在的攻击者更难获得未经授权的访问权限。

在我看来,一个更好的解决方案是使用 IPtables 之类的东西将某些接口标记为可以访问更多或更少的服务。然后将其绑定到物理网络,这对于外部(甚至内部)攻击者来说更难操纵。但是,您仍然需要在此基础上进行身份验证。

如果安全性无关紧要,使用基于 IP 的身份验证可能是合理的。否则,这是一个非常可疑的做法。它充其量只能提供较弱的安全性。

在某些情况下,IP 劫持非常容易。例如,人们使用基于 IP 的身份验证的典型情况是允许来自同一公司本地网络的一些其他机器或机器进行访问。但是,如果您在该 IP 地址空间内有任何开放的无线网络(或 WEP 无线网络),那么获得访问权、劫持其他机器的连接等都是微不足道的。

对于受 IP 劫持保护的基于 Web 的系统,开放代理也是一种威胁。

另一个威胁是受损机器连接到内部网络的风险。

底线:我不建议使用基于 IP 的身份验证,除非未经授权的访问的后果非常温和(甚至可能不是这样)。