区域防火墙技术综合实验
一、实验拓扑和地址规划表(个人学号后三位047)
GNS3拓扑和地址表
Cisco PT 拓扑和地址表
Device |
Interface |
IP Address |
Subnet Mask |
Default Gateway |
R1 |
Fa0/1 |
192.47.1.1 |
255.255.255.0 |
N/A |
S0/0/0 |
10.47.1.1 |
255.255.255.252 |
N/A |
|
R2 |
S0/0/0 |
10.47.1.2 |
255.255.255.252 |
N/A |
S0/0/1 |
10.47.2.2 |
255.255.255.252 |
N/A |
|
Lo0 |
192.47.2.1 |
255.255.255.0 |
N/A |
|
R3 |
Fa0/1 |
192.47.3.1 |
255.255.255.0 |
N/A |
S0/0/1 |
10.47.2.1 |
255.255.255.252 |
N/A |
|
PC-A |
NIC |
192.47.1.3 |
255.255.255.0 |
192.47.1.1 |
PC-C |
NIC |
192.47.3.3 |
255.255.255.0 |
192.47.3.1 |
二、网络连接配置
1、GNS3
R1配置
R1(config)#int f0/0
R1(config-if)#ip add
R1(config-if)#ip address 10.47.1.1 255.0.0.0
R1(config-if)#no sh
R1(config-if)#no shutdown
R1(config-if)#
R1(config-if)#int f
R1(config-if)#int f1/0
R1(config-if)#ip add
R1(config-if)#ip address 14.47.1.1 255.0.0.0
R1(config-if)#no sh
R1(config-if)#no shutdown
R1(config-if)#ex
R1(config)#router rip
R1(config-router)#net
R1(config-router)#network 10.47.1.0
R1(config-router)#net
R1(config-router)#network 14.47.1.0
R1(config-router)#ex
R2配置
R2#configure
R2(config)#
R2(config)#int f0/0
R2(config-if)#ip add
R2(config-if)#ip address 10.47.1.2 255.0.0.0
R2(config-if)#no sh
R2(config-if)#no shutdown
R2(config-if)#ex
R2(config)#ro
R2(config)#router rip
R2(config-router)#net
R2(config-router)#network 10.47.1.0
R2(config-router)#ex
R3配置
R3#configure
R3(config)#
R3(config)#int f0/0
R3(config-if)#ip add
R3(config-if)#ip address 10.47.1.3 255.0.0.0
R3(config-if)#no sh
R3(config-if)#no shutdown
R3(config-if)#
R3(config-if)#ex
R3(config)#
R3(config)#router rip
R3(config-router)#net
R3(config-router)#network 10.47.1.0
R3(config-router)#ex
R4配置
R4#configure
R4(config)#int f1/0
R4(config-if)#ip add
R4(config-if)#ip address 14.47.1.4 255.0.0.0
R4(config-if)#no sh
R4(config-if)#ex
R4(config)#ip add
R4(config)#router ri
R4(config)#router rip
R4(config-router)#net
R4(config-router)#network 14.47.1.0
R4(config-router)#ex
R4(config)#end
ping通情况
R4ping R2
R3pingR4
2、cisco PT(静态路由)
R1配置
Router#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#
Router(config)#int f0/1
Router(config-if)#ip add
Router(config-if)#ip address 192.47.1.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config-if)#exit
Router(config)#int s0/0/0
Router(config-if)#ip add
Router(config-if)#ip address 10.47.1.1 255.255.255.252
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config-if)#exit
Router(config)#ip route 10.47.2.0 255.255.255.252 10.47.1.2
Router(config)#ip route 192.47.3.0 255.255.255.0 10.47.1.2
Router(config)#ex
Router(config)#exit
Router#
R2配置
Router#conf
Router#configure
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s0/0/0
Router(config-if)#ip ad
Router(config-if)#ip address 10.47.1.2 255.255.255.252
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config)#int s0/0/1
Router(config-if)#ip ad
Router(config-if)#ip address 10.47.2.2 255.255.255.252
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config-if)#exit
Router(config)#ip route 192.47.1.0 255.255.255.0 10.47.1.1
Router(config)#ip route 192.47.3.0 255.255.255.0 10.47.2.1
Router(config)#ex
R3配置
Router#conf t
Router#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#int s0/0/1
Router(config-if)#ip ad
Router(config-if)#ip address 10.47.2.1 255.255.255.252
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config)#int f0/1
Router(config-if)#ip add
Router(config-if)#ip address 192.47.3.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config)#ip route 10.47.1.0 255.255.255.252 10.47.2.2
Router(config)#ip route 192.47.1.0 255.255.255.0 10.47.2.2
Router(config)#ex
Router#
Ping通情况截图
R3pingPC-A
R2pingPC-A和PC-C
PC-ApingPC-C
PC-CpingPC-A
自此网络全部做通
二、自反ACL
(1)路由器配置
R1配置
配置允许ICMP可以不用标记就进入内网,其它的必须被标记才返回
R1#configure
R1(config)#ip acce
R1(config)#ip access-list ex
R1(config)#ip access-list extended come
R1(config-ext-nacl)#per
R1(config-ext-nacl)#permit icmp any any
R1(config-ext-nacl)#eva
R1(config-ext-nacl)#evaluate abc
R1(config-ext-nacl)#int f1/0
R1(config-if)#ip acce
R1(config-if)#ip access-group come in
R1(config-if)#ex
配置内网出去时,telnet被记录为abc,将会被允许返回
R1(config)#
R1(config)#ip acce
R1(config)#ip access-list ex
R1(config)#ip access-list extended goto
R1(config-ext-nacl)#per
R1(config-ext-nacl)#permit tcp any any eq telnet re
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc time
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60
R1(config-ext-nacl)#pere
R1(config-ext-nacl)#per
R1(config-ext-nacl)#permit ip any any
R1(config-ext-nacl)#int f1/0
R1(config-if)#ip acee
R1(config-if)#ip acce
R1(config-if)#ip access-group goto out
(2)结果测试
1、测试外网R4的ICMP访问内网
说明:可以看到,ICMP是可以任意访问的
2、测试外网R4 telnet内网
说明:可以看到,除ICMP之外,其它流量是不能进入内网的。
3、测试内网R2的ICMP访问外网
说明:可以看到,内网发ICMP到外网,也正常返回了
4、测试内网R2发起telnet到外网
说明:可以看到,除ICMP之外,其它流量是不能通过的。
5、查看R2到外网的ICMP
说明:ICMP属正常
6、查看内网向外网发起telnet
说明:可以看出,此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。
7、查看ACL
说明:可以看到,有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,并且后面跟有剩余时间。
二、动态ACL
(1)路由器的配置
R1配置
配置默认不需要认证就可以通过的数据,如telnet
R1(config)#acce
R1(config)#access-list 100 per
R1(config)#access-list 100 permit tcp an an eq telnet
配置认证之后才能通过的数据,如ICMP,绝对时间为2分钟。
R1(config)#acc
R1(config)#access-list 100 dy
R1(config)#access-list 100 dynamic ccie time
R1(config)#access-list 100 dynamic ccie timeout 2 per
R1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
R1(config)#int f
R1(config)#int fastEthernet 0/0
R1(config-if)#ip acc
R1(config-if)#ip acce
R1(config-if)#ip access-group 100 in
配置本地用户数据库
R1#configure
R1(config)#
R1(config)#userna
R1(config)#username ccie pas
R1(config)#username ccie password cisco
配置所有人的用户名具有访问功能
R1(config)#line vty 0 181
R1(config-line)#log
R1(config-line)#login loc
R1(config-line)#login local
R1(config-line)#auto
R1(config-line)#autocom
R1(config-line)#autocommand acc
R1(config-line)#autocommand acce
R1(config-line)#autocommand access-enable
(2)结果测试
1、测试内网R2 telnet 外网R4
说明:从结果中看出,telnet不受限制。
2、测试测试内网R2 ping外网R4
说明:内网在没有认证之前,ICMP是无法通过的。
3、内网R2做认证
说明:当telnet路由器认证成功后,是会被关闭会话的
4、测试内网到外网的ICMP通信功能
说明:认证通过之后,ICMP被放行。
5、测试测试内网R2 ping外网R4
6、查看ACL状态
说明:可以看到动态允许的流量已放行。
五、基于时间的ACL
(1)路由器的配置
R1配置
配置time-range
R1#conf
R1#configure
R1(config)#
R1(config)#time-ran
R1(config)#time-range TELNET
R1(config)#time-range TELNET
R1(config-time-range)#pe
R1(config-time-range)#periodic wee
R1(config-time-range)#periodic weekdays 9:00 to 15:00
说明:定义的时间范围为每周一到周五的9:00 to 15:00
配置ACL
说明:配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。
R1(config-time-range)#ex
R1(config)#acc
R1(config)#access-list 150 deny tcp ho
R1(config)#access-list 150 deny tcp host 10.47.1.2 any eq 23 time-
R1(config)#
R1(config)#acce
R1(config)#access-list 150 deny tcp host 10.47.1.2 any eq 24 time-
R1(config)#$ 150 deny tcp host 10.47.1.2 any eq 24 time-range TELNET
R1(config)#acce
R1(config)#access-list 150 per
R1(config)#access-list 150 permit ip any any
应用ACL
R1(config)#int f0/0
R1(config-if)#ip acce
R1(config-if)#ip access-group 150 in
R1(config-if)#exit
(1)结果测试
1、查看当前R1的时间
说明:当前时间为周五 13:04分,即在所配置的时间范围内。
2、测试R2向R4发起telnet
说明:可以看到,在规定的时间范围内,R2向R4发起telnet会话是被拒绝的。
3、测试除telnet外的其它流量
说明:可以看到,在规定的时间范围内,除了telnet之外,其它流量不受限制
4、测试除R2之外的设备telnet情况
说明:可以看到,除R2之外,其它设备telnet并不受限制。
5、查看当前R1的时间
说明:当前时间为周四15:01,即在所配置的时间范围之外。
6、测试R2向R4发起telnet会话
说明:在时间范围之外,所限制的流量被放开。
六、基于上下文的访问控制
在R3配置一个命名IP ACl阻隔所有外网产生的流量。用ip access-list extended指令创造一个已命名的IP ACL。
R3的配置如下:
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip acc
Router(config)#ip access-list ex
Router(config)#ip access-list extended OUT-IN
Router(config-ext-nacl)#deny ip any any
Router(config-ext-nacl)#ex
Router(config)#int s0/0/1
Router(config-if)#ip acc
Router(config-if)#ip access-group OUT-IN in
Router(config-if)#ex
Router#
在PC-C命令提示符ping PC-A服务器。ICMP回送响应会被ACL阻隔
结果发现ICMP回送响应被ACL阻隔,创建一个CBAC检测规则
Router#ip ins
Router#conf t
Router#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip ins
Router(config)#ip inspect na
Router(config)#ip inspect name IN-OUT-IN icmp
Router(config)#ip ins
Router(config)#ip inspect name IN-OUT-IN telnet
Router(config)#ip ins
Router(config)#ip inspect name IN-OUT-IN http
Router(config)#ip ins
Router(config)#ip inspect au
Router(config)#ip inspect audit-trail
Router(config)#ser
Router(config)#service time
Router(config)#service timestamps deb
Router(config)#service timestamps debug da
Router(config)#service timestamps debug datetime ms
Router(config)#service timestamps debug datetime msec
Router(config)#log
Router(config)#logg
Router(config)#logging host 192.47.1.3
Router(config)#ip ins
Router(config)#int s0/0/1
Router(config-if)#ip ins
Router(config-if)#ip inspect IN-OUT-IN out
Router(config-if)#ex
Router(config)#
在PC-C 成功ping、telnet访问PC-A来检测连通性(telnet被阻隔掉)
在PC-A,ping,Telnet PC-C来检测连通性,这两步都被阻隔掉
show ip inspect sessions
show ip inspect interfaces
show ip inspect config
From PC-C, open a web browser on PC-C; enter the PC-A (server) IP address: 192.47.1.3.
七、区域策略防火墙
由于之前已经全网ping通
PC-A ping通PC-C
PC-C登到PC-A的网页
R3的配置如下:
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#zone se
Router(config)#zone security IN-OUT
Router(config-sec-zone)#zone se
Router(config-sec-zone)#zone security OUT-ZONE
Router(config-sec-zone)#zone security OUT-ZONE
Router(config-sec-zone)#ex
Router(config)#
Router(config)#acc
Router(config)#access-list 101 per
Router(config)#access-list 101 permit ip 192.47.4.0 0.0.0.255 any
Router(config)#cla
Router(config)#class-map ty
Router(config)#class-map type ins
Router(config)#class-map type inspect ma
Router(config)#class-map type inspect mat
Router(config)#class-map type inspect match
Router(config)#class-map type inspect match-all IN-NET-CLASS-MAP
Router(config-cmap)#match acc
Router(config-cmap)#match access-group 101
Router(config-cmap)#ex
Router(config)#pol
Router(config)#policy-map ty
Router(config)#policy-map type ins
Router(config)#policy-map type inspect IN-2-OUT-PMAP
Router(config)#policy-map type inspect IN-2-OUT-PMAP
Router(config-pmap)#cla
Router(config-pmap)#class ty
Router(config-pmap)#class type in
Router(config-pmap)#class type inspect IN-NET-CLASS-MAP
Router(config-pmap-c)#ins
Router(config-pmap-c)#inspect
Router(config-pmap-c)#ex
Router(config-pmap)#ex
Router(config)#zone
Router(config)#zone-pa
Router(config)#zone-pair se
Router(config)#zone-pair security IN-2-OUT-ZAPIR sout
Router(config)#zone-pair security IN-2-OUT-ZAPIR sour
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE de
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE destination
% Incomplete command.
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE destination OUT-ZONE
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE destination OUT-ZONE
% Source security zone name IN-ZONE not defined
Router(config)#zone-pa
Router(config)#zone-pair se
Router(config)#zone-pair security IN-2-OUT2ZAPIR sou
Router(config)#zone-pair security IN-2-OUT2ZAPIR source IN-ZONE de
Router(config)#zone-pair security IN-2-OUT2ZAPIR source IN-ZONE destination OUT-ZONE
% Source security zone name IN-ZONE not defined
Router(config)#
Router(config)#zone se
Router(config)#zone security IN-ZONE
Router(config)#zone security IN-ZONE
Router(config-sec-zone)#ex
Router(config)#zone-pa
Router(config)#zone-pair se
Router(config)#zone-pair security IN-2-OUT-ZAPIR sou
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE de
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE destination OUT-ZONE
Router(config)#zone-pair security IN-2-OUT-ZAPIR source IN-ZONE destination OUT-ZONE
Router(config-sec-zone-pair)#se
Router(config-sec-zone-pair)#service-policy ty ins
Router(config-sec-zone-pair)#service-policy ty
Router(config-sec-zone-pair)#service-policy type ins
Router(config-sec-zone-pair)#service-policy type inspect IN-2-OUT-PMAP
Router(config-sec-zone-pair)#EX
Router(config)#int f0/1
Router(config-if)#zone-menber se
Router(config-if)#zone-member security IN-ZONE
Router(config-if)#ex
Router(config)#int s0/0/1
Router(config-if)#zone-mem
Router(config-if)#zone-member se
Router(config-if)#zone-member security OUT-ZONE
Router(config-if)#ex
以上过程为在R3创建区域防火墙,定义一个流量级别和访问列表,再配置指定防火墙策略以及应用防火墙策略。
测试从IN-ZONE到OUT-ZONE的防火墙功能
第一步 PC_C ping PC-A服务器
第二步 从PC-Ctelnet到R2 的s0/0/1口
PC-C打开网页登到PC-A的服务器
测试外部区域到内部区域的防火墙功能
PC-ApingPC-C不通
R2 ping PC-C也ping不通,但pingPC-A能通
至此说明防火墙设置成功。
八、防火墙技术总结
基于时间的 ACL 具有许多优点,例如在允许或拒绝资源访问方面为网络管理员提供了更多的控制权。允许网络管理员控制日志消息。ACL 条目可在每天定时记录流量,而不是一直记录流量。因此,管理员无需分析高峰时段产生的大量日志就可轻松地拒绝访问。
基于时间访问列表的设计中,用time-range 命令来指定时间范围的名称,然后用absolute命令,或者一个或多个periodic命令来具体定义时间范围。缺点是时间限制会应用到该功能本身。而自反ACL的应用可以拒绝外网主动访问内网,但是ICMP可以不受限制,缺点是它是根据TCP协议以应用,若UDP协议则不能实行。动态ACL的优点能够自动创建动态访问表项的访问列表,传统的标准访问列表和扩展的访问列表不能创建动态访问表项并且简化大型网际网络的管理。基于上下文的访问控制的优点是提供了四个功能,流量过滤、流量检测、入侵检测、一般的告警和审计。区域策略防火墙的优点有很多,防火墙能(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,降低外网对内网的网络威胁,大大保证了信息的私密性。防火墙能有效地记录Internet上的活动,作为访问的唯一点,防火墙能在被保护的网络和外部网络之间进行记录,防止内部信息的外泄。但防火墙也有缺点,比如区域策略防火墙可以阻断攻击,但不能消灭外网的攻击源,也不能阻挡来自内网的攻击,防火墙本身也会出现问题和受到攻击,依然有着漏洞和Bug。
这次整个实验过程,按照老师给的文档,起初都是用的cisco PT做,发现很多指令在cisco PT上是识别不了的,因此把自反ACL,动态ACL,基于时间的ACL在GNS3上完成了。还有在配置基于时间的ACL时候,在设置系统时间上不太明白,所以在网上查找了指令,重设了文档中要求的时间。在配置基于上下文的访问控制和区域防火墙配置的时候,起初配通网络我是用动态路由rip来做的,但是做不成功,后来仔细检查了文档发现要求用静态路由完成,故重新做了一遍。让我对这学期的网络安全课的理解更深。