前言
计算机的安全性历来就是人们热衷的话题之一。而随着Internet的广泛应用,人们在扩展了获取和发布能力的同时也带来信息被污染和破坏的危险。这些安全问题主要是由网络的开放性、无边界性、自由性造成的,还包括以下一些因素。
1. 计算机操作系统本身的一些缺陷。
2. 各种服务,如Telnet NFS、DNS和Active X等存在bug和漏洞。
3. TCP/IP协议几乎没有考虑安全因素。
4. 追查黑客的攻击很困难,因为攻击可能来自Internet上的任何地方。对于一组相互信任的主机,其安全程度是由最弱的一台主机所决定。一旦被攻破,就会殃及其他主机。
防火墙是网络安全的第一道门户, 可以实现内部网(信任网络)和外部不可信任网络之间,或者内部网不同网络安全区域之间的隔离与访问控制,保证网络系统及网络服务的可用性。狭义的防火墙是指安装了防火墙的软件或路由器系统,而广义的防火墙还包括整个网络的安全策略和安全行为。
出于对以上问题的考虑,应该把被保护的网络从开放的、无边界的网络环境中独立出来,成为可管理、可控制的、安全的内部网络。只有做到这一点,实现信息网络的安全才有可能,而最基本的分隔手段就是防火墙。防火墙作为网络安全的第一道门户, 可以实现内部网(信任网络)与外部不可信任网络(如因特网)之间或是内部网不同网络安全区域的隔离与访问控制,保证网络系统及网络服务的可用性,有效阻挡来自Internet的外部攻击。
防火墙是一种综合性的技术,涉及到计算机网络技术、密码技术、安全技术、软件技术、安全协议、网络标准化组织的安全规范以及安全操作系统等多方面。
近几年,防火墙发展迅速,产品众多,而且更新换代快,并不断有新的信息安全技术和软件技术等被应用在防火墙的开发上,如包过滤、代理服务器、虚拟专用网、状态监测、加密技术和身份认证等。但总的来讲,此方面的技术并不十分成熟完善,标准也不健全,实用效果并不十分理想。
防火墙概念
防火墙一词来自建筑物中的同名设施,从字面意思上说,它可以防止火灾从建筑物的一部,分蔓延到其他部分。Internet防火墙也要起到同样的作用,防止Internet上的不安全因素蔓延到自己企业或组织的内部网。防火墙技术早在1994年就RFC1636列为信息系统安全机制不可缺少的一项措施。
从狭义上说,防火墙是指安装了防火墙软件的主机或路由器系统;从广义上,说防火墙还包括整个网络的安全策略和安全行为。
AT&T的两位工程师William Cheswich和Steven Bellovin给出了防火墙的明确定义:
1. 所有的从外部到内部或从内部到外部的通信都必须经过它。
2. 只有内部访问策略授权的通信才能被允许通过。
3. 系统本身具有很强的高可靠性。
总之,防火墙是一种网络安全保障手段,是网络通信时执行的一种访问控制尺度,其主要目标就是通过控制入、出一个网络的权限,并迫使所有的连接都经过这样的检查,防止一个需要保护的网络遭受外界因素的干扰和破坏。在逻辑.上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监视了内部网络和Internet 之间的任何活动,保证了内部网络的安全;
在物理实现.上,防火墙是位于网络特殊位置的一组硬件设备路由器、计算机或其他特制的硬件设备。防火墙可以是一一个独立的系统,也可以在一一个进行网络互连的路由器上实现防火墙。
防火墙的发展共经过了4个阶段:
1. 基于路由器的防火墙阶段。
2. 用户化的防火墙工具套阶段。
3. 建立在通用操作系统上的防火墙阶段。
4. 具有安全操作系统的防火墙阶段。
防火墙的组成
防火墙通常包括安全操作系统(保护防火墙的源代码和文件免受入侵)、过滤器(外部过滤器保护网关不受攻击、内部过滤器在网关被攻破后提供对内网的保护)、网关(提供中继服务,辅助过滤器控制业务流)、域名服务(将内部网络的域名与Internet隔离)、函件处理(保证内网和Internet用户间的任何函件交换均需经过防火墙)五个部分。
防火墙的基本类型
类型 | 特点 | 优点 | 缺点 |
---|---|---|---|
包过滤(访问控制表) | 根据定义的过滤规则审查,根据是否匹配来决定是否通过 | 透明、成本低、速度快、效率高 | 对IP包伪造难以防范、不具备身份认证功能、不能检测高层攻击、过滤多效率下降快 |
应用网关 | 工作在应用层,实现协议过滤和转发功能 | 能提供比较成熟的日志功能 | 速度相对更慢 |
代理服务 | 阻断内外网之间的通信,只能通过“代理”实现 | 有很高的安全性 | 速度慢,对用户不透明,协议不同就需要不同的代理,不利于网络新业务 |
状态检测(自适应/动态包过滤) | 通过状态检测技术动态记录、维护各个连接的协议状态 | 效率很高,动态修改规则可以提供安全性 | |
自适应代理 | 根据用户的安全策略,动态适应传输中的分组流量 | 状态检测+代理 |
- 包过滤防火墙。包过滤防火墙又被称为访问控制表,它根据定义好的过滤规则审查每个数据包并确定数据包是否与过滤规则匹配,从而决定数据包是否能通过。这种防火墙可以与现有的路由器集成,也可以用独立的包过滤软件实现,而且数据包过滤对用户透明,成本低、速度快、效率高。不足之处如下。
- 包过滤技术的主要依据是包含在IP包头中的各种信息,但IP包中信息的可靠性没有保证,IP源地址可以伪造,通过内部合谋,入侵者轻易就可以绕过防火墙。
- 并非所有的服务都绑定在静态端口。包过滤只可以过滤IP地址,所以它不能识别相同IP地址下的不同用户,从而不具备身份认证功能。
- 工作在网络层,不能检测那些对高层进行的攻击。
- 如果为了提高安全性而使用很复杂的过滤规则,那么效率就会大大降低。
- 应用网关防火墙。应用网关是指在网关上执行一一些特定的应用程序和服务器程序,实现协议过滤和转发功能,它工作在应用层上,能针对特别的网络应用协议制定数据过滤逻辑,是基于软件的。当远程用户希望和一个正在运行网关的网络进行连接时,该网关就会阻塞这个远程连接,然后对连接的各个域进行检查,如果符合指定的要求,网关就会在远程主机和内部
主机之间建立一个"桥”。这样就可以在桥上设置更多的控制,并且可以提供比较成熟的日志功能,但这样-来速度就慢多了。应用网关也采用了过滤的机制,因此存在让Internet 上的用户了解内部网络的结构和运行状态的可能。 - 代理服务器防火墙。主要使用代理技术来阻断内部网络和外部网络之间的通信,达到隐蔽内部网络的目的。其基本策略如下。
- 不允许外部主机连接到内部安全网络。
- 允许内部主机使用代理服务器访问Internet 主机。
- 只有那些认为“可以信赖的”代理服务才允许通过。
这种防火墙包含三个模块:代理服务器、代理客户和协议分析模块。它在通信中执行二传手的角色,能很好地从Internet 中隔离出受信赖的网络,不允许受信赖网络和不受信赖网络之间的直接通信,具有很高的安全性。但是,这是以牺牲速度为代价,并且对用户不透明,要求用户了解通信细节。而且这种防火墙对于每项服务代理可能要求不同的服务器,且不能保证受保护的内部网络免受协议弱点的限制。并且代理不能改进底层协议的安全性,不利于网络新业务的开展。
从代理实现在不同的OSI网络分层结构上看,代理可分为回路层代理和应用层代理。
- 状态检测防火墙。也叫自适应防火墙,或动态包过滤防火墙,它具有很高的效率。这种防火墙能通过状态检测技术动态记录、维护各个连接的协议状态,并且在网络层和IP之间插入一个检查模块,对IP包的信息进行分析检测,以决定是否允许通过防火墙。它引入了动态规则的概念,对网络端口可以动态地打开和关闭,减少了网络攻击的可能性,使网络的安全性得到提高。状态检测防火墙根据过去的通信信息和其他应用程序获得的状态信息来动态生成过滤规则,根据新生成的过滤规则过滤新的通信。当新的通信结束时,新生成的过滤规则将自动从规则表中删除。
- 自适应代理技术。自适应代理根据用户的安全策略,动态适应传输中的分组流量。它整合了动态包过滤防火墙技术和应用代理技术,本质上是状态检测防火墙。它通过应用层验证新的连接,若新的连接是合法的,它可以被重定向到网络层。因此,这种防火墙同时具有代理技术的安全性和状态检测技术的高效率。
防火墙的性能及特点主要由以下两方面所决定。
- 工作层次。这是决定防火墙效率及安全的主要因素。一般来说,工作层次越低,则工作效率越高,但安全性就低了;反之,工作层次越高,工作效率越低,则安全性越高。
- 防火墙采用的机制。如果采用代理机制,则防火墙具有内部信息隐藏的特点,相对而言,安全性高,效率低;如果采用过滤机制,则效率高,安全性却降低了。
防火墙的设计
- 设计原则
- 由内到外,由外到内的业务流均要经过防火墙。
- 只允许本地安全策略认可的业务流通过防火墙,实行默认拒绝原则。
- 严格限制外部网络的用户进入内部网络。
- 具有透明性,方便内部网络用户,保证正常的信息通过。
- 具有抗穿透攻击能力,强化记录、审计和报警。
- 基本组成
防火墙主要包括如下5个部分:安全操作系统、过滤器、网关、域名服务和函件处理。
- 安全操作系统。防火墙本身必须建立在安全操作系统之中,由安全操作系统来保护防火墙的源代码和文件免遭入侵者的攻击。
- 过滤器。外部过滤器保护网关不受攻击,内部过滤器在网关被攻破后提供对内部网络的保护。
- 网关。提供中继服务,辅助过滤器控制业务流。可以在其上执行一些特定的应用程序或服务器程序,这些程序统称为“代理程序”。
- 域名服务。将内部网络的域名和Internet 相隔离,使内部网络中主机的IP地址不至于暴露给Internet中的用户。
- 函件处理。保证内部网络用户和Intermet 用户之间的任何函件交换都必须经过防火墙处理。
防火墙的功能和网络拓扑结构
用防火墙来实现网络安全的实质是:将主机按照安全等级和提供的服务划分成域,并在进出域的阻塞点上放置防火墙,允许或阻断信息的进出。因此,必须考虑防火墙的功能和网络拓扑结构。其主要功能如下。
-
过滤不安全的服务和非法用户,强化安全策略。
-
有效记录Internet上的活动,管理进出网络的访问行为。
-
限制暴露用户,封堵禁止的访问行为。
-
是一个安全策略的检查站,对网络攻击进行检测和告警。
-
屏蔽路由器。屏蔽路由器通常又称包过滤防火墙。它对进出内部网络的所有信息进行分析,并按照一定的安全策略(信息过滤规则)对进出内部网络的信息进行限制。包过滤的核心就是安全策略,即包过滤算法的设计。这种结构用一台过滤路由器来实现。屏蔽路由器作为内外网络连接的唯一通道, 对所接收的每个数据包作允许拒绝的决定。采用这种技术的防火墙优点在于速度快、费用低、实现方便但安全性能差,它一旦被攻击后就很难被发现,而且它只是一个路由,根据IP地址、UDP和TCP端口来筛选数据,内部网络的IP地址并没有被隐藏起来,不能识别不同的用户且不具备监测、跟踪和记录的功能。屏蔽路由器结构还因为在不同操作系统环境下TCP和UDP端口号所代表的应用服务协议类型有所不同,兼容性差。
-
双宿主机。双宿主机是包过滤网关的一种替代产品。它由一台至少装有两块网卡的堡垒主机作为防火墙,位于内外网络之间,实现了在物理.上将内外网络隔开。堡垒主机的IP转发功能被禁止,它通过提供代理服务来处理访问请求,实现了“默认拒绝”策略。但因为所有信息进出网络都需要通过代理来实现,所以负载较大,容易成为系统瓶颈。如果堡垒主机被黑客侵入并使其只具有路由功能,那么网上任何用户都可以随便访问内部网。所以为了保证内部网的安全,双宿主机首先要禁止网络层的路由功能,还应具有强大的身份认证系统,尽量减少防火墙的账户数。
-
主机过滤结构。这种结构实际上是包过滤和代理的结合,其中提供安全保障的代理服务器只与内部网络相连接,这样就需要一部路由器来与外部网络连接,在路由器上设立过滤规则,并使这个堡垒主机成为从外部网络唯一可以直接到达的主机。主机过滤结构的主要缺点是如果黑客设法登录到堡垒主机上,内部网络中的其余主机就会受到很大的威胁,与双宿主机受攻击时的情形差不多。
-
屏蔽子网结构。这种防火墙是双宿主机和被屏蔽主机的变形。它增加了一层周边网络的安全机制,用两部分组过滤路由器将周边网络与外部网络和内部网络相隔开,即所谓的非军事区(DMZ)。这样,内部网络与外部网络之间没有直接连接,需要通过非军事区进行中转,不存在危害内部网络的单一入口点。如果入侵者想要攻击,那么他必须重新配置两个路由器,在不切断连接又不能把自己锁在外面的同时还需要使自己不被发现,这就增加了攻击的难度。屏蔽子网结构是一种比较完整的防火墙体系结构,它克服了前两种结构的不足,是目前使用较多的一种防火墙。
防火墙的结构
- 屏蔽路由器:也称为包过滤型防火墙。
- 说明:对进出内部网络的所有信息进行分析,并按照一定的安全 策略对进出内部网络的信息进行限制。
- 优点:处理速度快、费用低(许多路由软件已包含)、对用户透明。
- 缺点:维护比较困难,只能阻止少部分IP欺骗,不支持有效的用户认证,日志功能有限,过滤规则增加会大大降低吞吐量,无法对信息提供全面控制。
- 适用场合:非集中化管理的机构、没有强大的集中安全策略的机构、网络的主机较少、主要依赖于主机安全来防止入侵、没有使用DHCP。
- 拓扑结构下如图所示
- 双穴主机:也称为双宿网关防火墙
- 说明:它是由一台至少装有两块网卡的堡垒主机作为防火墙,位于内外网络之间,分别与内外网络相离,实现物理.上的隔开。它有两种服务方式:一是用户直接登录到双宿主机上;二是在双宿主机上运行代理服务器。
- 优点:安全性比屏蔽路由器高。
- 缺点:入侵者一旦得到双穴主机的访问权,内部网络就会被入侵,因此需具有强大的身份认证系统,才可以阻挡来自外部的不可信网络的非法入侵。
- 拓扑结构如下图所示
- 屏蔽主机防火墙
- 说明:强迫所有的外部主机与一个堡垒主机相连接,而不让它们直接与内部主机相连接。它是由包过滤路由器和堡垒主机组成的。
- 优点:因为它实现了网络层安全(包过滤)和应用层安全(代理),因此安全等级比屏蔽路由器要高。
- 缺点:堡垒主机可能被绕过,堡垒主机与其他内部主机间没有任何保护网络安全的东西存在,一旦被攻破,内网就将暴露。
- 拓扑结构如下图所示
- 屏蔽子网防火墙
- 说明:用了两个屏蔽路由器和一一个堡垒主机,也称为“单DMZ防火墙结构”。
- 优点:在定义了“非军事区(DMZ)”网络后,它支持网络层和应用层安全功能,这也是最安全的防火墙系统。
- DMZ网络:通常较小,处于Internet和内部网络之间。一般情况下,将其配置成使用Internet和内部网络系统对其访问会受限制的系统,例如,堡垒主机、信息服务器、Modem组,以及其他公用服务器。
- 拓扑结构如下图所示
- 设备功能说明:外部路由器用于防范通常的外部功能,并管理外部网到DMZ的访问:内部路由器(阻塞路由器)则保护内部网不受DMZ和Internet的侵害,执行大部分的过滤工作。
- 其它结构防火墙:在实际应用中,经常在前四种基本结构的基础.上进行组合。
- 合并“非军事区”的外部路由器和堡垒主机结构(也是单DMZ结构):由双穴堡垒主机执行原来外部路由器的功能,但会缺乏专用路由器的灵活性和性能,除了需注意保护堡垒主机外,与屏蔽子网防火墙结构相比没有明显弱点,如下图(a)所示。
- 合并内部路由器和堡垒主机结构(也是单DMZ结构):这种结构并不提倡,因为堡垒主机一旦被入侵,内部网络没有安全保护,如下图 (b)所示。
- 合并DMZ的内部路由器和外部路由器结构:只有当拥有功能强大的路由器时,才考虑合并内、外路由器。这种结构与屏蔽主机结构一样,路由器容易受到损害,其结构如图下 © 所示。
- 两个堡垒主机和两个非军事区结构:也就是使用两台双穴主机,设立两个非军事区,从而将网络分成内网、外网、内DMZ、外DMZ四个部分,如下下图所示。通常将不是很机密的服务器放在内DMZ网络上,敏感的主机放在内部网络中。另外值得一提的是,在这种结构中,可以在外部DMZ放置一些公共信息服务主机(如FTP、WWW),而堡垒主机对这些主机不予信任,这类主机称为“牺牲主机”。
单DMZ的三种变异图
双DMZ防火墙结构
- ACL基础
ACL在防火墙、路由器的配置上经常使用到。ACL可以分为标准ACL和扩展ACL两种类型,标准ACL主要根据IP地址进行控制,而扩展ACL根据协议、端口进行控制。其语法格式如下所示。
标准ACL的语法:
access-list
{permit | deny}
{host | source wildcard-mask | any}
标准ACL中的access-list-nunber 的范围通常是1~99
扩展ACL的语法:
access-list [ACL 号] [permit/deny]
[协议] [源地址] [目标地址] [操作符] [端口] [log]
ACL号的范围是100-199和2000-2699;协议为TCP、UDP等,操作符号有eq (表等于)、gt (大于)、lt (小于)和neq (非等于)等; log为可选,表示符合这个ACL就记录下这些日志。