四.防止网络*** — 配置连接限制和超时
以下说明如何设定tcp和udp最大连接数,embryonic(半开)最大连接数、每客户端最大连接数、连接超时、DCD(死亡连接检测)和如何禁止TCP序列随即化。
连接数和半开连接数限制可以防止DoS***。安全设备使用per-client限制和半开连接数限制来阻止tcp intercept(截取);防止由TCP同步报文泛洪到接口,保护内部系统不受DoS***。胚胎(半开)连接是在源和目的之间,没有完成握手的连接请求。
Dead connect detection(DCD)死亡连接检测是检测一个死亡连接并允许其超出生存时间,没有超期的连接仍可以传输流量。如果为class配置了DCDtimeout,匹配class的流量就会被DCD检测;如果不配置DCDtimeout,流量即使匹配了class,也不会被DCD检测。如果想要释放idle空闲时,就配置DCD,但可用的连接是持续有效的。
    当启用DCD,空闲超时行为改变。当空闲超时,DCD检测会被发送到end-hosts终端主机,决定连接的有效性。如果按预先配置好的周期、连接空闲度检测后,end-hosts响应失败,DCD检测会通知每个end-hosts;如果end-hosts有响应,代表连接有效,timeout值会更新到当前时间,idle timeout会重新计算。
   如果以存在另一个启用了TCP sequence randomization(TCP序列随机化)的in-line防火墙,TCP sequence randomization要被禁用,否则会造成数据不规则性。每个TCP连接有两个初始化序列号InitialSequenceNumber(ISNs):一个由client生成,另一个由server生成,安全设备可以随机化由client与host/server生成的ISN。至少要有一个ISN被随机生成,以便***者不能预测下一个ISN而不能劫持session。
配置步骤:
1.首先使用ACl确定兴趣流量,然后使用class-map做流量分类(略)。
2.添加或编辑policy-map,关联class map流量。
hostname(config)#policy-map
hostname(config-pmap)#class class_map_name
3.设置最大连接限制、启用TCP随机序列等
hostname(config-pmap-c)# set connection {conn-max number | embryonic-conn-max number |
per-client-embryonic-max number | per-client-max number | random-sequence-number {enable |disable}}
4.设置TCP连接超时、半开超时、半闭超时和DCD检测超时
hostname(config-pmap-c)# set connection timeout {tcp <value> [reset]] [half-close <value>]
[embryonic <value>] [dcd [<retry-interval> [max-retries]]]}
half-close和tcp超时取值范围是0:5:0到1192:59:59,hh:mm:ss格式,缺省half-close值是0:10:0秒,TCP值是1:0:0。如果设值为0,表示永不超时。
embryonic <value>半开超时取值范围是0:0:5到1192:59:59,hh:mm:ss格式,缺省是0:0:30秒。如果设值为0,表示永不超时。
dcd <retry-interval>dcd检测尝试周期格式是hh:mm:ss(检测一次),范围是1秒到24小时。缺省值是15秒。
dcd <max-retries>dcd检测失败连续尝试次数,范围是1到255次,缺省5次。
5.应用service-policy策略到全局或某个接口
hostname(config)# service-policy policymap_name {global | interface interface_name}