对于Linux内核2.6.32,如果我设置net.ipv4.tcp_syncookies = 1将始终使用或仅在SYN洪水攻击期间?
我发现有两个来源说相反。
1:
“但是,在使用SYN cookie时,有两个警告会起作用:首先,服务器仅限于8个唯一的MSS值,因为这些都可以用3位编码;其次,服务器必须拒绝所有TCP选项(例如大窗口或时间戳),因为服务器会丢弃将以其他方式存储信息的SYN队列条目。
- 什么阻止传入连接在Windows 7上
- GPO提供的Windows 8.1 IPSec – 不生成防火墙规则
- iptables – 在FORWARD链上按MAC过滤
- 用iptables为每个IP丢弃第一个数据包
- TCP和UDP端口通常阻塞
虽然这些限制必然导致次优的体验,但是它们的效果却很less被客户注意到,因为它们只有在受到攻击时才被使用。 在这种情况下,为保存连接而丢失TCP选项通常被认为是合理的妥协。“
2:
“缺点是并不是所有的TCP数据都可以放入32位的序列号字段,因此高性能所需的某些TCP选项可能会被禁用。” 这意味着,即使您的服务器当前没有受到攻击,如果启用SYN Cookie,select性应答和TCP窗口缩放等选项也将不起作用。