第一部分:扩展ACLweb
拓扑图数据库
地址表浏览器
Device安全 |
Interface服务器 |
IP address网络 |
R1tcp |
F 0/0学习 |
172.16.19.1测试 |
F 0/1this |
10.3.19.1 |
|
S 0/0/1 |
10.1.19.1 |
|
R2 |
S 0/0/1 |
10.1.19.2 |
S 0/0/0 |
10.2.19.2 |
|
R3 |
F 0/0 |
192.168.19.3 |
S 0/0/0 |
10.2.19.3 |
|
PC-1 |
NIC |
172.16.19.100 |
Default Gateway |
172.16.19.1 |
|
PC-2 |
NIC |
10.3.19.100 |
Default Gateway |
10.3.19.1 |
|
Server1 |
NIC |
192.168.19.100 |
Default Gateway |
192.168.19.3 |
配置扩展ACL前先把地址分配端口,网络连通,而后配置静态路由。
R1(config)#ip route 172.16.19.0 255.255.255.0 10.1.19.2
R1(config)#ip route 10.2.19.0 255.255.255.0 10.1.19.2
R1(config)#ip route 192.168.19.0 255.255.255.0 10.1.19.2
R2(config)#ip route 172.16.19.0 255.255.255.0 10.1.19.1
R2(config)#ip route 10.3.19.0 255.255.255.0 10.1.19.1
R2(config)#ip route 192.168.19.0 255.255.255.0 10.2.19.3
R3(config)#ip route 10.1.19.0 255.255.255.0 10.2.19.2
R3(config)#ip route 172.16.19.0 255.255.255.0 10.2.19.2
R3(config)#ip route 10.3.19.0 255.255.255.0 10.2.19.2
R1#show ip route 查看路由表:
试从PC-1 ping 到Server1,查看测试结果:
静态路由配置完成,开始完成扩展ACL实验。
要求:
拒绝PC1 所在网段访问Server 192.168.19.100 的Web 服务
拒绝PC2 所在网段访问Server 192.168.19.100 的Ftp 服务
拒绝PC1 所在网段访问Server 192.168.19.100 的SQL 服务
拒绝PC1 所在网段访问路由器R3 的Telnet 服务
拒绝PC2 所在网段访问路由器R2 的Web 服务
拒绝PC1 和PC2 所在网段ping Server 服务器
只容许路由器R3 以接口s0/1/0 为源ping 路由器R2 的接口s0/1/1 地址,而不容许路
由器R2 以接口s0/1/1 为源ping 路由器R3 的接口s0/1/0 地址,即单向ping.
实验步骤:
(一)配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
R1(config)#access-list 110 deny tcp 172.16.19.0 0.0.0.255 host 192.168.19.100 eq 80
R1(config)#access-list 110 deny tcp 10.3.19.0 0.0.0.255 host 192.168.19.100 eq 21
R1(config)#access-list 110 deny tcp 10.3.19.0 0.0.0.255 host 192.168.19.100 eq 20
R1(config)#access-list 110 deny tcp 172.16.19.0 0.0.0.255 host 192.168.19.100 eq 1433
R1(config)#access-list 110 deny tcp 172.16.19.0 0.0.0.255 host 10.2.19.3 eq 23
R1(config)#access-list 110 deny tcp 172.16.19.0 0.0.0.255 host 192.168.19.3 eq 23
R1(config)#access-list 110 deny tcp 10.3.19.0 0.0.0.255 host 10.1.19.2 eq 80
R1(config)#access-list 110 deny tcp 10.3.19.0 0.0.0.255 host 10.2.19.2 eq 80
R1(config)#access-list 110 deny icmp 172.16.19.0 0.0.0.255 host 192.168.19.100
R1(config)#access-list 110 deny icmp 10.3.19.0 0.0.0.255 host 192.168.19.100
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/0/0
R1(config-if)#ip access-group 110 out
(二)配置路由器R3
R3(config)#access-list 120 deny icmp host 10.2.19.2 host 10.2.19.3 echo
R3(config)#access-list 120 permit ip any any
R3(config)#int s0/0/0
R3(config-if)#ip access-group 120 in
4、实验调试
(一)路由器R1上查看ACL110
R1#show ip access-lists 110
(二)路由器R3和路由器R2互ping
(三)路由器R3查看ACL120
R3#show ip access-lists 120
(四)配置命令扩展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 10.2.19.2 host 10.2.19.3 echo
R3(config-ext-nacl)#permit ip any any
R3(config-ext-nacl)#int s0/0/0
R3(config-if)#ip access-group acl120 in
R3#show ip access-lists
扩展ACL实验配置完成,验证成功。
第二部分:自反ACL
拓扑图
R4为外网,R2和R3为内网。
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
10.1.63.1 |
F 0/1 |
14.1.63.1 |
|
R2 |
F 0/0 |
10.1.63.2 |
R3 |
F 0/0 |
10.1.63.3 |
R4 |
F 0/0 |
14.1.63.4 |
先在R二、R3与R4上配置配置静态路由
R2(config)#ip route 14.1.19.0 255.255.255.0 10.1.19.1
R3(config)#ip route 14.1.19.0 255.255.255.0 10.1.19.1
R4(config)#ip route 10.1.19.0 255.255.255.0 14.1.19.1
配置静态路由完成,路由之间互通,便可作自反ACL
1.配置拒绝外网主动访问内网(拒绝外网主动访问内网,可是ICMP能够不受限制)
(1)配置容许ICMP能够不用标记就进入内网,其它的必须被标记才返回
R1(config)#ip access-list extended come
R1(config-ext-nacl)#permit icmp any any
R1(config-ext-nacl)#evaluate abc
(2)应用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group come in
2.测试结果
(1)测试外网R4的ICMP访问内网
能够看到,ICMP是能够任意访问的
(2)测试外网R4 telnet内网
能够看到,除ICMP以外,其它流量是不能进入内网的。
(1) 测试内网R3的ICMP访问外网
能够看到,内网发ICMP到外网,也正常返回了
(2) 测试内网R3发起telnet到外网
能够看到,除ICMP以外,其它流量是不能经过的。
3.配置内网向外网发起的telnet被返回
(1)配置内网出去时,telnet被记录为abc,将会被容许返回
R1(config)#ip access-list extended goto
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60
R1(config-ext-nacl)#permit ip any any
(2)应用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group goto out
4.测试结果
(1)查看R3到外网的ICMP
ICMP属正常
(3)查看内网向外网发起telnet
能够看出,此时内网发向外网的telnet由于被标记为abc,因此在回来时,存在缺口,能够容许返回。
(4)查看ACL
能够看到,有一条为abc的ACL为容许外网到内网的telnet,正是因为内网发到外网的telnet被标记了,因此也自动产生了容许其返回的ACL,而且后面跟有剩余时间。
第三部分:动态ACL
拓扑图
R2和R3为内网,R4为外网,配置R1,默认容许全部telnet经过,由于要使用telnet作认证,而后只有当认证经过以后,ICMP才能够经过。
这里静态路由配置与地址表自反ACL相同,参照上面配置作通路由便可开始该实验配置。
1.配置Dynamic ACL
(1)配置默认不须要认证就能够经过的数据,如telnet
R1(config)#access-list 100 permit tcp any any eq telnet
(2)配置认证以后才能经过的数据,如ICMP,绝对时间为2分钟。
R1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
(3)应用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 100 in
(1)测试内网R3 telnet外网R4
结果中看出,telnet不受限制。
(2)测试测试内网R3 ping外网R4
内网在没有认证以前,ICMP是没法经过的。
3.配置本地用户数据库
R1(config)#username ccie password cisco
4.配置全部人的用户名具备访问功能
R1(config)#line vty 0 181
R1(config-line)#login local
R1(config-line)#autocommand access-enable
5.内网R3作认证
当telnet路由器认证成功后,是会被关闭会话的。
6.测试内网到外网的ICMP通讯功能
认证经过以后,ICMP被放行。
7.查看ACL状态
能够看到动态容许的流量已放行。
第四部分:基于时间的ACL
拓扑图
前提:在R1路由器上须要提早配置好正确的时间
R1#clock set 20:00:00 apr 28 2019
本实验静态路由配置与地址表与第一个实验自反ACL相同,参照上面配置作通路由。
1.配置time-range
R1(config)#time-range TELNET
R1(config-time-range)#periodic weekend 10:00 to 22:00
(定义的时间范围为周末的10:00 to 22:00)
2.配置ACL(配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量所有经过。)
R1(config)#access-list 150 deny tcp host 10.1.19.2 any eq 23 time-range TELNET
R1(config)#access-list 150 permit ip any any
3.应用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 150 in
4.测试时间范围内的流量状况
(1)查看当前R1的时间
当前时间为周日20:00,即在所配置的时间范围内。
(2)测试R3向R4发起telnet会话
在规定的时间范围内,R3向R4发起telnet会话是被拒绝的。
(3)测试除telnet外的其它流量
在规定的时间范围内,除了telnet以外,其它流量不受限制。
(4)测试除R3以外的设备telnet状况
能够看到,除R3以外,其它设备telnet并不受限制。
5.测试时间范围外的流量状况
(1)更改当前R1的时间
更改时间为周日23:00,即在所配置的时间范围以外。
(2)测试R3向R4发起telnet会话
在时间范围以外,所限制的流量被放开。
第五部分:基于上下文的访问控制
拓扑图
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
192.168.19.1 |
S 0/0/0 |
10.1.19.1 |
|
R2 |
S 0/0/0 |
10.1.19.2 |
S 0/0/1 |
10.2.19.2 |
|
R3 |
F 0/0 |
172.16.19.3 |
S 0/0/0 |
10.2.19.3 |
|
PC-A |
NIC |
192.168.19.4 |
Default Gateway |
192.168.19.1 |
|
PC-B |
NIC |
172.16.19.4 |
Default Gateway |
172.16.19.3 |
预配置:
在配置防火墙以前验证设备间连通性,即先配置静态路由
R1(config)#ip route 10.2.19.0 255.255.255.0 10.1.19.2
R1(config)#ip route 172.16.19.0 255.255.255.0 10.1.19.2
R2(config)#ip route 192.168.19.0 255.255.255.0 10.1.19.1
R2(config)#ip route 172.16.19.0 255.255.255.0 10.2.19.3
R3(config)#ip route 10.1.19.0 255.255.255.0 10.2.19.2
R3(config)#ip route 192.168.19.0 255.255.255.0 10.2.19.2
在R3启用密码
R3(config)#enable password a123
启用console口密码
R3(config)#line console 0
R3(config-line)#password b123
启用vty行接入密码
R3(config)#line vty 0 4
R3(config-line)#password c123
把S一、S2全部交换机接口都在Vlan1(S2配置相同)
S1(config)#int f0/1
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
S1(config)#int f0/2
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
预配置完成
验证:在PC-B的命令提示符中ping PC-A服务器
在PC-B命令提示符中telnet路由R2的s0/0/1接口:地址时10.2.19.2.退出telnet阶段:
在PC-B开一个网页浏览器登入PC-A来展现网页。关掉PC-B的浏览器。
在PC-A的命令提示符ping PC-B:
在R3配置一个命名IP ACl阻隔全部外网产生的流量
用ip access-list extended指令创造一个已命名的IP ACL
R3(config)#ip access-list extended out-in
R3(config-ext-nacl)# deny ip any any
R3(config-ext-nacl)# exit
在s0/0/0应用ACl
R3(config)#int s0/0/0
R3(config-if)# ip access-group out-in in
确保进入s0/0/1接口的流量被阻隔
在PC-B命令提示符ping PC-A服务器。ICMP回送响应会被ACL阻隔:
建立一个CBAC检测规则
第一步 建立一个检测规则来检测ICMP,Telnet,和HTTP流量。
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
第二步 开启时间戳记记录和CBAC审计跟踪信息。
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 192.168.19.4
第三步 对在s0/0/0的出口流量用检测规则。
R3(config-if)#int s0/0/0
R3(config-if)# ip inspect IN-OUT-IN out
第四步 验证审计跟踪信息正被syslog服务器记录
在PC-B 成功ping、telnet访问PC-A来检测连通性,注意Telnet不了。
在PC-A ping 、Telnet PC-B来检测连通性,这两步都被阻隔掉:
CBAC基于上下文的访问控制配置完成。
第六部分:基于区域策略的防火墙
拓扑图
地址表与预配置和上一实验(基于上下文的访问控制)彻底一致,参照上面配置便可。
验证基本网络连通性
PC-A ping通PC-B
PC-B telnet到R3的s0/0/0接口:
在R3建立区域防火墙
第一步 建立一个内部区域。
R3(config)# zone security IN-ZONE
第二步 建立外部区域
R3(config-sec-zone)# zone security OUT-ZONE
R3(config-sec-zone)# exit
定义一个流量级别和访问列表
第一步 建立一个用来定义内部流量的ACL
R3(config)# access-list 101 permit ip 172.16.19.0 0.0.0.255 any
第二步 建立一个涉及内部流量ACL的class map
R3(config)# class-map type inspect match-all IN-NET-CLASS-MAP
R3(config-cmap)# match access-group 101
R3(config-cmap)# exit
指定防火墙策略
第一步 建立一个策略图来肯定对匹配的流量干啥。
R3(config)# policy-map type inspect IN-2-OUT-PMAP
第二步 定义一个检测级别类型和参考策略图。
R3(config-pmap)# class type inspect IN-NET-CLASS-MAP
第三步 定义检测策略图
Inspect这个指令调用基于上下文的访问控制(其余还有经过和丢弃)
R3(config-pmap-c)#inspect
应用防火墙策略
第一步 建立一对区域
R3(config)# zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE
第二步 定义策略图来控制两个区域的流量。
R3(config-sec-zone-pair)# service-policy type inspect IN-2-OUT-PMAP
R3(config-sec-zone-pair)# exit
第三步 把端口调用到合适的安全区域。
R3(config)# interface fa0/0
R3(config-if)# zone-member security IN-ZONE
R3(config-if)# exit
R3(config)# interface s0/0/0
R3(config-if)# zone-member security OUT-ZONE
R3(config-if)# exit
测试从IN-ZONE到OUT-ZONE的防火墙功能
第一步 PC-B ping PC-A服务器
第二步 从PC-B telnet到R2的s0/0/1口
PC-B打开网页登到PC-A的服务器:
测试外部区域到内部区域的防火墙功能,验证配置ZPF以后外部没法访问内部。
第一步 PC-A ping PC-B(注意不能ping通):
第二步 R2 ping PC-B也不能ping通:
基于区域策略的防火墙配置验证完成。
做业总结:
本次做业一共涉及了6个实验,内容包括自反ACL、扩展ACL、动态ACL、基于时间的ACL、基于上下文的访问控制和基于区域策略的防火墙。
针对于扩展ACL,与标准ACL不一样之处在于:标准ACL禁止或者容许的是某一主机,或者某一网段的所有数据流量,也就是只对数据流量的来源进行控制;而扩展ACL检查数据的来源地址也检查数据的目的地址,还能检查特定的协议类型和端口号,能够这么说,它能够作到容许外来的web通讯,能够去禁止外来的FTP和telnet等通讯,这点标准ACL是作不到的。但从ACL总体来讲,优势在于表述直观、易于理解,比较容易查出对某一特定资源拥有访问权限的全部用户,有效地实施受权管理。缺点也显而易见,那就是应用到规模大的企业内部网时,单纯使用ACL不易实现最小权限原则及复杂的安全政策。
在实验过程当中,针对于扩展ACL实验中,发现PC端始终没法ping通到Server端,并且经常会出现“overlaps with”的端口占用错误提示,通过和小组成员的探究,发现是不一样类型端口不能占用同一网段,修改后可以正常并成功完成实验,对以后的学习提供了参考经验。