3.3 工作任务三 校园网出口设计与部署
【任务分析】
校园网与Internet互联,需要考虑到出口安全的设计与部署。在校园网中,需要一个对网络信息流动进行严格控制的机制,防火墙是最合适的。如果对防火墙加以合理的配置,将能对校园网中的网络活动进行筛选和控制,对日常的业务活动保证其网络活动的正常进行,对非正常的网络活动如病毒木马的传播和网络攻击进行限制等。
结合学校实践教学条件,在本工作任务中,通过在路由器上配置基本的防火墙功能,对防火墙的相关概念和原理有个全面的理解,学会包过虑防火墙的原理与基本配置,使用思科GNS3模拟器了解思科ASA硬件防火墙的配置。
【任务要求】
任务名称 | 校园网出口设计与部署 |
任务目标 | 培养学生对防火墙功能、缺陷、主要技术、体系结构与配置方法的理解;最基本的包过滤防护功能的设计与实施;利用GNS3或思科模拟器了解思科ASA硬件防火墙的配置。 |
学习方式与工具 | 网络设备实验室:路由器、防火墙,或者思科GNS3模拟器。 |
相关知识 | 防火墙的功能与种类、防火墙的部署、防火墙的选择、防火墙在校园网中的的设计与实施。 |
工作任务 | (1)防火墙的部署方式 (2)防火墙基本包过滤防护功能的设计与实施 (3)思科ASA防火墙的配置 |
完成任务和成果 | 校园网出口设计方案,防火墙配置文档 |
3.3.1 防火墙在校园网中的应用
防火墙是在网络安全管理中较常用的一种高级访问控制设备,被置于不同信任区域之间,可以是硬件防火墙设备、可以是具有防火墙功能的路由器、也可以具有防火墙功能的主机等。设置防火墙的目的是确保内部网向外部网的全功能互联和内部网的安全;所有内部网络与外部网的信息交流必须经过防火墙;只有按本地的安全策略被授权的信息才允许通过;防火墙本身具有防止被穿透的能力。
1.防火墙的种类
根据防火墙技术分可分为:包过滤防火墙、状态检测防火墙、应用代理防火墙、包过滤与应用代理复合型防火墙等。
(1)包过滤防火墙
数据包过滤是指在网络层对数据包进行分析、选择和过滤。选择的数据通过系统内设置的访问控制表(ACL)制定允许哪些类型的数据包可以流入或流出内部网络。通过检查数据流中每一个IP数据包的源地址、目的地址、所用端口号、协议状态等因素或其组合来确定是否允许该数据包通过。
包过滤防火墙一般可以直接集成在路由器上,在进行路由选择的同时完成数据包的选择与过滤,也可以由一台单独的计算机来完成数据包的过滤。
包过滤防火墙的优点是速度快、逻辑简单、成本低、易于安装和使用,网络性能和透明度好。缺点是配置困难,容易出现漏洞,而且为特定服务开放的端口存在着潜在的危险。
(2)应用代理防火墙
应用代理防火墙能够将所有跨越防火墙的网络通信链路分为两段,使得网络内部的客户不直接与外部的服务器通信。防火墙内外计算机系统间应用层的连接由两个代理服务器之间的连接来实现。
优点是外部计算机的网络链路只能到达代理服务器,从而起到隔离防火墙内外计算机系统的作用;缺点是执行速度慢,操作系统容易遭到攻击。
(3)状态检测防火墙
状态检测防火墙(也叫动态包过滤防火墙)在网络层由一个检查引擎截获数据包并抽取出与应用状态有关的信息一次作为数据来决定该数据包是接受还是拒绝。检查引擎维护一个动态的状态信息表并对后续的数据包进行检查,一旦发现任何连接的参数有意外变化,该连接就被终止。
状态检测防火墙能够根据协议、端口及IP数据包的源地址、目的地址的具体情况来决定数据包是否可以通过。在实际使用中,一般综合采用以上几种技术,使防火墙产品能够满足对安全性、高效性、适应性和可管理性的要求,再集成防毒软件、反垃圾邮件等功能来提高系统的防毒能力和抗攻击能力。
2.防火墙的部署方式
目前,防火墙可以在路由模式、透明模式、混合模式三种模式下工作。如果防火墙以第三层对外连接(接口具有ip地址),则认为防火墙工作在路由模式下;若防火墙通过第二层对外连接(接口无ip地址),则防火墙工作在透明模式下;若防火墙同时具有工作在路由模式和透明模式的接口,则防火墙工作在混合模式下。
(1)路由模式
当防火墙位于内部网络和外部网络之间时,需要将防火墙与内部网络、外部网络以及dmz三个区域相连的接口分别配置成不同网段的IP地址,重新规划原有的网络拓扑,此时相当于一台路由器。如下图所示,防火墙的trust区域接口与内部网络相连,untrust区域接口与外部网络相连,DMZ接口连接供外网访问的服务器群。
采用路由模式时,可以完成ACL包过滤、NAT转换等功能。但是,路由模式需要对网络拓扑进行修改,内部网络用户需要更改网关、路由器需要更改路由配置等,这是一件费事的工作,因此在使用该模式时需权衡利弊。
一些安全要求比较高的中小型企业用户为了保护内部网络结构,或者弥补所申请的公有IP地址的不足,需要采用路由模式,同时提供进行地址转换。针对这种需求可以使用路由模式。
![]() | 路 由 模 式 |
(2)透明模式
这种模式提供桥接功能,防火墙的所有接口均作为交换接口工作,如下图所示。
防火墙接入采用透明模式的拓扑结构,接入防火墙后无需改变原来拓扑结构,此时防火墙对于子网用户和路由器来说是完全透明的。也就是说,用户完全感觉不到防火墙的存在。
采用透明模式时,只需在网络中像放置网桥(bridge)一样插入防火墙设备即可,无需修改任何已有的配置。与路由模式相同,IP报文同样经过相关的过滤检查(但是ip报文中的源或目的地址不会改变),内部网络用户依旧受到防火墙的保护。
![]() | 透明模式 |
(3)混合模式(透明+路由功能)
这种模式是前两种模式的混合,如图3-7所示。也就是说某些区域(接口)工作在透明模式下,而其他的区域(接口)工作在路由模式下。该模式适用于较复杂的网络环境。
![]() | 混合模式 |
3.衡量防火墙性能技术指标
目前用来评价防火墙性能好坏通常使用以下指标来评判:
(1)吞吐量
在特定负载下每秒防火墙将数据流转发到正确端口的位数,该值是在不同负载下反复测量出来的最大值。也通常指在不丢包的情况下能够达到的最大速率,如下图所示。衡量标准:吞吐量越大,防火墙的性能越高。

