网络安全笔记:防火墙
该部分为本科期间网络安全课程笔记备份。
防火墙介绍
一种高级访问控制设备,置于不同网络安全域之间的一系列部件的组合,它是不同网络安全域间通信流的唯一通道,能根据有关的安全政策控制(允许、拒绝、监视、记录)进出网络的访问行为。
防火墙的目的:
- 保护内部不受来自Internet的攻击
- 创建安全域
- 增强机构安全策略
对防火墙的两大需求:保障内部网安全;保证内部网同外部网的连通。


防火墙技术发展过程
- 基于路由器的防火墙
- 利用路由器本身对分组的解析 进行分组过滤
- 过滤判断依据:地址、端口号、IP旗标及其它网络特征
- 防火墙与路由器合为一体,只有过滤功能
- 适用于对安全性要求不高的网络环境
- 防火墙工具套
- 将过滤功能从路由器中独立出来,并加上审计和告警功能
- 针对用户需求 提供模块化的软件包
- 软件可通过网络发送,用户可根据需要构造防火墙
- 与第一代防火墙相比,安全性提高了,价格降低了
- 基于通用操作系统的防火墙
- 是批量上市的专用防火墙产品
- 包括分组过滤或者借用路由器的分组过滤功能
- 装有专用的代理系统,监控所有协议的数据和指令
- 保护用户编程空间和用户可配置内核参数的设置
- 安全性和速度大为提高。
- 基于安全操作的防火墙
- 防火墙厂商具有操作系统的源代码,并可实现安全内核
- 去掉了不必要的系统特性,加固内核,强化安全保护
- 在功能上包括了分组过滤、应用网关、电路级网关
- 增加了许多附加功能:加密、鉴别、审计、NAT转换
- 透明性好,易于使用


