什么是防火墙?
在遭受入侵时,做内外网隔离的策略叫做防火墙。
防火墙分类
- 按物理特性划分:软件防火墙、硬件防火墙;
- 按性能划分:百兆级防火墙、千兆级防火墙……
- 按防火墙结构划分:单一主机防火墙、路由集成防火墙、分布式防火墙……
- 按防火墙技术划分:应用代理防火墙、状态检测防火墙……
防火墙的功能
- 访问控制
- 地址转换
- 网络环境支持
- 带宽管理功能
- 入侵检测和攻击防御
- 用户认证
- 高可用性
防火墙发展史
- 包过滤防火墙(1989):访问控制代理防火墙
- 代理技术状态防火墙(1994-5):会话机制
- UTM(2004-5) :多功能叠加
- 下一代防火墙(2009):深度检测技术
- 网闸(国内):默认设备在物理上不连通,当软件层面放通流量时,内部的拨片连接
包过滤防火墙
本质
使静态ACL,并且是逐包检测的技术
工作过程
缺点
- 检查数据逐包检查,效率低;
- 绝大多数都是静态ACl;
- 无法检查应用层的内容;
应用的技术发展和漏洞
双向ACL+动态NAT
入向的源IP和目的端口必须写成any
漏洞:
- 可以通过伪造数据包突破
- 可以通过不停的给防火墙的公网地址发送TCP的SYN包不发ACK占满防火墙的TCP等待表使防火墙无法建立新的TCP连接(半开攻击)
established acl
一个ACL能够拒绝外部向内部主动建立TCP连接,而不影响内部与外部的主动建立连接:检查Flag字段,查看TCP的RST(用于强制释放连接)和ACK的置位,可以做策略只有这两种置位的包可以进入内网,当外部想与内部主动建立TCP连接必须发送SYN包,该策略可以防止SYN进入。
漏洞:
- 黑客发送大量伪造的ACK包,影响性能;
- 黑客发送伪造RST包,使内网的TCP连接及内存强制断开清除;
自反ACL
当内部有包向外部发送,自反ACL将这个包的源目倒置的放行写在另一个ACL挂在回来的口,如果外部主动向内部发包,ACL中没有记录会被拒绝;
应用代理防火墙
代理内外网的数据将数据包应用层数据检查一遍
缺点:
由于要拆包检测数据所以性能很弱
状态检测防火墙(三四层防御)
理念升级,把网络中的数据以流的形式对待。流在状态防火墙,会形成会话表。
会话表的建立
会话表建立前提:检测路由或者MAC看是否能出去(有无出接口);NAT;策略检查;
过程:
- 流的第一个包进入防火墙,防火墙先去匹配规则,如果规则允许会到第二步,如果规则不允许,丢弃。(路由规则、nat的规则、策略);
- 会为流建立会话表,后续所有流的包直接匹配会话表进行转发。2.会为流建立会话表,后续所有流的包直接匹配会话表进行转发。
超时机制:
- 握手阶段会话表超时时间一般60s,防止tcp半开攻击。
- 握手成功一般会话表的超时时间为60min。
缺点
只检查三、四层,无法防御病毒漏洞等攻击;
UTM(统一威胁管理)
多功能叠加防火墙,深度包检测技术,多次拆包,多次检测应用层性能低
应用技术
- IDS入侵监测系统
- IPS入侵防御系统:深度包检测技术(应用层内容特征)、深度流检测技术(流量的行为特征)
- WAF:web应用防火墙,本质上是HTTP的代理服务器,只能防御针对web的攻击
防火墙性能指标
吞吐量
- 吞吐量:防火墙能同时处理的最大数据量
- 有效吞吐量:除掉TCP因为丢包和超时重发的数据, 实际的每秒传输有效速率
- 衡量标准:吞吐量越大,性能越高
时延
- 定义:数据包的第一个比特进入防火墙到最后一个比特输出防火墙的时间间隔指标
- 用于测量防火墙处理数据的速度理想的情况,测试的是其存储转发(Store and Forward)的性能。
- 衡量标准:延时越小,性能越高
丢包率
- 定义:在连续负载的情况下,防火墙由于资源不足,应转发但是未转发的百分比。
- 衡量标准:丢包率越小,防火墙的性能越高
背靠背(缓存)
衡量标准:背靠背主要是指防火墙缓冲容量的大小。网络上常会出现一些突发的大流量(例如:NFS,备份,路由更新等),而且这样的数据包的丢失可能会产生更多的数据包丢失。强大的缓冲能力可以减小对这种突发网络情况造成的影响。
并发连接数
- 定义:由于防火墙是针对连接进行处理的,并发连接数目是指防火墙可以同时容纳的最大的连接数目,一个连接就是一个TCP/UDP的访问。
- 衡量指标:并发连接数指标越大,抗攻击能力也越强。
防火墙的问题
FTP的问题?
- 请求和传输分为俩个端口实现,传输由服务器主动发出,防火墙的会话表是没有这个状态的,导致FTP传输无法成功。
- 端口检测技术(ISPF),检查21号端口的传输的数据的数据部分(应用层)查看传输的协商端口,然后在防火墙上开放此端口。
- 这种技术会使得防火墙性能下降。
ICMP的问题?
- 没有端口,防御能力继续下降。一般防火墙会默认禁止icmp回报。
UDP的问题?
- 没有flag字段,所以检测的元素会变少,防御效果会减弱。而且udp是无连接的,只能通过源目IP,端口去判断。
- UDP对防火墙来讲也会创建虚连接会话表。