(2)时延
是指入口处输入帧最后1个比特到达至出口处输出帧的第一个比特输出所用的时间间隔。如下图所示。延时越小,表示防火墙的性能越高。

(3)丢包率
在连续负载的情况下,防火墙设备由于资源不足应转发但却未转发的帧百分比。如下图所示。丢包率越小,防火墙的性能越高。

(4)背靠背
是指从空闲状态开始,以达到传输介质最小合法间隔极限的传输速率发送相当数量的固定长度的帧,当出现第一个帧丢失时,发送的帧数。

背对背包主要是指防火墙缓冲容量的大小,网络上经常有一些应用会产生大量的突发数据包(例如:NFS、备份、路由更新等),而且这样的数据包的丢失可能会产生更多的数据包的丢失,强大缓冲能力可以减小这种突发对网络造成的影响。
(5)并发连接数
是指数据包穿越防火墙时同时建立的最大连接数。并发连接数主要用来测试防火墙建立和维持TCP连接的性能,并发连接数越大,防火墙的处理性能越高。

4.硬件防火墙产品选择
市面上各种类型的防火墙很多,安全性能各不相同。由于网络安全技术还有许多沿未解决的问题,因此任何防火墙产品的功能都不是绝对完善的。在选购防火墙时,应根据自己网络的现有条件、环境及需求去选购。首先考虑的是性能指标,主要性能指标包括:吞吐量、转发率、时延、丢包率和缓冲能力等;其次,为保证所选择的硬件防火墙不会成为网络瓶颈,还要考虑其各项参数,及其与其它设备协同工作的能力等。
对硬件防火墙进行选择时可以从以下几个方面考虑:
(1)自身的安全性
防火墙产品自身的安全是选择中要最先考虑的,如果自身安全性不高,则对网络的安全性也就无从谈起。自身的安全性主要有是否有安全漏洞、性能瓶颈等。
(2)数据处理性能
数据处理性能是根据防火墙对网络数据的处理能力来进行判断的,如吞吐量、转发率、丢包率、缓冲能力和延迟等。这些性能指标往往与硬件电路和程序算法决定,通过这些参数的对比可以了解一款硬件防火墙产品的硬件性能。
(3)可扩展和可升级性强
目前,一般防火墙至少要有2端口,与路由器串联,一进一出的两个端口,为了提供DMZ区域的服务功能,多采用3端口以上的设计,一个与外部网络连接、一个与内部网络连接、还有一个是DMZ端口用于提供服务器区。当然也有3端口以上的配置,如DMZ区域设置了多个端口以连接多台服务器。一般防火墙还有其它的配置接口等。为了适应未来网络的发展规模。防火墙操作系统也应该能经常升级,提升性能。
(4)易配置性与管理性
选择时尽可能考虑产品的易用性。不易配置与管理的防火墙产品增加了安全管理员的工作量,也无形中增加了企业人力的成本。同时也要考虑产品兼容性及与其它产品的协调性。
(5)产品的售后及相应服务
要考虑产品厂商在售后及相应服务上的信誉度。
(6)防火墙的其它功能
除了具备基本功能外,一般也具有内容过滤、入侵检测、用户认证、虚拟专用网VPN、日志/监控等功能。
(7)品牌因素
选择防火墙时,品牌较好的产品往往具有更成熟的技术,符合最新的技术标准。
总之,在对防火墙的选择上要根据实际需求来选择,关键是选择真正适合自己的防火墙。好的产品还要用好,合理的配置才是关键。
3.3.2 防火墙基本功能的设计与实现
对中等规模以上的企业事业单位网络的出口安全设计,多采用硬件防火墙来实施对网络的保护,同时提供外部的网络服务功能,如通过DMZ接口连接服务器,为外部提供WWW、FTP、MAIL等服务。下面以防火墙的路由模式为例,介绍防火墙基本包过滤、NAT功能的设计与实现。
1.防火墙基本功能设计拓扑

