oro*_*aki 3 security iptables spoofing
我的数据库服务器上的 iptables 规则是:
-A INPUT -p tcp --dport 6432 -s 10.115.0.150 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
我有其他规则(环回等),但我想知道该特定规则是否可以“破解”。有人可以“欺骗”IP 地址吗(即使它是私有网络地址 - 另外,如果它是公共地址会有所不同)吗?有些不同?
Iain 的回答通常是正确的,但需要稍微扩展以解释为什么攻击难以执行。
TCP 使用基于位的标志和 32 位计数器(称为序列号和确认号)的组合来驱动状态机,在整个生命周期中跟踪 TCP 连接的进度。了解这两个 32 位计数器如何在每个 TCP 连接中传输有效载荷数据之前的三向握手中发挥作用,将使使用欺骗源 IP 地址的攻击的不切实际变得清晰。
当客户端向远程服务器发起 TCP 连接时,它会发送一个设置了 SYN 位和随机选择的初始序列号的 TCP 段。远程服务器用一个同时设置了 SYN 和 ACK 位的 TCP 段、一个随机选择的初始序列号和一个等于客户端初始序列号加 1 的确认号进行响应。最后,客户端用一个 TCP 段响应ACK 位设置,序列号等于它发送的初始序列号加 1,确认号等于远程服务器的初始序列号加 1。
当攻击者从另一个主机的源 IP 地址伪造 IP 数据报时,攻击者通常不会收到对他们可能发送的任何数据包的响应。在这种情况下,攻击者实际上拥有到远程服务器的单向通信通道。查看 TCP 握手中的数据包流,攻击者有必要预测远程服务器将在其 SYN/ACK 响应中生成的初始序列号,以便在 ACK 响应中使用适当的确认号进行响应完成三向握手。攻击者需要正确猜测一个 32 位数字才能使攻击有效。
今天,这种类型的攻击是完全不切实际的。不过,在过去,一些引人注目的攻击就使用了这种方法。这是可能的,因为在过去,某些操作系统具有非常可预测的初始序列号。(您可能会发现 Michal Zalewski 的论文Strange Attractors and TCP/IP Sequence Number Analysis - One Year later 是一篇有趣的读物,它描述了各种操作系统的初始序列号的可预测性。)
归档时间: |
|
查看次数: |
188 次 |
最近记录: |