这是教材中的原文,我感觉这个地方有.问题。 健康
NEW状态的SYN/ACK包
某些,TCP欺骗攻击所用的技术叫做序列号预测(Seque.nce Number Prediction).。在这类攻击中,攻击者利用另一台机子的IP访问攻击对象(译者注:这就是为什么叫欺骗的原因了,攻击者是想假冒另一台被攻击对象信任的机子,以达到欺骗攻击对象.的.目的),然后再试着预测攻击对象使用什么序列号。域名
我们来看看典型的使用序列号预测技术的欺骗.是如.何实现的,参与者:攻击者[A](attacker)试图假装另一台机.子[O](other host)向受害者[V](victim)发送数据。 乙肝
[A]以[O]的I.P为源地址向[V]发SYN。 乙肝
[V]向[O]回应SYN/ACK.。 乙肝
现在,若[O]以RST回应这个未知的.SYN/ACK,攻击就失败了,但如果[O]已经..没有这个能力了呢?比如它早已被另外的攻击(如SYN flood)降服,或者被关闭,或者它的RST包被防火墙拒绝。.
如果[O]没能破坏这条连接,而且[A..]猜对了序列号,那它就能以[O]的身份和[V]交谈了。健康
只要我们没能在第三步以RST回应那个未知的SYN/ACK包,[V]就会被攻击,而且我们还会被连累(译者注:.因为我们本身也被攻击了,而且还可能会成.为攻击者.的替罪羊被起诉,呜呜,好惨)。所以,为安全起见,我们应该.以正确的方式向[V]发送一个RST包。如果我们使用类似“NEW not SYN rules”(译者注:在上一小节中)的规则,SYN/ACK包就可以被丢弃了。因此,我们在bad_tcp_packets链.中加入了如下规则:服务器
iptables -A bad_tcp_packets -p tcp --tcp-flags SYN.,ACK S.YN,ACK -m state --state NEW -j REJECT. --reject-with tcp-reset.
按照文章的说法,要在第3步控制,如果O.是正常的,把这个规则加在INPUT中,.那么A就.无法攻击V了,可是如果O是正常的,那么A仍然无法攻击V。问题就是O已经死掉,而防火墙做为网关.时,那么这个rule只能加到FO.ORWARD?问题就是加在FORWARD的话怎么能匹配到NEW状态呢?即使匹配了,正常的访问也会无法进行,因为防火墙无法判断第一步中的syn包是否是正常的还是恶意的。.
[ 本帖.最后由 depthblue_xs.c 于 2006-3-10 10:58 编辑 ] 女人