最初:包过滤防火墙和应用网关防火墙
第二代:采用状态检测
如今:向更高层协议应用防护发展
防火墙带来的好处
- 强化安全策略:有效地记录Internet上的活动
- 隔离不同网络限制安全问题扩散
- 是一个安全策略的检查站
争议及不足
- 使用不便,认为防火墙给人虚假的安全感
- 对用户不完全透明可能带来传输延迟瓶颈及单点失效
- 不能替代墙内的安全措施:不能防范恶意的知情者、不能防范不通过它的连接、不能防范全新的威胁、不能有效地防范数据驱动式攻击、当使用端-端加密时其作用受到很大的限制
防火墙技术
防火墙的基本知识
防火墙是在两个网络之间执行访问控制策略的一个或一组系统,包括硬件和软件,目的是保护网络不被他人侵扰。
结构:外部网络<=>防火墙<=>内部网络
本质上,它遵循的是一种允许或阻止业务来往的网络通信安全机制,也就是提供可控的过滤网络通信,只允许授权的通信。
通常,防火墙就是位于内部网或Web站点与因特网之间的一个路由器或一台计算机,又称为堡垒主机。其目的如同一个安全门,为门内的部门提供安全,控制那些可被允许出入该受保护环境的人或物。就像工作在前门的安全卫士,控制并检查站点的访问者。
防火墙是由管理员为保护自己的网络免遭外界非授权访问但又允许与因特网联接而发展起来的。从网际角度,防火墙可以看成是安装在两个网络之间的一道栅栏,根据安全计划和安全策略中的定义来保护其后面的网络安全。
防火墙必须做到以下几点 防火墙必须做到以下几点,,才能使防火墙起到安全防 才能使防火墙起到安全防护的作用:护的作用:
- 所有进出网络的通信流都应该通过防火墙。
- 所有穿过防火墙的通信流都必须有安全策略和计划的确认和授权。
- 理论上说 理论上说,防火墙是穿不透的 防火墙是穿不透的(防火墙本身是不可被侵入的)。
从逻辑上讲,防火墙是分离器、限制器和分析器。从物理角度看,各站点防火墙物理实现的方式有所不同。
通常防火墙是一组硬件设备,即路由器、主计算机或者是路由器、计算机和配有适当软件的网络的多种组合。
防火墙的主要功能
- 访问控制功能
- 内容控制功能
- 全面的日志功能集中管理功能
- 自身的安全和可用性
附加功能:流量控制、NAT、VPN
防火墙原理
边界保护机制:可信网络与不可信网络
互操作性要求
潜在的攻击和可能的对象:
- 入侵内部网络
- 针对防火墙的攻击,使其失去功能
- 强度攻击(洪水攻击)
- 协议漏洞攻击
- 应用漏洞攻击
防火墙的局限性
- 不能防范不经防火墙的攻击
- 不能防止感染病毒的软件或文件的传输的
- 不能防止数据驱动式攻击
- 不能防止内部用户的破坏
- 不能防备不断更新的攻击
防火墙的主要性能指标
吞吐率、丢包率、时延、背对背、并发连接数
背对背:在最大速率下,在不发生数据包丢失前提下被测设备可以接收的最大突发数据包数目。
防火墙分类
实现技术分类:包过滤防火墙、应用网关防火墙、代理防火墙、状态检测防火墙
形态方式分类:软件防火墙、硬件防火墙(X86、ASIC、NP)
硬件防火墙
所谓硬件防火墙,针对芯片级防火墙说的。他们最大的差别在于是否基于专用的硬件平台。
目前市场上大多数防火墙都是这种所谓的硬件防火墙,他们都基于PC架构,和普通的家庭用的PC没有太大区别。
硬件防火墙的特点:
- 此类防火墙采用的依然是别人的内核,因此依然会受到OS本身的安全性影响。国内的许多防火墙产品就属于此类,因为采用的是经过裁减内核和定制组件的平台,因此国内防火墙的某些销售人员常常吹嘘其产品是“专用的OS”等等,其实是一个概念误导,下面我们提到的第三种防火墙才是真正的OS专用。
- 硬件防火墙采用专用的硬件设备,然后集成生产厂商的专用防火墙软件。从功能上看,硬件防火墙内建安全软件,使用精简或者强化的操作系统,管理方便,更换容易,软硬件搭配较固定。硬件防火墙效率高,解决了防火墙效率、性能之间的矛盾,可以达到线性。
芯片级防火墙: 基于专门的硬件平台,没有操作系统。专有的ASIC芯片促使它们比其他种类的防火墙速度更快,处理能力更强,性能更高。
芯片级防火墙特点:这类防火墙由于是专用OS,因此防火墙本身的漏洞比较少,不过开发设计复杂,价格相对比较高昂,所以一般只有在“确实需要”的情况下才考虑。
| 架构类型 | X86 | NP | ASIC |
|---|---|---|---|
| 灵活性 | 三星 | 二星 | 一星 |
| 扩展性 | 三星 | 两星 | 一星 |
| 性能提升 | 一星 | 两星 | 三星 |
| 安全性 | 两星 | 两星 | 三星 |
| 价格 | 低 | 中等 | 较高 |
NP:网络处理器 Network Processor
ASIC:专用集成电路 Application Specific Integrated Circuit
包过滤 (Packet filtering)
防火墙通常是一个具备包过滤功能的简单路由器,支持因特网安全。这是使因特网联接更加安全的一种简单方法,因为包过滤是路由器的固有属性。
包是网络上信息流动的单位。在网上传输的文件一般在发出端被划分成一串数据包,经过网上的中间站点,最终传到目的地,然后这些包中的数据又重新组成原来的文件。
每个包有两个部分:数据部分和包头。包头中含有源地址和目标地址等信息。包过滤一直是一种简单而有效的方法。通过拦截数据包,读出并拒绝那些不符合标准的包头,过滤掉不应入站的信息。
包过滤防火墙结构:


每个数据包都包含有特定信息的一组报头 每个数据包都包含有特定信息的一组报头,其主要信息是:IP协议类型(TCP、UDP,ICMP等);IP源地址;IP目的地址;IP选择域的内容;TCP或UDP源端口号;TCP或UDP目标端口号;ICMP消息类型。
路由器也会得到一些在数据包头部信息中没有的关于数据包的其他信息。(出去、进入网口)
检查项:IP包源地址和目的地址、TCP、UDP源端口

