1. 防火墙概念
防火墙是位于两个或多个网络之间,实施网间访问控制策略的一组组件,如图5-1所示。
设立防火墙的目的是为了保护内部网络不受来自外部网络的攻击,从而创建一个相对安全的内网环境。
在网络系统中,防火墙是一个由软件系统和硬件设备组合而成,在内部网和外部网之间、专用网与公共网之间构造的保护屏障;
使Internet与Intranet之间建立一个安全网关(Security Gateway),从而保护内部网免受非法用户入侵,简单部署如图5-2所示。
防火墙主要由服务访问规则、验证工具、包过滤和应用网关四部分组成。理想的防火墙应该满足以下条件:
①内部和外部之间的所有网络数据流必须经过防火墙;
②只有符合安全策略的数据流才能通过防火墙;
③防火墙自身应具有非常强的抗攻击免疫力。
防火墙一般采用四种控制技术来达到保护内部网络的目的:
①服务控制,控制可以访问Internet 服务类型,包括向内和向外;
②方向控制,控制一项特殊服务所要求的方向;
③用户控制,控制访问服务的人员;
④行为控制,控制服务的使用方式,如e-mail过滤等。
防火墙的功能
一般而言,一个单位的内部网络组成结构复杂,各节点通常自主管理,但机构有整体的安全需求和显著的内外区别。
通过部署和使用防火墙,不但可以贯彻执行单位的整体安全策略防止外部攻击,还可有效地隔离不同网络,限制安全问题扩散,也可有效地记录和审核Internet上的活动。
防火墙好像大门上的锁,主要职能是保护内部网络的安全。
由于防火墙处于内部网络和外部网络之间这个特殊位置,因此防火墙上还可以添加一些其它功能,主要包括:通过防火墙将内部私有地址转换为全球公共地址;对一个特定用户的身份进行校验,判断是否合法;对通过防火墙的信息进行监控;支持VPN功能等。
防火墙的局限性
防火墙不能对内部威胁提供防护支持,也不能对绕过防火墙的攻击提供保护。
受性能限制,防火墙不能有效地防范数据内容驱动式攻击,对病毒传输的保护能力也比较弱。
为了提高安全性,防火墙系统限制或关闭了一些有用但存在安全缺陷的网络服务,从而给用户造成了使用的不便,这可能带来传输延迟、性能瓶颈及单点失效。
另外,作为一种被动的防护手段,防火墙不能自动防范因特网上不断出现的新的威胁和攻击。
防火墙的发展
第一代防火墙技术几乎与路由器同时出现,采用了包过滤(Packet filter)技术。
1989年,贝尔实验室Dave Presotto和Howard Trickey推出了第二代防火墙即电路层防火墙、第三代防火墙应用层防火墙的初步结构。
1992年,USC信息科学院BobBraden开发出了基于动态包过滤(Dynamic packet filter)技术的第四代防火墙,后来演变为状态检测(Stateful inspection)技术。
1998年,NAI公司推出了一种自适应代理(Adaptive proxy)技术,给代理类型防火墙赋予了全新的意义,称之为第五代防火墙。
随着万兆UTM(Unified Threat Management,统一威助管理)的出现,UTM代替防火墙的趋势不可避免。
在国际上,Juniper公司高性能UTM占据了一定的市场份额;国内,H3C、启明星辰高性能UTM则一直领跑国内市场。
2. 防火墙的主要技术
1) 包过滤技术
包过滤(Packet Filtering)技术是防火墙在网络层根据IP数据包中包头信息有选择地实施允许通过或阻断。
包过滤防火墙对流经该设备的IP数据包地址信息、协议类型、路由信息、流向等首部信息,按照事先设定的过滤规则来决定是否允许该数据包通过,判断依据(如图5-3所示):
①源、目的IP地址和源、目的端口;
②数据包协议类型,如TCP、UDP、ICMP、IGMP等;
③IP路由选项;
④TCP标志位选项,如SYN、ACK、FIN、RST等;
⑤数据包流向或流经的网络接口,如in或out等。以允许合乎规则的数据包通过防火墙进入到内部或外部网络,而将不合乎规则的数据包加以丢弃,如图5-4所示。包过滤技术核心是安全策略即过滤规则的设计。
防火墙的启用:【开始】→【程序】→【附件】→【通讯】→【网络连接】,打开网络连接对话框,点击【高级】选项,出现【Windows防火墙】对话框,点击【启用】按钮,如图5-5所示。
需要拒绝所有连接时,选择【不允许例外】复选框,安全性最高,Windows阻止程序时不通知用户,并且在【例外】选项卡中的程序也会被阻止。
需要对外提供服务时,取消【不允许例外】复选框,在【例外】选项卡中的程序或端口允许被访问,不在【例外】选项卡中的程序和端口不允许被外界访问。
转到【例外】选项卡,添加允许端口,例如当本机需要对外界提供WWW服务时,将开放80端口等待/监听客户端连接,点选【添加】端口,输入端口名、端口号和使用协议,则外界只允许访问本机80端口即WWW服务,其他端口/服务都拒绝被访问。
包过滤技术特点
因为CPU用来处理包过滤的时间相对很少,这种防护措施对用户透明,合法用户在进出网络时,感觉不到它的存在,使用起来很方便。
因为包过滤技术不保留前后连接信息,所以很容易实现允许或禁止访问。
因为包过滤技术是在TCP/IP层实现,包过滤一个很大的弱点是不能在应用层级别上进行过滤,所以防护方式比较单一。
包过滤技术作为防火墙的应用有两类:一是路由设备在完成路由选择和数据转换之外,同时进行包过滤;二是在一种称为屏蔽路由器的路由设备的启动包过滤功能。
2) 代理技术
代理技术又称为应用网关技术。应用代理防火墙运行在两个网络之间,它对于客户来说像是一台真的服务器一样,而对于服务器来说它又是一台客户机。
当代理服务器接收到客户的请求后,会检查用户请求是否符合相关安全策略的要求,如果符合的话代理服务器会代表客户,去服务器那里取回所需信息再转发给客户,如图5-6所示。
应用代理防火墙作用在应用层,控制应用层的服务,在内部网络向外部网络申请服务时起到中间转接作用。
内部网络只接受代理提出的服务请求,拒绝外部网络其他结点的直接请求。
代理防火墙代替受保护网的主机向外部网发送服务请求,并将外部服务请求响应的结果返回给受保护网的主机。
受保护网内部用户对外部网访问时,也需要通过代理防火墙,才能向外提供请求,这样外网只能看到防火墙,从而隐藏了受保护网内部地址,提高了安全性,其数据流如图5-7所示。
代理服务器接受内、外部网络的通信数据包,根据自己的安全策略进行过滤,不符合安全协议的信息被拒绝或丢弃。
应用代理防火墙工作在TCP/IP协议的应用层,针对特定的网络应用服务协议进行过滤,使用代理软件来转发和过滤特定的应用层服务,只允许有代理的服务通过防火墙;并且能够对数据包进行分析并形成相关的报告。
应用代理防火墙另一个功能是对通过的信息进行记录,如什么样的用户在什么时间连接了什么站点。
在实际工作中,代理服务器一般由专用工作站系统来完成。
目前常见的应用代理防火墙产品有:商业版代理(cache)服务器,开源防火墙软件TIS FWTK(Firewall toolkit)、Apache和Squid等。
应用代理防火墙优点
防火墙理解应用层协议,可以实施更细粒度的访问控制,因此比包过滤更安全、更易于配置,界面友好。
防火墙不允许内外网主机的直接连接,安全检查只需要详细检查几个允许的应用程序,比较容易对进出数据进行日志和审计。
应用代理防火墙缺点
额外的处理负载,应用代理防火墙的处理速度比包过滤防火墙要慢,当用户对内外部网络网关的吞吐量要求比较高时,代理防火墙就会成为内外部网络之间的瓶颈。
对每一个应用,都需要一个专门的代理,灵活性不够。用户可能需要改造网络的结构甚至应用系统。
3) 状态检测技术
状态检测防火墙既具备包过滤防火墙的速度和灵活,也有应用代理防火墙的安全优点,是对包过滤和应用代理功能的一种平衡。
状态检测防火墙采用一种基于连接的状态检测机制,将属于同一连接的所有包作为一个整体数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。
动态连接状态表中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息,因此与包过滤防火墙的静态过滤规则表相比,具有更好的灵活性和安全性,其工作原理图和检测流程图如图5-8、图5-9所示。
流过滤技术
状态检测技术是根据会话信息来决定单个数据包是否可以通过,不实际处理应用层协议。
东软公司NetEye防火墙3.0首创“流过滤”技术,以包过滤的外部形态提供了应用级的保护能力,带给用户最大好处在于对应用层保护能力大幅度提升,是在状态检测包过滤的架构上发展起来的新一代防火墙技术。
流过滤技术核心是专门设计的TCP协议栈,该协议栈根据TCP协议的定义对出入防火墙的数据包进行了完全的重组,并根据应用层的安全规则对组合后的数据流进行检测。
由于这个协议栈的存在,网络通信在防火墙内部由链路层上升到了应用层。数据包不再直接到达目的端,而是完全受防火墙中的应用协议模块的控制。
这种应用协议模块的工作方式非常类似于代理防火墙针对不同协议的代理程序,代替服务器接受来自客户端的访问,再代替客户端去获取访问的结果,所不同的是,这种模块能够支持更多的协议种类和更大规模的并发访问。
状态检测技术主要特点
①安全性。
状态检测防火墙工作在数据链路层和网络层之间,监测所有应用层的数据包并从中提取有用信息,如IP地址、端口号和数据内容。
首先根据安全策略保存有用信息在内存中;然后对信息组合进行逻辑或数学运算、相应操作,如允许或拒绝数据包通过、认证连接和加密数据,安全性得到很大提高。
②高效性。
通过状态检测防火墙的所有数据包都在低层处理,减少了高层协议头的开销,执行效率提高很多。
一个连接建立起来,就不用再对该连接做更多的工作。
例如,一个通过身份验证的用户打开另一个浏览器,防火墙会自动授予该计算机建立其它会话的权限,不提示用户输人密码。
③可伸缩性和易扩展性。
状态检测防火墙不区分每个具体的应用,只是根据从数据包中提取的信息、对应的安全策略及过滤规则处理数据包。
当有一个新的应用时,它能动态产生并应用新的规则,而不用另外写代码,所以具有很好的伸缩性和扩展性。
④应用范围广。
状态检测防火墙不仅基于TCP的应用,并且也持基于无连接(如RPC、UDP)协议的应用。
状态检测防火墙视所有通过防火墙的UDP分组为一个虚拟连接,通过网关的每一个连接的状态信息都会被记录。
当UDP包在相反方向上通过时,依据连接状态表确定该包是否被授权和通过。每个虚拟连接具有一定的生存期,较长时间没有数据传送的连接将被终止。
4) 网络地址转换技术
防火墙网络地址转换技术涉及到公用地址和专用地址。公用地址又称为合法IP地址,是指由Internet网络信息中心(InterNIC)分配的IP地址,在Internet上通信必须有一个公用地址。
为了解决IP地址短缺问题,InterNIC为公司专用网络提供了保留网络IP专用的方案。
这些专用网络地址包括:子网掩码为255.0.0.0的10.0.0.0(一个A类地址),子网掩码为255.240.0.0的172.160.0.0(一个B类地址),子网掩码为255.255.0.0的192.168.0.0(一个C类地址)。
专用地址不能直接与Internet通信,使用专用地址的内部网络与Internet进行通信,专用地址必须转换成公用地址。
网络地址转换器NAT(Network Address Translator)是完成地址转换的一个部件,如图5-10所示。NAT位于使用专用地址的Intranet和使用公用地址的Internet之间,其任务:
①把从Intranet传出数据包的端口号和专用IP地址换成自己的端口号和公用IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中,并向客户机发送回答信息;
②将从Internet传入数据包的目的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。
网络地址转换技术优点
在内网中使用未注册的专用IP地址,与外部网络通信时使用注册的公用IP地址ip网址与网络上的其他系统有冲突,大大降低了连接成本;同时,NAT将内部网络隐藏起来,保护内部网络的作用,对外部用户来说只有使用公用IP地址的NAT是可见的。
NAT地址转换过程实例
内部网使用虚拟地址空间为10.0.0.0~10.255.255.255,对外拥有注册真实IP地址为202.119.1.0 ~202.119.1.255,内部主机IH1、IH2地址分别设为10.0.1.1和10.0.2.2,另一外部网主机OH1地址为202.112.196.7,网络拓扑结构如图5-11所示。
当内部网主机IH1与外部网主机OH1建立联系时,由于网关对外将其映射为一注册的真实地址202.119.1.23,所以它的IP包头中的IP地址在网关处被转换成这一地址。于是会产生如图5-12所示的IP数据包:
①图5-12(a)为IH1发出的IP包。
②经过网关后被转换为图5-12(b)的形式。
③图5-12(c)为其返回的IP包形式。
④进入网关后转换为图5-12(d)的形式。
在以上的包传输过程中,内部的虚拟地址10.0.1.1与外部的真实地址202.119.1.23之间构成一一对应关系,经过网关时须进行必要的转换工作,这正是NAT技术名称的由来。
但内部主机(IH1,IH2)之间的连接直接使用虚拟地址而不需要经过网关的转换。
静态NAT和动态NAT
根据NAT工作模式,可分为静态NAT和动态NAT两种。
静态NAT是指内部网络的私有IP地址转换为真实IP地址,IP地址映射是一对一的,是事先由管理员配置好的,某个私有IP地址只转换为某个真实IP地址ip网址与网络上的其他系统有冲突,如图5-13(a)所示。
借助于静态NAT,可以实现具有内部私有IP地址的内网机器对外部网络(如Internet)的访问,图5-12地址翻译属于静态NAT。
动态NAT是指内部网络的私有IP地址转换为真实IP地址时,IP地址转换时随机的,如图5-13(b)所示。
实际上,首先为NAT系统的IP地址缓冲池配置一个或多个真实IP地址,当内部私有IP地址访问外网时,NAT系统随机从IP地址缓冲池取出一个真实的IP地址为这次访问进行地址翻译。
如果同时需要进行的访问多于缓冲池中地址时,可以借助于端口号,实际上就是将一个内部IP地址映射成真实IP地址及端口号的映射关系表,确保完成地址翻译。
3.其它防火墙
个人防火墙(Private Firewall)是一种能够保护个人计算机系统安全的软件,它可以直接在用户的计算机上安装、运行,使用与状态/动态检测防火墙相同的方式,保护一台计算机免受攻击。
通常,这些防火墙是安装在计算机网络接口的较低级别上,这使得它们可以监视传入/传出网卡的所有网络通信。现在网络上流传很多个人防火墙软件都是应用程序级的。
因为传统的防火墙设置在网络边界,处于内、外网络之间,所以称为“边界防火墙”。随着人们对网络安全防护要求的提高,边界防火墙明显达不到要求,因为给网络带来安全威胁的不仅是外部网络,更多的是来自内部网络。
但边界防火墙无法对内部网络实现有效保护,正是基于这个原因,产生了分布式防火墙(Distributed Firewall)技术。分布式防火墙技术可以很好地解决边界防火墙的不足,把防火墙的安全防护系统延伸到网络中的各台主机。
但边界防火墙无法对内部网络实现有效保护,正是基于这个原因,产生了分布式防火墙(Distributed Firewall)技术。分布式防火墙技术可以很好地解决边界防火墙的不足,把防火墙的安全防护系统延伸到网络中的各台主机。
分布式防火墙负责对网络边界、各子网和网络内部结点之间的安全防护。
分布式防火墙是一个完整的系统,而不是单一的产品。
根据需要完成的功能,分布式防火墙主要包括网络防火墙(Network Firewall)、主机防火墙(Host Firewall)和中心管理(Center Management)部分。
4. 防火墙的作用
防火墙作为重要的网络安全设备主要有以下作用。
网络流量过滤
网络流量过滤是防火墙最主要的功能。通过在防火墙上进行安全规则配置,可以对流经防火墙的网络流量进行过滤。
安全规则是依据安全策略精心设计的,防火墙严格执行安全检查,这样只要符合安全规则的网络流量才能通过,大大提高了局域网的安全性。
网络监控审计
如果所有的访问都经过防火墙,那么防火墙就能记录下这些访问并生成网络访问日志,同时也能提供网络使用情况的统计数据。
当出现可疑的网络访问时,防火墙能及时地发出警报,并提供可以访问的详细信息。
防火墙可以作为手机一个网络使用情况的绝佳点,将所收集的有关信息提供给其它安全模块,必要时根据需要阻断网络连接访问,与其它安全模块形成联动系统。
支持DMZ
DMZ是英文“Demilitarized Zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。
它是设立在非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,可以防止一些必须公开的服务器设施,如企业WEB服务器、FTP服务器等。
支持VPN
通过VPN(Virtual Private Network,虚拟私有网络),企业可以将分布在各地的局域网有机地连成一个整体,不仅省去了租用专用通信线路的费用,而且为信息共享提供了安全技术保障。
图5-14为一个典型的企业防火墙应用实例。在该企业网络中由于应用了防火墙,一举解决了网络流量过滤及审计、地址短缺、远程安全内网访问以及DMZ部署问题。
@木子雨辰,将一直带给大家信息安全知识,由浅至深、采用体系化结构逐步分享,大家有什么建议和问题,可以及留言,多谢大家点击关注、转发、评论,谢谢大家。
大家如果有需要了解安全知识内容需求的可以留言,沟通,愿与大家携手前行。
本文到此结束,希望对大家有所帮助!