任务要求如下:
(1)按照拓扑,进行网络物理连接;
(2)配置各主机、WEB服务器的IP地址;
(3)配置防火墙(或路由器)各接口地址、默认路由;
(4)通过NAT的配置使得主机A、B和C可以在NAT后访问外网主机D,并且主机A、B和C可利用内网地址192.168.2.100地址访问WEB服务器,外部主机D也可以访问WEB服务器但是通过公网地址访问;
(5)配置ACL功能,仅不允许主机B与主机D进行ICMP通信。
2.防火墙接口地址配置
Router(config)#hostname firewall !设置主机名为"firewall"
!设置接内网接口FastEthernet0/0的IP地址
firewall(config)#interface FastEthernet0/0
firewall(config-if)#ip address 192.168.1.1 255.255.255.0
firewall(config-if)#exit
!设置接WEB服务器接口FastEthernet0/1的IP地址
firewall(config)#interface FastEthernet0/1
firewall(config-if)#ip address 192.168.2.1 255.255.255.0
firewall(config-if)#exit
!设置接外网的接口FastEthernet0/1的IP地址
firewall(config)#interface FastEthernet1/0
firewall(config-if)#ip address 200.1.1.1 255.255.255.0
firewall(config-if)#exit
按照以上配置命令完成防火墙接口配置,并按照前图所示拓扑连接好网络,设置好各主机、服务器的IP地址之后,测试网络连通性。此时,任意主机、服务器之间都能测试成功,内网与外网没有区分开。
3.设置NAT功能
NAT(Network Address Translation,网络地址转换)是将IP数据报报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,将有助于减缓可用IP地址空间的匮乏。
NAT地址转换主要由:静态NAT、动态NAT、超载NAT方式。
(1)静态NAT
静态NAT是按照一一对应的方式将每个内部IP地址转换为一个外部IP地址,如下图所示。这种方式经常用于企业网的内部设备需要能够被外部网络访问到时,比如WEB、FTP、电子邮件等服务器

