1、会话攻击,具体的表现是某台电脑或服务器中毒,发大量的目标IP和端口随机的报文,每秒新建会话数会有数万,并发会话数会达到几十甚至上百万,大量的瞬间新建会话会导致设备新建会话资源耗尽,导致正常用户无法上网或丢包;
2、前期的版本已经有了限制每IP并发会话数据功能,针对高端设备在做了并发会话数限制,ip session filter ,CPU 保护功能后在不开启应用识别的情况下,基本可以解决90%以上的攻击故障;
3、目前发现有个别场景在开启以上防护后还是不能彻底的解决问题,所以开发防新建会话攻击功能;
4、以下场景可以开启此功能
1)、配置了并发会话数限制,ip session filter ,CPU 保护功能后在攻击依然会出现丢包;
2)、用户不愿意做并发会话限制;
3)、需要做更好防护和需要找到攻击源
四、配置步骤
1.限制设备启机后3分钟内所有IP的新建会话数
ip new-session-limit start-up limit 15000
设备启机三分钟内,所有虚拟IP每秒新建的连接数加起来不能超过15000,此功能只在刚开机前3分钟有用,适用于受到攻击时重启设备时使用,以免设备刚重启就被攻死了;
2.限制虚拟IP的总新建会话数
ip new-session-limit virtual-host limit 15000
开机三分钟后,所有虚拟IP每秒新建的连接数加起来不能超过15000,此配置建议配合ip session filter功能使用,防止内网有伪源ip攻击时占用了大量虚IP会话,导致刚开机的正常用户可能出现短时间不能上网;OSPF,SNMP使用的是UDP协议,默认也会被识为虚拟IP限制,建议把OSPF的邻居地址(与EG互联的对端接口IP)配置为例外信任IP;
3.限制整网真实IP的每秒新会话数
ip new-session-limit real-host limit 300
整网每个真实主机的每秒新建连接数不超过300,限制值也可以根据实际情况调整,一般情况主机和括服务器上网有每秒新300个会话数已经完全足够了,因为在真实环境中,10000人同时在线的情况下,所有用户加起的新建会话也只有2000左右;
4.配置例外信任主机的新会话
ip new-session-limit specify-host 192.168.1.199 limit 1000
指定某个真实主机的每秒新建连接数限制,0是不限制,优先级比全局整网限制规则高,匹配了这个条就不会去匹整网每IP的限制的规则,目前只支持指定单个IP,不支持网段,该命令可以配置多条,一般针对DNS服务器配置例外或确实有发大量请求到外网的服务器,此命令指定的IP只要有流(不一定要是TCP流)即被识别为真实IP;另外OSPF,SNMP使用的是UDP协议,默认也会被识为虚拟IP限制,建议把OSPF的邻居地址配置为例外信任IP
五、配置验证
1、查看新建会话数限制的配置
show ip new-session-limit
2、查看新建会话攻击IP
show ip new-session-limit attack
查看最近一次的攻击,只记录100个攻击IP,可以通过此命令来查看内网攻击;
实例:
EG2000XE-1#show ip new-session-limit attack
HOST-TYPE HOST-IP TIME
============================================================
real-host 209.129.128.14 2014-11-10 15:46:44
EG2000XE-1#show ip fpm flows | include 209.129.128.14
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 62336 80 0 69690 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 46812 80 0 73730 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 5040 80 0 67670 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 51838 80 0 61610 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 36091 80 0 64640 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 64094 80 0 73730 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 53274 80 0 66660 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 38012 80 0 61610 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 15700 80 0 65650 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 61170 80 0 81810 0 TCP_SYN_SENT
TCP 209.129.128.14 (58.57.172.246) 60.190.216.223 52328 80 0 64640 0 TCP_SYN_SENT
可以看到IP 209.129.128.14 发送了大量的syn报文攻击IP 60.190.216.223,一般这种情况是服务器或电脑中毒了,建议用户针对这台机器杀毒;
六、注意问题
1.防新建会话攻击只针对从内网接口(LAN属性接口)来的新建数据流生效;
2.针对DNS服务器,需要配置为例外信任IP,把新会话配置大一些1000-3000,及只要有建流及识别为真实IP,不需要一定要有建TCP流才识别为真实IP,配置方法:
ip new-session-limit specify-host 192.168.1.199 limit 1000
3.OSPF,SNMP使用的是UDP协议,默认也会被识为虚拟IP限制,需要把OSPF的邻居地址也配置为例外信任IP
如:通过show ip ospf neighbor 可以看OSPF的邻居地址为51.70.224.190
Ruijie#show ip ospf neighbor
OSPF process 10, 2 Neighbors, 1 is Full:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.5 1 Full/BDR 00:00:39 51.70.224.190 TenGigabitEthernet 0/0
配置例外:
ip new-session-limit specify-host 51.70.224.190 limit 1000