过滤路由器严格地检查数据包,除了决定它是否转发数据包到目的地之外,还决定它是否应该发送。应该或者不应该由站点的安全策略决定。过滤路由器放置在内部网络与因特网之间,作用为:
- 过滤路由器将担负更大的责任,它不但需要执行转发及确定转发的任务,而且它是唯一的保护系统;
- 如果安全保护失败(或在侵袭下失败),内部的网络将被暴露;
- 简单的过滤路由器不能修改任务;
- 过滤路由器能容许或否认服务,但它不能保护在一个服务之内的单独操作。如果一个服务没有提供安全的操作要求,或者这个服务由不安全的服务器提供,数据包过滤路由器则不能保护它。
应用代理服务(Application Layer)
代理服务是运行在防火墙主机上的一些特定的应用程序或者服务程序。
防火墙 机可以是有一个内部 络防火墙主机可以是有一个内部网络接口和一个外部网络接口的双重宿主主机,也可以是一些可以访问因特网并可被内部主机访问的堡垒主机。这些程序接受用户对因特网服务的请求(如文件传输FTP和远程登录Telnet等),并按照安全策略转发它们到实际的服务。
所谓代理就是一个提供替代连接并充当服务的网关。代理也称之为应用级网关。代理服务位于内部用户(在内部的网络上)和外部服务(在因特网上)之间。代理在幕后处理所有用户和因特网服务之间的通信以代替相互间的直接交谈。


电路级网关型防火墙
电路级起一定的代理服务作用 它监视两主机建立连接时的握手信息,从而判断该会话请求是否合法,它工作于会话层。
一旦会话连接有效,该网关仅复制、传递数据。它在IP层代理各种高层会话,具有隐藏内部网络信息的能力,且透明性高。但由于其对会话建立后所传输的具体内容不再作进一步地分析,因此安全性稍低。

电路级网关不允许进行端点到端点的TCP连接,而是建立两个TCP连接。一个在网关和内部主机上的TCP用户程序之间,另一个在网关和外部主机的TCP用户程序之间。一旦建立两个连接,网关通常就只是把TCP数据包从一个连接转送到另一个连接中去而不检验其中的内容。其安全功能就是确定哪些连接是允许的。
它和包过滤型防火墙有一个共同特点,都是依靠特定的逻辑来判断是否允许数据包通过,但包过滤型防火墙允许内外计算机系统建立直接联系,而电路级网关无法IP直达。
状态包检测(Stateful-Inspection)
为了克服基本状态包过滤模式所带有的明显安全问题,一些包过滤防火墙厂商提出了所谓的状态包检测概念。
上面提到的包过滤技术简单的查看每一个单一的输入包信息,而状态包检测模式则增加了更多的包和包之间的安全上下文检查,以达到与应用级代理防火墙相类似的安全性能。
状态包检测防火墙在网络层拦截输入包,并利用足够的企图连接的状态信息做出决策(通过对高层的信息进行某种形式的逻辑或数学运算)

状态检测包过滤检测流程示意:

这些包在操作系统内核的私有检测模块中检测。安全决策所需的相关状态信息在检测模块中检测,然后保留在为评价后续连接企图的动态状态表(库)中。被检查通过的包发往防火墙内部,允许直接连接内部、外部主机系统
状态包检测防火墙工作在协议栈的较低层,通过防火墙的所有数据包都在低层处理,不需要协议栈的上层来处理任何数据包,因此减少了高层协议头的开销,执行效率也大大提高了。另外,一旦一个连接在防火墙中建立起来,就不用再对该连接进行更多的处理,这样,系统就可以去处理其它连接,执行效率可以得到进一步的提高。
尽管状态包检测防火墙方法显著的增强了简单包过滤防火墙的安全,但它仍然不能提供和前面提及的应用级检测相似的充足能见度。
状态包检测防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据。这些算法通过已知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更加有效。但应用级代理防火墙对最高层的协议栈内容有足够的能见度,从而可以准确的知道它的意图,而状态包检测防火墙必须在没有这些信息的情况下做出安全决策。
例子
例如,当应用级代理防火墙厂商声称支持微软SQL Server时,你就知道任何到内部SQL Server服务器的远程连接必须在应用层通过专门的微软SQL代理接受全面的检测。而对于状态包检测防火墙,允许远程用户访问防火墙后面的SQL数据库是肯定要冒更大安全风险的。
假设我们的安全守卫是状态包检测守卫。这次当包到来时,和仅简单地检查地址所不同的是,守卫检测货物单看是否包内有任何东西是被禁止的。虽然它比简物单看是否包内有任何东西是被禁止的。虽然它比简单的包过滤好,但它还是不如真正打开包检测它的内容安容安全。如果包看起来是可接受的,守卫打开关卡,如果 看起来是可接受的 守 打开关卡允许运货卡车进入。
状态包过滤和包过滤防火墙区别
1、含义上的区别
状态防火墙是一种能够提供状态封包检查或状态检视功能的防火墙。
包过滤防火墙是用一个软件查看所流经的数据包的包头,由此决定整个包的命运。
2、作用上的区别
状态防火墙能够持续追踪穿过这个防火墙的各种网络连接(例如TCP与UDP连接)的状态。这种防火墙被设计来区分不同连接种类下的合法数据包。只有匹配主动连接的数据包才能够被允许穿过防火墙,其他的数据包都会被拒绝。
包过滤防火墙除了决定是否有到达目标地址的路径外,还要决定是否应该发送数据包;能为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。
总结
静态包过滤防火墙(Static packet-filtering firewall)。该防火墙被描述为第一代防火墙,其工作在OSI模型的layer3,过滤的参数是静态设定的。其主要根据网络层和传输层的数据包头部,以及数据流的传输方向进行过滤。根据该描述,静态包过滤防火墙和Stateless Packet Filtering防火墙是一致的。由于是静态包过滤,所以该防火墙的效率也是比较高的。该防火墙也被称为无状态分组过滤防火墙,路由器中所使用的扩展ACL即是这种防火墙的典型。
电路级防火墙(Circuit-level firewall)。该防火墙被描述为第二代防火墙。其主要功能是作为TCP的中继,故因为工作机制类似中继,可能才被命名为Circuit-level。该防火墙主动截获TCP与被保护主机间的连接,并代表主机完成握手工作。当握手完成后,该防火墙负责检查只有属于该连接的数据分组才可以通过,而不属于该连接的则被拒绝。由于其只检查数据包是否属于该会话,而不验证数据包内容,所以其处理速率也是较快的。
应用级防火墙(Application layer firewall)。该防火墙被描述为第三代防火墙。其主要功能是在建立连接之前,基于应用层对数据进行验证。所有数据包的数据都在应用层被检测,并且维护了完整的连接状态以及序列信息。应用层防火墙还能够验证其他的一些安全选项,而且这些选项只能够在应用层完成,比如具体的用户密码以及服务请求。代理服务器防火墙应该属于应用级防火墙的一种具体实现。
动态包过滤防火墙(Dynamic packet-filtering firewall)。该防火墙被描述为第四代防火墙,其主要工作在OSI 3,4,5层上。这一代防火墙也被称为有状态(stateful)防火墙,其通过本地的状态监控表,用来追踪通过流量的各种信息。该信息可能包含:1.源/目的TCP和UDP端口号。2.TCP序列号。3.TCP标记。4.基于RFCedTCP状态机的TCP会话状态。5.基于计时器的UDP流量追踪。同时,有状态防火墙通常内置高级IP处理的特性,比如数据分片的重新组装以及IP选项的清楚或者拒绝。有状态防火墙甚至可以访问控制上层应用协议,比如FTP和HTTP协议,提供一种高层协议的过滤功能。
防火墙体系结构
双重宿主主机体系结构
双重宿主主机体系结构是围绕具有双重宿主的主体计算机而构筑的。该计算机至少有两个网络接口,这样的主机可以充当与这些接口相连的网络之间的路由器,并能够从一个网络到另一个网络发送IP数据包。
防火墙内部的网络系统能与双重宿主主机通信,同时防火墙外部的网络系统(在因特网上)也能与重宿主主机通信。通过双重宿主主机,防火墙内外的计算机便可进行通信了,但是这些系统不能直接互相通信,它们之间的IP通信被完全阻止。
双重宿主主机的防火墙体系结构是相当简单的,双重宿主主机位于两者之间,并且被连接到因特网和内部的网络。


多宿主主机:

