防火墙担保攻击防范技术应用
一、单包攻击:
扫描窥探攻击(潜在的攻击行为,并不具备直接的破坏行为,为后续发送攻击做准备)
畸形报文攻击(发送有缺陷的报文,从而造成主机或者服务器在处理时系统崩溃)
特殊报文攻击(潜在的攻击行为,为后续发送攻击做准备,综合了扫描窥探攻击和畸形报文攻击)
1.扫描窥探攻击:
1)地址扫描攻击:运用ping程序探测目标地址,以用来确定目标系统是否存活的标识。也可以使用TCP/UDP报文对目标系统发起探测
处理方法:检测进入防火墙的ICMP,TCP和UDP报文,由该报文的源IP地址获取统计表项中的索引,入目的IP地址与前一报文的IP地址不同,则将表项中的报文个数增1.如果在一定时间内报文的个数达到设置的阈值,记录日志,并根据配置决定是否将源IP地址加入黑名单
2)端口扫描攻击:Port Scan攻击通常使用一些软件,相大范围的主机的一系列TCP/UDP端口发起连接,根据应答报文判断主机是否使用这些端口提供服务。
2.畸形报文攻击:
1)SMURF 攻击:SMURF攻击方法事发ICMP请求,请求包的目标地址设置为受害网络的广播地址,这样该网络的所有主机都对此ICMP应答请求做出答复,导致网络拥塞
处理方法:检查ICMP应答请求包的目的地址是否为子网广播地址或子网的网络地址,若是,则直接拒绝,并将攻击记录到日志
2)LAND 攻击:把TCP的源地址和目标地址都设置成一个受害者IP地址,这将导致受害者向他自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,占用系统资源或使目的主机崩溃
处理方法:对每一个ip报文进行检测,若其源地址与目的地址相同,或者源地址位环回地址(127.0.0.1),则直接拒绝,并将攻击记录到日志中
3)Fraggle 攻击:Fraggle类似smurf攻击,使用UDP应答消息而非ICMP,udp端口7和端口19在收到UDP报文后,大量无用的应答报文,沾满网络带宽
处理方法:检查进入防火墙的UDP报文,如果目的端口号7或者19,则直接拒绝,并将攻击记录到日志,负责允许通过
IP Fragment攻击:IP报文中有几个字段跟分片有关DF位、MF位,Fragment Offset、Length。如果上述字段的值出现矛盾,而设备处理不当,会对设备造成一定的影响,设置瘫痪
处理方法:检查IP报文中与分片有关的字段是否有矛盾,若发现有如下矛盾,则直接丢弃。将攻击记录
DF位为1,而MF位也为1或Fragment Offset 不为0
DF位为0,而Fragment Offset +Length>65535
4)IP spoofing攻击:为了获得访问权,或隐藏入侵者身份信息,入侵者生成带有伪造源地址的报文
处理方法:检测每个接口流入的ip报文的源地址和目的地址,并对报文的源地址反查路由表,入接口与以该IP地址为目的地址的最佳出接口不相同的ip报文视为IP spoofing攻击,将被拒绝,并进行记录
5)Ping of death攻击:ip报文的长度字段为16位,这表明IP报文的最大长度位65535,ping of death利用一些超大尺寸的ICMP报文对系统进行的一种攻击
处理方法:检测ICMP请求报文长度是否超过65535kb
3.特殊报文攻击
潜在的攻击行为,为后续发送攻击做准备,综合了扫描窥探攻击和畸形报文攻击
4.URPF技术
单播逆向路径转发,用来抵御IP欺骗
为了防止伪造的IP包攻击自己的网络,在网络入口处,核实IP包的来源,如果来源可疑,直接丢弃;如果通过URPF检查,则允许IP包进入。
类型:松散模式,严格模式
URPF如何检查IP包来源?
根据IP包中的源IP地址,查询路由表,有两个判断依据:
1. 是否有到源IP的路由
2. IP包是否从路由表中下一跳对应的接口接收到?
严格模式要求两个条件都满足,松散模式只需满足一个或一个以上的条件就可以。
二、DDoS攻击
-----通过大量的流攻击
七层防御体系
七层防御技术是通过在Anti-DDos设备上配置防御策略来实现
1.DDOS通用防御方法
1)首包丢弃:(来判断是攻击者还是用户)有些攻击是不断变换源IP地址或者源端口号发送攻击报文,通过首包丢弃,可以有效拦截这部分流量。首包丢弃与源认证结合使用,防止虚假源攻击
2)阻断和限流:通过服务学习或经验发现网络种根本没有某种服务或者某种服务流量很小,可以分别采用阻断和限流方法来抵御攻击
3)静态指纹过滤。通过配置静态指纹,对命中指纹的报文进行相应的处理,从而对攻击流量进行防御
TCP/UDP/自定义服务可基于载荷(报文的数据段)提取指纹
DNS报文针对域名提取指纹
HTTP针对通用资源标识符URI提取指纹
2.流量型攻击防御技术:
TCP类报文攻击防御:
SYN Flood攻击)抵御:Anti-DDoS设备
1)基于传输协议层的源合法性验证技术
流量达到阈值之后,才会启用防范技术。有回应,则允许,没有回应,则加入黑名单
来回路径不一致只可以用源合法验证技术,但来回路径一直情况下也可以使用反向探测技术。
2)SYN-ACK Flood攻击和防御原理
会话检查和载荷检查结合来防御ACK Flood攻击
防御原理:当ACK报文速率超过阈值时,启动会话检查
如果清理设备检查到ACK报文没有命中会话,通过严格模式(类似状态检测,非首包直接丢弃)或者基本模式处理。
如果清洗设备检查到ACK报文命中会话,则检查会话创建的原因
载荷检查时清洗设备对ACK报文的载荷进行检查,如果载荷内容完全一致(如载荷内容全为1,正常报文内容不可能完全一致),则丢弃该报文
3)通过对报文源的合法性检查来防御SYN-Ack Flood攻击
防御原理:基于目的地址对SYN-ACK报文速率进行统计,当SYN-ACK超过阈值之后,启用源认证
UDP类报文攻击防御:
载荷检查和指纹学习:使用载荷检查和指纹方法防御具有规律性的UDP Flood攻击
3.DNS类报文攻击防御:
当用户访问某个网址时,会向DNS缓存服务器发出该网站的域名,以请求ip地址。当NDS服务器找不到对应关系时,会向DNS授权服务器发出请求。为了减少互联网上DNS的通信量,DNS缓存服务器会将对应关系存储在自己的dns服务器中。
1)DNS Request Flood攻击
攻击原理:针对缓存服务器攻击、针对授权服务器攻击
DNS Request Flood攻击源可能时虚假源,也可能是真实源。
防御方法:
针对真实源攻击
经过上述防御过程后,通过的DNS报文还很大,则可以继续采用以下方式进行防御
DNS请求报文限速
指定域名限速
源IP限速
Anti-DDos设备还支持对异常DNS报文的检查,根据预定义的规则分别从以下三个方面进行检测
DNS报文的格式
DNS报文的长度
DNS报文的TL
4.HTTP类报文攻击
防御HTTP FLOOD 攻击的方法包括源认证、目的ip的uri检测和指纹学习
攻击原理:攻击者通过代理或者僵尸向目标服务器发起大量的http报文,请求涉及数据库操作的URI或者其他消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求
防御方法:
HTTP Flood 源认证
目的ip的URI检测
指纹学习