SynFlood攻击:每Mbit可能有多less个数据包?

我会很精确的计算/公式如何计算多less个SYN数据包可以发送每1Mbit带宽:

1)什么是一个SYN-Packet的大小(以字节为单位)= 20字节? http://de.wikipedia.org/w/index.php?title=Datei:TCP_Header.svg&filetimestamp=20070706210301这是正确的,第一个五行,heach有4个字节= 20字节的总数? 还有更正确的是,不需要有效载荷,只有包含标题的数据包才是有效的。

2.)为了得到有效的结果,是否有效地划分1Mbit /每个Syn的字节数? (1000 000/8/20 ==> 6250 SYN每秒???)

3.)还是有其他限制因素会大大减less每1Mbit的SYN数据包数量? (所以计算出来的数字在实践中要低得多)。这是什么限制了这个数字?

4.)是否有任何“必须知道”的工具来保护我的服务器免受Syn Attacks(linux / debian)的攻击。 我已经在iptables中实现了一些基本的东西,但不知道这是否真的有帮助…更好的过滤“前端/网关”服务器? 什么商业产品提供SYN-洪水过滤,如果你可以命名一些具体的产品,我会感谢。

谢谢Jan

  1. 你的假设是正确的,因为一个SYN数据包不需要携带任何有效负载,并且是严格的,即使不需要任何选项,因此只有TCP报头。 但是数据包大小不会达到20字节,因为TCP将被embedded在一个IP数据包中,至less增加了20个字节。 任何真实世界的SYN将进一步具有用于MSS的选项,时间戳值和ECR值集合,导致每个分组大约60字节的典型大小。 如果感兴趣,可以使用tcpdump来查看stream量: tcpdump -v -n -p tcp and 'tcp[13] & 2 == 2'
  2. 不完全 – 您将不得不考虑额外的协议开销(数据链路层的标头大小和校验和 – 以太网通常会增加另外31个字节)
  3. SYN cookie和TCP Cookie事务被certificate是一种有效的防止SYN洪水攻击的机制。 如果您的客户端不支持TCPCT,并且受到SYN Cookie带来的限制,将会创build另一个DoS攻击向量,这是不可取的。