主机过滤体系结构
在主机过滤体系结构中提供安全保护的主机仅仅与内部网相连。另外,主机过滤结构有一台单独的路由器(过滤路由器)。在这种体系结构中,主要的安全由数据包过滤提供。



子网过滤体系结构
子网过滤体系结构添加了额外的安全层到主机过滤体系结构中,即通过添加参数网络,更进一步地把内部网络与因特网隔离开。子网过滤体系结构的最简单的形式为两个过滤路由器,每一个都连接到参数网,一个位于参数网与内部的网络之间,另一个位于参数网与外部网络之间。
子网过滤结构的防火墙组件有外部路由器、堡垒主机、参数网络和内部路由器。外部路由器阻断来自外部网并具有伪装内部网源地址的内向数据包。
堡垒主机是内、外网间的连接点,主要进行包过滤和代理服务。参数网络为内部用户提供了一个附加的保护层,即使侵袭者成功侵入用户的防火墙外层领域,如堡垒主机,必须经过参数网络,才能侵入内部网的用户系统。内部路由器完成防火墙的大部分数据包过滤工作,保护内部的网络使之免受外部网和参数网络的侵扰。

防火墙体系结构中的技术

堡垒主机
建立堡垒主机步骤
- 给堡垒主机一个安全的运行环境。
- 关闭机器上所有不必要的服务软件。
- 安装或修改必需的服务软件。
- 根据最终需要重新配置机器。
- 核查机器上的安全保障机制。
- 将堡垒主机连入网络
建立堡垒主机注意点
- 要在机器上使用最小的、干净的和标准的操作系统。
- 应该认真对待每一条从计算机紧急救援协作中心获得的针对用户目前工作平台的安全建议。
- 要经常使用检查列表(Checklist)。
- 要保护好系统的日志。作为极为重要的主机,堡垒主机上
- 记录有很多信息,建立堡垒主机的一个重要步骤就是要确保系统日志的安全。系统日志非常重要,因为通过它可以判断出堡垒主机的运行是否正常,同时,当有黑客入侵到堡垒主机时,系统日志是记录当时现场的主要机制。所以妥善存放日志很重要。
堡垒主机的监测
监测堡垒主机的运行
- 完成了对堡垒主机的所有配置就可把它连到网上。为了能监视堡垒主机的运行情况,及时发现出现的异常现象,及早发现入侵者或系统本身的安全漏洞。
- 我们首先必须详细了解正常系统运行时预处理文件的内容,包括以下几项:
- 一般在同一时刻大概会有几个作业在运行?
- 每个作业 般花费多少CPU时间?
- 每个作业一般花费多少CPU时间?
- 一天内哪些时间是系统重载的时间?
堡垒主机的保护与备份
在完成堡垒主机的配置并将它投入正常运行后,要给它以较好的物理运行环境,并将有关软件做备份,将文档资料妥善保存。
备份文件应与堡垒主机分离。这样可保证备份不会被侵入到堡垒主机的黑客破坏。由于堡垒主机应是一个稳定的系统,因而备份的制作频度可以稍低一些。每周一次或每月一次便足够了。
堡垒主机的系统备份不仅仅是为系统瘫痪后而重建系统时用的,它也是我们检查系统是否被侵入的工具之一。像其它重要的备份一样,妥善保管好堡垒主机的备像其它重要的备份 样 妥善保管好堡垒主机的备份与保护机器本身同样重要
数据包过滤
包过滤是一种保安机制,它控制哪些数据包可以进出网络而哪些数据包应被网络拒绝。
一个文件要穿过网络,必须将文件分成小块,每小块文件单独传输。把文件分成小块的做法主要是为块文件单独传输。把文件分成小块的做法主要是为了让多个系统共享网络,每个系统可以依次发送文件块。在IP网络中,这些小块被称为包。所有的信息传输都是以包的方式来实施的。
数据包过滤的特点
安全策略基于以下几种方式:(1)数据包的源地址。(2) 数据包的目的地址。(3) 数据包的TCP/UDP源端口。(4) 数据包的TCP/UDP目的端口。(5) 数据包的标志位。(6) 用来传送数据包的协议。

