快速了解防火墙
防火墙是一种由计算机硬件和软件组成的系统,部署于网络边界,是连接内部网络和外部网络(或内部网络不同安全级别的部门)之间的桥梁,同时对进出网络边界的数据进行保护,防止恶意入侵、恶意代码的传播等,保障内部网络数据的安全。
防火墙技术是建立在网络技术和信息安全技术基础上的应用性安全技术,几乎所有的企业内部网络与外部网络(如因特网)相连接的边界都会设置防火墙,它能够安全过滤和安全隔离外网攻击、入侵等有害的网络安全信息和行为。防火墙可以部署在企业网与因特网之间,也可以部署在企业内部不同安全级别的部门之间。
一般硬件防火墙有三条向外的连接线。一条连接到内网交换机上,一条连接外网的路由器上,还有一条连接到服务器区。
防火墙一般需要具有如下性质:
● 只允许本地安全策略授权的通信信息通过。
● 双向通信信息必须通过防火墙。
● 防火墙本身不会影响正常信息的流通。
除了硬件防火墙以外,还有计算机上安装的软件防火墙。
防火墙的作用
- 网络过滤。防火墙允许网络管理员定义一个中心“扼制点”来防止非法用户(如黑客、网络破坏者等)进入内部网络。
- 监视网络。在防火墙上可以很方便地监视网络的安全性,并产生报警。
- 部署网络地址变换(Network Address Translator,NAT)。防火墙可以作为部署NAT的逻辑地址。通过NAT技术,防火墙可以用来缓解地址空间短缺的问题,并消除单位在变换网络服务提供商时带来的重新编址的麻烦。
- 审计和记录Internet使用流量。网络管理员可以在此向管理部门提供Internet连接的费用情况,查出潜在带宽瓶颈的位置,并能够根据机构的核算模式提供部门级的计费。
- 向客户发布信息。防火墙是部署WWW服务器和FTP服务器的理想地点。还可以对防火墙进行配置,允许Internet访问上述服务,并禁止外部对受保护的内部网络上其他系统的访问。
防火墙的局限
- 防火墙不能防范绕过防火墙的攻击
- 防火墙不能防范来自内部人员的恶意攻击
- 防火墙不能阻止被病毒感染的程序或文件的传递
- 防火墙不能防止数据驱动式攻击
防火墙的技术实现
包过滤防火墙
包过滤防火墙是一种最简单的防火墙。
它在网络层截获网络数据包,根据防火墙的过滤规则来检测攻击行为
包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network LevelFirewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。这种防火墙在网络层提供较低级别的安全防护和控制。早期,这种防火墙与路由器的作用是相同的,有时也叫包过滤路由器
数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的,主要信息有:
- IP源地址
- IP目标地址
- 协议
- TCP或UDP包的目标端口
- ICMP消息类型
- TCP包头部的ACK位
- 数据包到达的端口
- 数据包出去的端口
优点
- 速度快,性能高
- 对用户透明
缺点
- 维护比较困难
- 安全性低
- 不提供有用的日志,或根本就不提供日志
- 不防范数据驱动型攻击
- 不能处理网络层以上的信息
- 无法对网络上的流动的信息提供全面的控制
应用层代理防火墙
应用层代理防火墙顾名思义就是用来给应用层程序或服务做代理的一类防火墙。代理(Proxy)服务是运行在防火墙主机上的专门的应用程序或者服务器程序,不允许通信服务直接经过外部网和内部网。
它将所有跨越防火墙的网络通信链路分为两段。
优点
- 应用层代理防火墙能够让网络管理员对服务进行全面的控制,因为代理应用限制了命令集并决定哪些内部主机可以被该服务访问。
- 网络管理员可以完全控制提供哪些服务,因为没有特定服务的代理就表示该服务不提供。
- 防火墙可以被配置成唯一的可被外部看见的主机,这样可以保护内部主机免受外部主机的进攻。
- 应用层代理有能力支持可靠的用户认证并提供详细的注册信息。另外,用于应用层的过滤规则相对于包过滤防火墙来说更容易配置和测试。
- 代理工作在客户机和真实服务器之间,完全控制会话,所以可以提供很详细的日志和安全审计功能。
缺点
- 代理的最大缺点是要求用户改变自己的行为,或者在访问代理服务的每个系统上安装特殊的软件。
- 每个应用程序都必须有一个代理服务程序来进行安全控制,每一种应用升级时,一般代理服务程序也要升级。
状态检测防火墙
状态检测防火墙技术主要是在进行包过滤的同时,检察数据包之间的关联性和数据包中动态变化的状态码,从而判断数据包当中有没有攻击
优点
- 安全性较好
- 性能高效
- 扩展性好
- 配置方便,应用范围广
缺点
- 无法过滤垃圾邮件、广告以及木马程序等
- 由于检测的内容比较多,因此防火墙的性能不高
- 配置比较复杂
防火墙的体系结构
包过滤结构防火墙
包过滤结构防火墙处理数据包的速度较快(与代理服务器相比),用它实现包过滤几乎不再需要多大的资源,而且包过滤路由器对用户和应用来说是透明的。
但是这种结构的防火墙维护起来比较困难。任何直接经过路由器的数据包都有被用作数据驱动式攻击的潜在危险,一些包过滤路由器不支持有效的用户认证,仅通过IP地址来判断是不安全的,所以安全性不是很高。它不能提供有用的日志或者根本不能提供日志。随着过滤器数目的增加,防火墙的吞吐量会下降。之后它可能无法对网络上流动的信息提供全面的控制。
双重宿主主机体系结构防火墙
双重宿主主机体系结构是围绕双重宿主主机构筑的
双重宿主主机至少有两个网络接口,它位于内部网络和外部网络之间,这样的主机可以充当与这些接口相连的网络之间的路由器,它能从一个网络接收IP数据包并将之发往另一网络。
实现双重宿主主机的防火墙体系完全阻止了内外网络之间的IP通信。因此IP数据包并不是从一个网络(如外部网络)直接发送到另一个网络(如内部网络)。外部网络能与双重宿主主机通信,内部网络也能与双重宿主主机通信。但是外部网络与内部网络不能直接通信,它们之间的通信必须经过双重宿主主机的过滤和控制。两个网络之间的通信可通过应用层数据共享和应用层代理服务的方式实现。
双重宿主主机防火墙可以将被保护的网络内部结构屏蔽起来,增强网络的安全性,也可用于实施较强的数据流监控、过滤、记录和报告等。
这种结构防火墙的缺点是访问速度慢,提供的服务相对滞后或者无法提供。双重宿主主机是隔开内外网络的唯一屏障,一旦它被入侵,内部网络便向入侵者敞开大门。
屏蔽主机体系结构防火墙
屏蔽主机体系结构由包过滤防火墙和内部网络的堡垒主机(应用层代理)承担安全责任。一般这种包过滤防火墙较简单,可能就是简单的路由器。它的典型构成是:包过滤路由器+堡垒主机。
将包过滤路由器配置在内部网和外部网之间,保证外部系统对内部网络的操作只能经过堡垒主机。将堡垒主机配置在内部网络上,它是外部网络主机连接到内部网络主机的桥梁,因此需要拥有高等级的安全。
这种体系结构的防火墙安全性更高。因为它有双重保护:实现了网络层安全(包过滤)和应用层安全(代理服务)。过滤路由器能否正确配置是安全与否的关键,如果路由器被损害,堡垒主机将被穿过,整个网络对入侵者是开放的。
屏蔽子网结构防火墙
屏蔽子网就是在内部网络和外部网络之间建立一个被隔离的子网,用两台分组过滤路由器(或叫包过滤防火墙)将这一子网分别与内部网络和外部网络分开。
主机组成部分功能:
1.周边网络
这种结构中周边网络是一个防护层,在其上可放置一些信息服务器,它们是牺牲主机,可能会受到攻击,因此又被称为非军事区(Demilitarized Zone,DMZ)。周边网络的作用是即使堡垒主机被入侵者控制,它仍可阻止入侵者对内部网的侦听。
2.堡垒主机
堡垒主机位于周边网络,是整个防御体系的核心。堡垒主机可被认为是应用层网关,可以运行各种代理服务程序。对于出站服务不一定要求所有的服务都经过堡垒主机代理,但对于入站服务应要求所有服务都通过堡垒主机。
3.外部路由器(访问路由器)
外部路由器的作用是保护周边网络和内部网络不受外部网络的侵犯。它可以把入站的数据包路由到堡垒主机。为了防止部分IP欺骗,它可以分辨出数据包是否真正来自周边网络,而内部路由器则无法做到。
4.内部路由器(阻塞路由器)
内部路由器的作用是保护内部网络不受外部网络和周边网络的侵害,它执行大部分过滤工作。外部路由器一般与内部路由器应用相同的规则。
优点:
安全性高
若攻击者试图破坏防火墙,他必须重新配置连接三个网的路由,既不能切断连接,同时又不能使自己被发现,难度系数高。
缺点:
- 不能防御内部攻击
- 不能防御绕过防火墙的攻击
- 不能防御新的威胁
- 不能防御数据驱动的攻击
常见防火墙的性能指标
-
最大位转发率
防火墙的位转发率是指在特定负载下,每秒钟防火墙将允许的数据流转发至正确的目的接口的位数。最大位转发率是指在不同的负载下,反复测量得出的位转发率数值中的最大值。
-
吞吐量
吞吐量即在防火墙不丢包的情况下所能够达到的最大包转发速率。吞吐量是衡量防火墙性能的重要指标之一,吞吐量小就会造成网络新的瓶颈,以致影响到整个网络的性能。
-
时延
防火墙时延是指从防火墙入口处输入帧的最后一位到达至出口处输出帧的第一位输出所用的时间间隔。防火墙的时延能够体现它处理数据的速度。
-
丢包率
在连续负载的情况下,防火墙设备由于资源不足应转发但未转发的帧百分比。防火墙的丢包率对其稳定性、可靠性有很大的影响。
-
缓冲
防火墙从空闲状态开始,以达到传输介质最小合法间隔极限的传输速率发送相当数量的固定长度的帧,当出现第一个帧丢失时,发送的帧数。
防火墙的网络地址转换功能
网络地址转换有三种类型:静态网络地址转换、动态网络地址转换与网络地址端口转换。
网络地址端口转换(Network Address Port Translation,NAPT)是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。与动态网络地址转换不同,网络地址端口转换将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由网络地址转换设备选定的端口号
源地址转换(Source NAT,SNAT):修改数据包的源地址。源地址转换改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一个源地址转换的例子。
目的地址转换(Destination NAT,DNAT):修改数据包的目的地址。目的地址转换刚好与源地址转换相反,它是改变第一个数据的目的地址,如平衡负载、端口转发和透明代理就属于目的地址转换。