配置静态NAT的步骤为:
步骤1:在路由器上配置接口IP地址、IP路由选择。
步骤2:指定一个内部接口和一个外部接口。方法是进入接口配置模式下,执行命令:
firewall(config-if)#ip nat { inside | outside }
步骤3:使用全局命令ip nat inside source static local-ip { interface interface | global-ip }配置静态转换条目。
例如,在防火墙基本功能设计拓扑图中,要将WEB服务器的内网IP地址192.168.2.100/24转化为外网IP地址200.1.1.3/24,按照上述步骤,首先设置路由器接口IP地址、路由选择,这一步已经完成;第二步是确定内部接口与外部接口,对于WEB服务器来说,路由器接口FastEthernet0/1为内部接口,FastEthernet1/0为外部接口,可通过如下的配置命令来实现:
!设置FastEthernet0/1为内部接口
firewall(config)#interface FastEthernet0/1
firewall(config-if)#ip inside
firewall(config-if)#exit
!设置FastEthernet1/0为外部接口
firewall(config)#interface FastEthernet1/0
firewall(config-if)#ip outside
firewall(config-if)#exit
步骤3的配置命令为:
ip nat inside source static 192.168.2.100 200.1.1.3 !定义WEB服务器的静态转换
按照以上操作完成对防火墙(或路由器)的配置,可实现外网主机D能通过外网地址200.1.1.3来访问WEB服务器,再以内网地址192.168.2.100将没法访问。
(2)动态NAT
动态NAT是将一个内部IP地址转换为一组外部IP地址(地址池)中的一个IP地址,如下图所示。

配置动态NAT的步骤为:
步骤1:在路由器上配置IP路由选择和IP地址。
步骤2:至少指定一个内部接口和一个外部接口,方法如静态NAT所述。
步骤3:使用命令定义IP访问控制列表,以明确哪些报文将被进行NAT转换。
access-list access-list-number { permit | deny }
步骤4:使用命令定义一个地址池,用于转换地址。
ip nat pool pool-name start-ip end-ip { netmask netmask | prefix-length prefix-length }
步骤5:使用命令将符合访问控制列表条件的内部本地地址转换到地址池中的内部全局地址。
ip nat inside source list access-list-number { interface interface | pool pool-name }
下面用动态NAT地址转换方式实现内网对外网的访问,但是外网主机D不能再访问内网中的任意主机,假设所用外网地址为:200.1.1.1~200.1.1.2/24。
步骤1和步骤二已经完成,不再多介绍。
步骤3是要明确哪些报文将被进行NAT转换,要被转换的报文为192.168.1.0/24网段所有主机。可通过如下的访问控制列表命令实现:
firewall(config)#access-list 10 permit 192.168.1.0 0.0.0.255
步骤4是要定义一个地址池,用于地址转换,可用如下命令来实现:
firewall(config)#ip nat pool addr-pool 200.1.1.1 200.1.1.2 netmask 255.255.255.0
步骤5是要将符合访问控制列表条件的内部本地地址转换到地址池(addr-pool)中的内部全局地址,相关命令如下:
firewall(config)# ip nat inside source list 10 pool addr-pool
按照以上操作动态NAT配置,即可实现内网主机能访问外网主机D,但是外网主机D不能再访问内网主机。NAT功能实现了内网与外网的隔离,也实现了内网地址与外网地址的转换。
(3)超载NAT
超载(Overloading)NAT:是动态NAT的一种实现形式,利用不同端口号将多个内部IP地址转换为一个外部IP地址,也称为PAT、NAPT或端口复用NAT,NAPT也称为PAT或端口级复用NAT。