工作机制
包过滤技术可以允许或不允许某些包在网络上传递,它依据以下的判据:(1)将包的目的地址作为判据;(2)将包的源地址作为判据;(3)将包的传送协议作为判据。
包过滤系统只能让我们进行类似以下情况的操作:(1)不让任何用户从外部网用Telnet登录(2)允许任何用户使用SMTP往内部网发电子邮件;(3)只允许某台机器通过NNTP往内部网发新闻
包过滤系统不能允许我们进行如下的操作:(1)允许某个用户从外部网用Telnet登录而不允许其他用户进行这种操作。(2)允许用户传送一些文件而不允许用户传送其它文件。
入侵者总是把他们伪装成来自于内部网。要用包过滤路由器来实现我们设计的安全规则,唯一的方法是通过参数网络上的包过滤路由器。只有处在这种位置上的包过滤路由器才能通过查看包的源地址,从而辨认出这个包到底是来自于内部网还是来自于外部网。

优点
主要优点之一:是仅用一个放置在重要位置上的包过滤路由器就可保护整个网络。如果我们的站点与因特网间只有一台路由器,那么不管站点规模有多大,只要在这台路由器上设置合适的包过滤,我们的站点就可获得很好的网络安全保护。
缺点
- 在机器中配置包过滤规则比较困难;
- 对系统中的包过滤规则的配置进行测试也较麻烦;
- 许多产品的包过滤功能有这样或那样的局限性,要找一个比较完整的包过滤产品比较困难。
包过滤路由器的配置
在配置包过滤路由器时,我们首先要确定哪些服务允许通过而哪些服务应被拒绝,并将这些规定翻译成有关的包过滤规则。
非常重要的几个概念:
- 协议的双向性。协议总是双向的,协议包括一方发送一个请求而另一方返回一个应答。在制定包过滤规则时,要注意包是从两个方向来到路由器的。
- “往内”与“往外”的含义。在我们制定包过滤规则时,必须准确理解 往内 与 往外 的包和"往内"与"往外"须准确理解“往内”与“往外”的包和“往内”与“往外”的服务这几个词的语义。
- “默认允许”与“默认拒绝”。网络的安全策略中的有两种方法:默认拒绝(没有明确地被允许就应被拒绝)与默认允许(没有明确地被拒绝就应被允许)。从安全角度来看,用默认拒绝应该更合适。
包的基本构造
包的构造有点像洋葱一样,它是由各层连接的协议组成的。每一层,包都由包头与包体两部分组成。在包头中存放与这一层相关的协议信息,在包体中存放包在这一层的数据信息。这些数据信息也包含了上层的全部信息。在每一层上对包的处理是将从上层获取的全部信息作为包体,然后依本层的协议再加上包头。这种对包的层次性操作(每一层均加装一个包头)一般称为封装。

包过滤处理内核
过滤路由器可以利用包过滤作为手段来提高网络的安全性。
- 包过滤和网络策略
- 包过滤还可以用来实现大范围内的网络安全策略。网络安全策略必须清楚地说明被保护的网络和服务的类型、它们的重要程度和这些服务要保护的对象。
- 一个简单的包过滤模型
- 包过滤器通常置于一个或多个网段之间。外部网段是通过网络将用户的计算机连接到外面的网络上,内部网段用来连接公司的主机和其它网络资源。
- 包过滤器设备的每一端口都可用来完成网络安全策略,该策略描述了通过此端口可访问的网络服务类型。
- 包过滤器操作
- 包过滤标准必须由包过滤设备端口存储起来,这些包过滤标准叫包过滤规则。
- 当包到达端口时,对包的报头进行语法分析,大多数包过滤设备只检查IP、TCP或UDP报头中的字段,不检查包体的内容。
- 包过滤器规则以特殊的方式存储。
- 如果一条规则阻止包传输或接收,此包便不被允许通过。
- 如果一条规则允许包传输或接收,该包可以继续处理。
- 如果一个包不满足任何一条规则,该包被阻塞。

