- 实验一
- 实验环境
ENSP模拟器
- 实验拓扑
图1-1
- IP地址规划
设备 | 接口 | 地址 | 掩码 | 网关 |
R1 | GE0/0/0 | 172.16.85.1 | 255.255.255.0 | N/A |
GE0/0/1 | 172.17.85.1 | 255.255.255.0 | N/A | |
GE0/0/2 | 172.19.85.1 | 255.255.255.0 | N/A | |
R2 | GE0/0/0 | 172.17.85.2 | 255.255.255.0 | N/A |
GE0/0/1 | 172.18.85.2 | 255.255.255.0 | N/A | |
PC1 R3 | E0/0/1 | 自动获取 | 255.255.255.0 | 172.16.85.1 |
Client 2 2 | E0/0/0 | 172.16.85.2
| 255.255.255.0 | 172.16.85.1 |
PC2 PC2 | E0/0/1 | 自动获取 | 255.255.255.0 | 172.19.85.1 |
Client 1 | E0/0/0 | 172.19.85.2 | 255.255.255.0 | 172.19.85.1 |
Server1 | E0/0/0 | 172.18.85.1 | 255.255.255.0 | 172.18.85.2 |
表1- 1
- 配置基本配置并实现全网互通
R1:
interface GigabitEthernet0/0/0
ip address 172.16.85.1 255.255.255.0
interface GigabitEthernet0/0/1
ip address 172.17.85.1 255.255.255.0
ip route-static 172.18.85.0 255.255.255.0 172.17.85.2
[R1]user-interface vty 0 4 //配置telnet登陆
[R1-ui-vty0-4]set authentication password cipher admin
[R1-ui-vty0-4]user privilege level 15
[R1]ip pool 1 //创建172.16.85.0/24网段的地址池
Info: It's successful to create an IP address pool.
[R1-ip-pool-1]network 172.16.85.2 mask 24
[R1-ip-pool-1]gateway-list 172.16.85.1
[R1-ip-pool-1]lease day 1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]dhcp select global
[R1-GigabitEthernet0/0/1]q
[R1]ip pool 20 //创建172.19.85.0/24网段的地址池
Info: It's successful to create an IP address pool.
[R1-ip-pool-20]network 172.19.85.2 mask 24 //配置可分配的IP地址范围
[R1-ip-pool-20]gateway-list 172.19.85.1
[R1-ip-pool-20]lease day 1
[R1-ip-pool-20]q
[R1]int g0/0/2
R1-GigabitEthernet0/0/2]dhcp select global
R2:
interface GigabitEthernet0/0/0
ip address 172.17.85.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 172.18.85.2 255.255.255.0
interface GigabitEthernet0/0/2
ip route-static 172.16.85.0 255.255.255.0 172.17.85.1
[R2]user-interface vty 0 4 //配置telnet登陆
[R2-ui-vty0-4]set authentication password cipher admin
[R2-ui-vty0-4]user privilege level 15
验证全网互通情况:
图1-2 PC1 ping 通Server1
图1-3 PC2 ping 通Server1
- 扩展ACL
- 实验目的
- 拒绝PC1 所在网段访问Server 172.10.85.1 的Web 服务
- 拒绝PC2 所在网段访问Server 172.10.85.1 的Ftp 服务
- 拒绝PC1 和PC2 所在网段ping Server 服务器
- 只允许AR1在指定工作时间telnet到AR2路由器
- 配置过程
- 拒绝PC1 所在网段访问Server 172.10.85.1 的Web 服务
[R1-acl-adv-3001]rule deny tcp destination-port eq 80 source 172.16.85.0 0.0.0.2
55 destination 172.18.85.1 0
- 拒绝PC2 所在网段访问Server 172.10.85.1 的Ftp 服务
[R1-acl-adv-3001]rule deny tcp destination-port eq 20 source 172.19.85.0 0.0.0.2
55 destination 172.18.85.1 0
[R1-acl-adv-3001]rule deny tcp destination-port eq 21 source 172.19.85.0 0.0.0.2
55 destination 172.18.85.1 0
- 拒绝PC1 和PC2 所在网段ping Server 服务器
[R1-acl-adv-3001]rule deny icmp source 172.16.85.0 0.0.0.255 destination 172.18.
85.1 0
[R1-acl-adv-3001]rule deny icmp source 172.19.85.0 0.0.0.255 destination 172.18.
85.1 0
- 放行其他流量
[R1-acl-adv-3001]rule permit ip source any destination any //允许所有流量
- 配置ACL应用到接口
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 3001
- 验证扩展ACL配置
图1-4 PC1所在网段可以访问Web 服务
图1-5 PC1所在网段可不以访问Web 服务
图1-6 PC2所在网段可以访问FTP 服务器
图1-7 PC2所在网段不可以访问FTP 服务器
图1-8 PC1所在网段不可以ping 通服务器
图1-9 PC2 所在网段不可以ping 通服务器
- 基于时间ACL
- 实验目的
- 只允许AR1在工作时间telnetAR2
- 配置过程
[R1]time-range telnet-r2 08:00 to 17:00 working-day //工作日的早上8点到傍晚5点
[R1-acl-adv-3002]rule permit tcp destination-port eq telnet time-range telnet-r
2 source 172.17.85.1 0 destination 172.17.85.2 0
[R1-acl-adv-3002]rule deny tcp destination-port eq telnet source 172.17.85.1 0 d
estination 172.17.85.2 0 //禁止其他时间段telnet
[R1-acl-adv-3002]rule permit ip source any destination any //允许所有流量
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter inbound acl 3002 //配置ACL应用到接口
- 验证基于时间ACL配置
图1-10 在非工作时间段内R1不可以登陆R2,R2 telnet未受限制
图1-11 在工作时间段内R1可以登陆R2,R2 telnet也未受限制
- 实验二
- 实验环境
GNS3模拟器
- 实验拓扑
图2-1
- IP地址规划
设备 | 接口 | 地址 | 掩码 | 网关 | ||
R1 | F0/0 | 10.85.1.1 | 255.255.255.0 | N/A | ||
S1/0 | 10.85.2.1 | 255.255.255.0 | N/A | |||
R2 R2 | F0/0 | 10.85.1.2 | 255.255.255.0 | N/A | ||
R3 R4 | F0/0 | 10.85.1.3 | 255.255.255.0 | N/A | ||
S1/0 | 10.85.2.4 | 255.255.255.0 | N/A |
表2- 1
- 配置基本配置并实现全网互通
本处接口地址配置以R1为例,配置静态路由以R4为例,其他路由器配置类似
R1:
R1(config)#int f0/0
R1(config-if)#no shutdown
R1(config-if)#ip address 10.85.1.1 255.255.255.0
R1(config-if)#ex
R1(config)#int s1/0
R1(config-if)#no shutdown
R1(config-if)#ip address 10.85.2.1 255.255.255.0
R4:
R4(config)#int s1/0
R4(config-if)#no shutdown
R4(config-if)#ip address 10.85.2.4 255.255.255.0
R4(config-if)#ex
R4(config)#ip route 10.85.1.0 255.255.255.0 10.85.2.1
R4(config)#username admin secret admin //创建一个可登陆用户
R4(config)#line vty 0 4
R4(config-line)#login local
图2-2 验证全网互通
- 自反ACL
- 实验目的
- 配置拒绝外网主动访问内网,拒绝外网主动访问内网,但是ICMP可以不受限制
- 配置内网向外网发起的telnet可以被返回
- 配置过程
R1(config)#ip access-list extended come //定义规则come
R1(config-ext-nacl)#permit icmp any any //放行所有ICMP数据包
R1(config-ext-nacl)#evaluate abc //其它数据包要进入内网的,必须是标记为abc
R1(config-ext-nacl)#ex
R1(config)#int s1/0
R1(config-if)#ip access-group come in //应用到接口
R1(config-if)#ex
图2-3 R2 PING\telnet R4,在R1中,除ICMP之外,其它流量是不能通过的
图2-4 R4 PING\telnet R2,在R1中,除ICMP之外,其它流量是不能通过的。
R1(config)#ip access-list extended goto //定义规则goto
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60 telnet已被记为abc,目的是为了从外网返回时,在R1中可以被识别打开缺口被放行
R1(config-ext-nacl)#permit ip any any
R1(config)#int s1/0
R1(config-if)#ip access-group goto out //应用到接口,注意是在S1/0接口应用
R1(config-if)#ex
- 验证自反ACL配置
此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。
有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,后面跟有剩余时间。
图2-5 R2 PING\telnet R4,ICMP、telnet流量均可通过R1
图2-6 查看已配置的ACL 条目
- 动态ACL
- 实验目的
- 配置R1,默认允许所有telnet通过
- 使用telnet做认证,只有当认证通过之后,ICMP才可以通过
- 配置过程
R1(config)#access-list 100 permit tcp any any eq telnet //配置默认不需要认证就可以通过telnet的数据
R1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any //该认证仅能维持2min,2min后再次ping外网需重新认证
R1(config)#int f0/0
R1(config-if)#ip access-group 100 in
从图2-7结果中看出,telnet不受限制,内网在没有认证之前,ICMP是无法通过的
图2-7 R2 PING\telnet R4,在R1中,除telnet之外,其它流量是不能通过的
图2-8 R3 PING\telnet R4,在R1中,除telnet之外,其它流量是不能通过的
配置本地用户数据库
R1(config)#username ccie password ccie
配置所有人的用户名具有访问功能
r1(config)#line vty 0 4
r1(config-line)#login local
r1(config-line)#autocommand access-enable
- 验证动态ACL配置
图2-8 R2 telnet验证之后,可以PING R4
图2-9 R2进行认证后,R3也可以PING R4
图2-10 查看已配置的ACL 条目
- 实验三
- 实验环境
Cisco Packet Tracer模拟器
- 实验拓扑
图3-1
- IP地址规划
设备 | 接口 | 地址 | 掩码 | 网关 | |
R1 | Fa0/1 | 172.16.85.1 | 255.255.255.0 | N/A | |
S0/1/0 | 10.85.1.2 | 255.255.255.0 | N/A | ||
R2 | S0/1/0 | 10.1.1.1 | 255.255.255.0 | N/A | |
S0/1/1 | 10.85.2.2 | 255.255.255.0 | N/A | ||
R3 | Fa0/1 | 172.17.85.1 | 255.255.255.0 | N/A | |
S0/1/1 | 10.85.2.1 | 255.255.255.0 | N/A | ||
server-A | NIC | 172.16.85.3 | 255.255.255.0 | 172.16.85.1 | |
PC-C | NIC | 172.17.85.3 | 255.255.255.0 | 172.17.85.1 |
表3- 1
- 配置基本配置并实现全网互通
本处接口地址、静态路由配置以R1为例,其他路由器配置类似
R1:
interface FastEthernet0/1
ip address 172.16.85.1 255.255.255.0
interface Serial0/1/0
ip address 10.85.1.2 255.255.255.0
ip route 10.85.2.0 255.255.255.0 10.85.1.1
ip route 172.17.85.0 255.255.255.0 10.85.1.1
R2:
username qian secret qian //在R2设置一个可登陆的用户,用于测试
line vty 0 4
login local
验证全网互通情况
图3-2 Server-A可以ping 通PC-C,并成功登陆R2
图3-3 PC-C可以ping 通Server-A,并成功登陆R2
图3-4 PC-C可以登陆server-A的Http服务器
- 配置基于上下文的访问控制
- 实验目的
- 在R3配置配一个带CBAC的IOS防火墙
- 用ping,telnet和http验证CBAC的功能性
- 配置过程
任务1:阻隔外网流量
R3(config)#ip access-list extended out-in //创造一个名叫out-in 的扩展ACL
R3(config-ext-nacl)#deny ip any any //阻隔了所有外网产生的流量
R3(config-ext-nacl)#ex
R3(config)#int s0/1/1
R3(config-if)#ip access-group out-in in 在s0/1/1接口的IN方向应用
R3(config-if)#ex
图3-5进入s0/0/1接口的所有流量均被阻隔,ICMP和telnet的数据包都无法通过R3
任务2:创建一个CBAC检测规则
R3(config)#ip inspect name in-out-in icmp
R3(config)#ip inspect name in-out-in telnet
R3(config)#ip inspect name in-out-in http //检测规则,可放行流量
R3(config)#ip inspect audit-trail //跟踪通过防火墙的网络接入的全部记录
R3(config)#service timestamps debug datetime msec
R3(config)#logging host 172.16.85.3 //在server-A上的syslog服务器记录172.16.85.3主机的日志记录
R3(config)#int s0/1/1
R3(config-if)# ip inspect in-out-in out 在s0/1/1接口的OUT方向应用
- 验证基于基于上下文的访问控制配置结果
检测到ICMP,Telnet,和HTTP的流量可被放行
图3-6 PC-C 成功ping、telnet访问server-A,但不能telnet server-A
图3-7 server-A无法ping、Telnet PC-C
图3-8 PC-C可以登陆server-A的HTTP服务器
每个会话的开启与结束均有记录,以及发起会话的IP也可以被查看到
图3-9检查syslog服务器记录
- 配置基于区域策略的防火墙
- 实验目标
在路由器R3上配置区域策略防火墙ZPF
使用ping、telnet和浏览器验证ZPF防火墙功能
- 配置过程
1、在R3创建区域防火墙:
用 zone security创建区域IN-ZONE
R3(config)#zone security in-zone //创建内部区域
R3(config-sec-zone)#zone security out-zone //创建外部区域
R3(config-sec-zone)#ex
2、定义一个流量级别和访问列表:
用 class map type inspect (match-all)定义流量类型
R3(config)#access-list 185 permit ip 172.17.85.0 0.0.0.255 any //创建一条ACL,允许所有从 172.17.85.0 源网络地址访问到任何其他地址
R3(config)#class map type inspect match-all in-net-class-map //创建一个叫 in-net-class-map的class map type inspect
R3(config-cmap)#match access-group 185 //用match access-group匹配ACL
R3(config-cmap)#ex
3、指定防火墙策略:
用policy-map type inspect定义防火墙策略
R3(config)#policy-map type inspect in-2-out-pmap //创建策略图IN-2-OUT-PMAP
R3(config-pmap)#class type inspect in-net-class-map //定义一个检测级别类型和参考策略图
R3(config-pmap-c)#inspect //定义检测策略图,Inspect这个指令调用基于上下文的访问控制
R3(config-pmap-c)#end //退出
4、应用防火墙策略:
用zone-pair security将防火墙策略应用到源和目的区域对
R3(config)#zone-pair security in-2-out-zpair source in-zone destination out-zone 创建区域对IN-2-OUT-ZPAIR,定义 源 in-zone ,目的 out-zone
R3(config-sec-zone-pair)#service-policy type inspect in-2-out-pmap //把策略图和关联活动附件到区域对
Router(config-sec-zone-pair)#ex
5、把端口调用到合适的安全区域:
用zone-member security将接口分配到区域
R3(config)#int f0/1
R3(config-if)#zone-member security in-zone // f0/1为 in-zone区域
R3(config-if)#ex
R3(config)#int s0/1/1
R3(config-if)#zone-member security out-zone //s0/1/1为 out-zone区域
- 验证基于区域策略的防火墙配置结果
测试从IN-ZONE到OUT-ZONE的防火墙功能
图3-10 PC-C ping通 server-A服务器并telnet 到R2
图3-11 PC-C可以登陆server-A的Http服务器
图3-12 在PC-C 登陆网页的同时,在R3输“show policy-map type inspect zone-pair sessions”看完成情况
测试外部区域到内部区域的防火墙功能
图3-13 server-A服务器ping PC-C
图3-14 R2路由器也不能ping 通 PC-C
- 防火墙技术对比
对各种防火墙技术进行对比,写出适用范围以及优缺点
- 扩展ACL
标准访问列表和扩展访问列表,这两种形式的列表都是静态的ACL过滤方式。这种静态的过滤方式在没有人工参与的情况下,系统不能根据实际情况的变化,动态调整ACL列表中的过滤条目。
- 基于时间ACL
基于时间的 ACL 功能类似于扩展 ACL,但它允许根据时间执行访问控制。要使用基于时间的 ACL,需要创建一个时间范围,指定一周和一天内的时段。可以为时间范围命名,然后对相应功能应用此范围。时间限制会应用到该功能本身。
基于时间ACL的优点:
- 在允许或拒绝资源访问方面为网络管理员提供了更多的控制权。
- 允许网络管理员控制日志消息。ACL 条目可在每天定时记录流量,而不是一直记录流量。因此,管理员无需分析高峰时段产生的大量日志就可轻松地拒绝访问。
- 自反ACL
自反 ACL 允许最近出站数据包的目的地发出的应答流量回到该出站数据包的源地址,这样可以更加严格地控制哪些流量能进入内网,并提升了扩展访问列表的能力。
与前面介绍的带 established 参数的扩展 ACL 相比,自反 ACL 能够提供更为强大的会话过滤。
自反ACL与扩展ACL对比:
- 尽管在概念上与 established 参数相似,但自反 ACL 还可用于不含 ACK 或 RST 位的 UDP 和 ICMP。
- established 选项还不能用于会动态修改会话流量源端口的应用程序。permit established 语句仅检查 ACK 和 RST 位,而不检查源和目的地址。
自反ACL的优点:
- 提供一定级别的安全性,防御欺骗攻击和某些 DoS 攻击。自反 ACL 方式较难被欺骗,因为允许通过的数据包需要满足更多的过滤条件。例如,源和目的地址及端口号都会检查到,而不只是 ACK 和 RST 位。
- 此类 ACL 使用简单。与基本 ACL 相比,它可对进入网络的数据包实施更强的控制。
- 动态ACL
动态ACL是能够自动创建动态访问表项的访问列表。执行动态 ACL 配置时,首先需要应用扩展 ACL 来阻止通过路由器的流量。想要穿越路由器的用户必须使用 Telnet 连接到路由器并通过身份验证,否则会被扩展 ACL 拦截。Telnet 连接随后会断开,而一个单条目的动态 ACL 将添加到现有的扩展 ACL 中。该条目允许流量在特定时间段内通行,另外还可设置空闲超时和绝对超时值。
动态ACL与扩展ACL对比:
动态ACL(Access Control List)是对传统访问表的一种重要功能增强。传统的标准访问列表和扩展的访问列表不能创建动态访问表项。一旦在传统访问列表中加入了一个表项,除非手工删除,该表项将一直产生作用。而在动态访问表中,我们可以根据用户认证过程来创建特定的、临时的访问表项,一旦某个表项超时,就会自动从路由器中删除。
动态ACL的优点:
- 使用询问机制对每个用户进行身份验证
- 简化大型网际网络的管理
- 在许多情况下,可以减少与 ACL 有关的路由器处理工作
- 降低黑客闯入网络的机会
- 通过防火墙动态创建用户访问,而不会影响其它所配置的安全限制
- 基于上下文访问控制列表
基于上下文的访问控制协议通过检查防火墙的流量来发现和管理TCP和UDP的会话状态信息。这些状态信息被用来在防火墙访问列表创建临时通道。通过在流量向上配置ip inspect列表,允许为“源于受保护的内部网络会话”放回流量和附加数据连接,打开这些通路。
自反ACL与CBAC对比:
- CBAC能在应用层协议的基础上增强全安性,能够智能的识别会话,特别是在会话协商阶段端口发生变化的应用层协议比如主动FTP,关于这一点自反ACL是无法识别主动FTP的,但是CBAC能做到。
- 此外CBAC还能配置更多的安全组件功能协同工作,比如:Java小程序的过滤、设定TCP半开会话的数量、UDP的超时、并提供监视与消息发送功能,关于这一些功能,单纯的自反ACL是无法满足的,简而言之、CBAC比自反ACL的安全联动性更强、识别方式更智能、控制和过滤方式更广泛。
- 基于区域策略的防火墙
ZPF是思科防火墙最新技术,以便允许内部用户接入到外部资源,并且不让外部主机访问内部资源,这里面重点是划分好内外区域。这种新型配置模型为多接口路由器提供了直观的策略,提高了防火墙策略应用的精细度,同时提供了一种默认的“全部拒绝”策略,这种策略将禁止防火墙安全区域之间往来的数据流,除非显式应用策略以允许所需数据流通过。
- 实验总结
这次实验涉及到了很多种ACL的配置,这次的防火墙综合实验我他把分为了三个大模块,实验一是比较基础的扩展ACL和基于时间ACL;实验二是一些基于扩展ACL功能之上的动态ACL和自反ACL,它们都提高了扩展访问列表的能力;实验三就是两个比较先进的防火墙技术,它们囊括了前面的几种技术,更适合现实情况的使用。
基于每种防火墙技术我也采用了不同的模拟器进行了实验,由于软考网工的考试涉及到扩展ACL和基于时间ACL的配置,所以我采用了Ensp,动态ACL和自反ACL在PT上无法进行,所以只能使用GNS3进行模拟实验,最后两个就使用了PT进行模拟实验。
整体配置难度适中,最重要的还是要对比并理解各种防火墙技术,以及它们适用范围和优缺点,这一点在完成实验后要真的要用心去理解。