第六组_通信2班_059_防火墙技术
一,拓扑图(适用于自反ACL,动态ACL和基于时间的ACL)

二,地址表 (适用于自反ACL,动态ACL和基于时间的ACL)(学号尾数为59)
|
R1 |
F0/0 |
10.59.1.1/24 |
|
F0/1 |
10.59.2.1/24 |
|
|
R2 |
F0/0 |
10.59.1.2/24 |
|
R3 |
F0/0 |
10.59.1.3/24 |
|
R4 |
F0/0 |
10.59.2.4/24 |
三,配置类容
1.自反ACL
用静态路由配通网络(以R4为列,R2,R3省略)
R4(config-if)#ip address 10.59.2.4 255.255.255.0

( 配置允许ICMP可以不用标记就进入内网,其它的必须被标记才返回。)
r1(config)#ip access-list extended come
r1(config-ext-nacl)#permit icmp any any 被允许的ICMP是不用标记即可进入内网的
r1(config-ext-nacl)#evaluate abc 其它要进入内网的,必须是标记为abc的
应用ACL
r1(config)#int f0/1
r1(config-if)#ip access-group come in
配置内网出去时,telnet被记录为abc,将会被允许返回
r1(config)#ip access-list extended goto
r1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60 telnet已记为abc
r1(config-ext-nacl)#permit ip any any
应用ACL
r1(config)#int f0/1
r1(config-if)#ip access-group goto out
查看内网向外网发起telnet
r2#telnet 10.59.2.4

(可以看出,此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。)
查看ACL
r1#sh ip access-lists

(可以看到,有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,并且后面跟有剩余时间。)
2,动态ACL
配置默认不需要认证就可以通过的数据,如telnet
r1(config)#access-list 100 permit tcp an an eq telnet
配置认证之后才能通过的数据,如ICMP,绝对时间为2分钟。
r1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
应用ACL
r1(config)#int f0/0
r1(config-if)#ip access-group 100 in
测试内网R2 telnet外网R4
r2#telnet 10.59.2.4

(从结果中看出,telnet不受限制。)
测试测试内网R2 ping外网R4
r2#ping 10.59.2.4

(内网在没有认证之前,ICMP是无法通过的。)
配置本地用户数据库
r1(config)#username ccie password cisco
配置所有人的用户名具有访问功能
r1(config)#line vty 0 181
r1(config-line)#login local
r1(config-line)#autocommand access-enable
内网R2做认证
r2#telnet 10.59.1.1

(当telnet路由器认证成功后,是会被关闭会话的。)
测试内网到外网的ICMP通信功能
r2#ping 10.59.2.4

(认证通过之后,ICMP被放行。)
查看ACL状态
r1#sh ip access-lists

(可以看到动态允许的流量已放行。)
3,基于时间的ACL
查看路由当前的时间,并改为当前时间
R1#clock set 17:10:00 April 27 2019
.配置time-range
r1(config)#time-range TELNET
r1(config-time-range)#periodic weekdays 9:00 to 15:00
说明:定义的时间范围为每周一到周五的9:00 to 15:00
配置ACL
说明:配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。
r1(config)#access-list 150 deny tcp host 10.1.1.2 any eq 23 time-range TELNET
r1(config)#access-list 150 permit ip any any
应用ACL
r1(config)#int f0/0
r1(config-if)#ip access-group 150 in
查看当前R1的时间
r1#sh clock

(当前时间为周六17点,即不在所配置的时间范围内。)
测试R2向R4发起telnet会话
r2#telnet 10.59.2.4

可以看到,在规定的时间范围外,R2向R4发起telnet会话是没有被拒绝的。
测试除telnet外的其它流量
r2#ping 10.59.2.4

(可以看到,在规定的时间范围内,除了telnet之外,其它流量不受限制。)
测试除R2之外的设备telnet情况
r3#telnet 10.59.2.4

(可以看到,除R2之外,其它设备telnet并不受限制。)
测试R2向R4发起telnet会话
r2#telnet 10.59.2.4

(在时间范围之外,所限制的流量被放开。)
4,扩展ACL
拓扑图