数据包过滤防火墙的实现过程
- 建立安全策略:规定哪些数据包允许通过、哪些不允许通过
- 转化成对IP地址和端口的判断
- 转化具体防火墙支持的语法格式
- 在具体的系统上设置
选择防火墙的原则
设计和选用防火墙首先要明确哪些数据是必须保护的,这些数据的侵入会导致什么样的后果及网络不同区域需要什么等级的安全级别。
不管采用原始设计还是使用现成的防火墙产品,对于防火墙的安全标准,首先需根据安全级别确定。其次,设计或选用防火墙必须与网络接口匹配,要防止你所能想到的威胁。防火墙可以是软件或硬件模块,并能集成于网桥、网关和路由器等设备之中。
防火墙产品往往有上千种,如何在其中选择最符合需要的产品;是消费者最关心的事。在选购防火墙软件时 应该考虑以下几点:
- 防火墙应该是一个整体网络的保护者
- 防火墙必须能弥补其他操作系统的不足
- 防火墙应该为使用者提供不同平台的选择
- 防火墙应能向使用者提供完善的售后服务
两个例子
例子一
包过滤设计:考虑图中的网络,其中包过滤路由器被用作在内部被保护网络和外部不信任网络之间的第一道防线。
假设网络策略安全规则确定:从外部主机发来的因特网邮件在某一特定网关被接收,并且想拒绝从不信任的CREE-PHOST的主机发来的数据流。
在这个例子中,SMTP使用的网络安全策略必须翻译成包过滤规则。我们可以把网络安全规则翻译成下列中文规则:
/[过滤器规则1/]:我们不相信从CREE-PHOST来的连接。
/[过滤器规则2/]:我们允许与我们的邮件网关的连接。
这些规则可以编成表。其中星号(*)表明它可以匹配该列的任何值。
对于过滤器规则1:阻塞任何从(*)CREE-PHOST主机来的到我们任意(*)主机的任意(*)端口的连接
对于过滤器规则2:允许任意(*)外部主机从其任意(*)端口到我们的Mail-GW主机端口的连接。
| 序 | 动作 | 内部主机 | 内 | 外部主机 | 外 | 说明 |
|---|---|---|---|---|---|---|
| 1 | 阻塞 | * |
* |
Cree-phost | * |
阻塞来自CREEPHOST流量 |
| 2 | 允许 | Mail-GW | 25 | * |
* |
允许我们的邮件网关的连接 |
| 3 | 允许 | * |
* |
* |
25 | 允许输出SMTP至远程邮件网关 |
对于过滤器规则3 :表示了一个内部主机发送SMTP邮件到外部主机端口25。如果外部站点对SMTP不使用端口25,那么SMTP发送者便无法发送邮件。
这些规则应用的顺序与它们在表中的顺序相同。如果一个包不与任何规则匹配,它就会遭到拒绝。表中规定:它允许任何外部机器对端口25产生一个请求。端口25应该保留
例子二
一个例子来讲解包过滤
- 假设处于一个类网络 116.111.4.0 ,认为站点202.208.5.6上有黄色的BBS,所以希望阻止网络中的用户访问该点的BBS;再假设这个站点的BBS服务是通过Telnet方式提供的,那么需要阻止到那个站点的出站Telnet服务,对于Internet的其他站点,允许内部的网用户通过Telnet方式访问,但不允许其他站点以Telnet方式访问网络。
- 为了发电子邮件,允许SMTP出站入站服务,邮件服务器IP地址为116.111.4.1。
- 对于WWW服务,允许内部网用户访问Internet上任何网络和站点,但只允许一个公司的网络访问内部WWW服务器的IP地址为116.111.4.5,因为你们是合作伙伴关系,那个公司的网络为98.120.7.0。

在前面提到过规则的次序是十分重要的,而且路由器实施规则的特点是当路由器找到匹配的规则后就不再向下应用其他的规则,至于规则B,实际上并非毫无用处,规则B用来限制站点202.108.5.6 Telnet服务的返回包。试图建立Telnet联接时就会被阻塞,一般不会存在返回包,但高明的用户也可能想出什么办法使联接成功,那时B规则也会有用,总之,有些冗余对安全是有好处的。当用户以Telnet方式访问除202.105.5.6之外的其他站点时,规则A、B不匹配,所以应用C、D规则,内部主机被允许建立联接,返回包也被允许入站。
规则M是默认项,它实现的准则是“没有明确允许就表示禁止” 。

浙公网安备 33010602011771号