配置NATP的步骤与动态NAT类似,不需要步骤4(即不用设置地址池),步骤5的配置命令采用:
ip nat inside source list access-list-number { interface interface | pool pool-name } overload
例如,内部网络需要通过NAT装换成一个外网地址,实现与外网的通信,可采用NATP方式。步骤1~3跟动态NAT操作项目,对于列表10中定义的访问控制列表(源地址)进行动态超载NAT(PAT)转换,并都转换为F1/0接口的公网地址,可通过如下配置实现:
firewall(config)#ip nat inside source list 10 interface FastEthernet1/0 overload
4.包过滤功能的设置
防火墙包过滤功能的实现是通过ACL来设置的。ACL(访问控制列表)是实现对流经路由器或防火墙的数据包根据一定的规则进行过滤,从而提高网络可管理性和安全性。ACL分为以下两种:
(1)标准IP访问列表
标准IP访问列表可以根据数据包的源IP地址定义规则,进行数据包的过滤。ACL的配置有数字编号的访问列表和命名的访问列表两种方式。
数字编号ACL的定义语法结构为:
Router(config)#access-list 列表编号 {permit | deny | remark} source [source-wildcard]
注:标准IP访问列表编号范围是1~99、1300~1999
命名ACL的定义语法结构为:
Router(config)# ip access-list standard 访问控制列表名字
Router(config-std-nacl)# permit|deny 源地址 源地址的反掩码
例如,允许192.168.1.222通过,其他主机禁止
firewall(config)#access-list 1 permit host 192.168.1.222
允许192.168.1.0/24通过,其他主机禁止
firewall(config)#access-list 10 permit 192.168.1.0 0.0.0.255
(2)扩展IP访问列表
扩展IP访问列表可以根据数据包的源IP、目的IP、源端口、目的端口、协议来定义规则,进行数据包的过滤。
命名的扩展访问列表定义语法结构:
Router(config)# ip access-list extended 访问控制列表名字
Router(config-ext-nacl)# {permit|deny} 协议 {源地址 源地址的反掩码} [eq 源端口号] {目标地址 目标地址的反掩码} [eq 目标端口号]
数字编号的扩展访问列表定义在全局模式下使用如下语法结构:
ip access-list列表编号 {permit|deny} 协议 {源地址 源地址的反掩码} [eq 源端口号] {目标地址 目标地址的反掩码} [eq 目标端口号]
注:扩展IP访问列表编号范围是100~199、2000~2699。
例如,防火墙基本功能设计拓扑图中,用户要求仅禁止主机B与主机D进行ICMP通信,可定义如下ACL编号为110扩展访问列表:
!禁止主机B与主机D进行ICMP通信
firewall(config)#access-list 110 deny icmp host 192.168.1.3 host 200.1.1.2
firewall(config)#access-list 110 permit ip any any !允许主机B以外的主机进行IP通信
(3)IP访问列表的应用
通过基本访问列表或扩展访问列表的语法格式定义好ACL后,必须将其应用到相应的接口上才能生效,即基于接口进行ACL规则的应用,主要分为入站应用和出站应用。
入站应用是指由外部经该接口进行路由器的数据包进行过滤;出站应用是指路由器从该接口向外转发数据时进行数据包的过滤。
通常标准ACL的应用要靠近目标地址的接口,即离接收方最近的接口;而扩展ACL的应用要靠近源地址的接口,即距离发送方最近的接口。
将ACL应用到接口的配置,是在接口模式下通过配置命令:
firewall(config-if)#ip access-group ACL编号或名字 in|out
其中:in为入站应用,是指从源地址发送的数据流入本地防火墙或路由器时的选择;out为出站应用,是指从源地址发送来的数据流流出本地防火墙或路由器时的选择。
(4)通过防火墙进行访问控制效果检测
对NAT转换的检查与测试:在主机A上Ping主机D,正常为连通状态,在主机D上Ping主机A是不通的,因为NAT屏蔽了内部主机。说明NAT动态转换是设置正确。
对WEB服务器访问的检查与测试:分别在主机A和主机D上访问WEB服务器,A访问WEB服务器的内网IP地址为192.168.2.100,而D主机要访问WEB服务器的外网NAT静态转换后的IP地址为200.1.1.3才能正常连接。说明对WEB服务器的一对一静态NAT转换配置正确。
对包过滤ACL功能的检查与测试:分别在主机B和主机C上Ping主机D,检查连通性,配置正确后,B应该无法与D进行基于ICMP协议的通信,而A、C和路由器接口的IP都可以与D进行基于ICMP协议的通信。
【任务归纳】
通过本任务的学习与实践技能训练,了解中型校园网(企业网)的出口设计,掌握防火墙设备在内网与外网之间的部署方式、防火墙的分类及硬件防火墙的选择、过防火墙基本功能配置,并熟悉掌握防火墙包过滤、NAT功能的应用和功能实现。