地址表(学号尾数为59)
|
R1 |
F0/0 |
172.59.1.1/24 |
|
F0/1 |
172.59.2.1/24 |
|
|
S0/0/0 |
172.59.12.1/24 |
|
|
R2 |
S0/0/0 |
172.59.12.2/24 |
|
S0/0/1 |
172.59.23.2/24 |
|
|
R3 |
S0/0/1 |
172.59.23.3/24 |
|
F0/0 |
172.59.3.3/24 |
|
|
PC1 |
F0 |
172.59,1,100 |
|
PC2 |
F0 |
172.59.2.100 |
|
SERVER |
F0 |
172.59.3.100 |
配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
//添加备注,增加可读性
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.3.100 eq 80
//拒绝PC1 所在网段访问Server 172.59.3.100 的Web 服务
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.3.100 eq 21
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.3.100 eq 20
//拒绝PC2 所在网段访问Server 172.59.3.100 的Ftp 服务
R1(config)#access-list 110 deny tcp 172.16.1.0 0.0.0.255 host 172.59.3.100 eq
1433//拒绝PC1 所在网段访问Server 172.59.3.100 的SQL 服务
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.23.3 eq 23
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.3.3 eq 23
//拒绝PC1 所在网段访问路由器R3 的Telnet 服务
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.12.2 eq 80
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.23.2 eq 80
//拒绝PC2 所在网段访问路由器R2 的Web 服务
R1(config)#access-list 110 deny icmp 172.59.1.0 0.0.0.255 host 172.59.3.100
R1(config)#access-list 110 deny icmp 172.59.2.0 0.0.0.255 host 172.59.3.100
//拒绝PC1 和PC2 所在网段ping Server 服务器
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/0/0
R1(config-if)#ip access-group 110 out //接口下应用ACL
配置路由器R3
R3(config)#access-list 120 deny icmp host 172.59.23.2 host 172.59.23.3 echo
R3(config)#access-list 120 permit ip any any
R3(config)#int s0/0/1
R3(config-if)#ip access-group 120 in
实验调试
路由器R1 上查看ACL110
R1#show ip access-lists 110

路由器R3 和路由器R2 互相ping
R3#ping 172.16.23.2

R2#ping 172.16.23.3

路由器R3 查看ACL 120
R3#show ip access-lists 120

配置命令扩展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 172.16.23.2 host 172.16.23.3 echo
R3(config-ext-nacl)#permit ip any any
R3(config-ext-nacl)#int s0/0/1
R3(config-if)#ip access-group acl120 in
R3#show ip access-lists

