防火墙
一种高级访问控制设备,置于不同网络安全域之间的一系列部件的组合,它是不同网络安全域间通信流的唯一通道,能根据企业有关的安全政策控制(允许、拒绝、监视、记录)进出网络的访问行为
防火墙的作用
- 过滤进出网络的数据包
- 管理进出网络的访问行为
- 封堵某些禁止的访问行为
- 记录通过防火墙的信息内容和活动
- 对网络攻击进行检测和告警
- 能过滤大部分的危险端口
- 设置严格的外向内的状态过滤规则
- 抵挡大部分的拒绝服务攻击
防火墙相关问题以及技术
1、TCP 超时机制
- 握手阶段超时时间一般60s
DOS攻击:不停的握手不回包
DDOS攻击:用不同的主机进行握手(大量僵尸机) - 握手成功一般会话表的超时时间为60min
2、FTP
先用21号端口发送请求,服务器换一个端口号主动向客户端发送一个传输链接(由于回建立连接的不一定是21端口,数据被防火墙的会话表过滤掉了),端口检测技术,检查21号端口的传输数据的数据部分(应用层),查看传输的协商端口,然后在防火墙上开放此端口,这种技术会使得防火墙性能下降
3、UDP
没有flag字段,所以检查的元素会变少,防御效果会减弱,而且udp是无连接的,只能通过源目ip,端口判断,UDP对防火墙来讲也会创建虚链接会话表
4、ICMP的问题:
没有端口,防御能力继续下降,一般防火墙会默认禁止icmp回包
5、针对应用层的攻击
会话表无法查看应用层的内容,无法防止基于应用的攻击(对于这个网络层的防火墙无能为力,有专门针对应用层的防御,针对应用开发相应的防御设备和软件)
6、入侵检测技术
- 深入到数据包内提取入侵点的特征因素
- 深度包检测技术(防止SQL注入,检测select等语句并判定为入侵行为deny掉)
- 深度流检测技术(行为检测),早年间只是预警,无法防御
7、入侵检测IDS
检测到以后连到防火墙让它动态产生策略
8、IPS
入侵防御 防火墙干掉三四层的攻击,IPS用来防御应用层的攻击,应用入侵检测作出入侵反应
9、僵尸网络监测(查找已知僵尸网络的数据库)
10、UTM
多功能防火墙,将需要用到的安全设备进行整合,设备中整合了很多模块,解决了多次拆包、多次检测、应用层性能低的问题
11、沙盒技术
把有问题的包拿出来组装,在一个隔离的空间运行,观察其行为,进行威胁判定
12、防火墙可以识别inside和outside的语句,默认inside到outside允许,反之不允许,因此由内到外做策略做拒绝,由外到内做允许(安全等级不同)
13、配置防火墙要关注其默认的策略
防火墙的发展历程
防火墙从诞生开始,已经历了四个发展阶段:
- 基于路由器的防火墙
- 用户化的防火墙工具套
- 建立在通用操作系统上的防火墙
- 具有安全操作系统的防火墙
防火墙基本工作原理
基本防火墙:网络层、传输层
高级防火墙:数据链路层、会话层、应用层
- 包过滤(Packet filtering):工作在网络层,仅根据数据包头中的IP地址、端口号、协议类型等标志确定是否允许数据包通过
- 应用代理(Application Proxy):工作在应用层,通过编写不同的应用代理程序,实现对应用层数据的检测和分析
- 状态检测(Stateful Inspection):工作在2~4层,访问控制方式与1同,但处理的对象不是单个数据包,而是整个连接,通过规则表和连接状态表,综合判断是否允许数据包通过
- 完全内容检测(Compelete Content Inspection):工作在2~7层,不仅分析数据包头信息、状态信息,而且对应用层协议进行还原和内容分析,有效防范混合型安全威胁
1、包过滤防火墙,也叫分组过滤防火墙,根据分组包的源、目的地址,端口号及协议类型、标志位确定是否允许分组包通过。
优点
- 高效、透明
缺点
- 不能防范部分的黑客IP欺骗类攻击
- 不能跟踪TCP连接的状态
- 不支持应用层协议
- 对管理员要求高
判断条件
- 数据包协议类型:TCP、UDP、ICMP、IGMP等
- 源、目的IP地址
- 源、目的端口:FTP、HTTP、DNS等
- IP选项:源路由选项等
- TCP选项:SYN、ACK、FIN、RST等
- 其它协议选项:ICMP ECHO、ICMP ECHO REPLY等
- 数据包流向:in或out
- 数据包流经网络接口:eth0、eth1
2、应用网关防火墙,也叫应用代理防火墙,每个代理需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务
优点
- 安全性高
- 提供应用层的安全
- 可以检查应用层、传输层和网络层的协议特征,对数据包的检测能力比较强
缺点
- 性能差
- 伸缩性差
- 只支持有限的应用
- 不透明
- 难于配置
- 处理速度较慢
3、状态检测防火墙,又称动态包过滤防火墙,对于新建立的应用连接,状态检测型防火墙先检查预先设置的安全规则,允许符合规则的连接通过,记录下该连接的相关信息,生成状态表,对该连接的后续数据包,只要是符合状态表,就可以通过,目前的状态检测技术仅可用于TCP/IP网络
优点
- 连接状态可以简化规则的设置
- 提供了完整的对传输层的控制能力
- 使防火墙性能得到较大的提高,特别是大流量的处理能力
- 根据从所有层中提取的与状态相关信息来做出安全决策,使得安全性也得到进一步的提高
缺点
- 对应用层检测不够深入
4、复合型防火墙,可以检查整个数据包内容,根据需要建立连接状态表,网络层保护强,应用层控制细,会话控制较弱
1)传统的包过滤和状态检测防火墙弱点
- 没有深度包检测来发现恶意代码
- 不进行包重组
- 恶意程序可以通过信任端口建立隧道穿过去
- 传统的部署方法仅仅是网络边缘,不能防御内部攻击分组过
2)深度检测防火墙
- 深度检测技术深入检查通过防火墙的每个数据包及其应用载荷
- 以基于指纹匹配、启发式技术、异常检测以及统计学分析等技术的规则集,决定如何处理数据包
- 可以更有效的辨识和防护缓冲区溢出攻击、拒绝服务攻击、各种欺骗性技术以及蠕虫病毒
5、四种防火墙对比
包过滤防火墙:包过滤防火墙不检查数据区,包过滤防火墙不建立连接状态表,前后报文无关,应用层控制很弱
应用网关防火墙:不检查IP、TCP报头,不建立连接状态表,网络层保护比较弱
状态检测防火墙:不检查数据区,建立连接状态表,前后报文相关,应用层控制很弱
复合型防火墙:可以检查整个数据包内容,根据需要建立连接状态表,网络层保护强,应用层控制细,会话控制较弱
防火墙的分类
1、按照操作对象:主机防火墙、网络防火墙
2、按照实现方式:软件防火墙、硬件防火墙
3、按照过滤和检测方式:包过滤防火墙、状态防火墙、应用网关防火墙、地址转换防火墙、透明防火墙、混合防火墙
防火墙安全规则配置
- 防火墙安全规则遵循从上到下匹配的原则,一旦有一条匹配,剩余的都不进行匹配
- 如果所有的规则都没有匹配到,数据包将被丢弃
- 安全过滤规则主要包含源、目的地址和端口,TCP标志位,应用时间以及一些高级过滤选项
防火墙工作流程
防火墙性能指标
1、吞吐量:在不丢包的情况下能够达到的最大每秒包转发数量
吞吐量作为衡量防火墙性能的重要指标之一,吞吐量小就会造成网络新的瓶颈,以至影响到整个网络的性能
2、时延:数据包最后一个比特进入防火墙到第一比特从防火墙输出的时间间隔
防火墙的时延能够体现它处理数据的速度
3、丢包率:在连续负载的情况下,防火墙设备由于资源不足应转发但却未转发的帧百分比
防火墙的丢包率对其稳定性、可靠性有很大的影响
4、 并发连接数:指穿越防火墙的主机之间,或主机与防火墙之间,能同时建立的最大连接数
并发连接数的测试主要用来测试防火墙建立和维持TCP连接的性能,同时也能通过并发连接数的大小体现防火墙对来自于客户端的TCP连接请求的响应能力
5、新建连接数:指穿越防火墙的主机之间,或主机与防火墙之间,单位时间内建立的最大连接数
新建连接数主要用来衡量防火墙单位时间内建立和维持TCP连接的能力
防火墙的应用
1、透明模式/桥模式
一般用于用户网络已经建设完毕,网络功能基本已经实现的情况下,加装防火墙以实现安全区域隔离的要求,一般将网络分为内部网、DMZ区和外部网
2、 路由/NAT模式
一般用于防火墙需要提供路由和NAT功能以便连接上网的情况下,同时提供安全过滤功能, 一般将网络分为内部网、DMZ区和外部网
3、混合模式
实际应用中,一般网络情况为透明模式和路由模式的混合
防火墙的缺陷
- 不能防范不经过防火墙的攻击
- 对新出现的漏洞和攻击方式不能迅速提供有效的防御方法
- 紧急情况下无法做到迅速响应
- 无法防止内部的攻击
- 不能关闭需提供对外服务的端口
- 无法防止利用TCP/IP等协议漏洞的攻击
- 不能防止受病毒感染文件的传输
- 防火墙自身也可能存在安全漏洞