论文部分内容阅读
防火墙概述
当把计算机或内部局域网接入Internet时,人们往往只看到网络有利的一面,殊不知你的数据就暴露在外,要面对和承受来自外部的众多威胁。如何保护私有或敏感信息不受侵害呢?可能大家首先考虑到的就是防火墙了。防火墙是网络安全工具中最早成熟,最早产品化的。最初,防火墙是指用来阻止火势从一个房间蔓延到另一个房间的建筑技术,而目前我们所要讨论的,是网络防火墙,也叫Internet防火墙。网络防火墙一般定义为在两个网络间执行访问控制策略的一个或一组系统。防火墙现在已成为许多组织将其内部网接入外部网(如Internet)时所必需的安全措施了。对Internet防火墙的明确定义来自AT&T的两位工程师William Cheswick 和 Steven Bellovin,他们将防火墙定义为置于两个网络之间的一组构件或一个系统,具有以下属性:
* 双向流通信息必须经过它;
* 只有被预定本地安全策略授权的信息流才被允许通过;
* 该系统本身具有很高的抗攻击能力。
简言之,防火墙是用于保护可信网络免受非可信网络的威胁,同时仍允许双方通信。通常,这两个网络指的是单位的内网和外网。虽然现在许多防火墙用于Internet和内部网之间,但是我们也可以在任何网间和企业网内部使用防火墙。
防火墙的功能
本质上来讲,防火墙被认为是两个网络间的隔断,只允许所选定的一些形式的通信通过。防火墙另外一个重要特征是它自身抵抗攻击的能力:防火墙自身应当不易被攻入,因为攻入防火墙就给攻击者进入内部网一个立足点。
从安全需求来看,理想的防火墙应具备以下功能:
* 能够分析进出网络的数据。
* 能够通过识别、认证和授权对进出网络的行为进行访问
控制。
* 能够封堵安全策略禁止的业务。
* 能够审计跟踪通过的信息内容和活动。
* 能够对网络入侵行为进行检测和报警。
* 能够对需要保密的信息进行授权的加密和解密。
* 能够对接收到的数据进行完整性校验。
通过选择优秀的防火墙产品,制定合理的安全策略,您的内部网络可以在很大程度上避免受到攻击。但是需要指出的是,当前流行的许多错误概念和观点经常误导用户。那就是过分夸大某些产品的功能,认为所有的网络安全问题可以通过简单地配置防火墙来达到。虽然当单位将其网络互联时,防火墙是网络安全的重要一环,但并非全部。许多危险是在防火墙能力范围之外的。
首先防火墙不适用于内部人员的攻击防范,因为他们只提供周边防护。防火墙并不控制内部用户滥用授权访问,而这可能才是最大的威胁。信息安全调查表明超过一半的事件是内部人员的攻击,许多经验丰富的安全专家认为由内部引起的安全问题占到总量的80%。
防火墙的另一个主要问题是不能直接抵御恶意程序:如病毒和木马。如今恶意程序发展比以前更快,新型的宏病毒通过共享文档传播,它们可以通过e-mail附件的形式在Internet上迅速蔓延,就像“美丽莎”和“爱虫”。Web本身就是一个病毒源,许多站点都可以下载病毒程序甚至源码。许多天真的用户,不经过扫描就直接读入e-mail附件中的MS-WORD文档或HTML文件。同时,Web也为木马提供了潜在的通途,这个十分严重的问题就是分布式应用技术,如Java和ActiveX。某些防火墙可以根据已知病毒和木马的特征码检查流入程序,虽然这样做有些帮助但并不可靠,因为对那些新的木马程序是无能为力的。另外,这些防火墙只能发现由其他网络来的恶意程序,但许多病毒是通过被感染的软盘或系统直接进入网络中的。比如,我们的销售人员出差回来后将受到感染的便携机接入网络,病毒会在整个网络系统流行。
防火墙的技术以及分类
防火墙产生和发展已经历了相当一段时间,其分类方法也不尽相同,综合其实现方式、技术手段、功能特点等,我们将其作如下分类。
1.屏蔽路由器
最简单和最流行的防火墙形式是“屏蔽路由器”。多数商业路由器具有内置的限制目的地间通信的能力。屏蔽路由器一般只在网络层工作(有的还包括传输层),采用包过滤或虚电路技术。包过滤通过检查每个IP网络包,取得其头信息,一般包括:到达的物理网络接口、源IP地址、目标IP地址、传输层类型(TCP、UDP、ICMP)、源端口和目的端口。根据这些信息判别是否与规则集中的某条目相匹配,并对匹配包执行规则中指定的动作(禁止或允许)。包过滤系统通常可以重置网络包地址,从而流出的通信包看来不同于其原始主机地址。这种重置网络包地址的过程称为网络地址转换(NAT)。通过NAT可以隐藏内部网络拓扑和地址表。而虚电路技术的核心是验证通信包是一个连接请求还是连接中的数据包(两个传输层之间的虚电路)。首先,它检查每个连接的建立以确保其发生在合法的握手之后。并且,在握手完成前不转发数据包。系统维护一个有效连接表(包括完整的会话状态和序列信息),当网络包信息与虚电路表中的某一入口匹配时才允许包含数据的网络包通过。当连接终止后,它在表中的入口就被删除,从而两个会话层之间的虚电路也就被关闭了。
一般说来,屏蔽路由器类型的防火墙具有以下优点:
* 通常其性能上要优于其他类型的防火墙,因为它执行较少的计算。并且,可以很容易地以硬件方式实现。
* 规则设置简单,通过禁止内部计算机和特定Internet资源的连接,单一规则即可保护整个网络。
* 不需对客户端计算机进行专门的配置。
* 通过NAT(网络地址转换),可对外部用户屏蔽内部IP。
其缺点也是明显的:
* 无法识别到应用层协议,也无法对协议子集进行约束。即使是最基本的服务,如ftp中的put和get命令也无法识别。因此,其安全性较差。
* 处理包内信息的能力也是很有限的。
* 通常不能提供其他附加功能,如http的目标缓存,URL过滤以及认证等。
* 一般无法约束由内部主机到防火墙服务器上的信息,只能控制什麽信息可以过去,从而入侵者可能访问到防火墙主机的服务,从而带来安全隐患。
* 没有或缺乏审计追踪,从而也就缺乏报警机制。
* 由于对众多网络服务的“广泛”支持所造成的复杂性,很难对规则有效性进行测试。
* 另外,多数包过滤因为不保存源自会话层或应用层的信息,是无状态的。
综上所述,屏蔽路由器往往比较脆弱,因为它还要依赖其背后主机上应用软件的正确配置。因此,不推荐以它为中心的安全防范措施,而是通常配合其他系统使用。
2.应用网关(也称为基于代理的)防火墙
它通常被配置为“双宿主网关”,具有两个网络接口卡,同时接入内部和外部网。由于网关可以与两个网络通信,它是安装传递数据软件的理想位置。这种软件就称为“代理”,通常是为其所提供的服务定制的。代理服务不允许直接连接,而是强制检查和过滤所有的网络数据包。用户并不是直接与真正的服务通信,而是与代理服务器通信(用户的默认网关指向代理服务器)。各个应用代理在用户和服务之间处理所有的通信,能够对通过它的数据进行详细的审计追踪。许多专家也认为它更加安全,因为代理软件可以根据防火墙后面主机的脆弱性来定制,以专门防范已知的攻击。
代理级防火墙具有以下主要优点:
* 代理服务可以识别并实施高层的协议,如http和ftp等。
* 代理服务包含通过防火墙服务器的通信信息。可以提供源于部分传输层、全部应用层和部分会话层的信息。
* 代理服务可以用于禁止访问特定的网络服务,而允许其他服务的使用。
* 代理服务也能够处理数据包。
* 代理服务不允许外部和内部主机间直接通信,因此内部主机名对外部是不可知的。也就是说,代理服务可以很容易将内部地址与外部屏蔽开来。
* 通过提供透明服务,可以让使用代理的用户感觉在直接与外部通信。
* 代理服务还可以转送内部服务,也就是外部对内的服务请求,例如,可以将http服务器转向到另一台主机。
* 代理服务可以提供如前所述的屏蔽路由器不具备的附加功能。
* 代理服务具有良好的日志记录,从而可以建立有效的审计追踪机制,允许管理员监视可能危害到安全策略的企图。
当然,代理服务也有一些缺点,主要包括:
* 不可以在防火墙服务器上开放本机的网络服务,因为代理服务器需要侦听这些服务端口,但这同时也加强了其作为堡垒机的安全性。
* 代理服务会有性能上的延迟,因为流入数据需要被处理两次(应用程序和其代理)。
* 通常,需要为通过防火墙的每个协议加入一个新的代理,因为功能完善的代理需要很好地支持应用协议,不存在真正意义上的通用代理。从而其伸缩性和可用网络服务的数量会有所限制。一般来说,一个新的应用到其代理服务的开发可能需要6个月的滞后周期。也就是说,用户必须对其新型应用的代理具有耐心。
* 应用级防火墙一般不能提供UDP、RPC等特殊协议类族的代理。
* 代理防火墙一般需要客户端的修改或设置,因此配置过程较繁琐。
* 由于对操作系统和应用层协议的依赖性,代理服务具有这方面的脆弱性因素。多数包过滤防火墙对操作系统的支持机制没有太大依赖,而是通常依赖于设备驱动等。但是大多应用层防火墙需要操作系统的支持以保证其正确运行,诸如对NDIS、TCP/IP和标准C库等的支持。如果一个与安全相关的漏洞隐藏在这些库中,就可能对防火墙产生不可预料的影响。
* 应用层防火墙有时会忽略那些底层的网络包信息。
* 代理由于通常需要附加的口令和认证而造成延迟,可能会给某些用户带来不便。
(未完待续)
当把计算机或内部局域网接入Internet时,人们往往只看到网络有利的一面,殊不知你的数据就暴露在外,要面对和承受来自外部的众多威胁。如何保护私有或敏感信息不受侵害呢?可能大家首先考虑到的就是防火墙了。防火墙是网络安全工具中最早成熟,最早产品化的。最初,防火墙是指用来阻止火势从一个房间蔓延到另一个房间的建筑技术,而目前我们所要讨论的,是网络防火墙,也叫Internet防火墙。网络防火墙一般定义为在两个网络间执行访问控制策略的一个或一组系统。防火墙现在已成为许多组织将其内部网接入外部网(如Internet)时所必需的安全措施了。对Internet防火墙的明确定义来自AT&T的两位工程师William Cheswick 和 Steven Bellovin,他们将防火墙定义为置于两个网络之间的一组构件或一个系统,具有以下属性:
* 双向流通信息必须经过它;
* 只有被预定本地安全策略授权的信息流才被允许通过;
* 该系统本身具有很高的抗攻击能力。
简言之,防火墙是用于保护可信网络免受非可信网络的威胁,同时仍允许双方通信。通常,这两个网络指的是单位的内网和外网。虽然现在许多防火墙用于Internet和内部网之间,但是我们也可以在任何网间和企业网内部使用防火墙。
防火墙的功能
本质上来讲,防火墙被认为是两个网络间的隔断,只允许所选定的一些形式的通信通过。防火墙另外一个重要特征是它自身抵抗攻击的能力:防火墙自身应当不易被攻入,因为攻入防火墙就给攻击者进入内部网一个立足点。
从安全需求来看,理想的防火墙应具备以下功能:
* 能够分析进出网络的数据。
* 能够通过识别、认证和授权对进出网络的行为进行访问
控制。
* 能够封堵安全策略禁止的业务。
* 能够审计跟踪通过的信息内容和活动。
* 能够对网络入侵行为进行检测和报警。
* 能够对需要保密的信息进行授权的加密和解密。
* 能够对接收到的数据进行完整性校验。
通过选择优秀的防火墙产品,制定合理的安全策略,您的内部网络可以在很大程度上避免受到攻击。但是需要指出的是,当前流行的许多错误概念和观点经常误导用户。那就是过分夸大某些产品的功能,认为所有的网络安全问题可以通过简单地配置防火墙来达到。虽然当单位将其网络互联时,防火墙是网络安全的重要一环,但并非全部。许多危险是在防火墙能力范围之外的。
首先防火墙不适用于内部人员的攻击防范,因为他们只提供周边防护。防火墙并不控制内部用户滥用授权访问,而这可能才是最大的威胁。信息安全调查表明超过一半的事件是内部人员的攻击,许多经验丰富的安全专家认为由内部引起的安全问题占到总量的80%。
防火墙的另一个主要问题是不能直接抵御恶意程序:如病毒和木马。如今恶意程序发展比以前更快,新型的宏病毒通过共享文档传播,它们可以通过e-mail附件的形式在Internet上迅速蔓延,就像“美丽莎”和“爱虫”。Web本身就是一个病毒源,许多站点都可以下载病毒程序甚至源码。许多天真的用户,不经过扫描就直接读入e-mail附件中的MS-WORD文档或HTML文件。同时,Web也为木马提供了潜在的通途,这个十分严重的问题就是分布式应用技术,如Java和ActiveX。某些防火墙可以根据已知病毒和木马的特征码检查流入程序,虽然这样做有些帮助但并不可靠,因为对那些新的木马程序是无能为力的。另外,这些防火墙只能发现由其他网络来的恶意程序,但许多病毒是通过被感染的软盘或系统直接进入网络中的。比如,我们的销售人员出差回来后将受到感染的便携机接入网络,病毒会在整个网络系统流行。
防火墙的技术以及分类
防火墙产生和发展已经历了相当一段时间,其分类方法也不尽相同,综合其实现方式、技术手段、功能特点等,我们将其作如下分类。
1.屏蔽路由器
最简单和最流行的防火墙形式是“屏蔽路由器”。多数商业路由器具有内置的限制目的地间通信的能力。屏蔽路由器一般只在网络层工作(有的还包括传输层),采用包过滤或虚电路技术。包过滤通过检查每个IP网络包,取得其头信息,一般包括:到达的物理网络接口、源IP地址、目标IP地址、传输层类型(TCP、UDP、ICMP)、源端口和目的端口。根据这些信息判别是否与规则集中的某条目相匹配,并对匹配包执行规则中指定的动作(禁止或允许)。包过滤系统通常可以重置网络包地址,从而流出的通信包看来不同于其原始主机地址。这种重置网络包地址的过程称为网络地址转换(NAT)。通过NAT可以隐藏内部网络拓扑和地址表。而虚电路技术的核心是验证通信包是一个连接请求还是连接中的数据包(两个传输层之间的虚电路)。首先,它检查每个连接的建立以确保其发生在合法的握手之后。并且,在握手完成前不转发数据包。系统维护一个有效连接表(包括完整的会话状态和序列信息),当网络包信息与虚电路表中的某一入口匹配时才允许包含数据的网络包通过。当连接终止后,它在表中的入口就被删除,从而两个会话层之间的虚电路也就被关闭了。
一般说来,屏蔽路由器类型的防火墙具有以下优点:
* 通常其性能上要优于其他类型的防火墙,因为它执行较少的计算。并且,可以很容易地以硬件方式实现。
* 规则设置简单,通过禁止内部计算机和特定Internet资源的连接,单一规则即可保护整个网络。
* 不需对客户端计算机进行专门的配置。
* 通过NAT(网络地址转换),可对外部用户屏蔽内部IP。
其缺点也是明显的:
* 无法识别到应用层协议,也无法对协议子集进行约束。即使是最基本的服务,如ftp中的put和get命令也无法识别。因此,其安全性较差。
* 处理包内信息的能力也是很有限的。
* 通常不能提供其他附加功能,如http的目标缓存,URL过滤以及认证等。
* 一般无法约束由内部主机到防火墙服务器上的信息,只能控制什麽信息可以过去,从而入侵者可能访问到防火墙主机的服务,从而带来安全隐患。
* 没有或缺乏审计追踪,从而也就缺乏报警机制。
* 由于对众多网络服务的“广泛”支持所造成的复杂性,很难对规则有效性进行测试。
* 另外,多数包过滤因为不保存源自会话层或应用层的信息,是无状态的。
综上所述,屏蔽路由器往往比较脆弱,因为它还要依赖其背后主机上应用软件的正确配置。因此,不推荐以它为中心的安全防范措施,而是通常配合其他系统使用。
2.应用网关(也称为基于代理的)防火墙
它通常被配置为“双宿主网关”,具有两个网络接口卡,同时接入内部和外部网。由于网关可以与两个网络通信,它是安装传递数据软件的理想位置。这种软件就称为“代理”,通常是为其所提供的服务定制的。代理服务不允许直接连接,而是强制检查和过滤所有的网络数据包。用户并不是直接与真正的服务通信,而是与代理服务器通信(用户的默认网关指向代理服务器)。各个应用代理在用户和服务之间处理所有的通信,能够对通过它的数据进行详细的审计追踪。许多专家也认为它更加安全,因为代理软件可以根据防火墙后面主机的脆弱性来定制,以专门防范已知的攻击。
代理级防火墙具有以下主要优点:
* 代理服务可以识别并实施高层的协议,如http和ftp等。
* 代理服务包含通过防火墙服务器的通信信息。可以提供源于部分传输层、全部应用层和部分会话层的信息。
* 代理服务可以用于禁止访问特定的网络服务,而允许其他服务的使用。
* 代理服务也能够处理数据包。
* 代理服务不允许外部和内部主机间直接通信,因此内部主机名对外部是不可知的。也就是说,代理服务可以很容易将内部地址与外部屏蔽开来。
* 通过提供透明服务,可以让使用代理的用户感觉在直接与外部通信。
* 代理服务还可以转送内部服务,也就是外部对内的服务请求,例如,可以将http服务器转向到另一台主机。
* 代理服务可以提供如前所述的屏蔽路由器不具备的附加功能。
* 代理服务具有良好的日志记录,从而可以建立有效的审计追踪机制,允许管理员监视可能危害到安全策略的企图。
当然,代理服务也有一些缺点,主要包括:
* 不可以在防火墙服务器上开放本机的网络服务,因为代理服务器需要侦听这些服务端口,但这同时也加强了其作为堡垒机的安全性。
* 代理服务会有性能上的延迟,因为流入数据需要被处理两次(应用程序和其代理)。
* 通常,需要为通过防火墙的每个协议加入一个新的代理,因为功能完善的代理需要很好地支持应用协议,不存在真正意义上的通用代理。从而其伸缩性和可用网络服务的数量会有所限制。一般来说,一个新的应用到其代理服务的开发可能需要6个月的滞后周期。也就是说,用户必须对其新型应用的代理具有耐心。
* 应用级防火墙一般不能提供UDP、RPC等特殊协议类族的代理。
* 代理防火墙一般需要客户端的修改或设置,因此配置过程较繁琐。
* 由于对操作系统和应用层协议的依赖性,代理服务具有这方面的脆弱性因素。多数包过滤防火墙对操作系统的支持机制没有太大依赖,而是通常依赖于设备驱动等。但是大多应用层防火墙需要操作系统的支持以保证其正确运行,诸如对NDIS、TCP/IP和标准C库等的支持。如果一个与安全相关的漏洞隐藏在这些库中,就可能对防火墙产生不可预料的影响。
* 应用层防火墙有时会忽略那些底层的网络包信息。
* 代理由于通常需要附加的口令和认证而造成延迟,可能会给某些用户带来不便。
(未完待续)