5,基于时间上下文的控制访问
拓扑图
地址表(学号尾数是59)
|
R1 |
F0/1 |
192.59.1.1/24 |
|
S0/0/0 |
10.59.1.1/30 |
|
|
R2 |
S0/0/0 |
10.59.1.2/30 |
|
S0/0/1 |
10.59.2.2/30 |
|
|
R3 |
S0/0/1 |
10.59.2.1/30 |
|
F0/1 |
192.59.3.1/24 |
|
|
PC-A |
/ |
192.59.1.3/24 |
|
PC-C |
/ |
192.59.3.3/24 |
配置静态路由,使其能互相ping通
R2(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
R2(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R3(config)#ip route 10.59.1.0 255.255.255.252 10.59.2.2
R3(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R1(config)#ip route 10.59.2.0 255.255.255.252 10.59.1.2
R1(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
PC-ApingPC-C

R2pingR1的端口地址
AAA认证:
R1(config)#username admin1 password admin1
R1(config)# aaa new-model
R1(config)#aaa authentication login default local
R1(config)#line console 0
R1(config-line)#login authentication default
VTY连接认证:
R1(config)# aaa authentication login telnet-login local
R1(config)# line vty 0 4
R1(config-line)# login authentication telnet-login
在路由器R2上配置基于TACACS+服务器上的AAA认证
R2(config)#username admin2 password admin2
R2(config)#tacacs-server host 192.168.2.2
R2(config)#tacacs-server key admin2
R2(config)#aaa new-model
R2(config)#aaa authentication login default group tacacs+ local
R2(config)#line console 0
R2(config-line)#login authentication default
在路由器R3配置基于RADIUS服务器的AAA认证
R3(config)#username admin3 password admin3
R3(config)#tacacs-server host 192.168.3.2
R3(config)#tacacs-server key admin3
R3(config)#aaa new-model
R3(config)#aaa authentication login default group radius local
R3(config)#line console 0
R3(config-line)#login authentication default
(至此,用户和密码已配置完成)
在R3配置一个命名IP ACl阻隔所有外网产生的流量。
R3(config)#ip access-list extendedOUT-IN
R3(config-ext-nacl)# deny ip any any R3(config-ext-nacl)# exit
R3(config)# interface s0/0/1
R3(config-if)# ip access-group OUT-IN in
创建一个CBAC检测规则
R3(config)# ip inspect name IN-OUT-IN icmp
R3(config)# ip inspect name IN-OUT-INtelnet
R3(config)# ip inspect name IN-OUT-INhttp
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 192.168.1.3
R3(config-if)# ip inspect IN-OUT-IN out
R3# show ip inspect interfaces

验证(R3重新ping其它端口地址)

(可以看出,其它端口地址已被阻拦,不能ping通)
PC-C ping PC-A, PC-C ping PC-A

(可以看出,PC-C能ping通PC-A,但不能TELNET,实验完成)
6,区域策略防火墙
拓扑图
地址表(学号尾数为59)
|
R1 |
F0/1 |
192.59.1.1/24 |
|
S0/0/0 |
10.59.1.1/30 |
|
|
R2 |
S0/0/0 |
10.59.1.2/30 |
|
S0/0/1 |
10.59.2.2/30 |
|
|
R3 |
S0/0/1 |
10.59.2.1/30 |
|
F0/1 |
192.59.3.1/24 |
|
|
PC-A |
/ |
192.59.1.3/24 |
|
PC-C |
/ |
192.59.3.3/24 |
配置静态路由,使其能互相ping通
R2(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
R2(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R3(config)#ip route 10.59.1.0 255.255.255.252 10.59.2.2
R3(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R1(config)#ip route 10.59.2.0 255.255.255.252 10.59.1.2
R1(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
PC-CpingPC-A

R3ping各个端口地址

在R3创建区域防火墙
R3(config)#zone security IN-ZONE
R3(config-sec-zone)#zone secur
R3(config-sec-zone)#zone security OUT-ZONE
R3(config-sec-zone)#exit
R3(config)#access-list 101 permit ip 192.59.3.0 0.0.0.255 any
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 ins
R3(config)#policy-map type inspect IN-2-OUT-PMAP
R3(config)#policy-map type inspect IN-2-OUT-PMAP
R3(config-pmap)#class type inspect IN-NET-CLASS-MAP
R3(config-pmap-c)#inspect
%No specific protocol configured in class IN-NET-CLASS-MAP for inspection. All protocols will be inspected
R3(config-pmap-c)#exit
R3(config-pmap)#exit
R3(config)#zone-pair security IN-2-OUT-ZPATR 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)#int f0/1
R3(config-if)#zone-member security IN-ZONE
R3(config-if)#exit
R3(config)#int s0/0/1
R3(config-if)#zone-member security OUT-ZONE
R3(config-if)#exit
R3(config)#end
测试从IN-ZONE到OUT-ZONE的防火墙功能
R3#show policy-map type inspect zone-pair sessions

测试外部区域到内部区域的防火墙功能
PC-A telnet PC-C

(PC-A不能远程登录PC-C)
PC-C ping PC-A

R2 ping PC-C

(R2ping不通PC-C)
四,实验总结:
通过这次作业,我了解了更多关于网络安全的知识,还有各种acl的用处及不同之处,不同的acl用于不同的环境下。虽然实验类容数量多,且基于上下文的访问控制和区域策略防火墙类容难且多,但通过看回老师之前发的文档和上网搜索,能做出一点,但没能完整做出来。
以下是我从百度百科中,查询的2种acl的特点及用法。
自反 ACL 帮助保护您的网络免遭网络黑客攻击,并可内嵌在防火墙防护中。提供一定级别的安全性,防御欺骗攻击和某些 DoS 攻击。自反 ACL 方式较难以欺骗,因为允许通过的数据包需要满足更多的过滤条件。例如,源和目的地址及端口号都会检查到,而不只是 ACK 和 RST 位。此类 ACL 使用简单。与基本 ACL 相比,它可对进入网络的数据包实施更强的控制。
动态ACL(Access Control List)是对传统访问表的一种重要功能增强。动态ACL是能够自动创建动态访问表项的访问列表。传统的标准访问列表和扩展的访问列表不能创建动态访问表项。一旦在传统访问列表中加入了一个表项,除非手工删除,该表项将一直产生作用。而在动态访问表中,读者可以根据用户认证过程来创建特定的、临时的访问表项,一旦某个表项超时,就会自动从路由器中删除。
浙公网安备 33010602011771号