资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,DDOS攻击防护的基本原理,DDOS攻击类型,流量型攻击,使用大量的包含伪造信息的数据包,耗尽效劳器资源,使其拒绝效劳,常见:SYN Flood,ACK Flood,UDP Flood,ICMP Flood,Fragment Flood,NonIP Flood等,连接型攻击,使用大量的傀儡机,频繁的连接效劳器,形成虚假的客户请求,耗尽效劳器资源,使其拒绝效劳,常见:CC攻击,HTTP Get Flood,传奇假人攻击等,流量攻击防御,我们主要使用连接跟踪模块,来实现对流量攻击的防御,TCP,连接跟踪,TCP,状态转换图,UDP,连接跟踪,确认双向数据,流量攻击防御SYN Flood,伪造大量的TCP SYN请求,使受攻击效劳器频繁的向虚假地址回应SYN-ACK,并耗用过多的内存来存储虚假的请求,最终到达使效劳器拒绝效劳的目的,SYN Flood攻击抓包,防护策略,我们的防护策略:本质来说是SYN-Proxy来进展防御。SYN-Proxy的根本过程,就是客户端首先和防火墙建立连接,之后防火墙再和效劳器建立连接,并进展两个连接之间的数据传输。伪造源的半连接攻击,攻击器无法和防火墙建立连接,所以攻击数据会被防火墙全部拦截下来,不会到达效劳器,到达防护的目的,我们墙上对这两个连接的建立是优化过的处理模式,防火墙上只创立一个连接对象,也只显示一个连接计数。同时对数据的转发也是优化过的模式。,SYN-Proxy根本原理图,SYN-Proxy根本原理,辅助的优化模式,还有一些辅助的优化模式,可以提高攻击防御能力:,Urgent状态:进入SYN防护模式后,假设攻击量小于SYN-Urgent,对已经访问过的客户端,会直接做回应。否那么全部按照新客户访问来处理。这样在大流量攻击下,可以很大程度上降低防火墙负载,重传机制:对新客户访问,依靠TCP重传来到达减少SYN-ACK回应的效果。客户端发送第一个SYN后,防火墙摘取相关信息后不做回应,直接丢弃。之后依据TCP协议标准,正常的客户端在3秒后还要发送第二个SYN,防火墙接收到这个SYN时,进展一些检测,判断是不是正常的客户端重传,之后才回应SYN-ACK。这样可以有效减少防火墙的负载,并减少客户的外出带宽占用,旁路模式墙有些区别,没有SYN-Urgent相关的处理,涉及参数:,SYN Flood,保护,SYN Flood,高压保护,SYN Flood,单机保护,TCP,端口保护设置,流量攻击防御ACK Flood,我们所指的ACK报文,指TCP头部设置了ACK、FIN、RST标志的报文,例如ACK,FIN,FIN-ACK,RST、RST-ACK等,效劳器在接收到ACK类报文之后,首先查找自身的连接表,如果找不到,那么会在一定频率内发送RST报文,通知客户端重置断开连接。因此ACK类攻击对效劳器造成的影响有限,但防火墙还是应该将攻击阻挡在墙外,否那么效劳器很容易因为带宽耗尽而拒绝效劳,我们的防护策略:依靠连接跟踪来识别出异常的ACK。在进展正常的连接处理之后,如果没有匹配的连接,那么该ACK会被识别成异常ACK。异常ACK超过阀值会进入ACK模式,之后的异常ACK会被丢弃,某些TCP连接关闭后,防火墙上的连接对象也会同时销毁。但双方可能会有一些遗留数据linger data)依然继续传输,所以会被识别成异常ACK,这些根本不会造成影响,涉及参数:,ACK&RST Flood,保护,TCP,端口保护设置,流量攻击防御UDP Flood,UDP Flood,由于UDP协议不需要握手过程,因此从大量伪造源的UDP流量中识别出正常客户的数据,根本是不可能的一件事,UDP Flood攻击抓包,我们的防护策略:,UDP协议无关的效劳器:使用默认的UDP端口保护设置,直接进展限流防护,UDP协议相关的效劳器:分析客户应用的情况,设置端口保护的特殊属性。还可以通过抓包,得到客户应用的登陆数据,设置相应的协议模式,实现针对性的防御,涉及参数:,UDP,保护触发,UDP,端口保护设置,UDP端口保护的属性:,开放端口:确认该端口开放,同步连接:假设同时存在同一客户端的TCP连接,那么放行该客户端的UDP数据。用于一些视频聊天室比较有效。因为一些聊天室是先通过WEB翻开聊天室,然后网页中的视频插件连接效劳器,发送UDP数据。这样UDP到达效劳器前就一定已经建立了TCP连接,延时提交:主要用于DNS的防护。普通DNS客户端,当发送第一个DNS查询之后,没有收到回应,会在2秒后发送第二个查询,因此可以用于识别出正常客户端。之前有些攻击器会模拟该重传,新版本的墙对于该类攻击已经有较高的识别率,因此可以有效防御DNS攻击,验证TTL:对UDP数据的IP头部TTL进展统计,如果某个数值的TTL频率过高,会进展屏蔽。可在一定程度上防御UDP类攻击,流量攻击防御,DNS Query Flood,DNS Query Flood,攻击是,UDP,攻击的一种:,DNS,协议使用,UDP,协议为载体,端口,53,UDP/DNS,攻击由于无法验证源地址的有效性,无法实现完美的防御,如果对方用的攻击器可以绝对随机伪造攻击包的话,DNS Flood攻击抓包,我们的防御策略:,通过插件检测,53,端口的,UDP,数据,剔除非,DNS,查询的攻击包,通过延时提交,强制客户端重传查询,应对某些无法生成重传包的,DNS,攻击器,通过验证,TTL,,应对某些固定,TTL,的,DNS,攻击器,通过重传检测算法,应对某些生成重传包的,DNS,攻击器,可以通过插件学习正常流量时的访问,IP,,受到攻击时只放行访问过的,IP,涉及参数:,UDP,保护触发,UDP,端口保护设置,DNS Service Protection,参数,DNS插件参数:,参数1:正常情况的DNS请求频率。低于该值,插件将记录所有的DNS请求源地址,参数2:攻击情况的DNS请求频率。高于该值,插件将只放行记录过的源地址,介于上两个值之间,那么只是放行数据,而不做记录,流量攻击防御简单截流,对于某些业务无关的协议,可以使用简单截流策略防御攻击:,ICMP Flood,IGMP Flood,Fragment Flood,NonIP Flood,注意:,IGMP,攻击计入,NonIP,攻击,连接攻击防御WEB效劳器,特点:大量的HTTP请求,使得效劳器 CPU过载,数据库阻塞,外出带宽占用大,攻击机制:,由攻击器直接生成HTTP请求,高攻击负载:连接频率高,带宽占用大,易于防护:攻击器无法解析WEB脚本,由攻击器调用浏览器形成HTTP请求,需要调用浏览器,攻击频率相对较低,难于防护:完整的客户端请求,我们的防御策略:,WEB Plugin,对新客户端的,HTTP,请求,由插件返回,一个包含验证,脚本,的页面,正常的,浏览器,将执行这段脚本,并由脚本重定向到,原始,页面,,并,附加计算出的验证码,防火墙得到该验证码后判断该客户端是否可信,攻击器一般无法解析脚本,因此无法完成验证码的计算,利用互动操作,识别自然人或攻击器,防御模式,简单防御模式:直接返回验证码,由脚本实现跳转,普通防御模式:验证码需要客户端执行复杂的计算脚本,并由脚本实现页面的跳转,增强防御模式:返回包含“点击进入连接的页面,由客户点击后计算验证码并跳转,用于防护调用浏览器的攻击方式,完美防御模式,需要一台验证效劳器,部署于防火墙内,并设置好验证页面及验证码图片的生成脚本,防火墙在接收到新客户的HTTP请求后,返回重定向页面,指向验证效劳器,客户端随后向验证效劳器提交请求,防火墙修改该请求并附加验证码,提交给验证效劳器,效劳器生成验证码图片,发送给客户端,用户手动输入验证码,交由防火墙判验证,使用验证效劳器完成验证访问过程,插件参数:,参数1:启用的验证模式。此值大于256,表示对所有类型的页面进展验证,0,256:不执行跳转过程,1,257:生成跳转页面,由javascript执行跳转。假设客户端没有开启javascript,可以由用户手动点击,2,258:上一模式的根底上,将验证代码进展表达式变换,3,259:在上一模式的根底上,将javascript执行的跳转,变成用户点击操作,4,260:验证效劳器模式,由外部验证效劳器来辅助验证过程,参数2:对同一个页面的请求次数,如果超过次设置值,那么该客户端将被屏蔽,参数3:监测效劳器回应,假设超过次数值没有304 Not Modified,那么执行一次异常,连接攻击防御游戏效劳器,特点:游戏效劳器因为比较复杂,弱点也比较多,所以受到攻击很容易拒绝效劳,攻击机制:,空连接攻击:频繁的连接效劳器,随后断开,造成效劳器处理队列阻塞,连接攻击:频繁的连接效劳器,发送大量垃圾数据,造成效劳器忙于解码垃圾数据,无法处理正常业务,传奇假人攻击:攻击器可以完整的模拟创立人物、登陆效劳器的过程,造成效劳器人满为患,正常玩家无法登陆游戏,我们的防御策略:Game Plugin,对于刷端口攻击,很多攻击器都是对同一个端口频繁建立连接。因此插件判断某个客户端是否翻开假设干个效劳器端口,假设只对同一个端口频繁连接,那么会屏蔽该客户端,对于游戏应用来说,效劳器回应的数据比客户端发送的数据要大很多,因此该插件还会判断客户端同效劳器之间的数据比例,如果比例无法到达设定值,那么会屏蔽该客户端,对于传奇假人攻击,插件会在玩家登陆30秒后发送验证码对话框,玩家假设无法完成验证码的输入,那么会被断开连接。次数过多那么会被屏蔽,插件参数:,参数1-3:用于开放端口检测的3个游戏端口,为0那么表示不设置,为65535那么可匹配任一端口,参数4:低位字节,为连接频率检测值,当建立连接超过该设置值,那么进展开放端口检测;高位字节,为端口60秒内最多允许的报文总数,参数5:测试数据因子时的客户端需要发送的数据量,参数6:效劳器返回数据因子,参数7:用于区别登陆包和创立人物包的报文长度,参数8:低位字节,登陆包应具有的延时;高位字节,创立人物包应具有的延时,参数9:创立人物限制。每创立指定数量人物,那么执行一次异常,参数10:扩大防护模式,0:默认,不启用,1:传奇2防护模式。玩家登陆后将收到数字组成的验证码,输入验证码可通过验证,2:启用传奇2防护模式。玩家登陆后将收到由ASCII字符组成的验证码图形,输入代码即可通过验证,连接攻击防御其它效劳器,攻击:,使用Misc Plugin来进展防御,由插件返回相关协议的回应文本,假设客户端随后发送正常的协议请求,那么认为该客户端可信,插件参数:,参数1:端口防御模式,0:FTP防御,1:SMTP防御,2:POP3防御,
展开阅读全文