一、     扩展ACL

1.实验目的

(一)定义扩展ACL

(二)应用扩展ACL

(三)扩展ACL 测试

(四)  定义命名扩展ACL

2.拓扑

 

 

图 1

3.地址规划

设备

接口

地址

R0

Fa 0/0

172.16.30.2/24

S 0/1/0

172.18.30.2/24

R1

S 0/1/0

172.18.30.1/24

S 0/1/1

172.19.30.1/24

R2

S 0/1/0

172.19.30.3/24

Fa 0/0

172.20.30.3/24

Fa 0/1

172.17.30.3/24

Server

/

172.16.30.1/24

PC 0

/

172.20.30.1/24

PC 1

/

172.17.30.1/24

 

4.实验步骤

􀁺 拒绝PC1 所在网段访问Server 172.16.30.1 的Web 服务

􀁺 拒绝PC2 所在网段访问Server 172.16.30.1 的Ftp 服务

􀁺 拒绝PC1 所在网段访问路由器R1 的Telnet 服务

􀁺 拒绝PC1 和PC2 所在网段ping Server 服务器

 

 

R2(config)#access-list 110 deny tcp 172.20.30.0 0.0.0.255 host 172.16.30.1 eq 80

//拒绝PC1 所在网段访问Server 172.16.30.1 的Web 服务

 

R2(config)#access-list 110 deny tcp 172.17.30.0 0.0.0.255 host 172.16.30.1 eq 21

R2(config)#access-list 110 deny tcp 172.17.30.0 0.0.0.255 host 172.16.30.1 eq 20

//拒绝PC2 所在网段访问Server 172.16.3.100 的Ftp 服务

 

R2(config)#access-list 110 deny tcp 172.20.30.0 0.0.0.255 host 172.19.30.1 eq 23

R2(config)#access-list 110 deny tcp 172.20.30.0 0.0.0.255 host 172.19.30.1 eq 23

//拒绝PC1 所在网段访问路由器R1的Telnet 服务

 

R2(config)#access-list 110 deny icmp 172.20.30.0 0.0.0.255 host 172.16.30.1

R2(config)#access-list 110 deny icmp 172.17.30.0 0.0.0.255 host 172.16.30.1

//拒绝PC1 和PC2 所在网段ping Server 服务器

 

R2(config)#access-list 110 permit ip any any

R2(config)#int s0/1/0

R2(config-if)#ip access-group 110 out //接口下应用ACL

 

5.测试结果

1.1 登录FTP

 

 

图 2

 

 

 

5.2登录R2

 

 

图 3

 

5.3上WEB

 

 

 

图 4

 

5.4 PC1 ping 服务器被限制

 

 

图 5

 

5.5  PC0 web服务被限制

 

 

图 6

 

 

5.6 PC0 telnet R1被限制

 

 

图 7

 

5.7 PC1 ftp被限制

 

 

图 8

二、     自反ACL

1. 实验目的

(一)定义自反ACL

(二)应用自反ACL

(三)自反ACL 测试

2.拓扑

 

 

图 9

 

 

 

3.地址规划

路由器

接口

地址

R 1

F 0/0

172.16.30.1/24

R 2

F 0/0

172.16.30.2/24

R 3

F 0/0

172.16.30.3/24

F 0/1

172.17.30.3/24

R 4

F 0/0

172.17.30.4/24

 

 

 

 

4.实验步骤

拒绝外网R4  主动访问内网,但是ICMP可以不受限制

说明:R4为外网,R2和R3为内网。

 

1.配置拒绝外网主动访问内网

说明:拒绝外网主动访问内网,但是ICMP可以不受限制

(1)配置允许ICMP可以不用标记就进入内网,其它的必须被标记才返回

R3(config)#ip access-list extended come

R3(config-ext-nacl)#permit icmp any any     //被允许的ICMP是不用标记即可进入内网的

R3(config-ext-nacl)#evaluate abc              //其它要进入内网的,必须是标记为abc的

 

(2)应用ACL

R3(config)#int f0/1

R3(config-if)#ip access-group come in

5.测试结果

(1)测试外网R4的ICMP访问内网

 

 

图 10:可以看到,ICMP是可以任意访问的

 

(2)测试外网R4 telnet内网

 

 

图 11:可以看到,除ICMP之外,其它流量是不能进入内网的。

 

 

 

 

 

 

(1)   测试内网R1的ICMP访问外网

 

 

图 12:可以看到,内网发ICMP到外网,也正常返回了

 

 

 

 

(2)   测试内网R2发起telnet到外网

 

 

图 13:可以看到,除ICMP之外,其它流量是不能通过的。

 

 

 

 

 

3.配置内网向外网发起的telnet被返回

说明:外网和内网之间的ICMP可以不受限制,外网不能telnet内网,但内网telnet外网时,需要配置记录,让其返回,根据上面的ACL配置,可以返回的,必须是标为abc的,所以在此为内网发向外网的telnet标为abc,返回时,就会有缺口,因此内网能正常telnet外网,但外网不可主动telnet内网。

 

 

 

(1)配置内网出去时,telnet被记录为abc,将会被允许返回

R3(config)#ip access-list extended  goto

R3(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60   telnet已记为abc

R3(config-ext-nacl)#permit ip any any                

 

 

 

(2)应用ACL

R3(config)#int f0/1

R3(config-if)#ip access-group goto out

 

 

测试结果

(1)查看R2到外网的ICMP    查看内网向外网发起telnet

 

 

图 14

 

 

说明:ICMP属正常,可以看出,此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。

 

 

(3)   查看ACL

 

 

图 15

说明:可以看到,有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,并且后面跟有剩余时间。

 

三、     动态ACL

1.实验目的

(一)定义动态ACL

(二)应用动态ACL

(三)动态ACL 测试

2.拓扑

 

 

图 16

 

 

 

 

3.地址规划

路由器

接口

地址

R 1

F 0/0

172.16.30.1/24

R 2

F 0/0

172.16.30.2/24

R 3

F 0/0

172.16.30.3/24

F 0/1

172.17.30.3/24

R 4

F 0/0

172.17.30.4/24

 

4.实验配置及测试结果

R2和R1为内网,R4为外网,配置R3,默认允许所有telnet通过,因为要使用telnet做认证,然后只有当认证通过之后,ICMP才可以通过

 

1.配置Dynamic ACL

(1)配置默认不需要认证就可以通过的数据,如telnet

R3(config)#access-list 100 permit tcp an an eq telnet

 

(2)配置认证之后才能通过的数据,如ICMP,绝对时间为2分钟。

R3(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any

 

(3)应用ACL

R3(config)#int f0/0

R3(config-if)#ip access-group 100 in

 

2.测试访问

(1)测试内网R2 telnet外网R4

 

图 17:从结果中看出,telnet不受限制。

 

 

(2)测试测试内网R2 ping外网R4

 

图 18:内网在没有认证之前,ICMP是无法通过的。

 

3.配置本地用户数据库

R3(config)#username wang password 123

 

4.配置所有人的用户名具有访问功能

R3(config)#line vty 0 181

R3(config-line)#login local

R3(config-line)#autocommand access-enable  这条必加

 

5.内网R2做认证

 

 

 

 

图 19:当telnet路由器认证成功后,是会被关闭会话的。

 

 

  1. 测试内网到外网的ICMP通信功能

 

 

 

 

图 20:认证通过之后,ICMP被放行。

 

 

 

  1. 查看ACL状态

 

 

图 21:可以看到动态允许的流量已放行。

 

 

8.host功能

第一种:R3(config-line)#autocommand access-enable     //如果没有加host,那么内网一台主机通过认证之后,所有主机都能访问外网

第二种:R3(config-line)# autocommand  access-enable host   //加了host,就变成谁通过了认证,谁才能访问外网。

 

有配置访问功能时,命令有两种,并且后面可以跟时间,这里的时间为空闲时间,必须比之前的绝对时间要小,在配置访问功能时,如果没有加host,那么内网一台主机通过认证之后,所有主机都能访问外网,加了host,就变成谁通过了认证,谁才能访问外网。

 

 

四、     基于时间ACL

1.实验目的

(一)定义基于时间ACL

(二)应用基于时间ACL

(三)自反基于时间ACL 测试

2.拓扑

 

 

图 22

3.地址规划

路由器

接口

地址

R 1

F 0/0

172.16.30.1/24

R 2

F 0/0

172.16.30.2/24

R 3

F 0/0

172.16.30.3/24

F 0/1

172.17.30.3/24

R 4

F 0/0

172.17.30.4/24

 

4.实验步骤

配置R3在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。

 

3.实验配置

1.配置time-range

R3(config)#time-range TELNET

R3(config-time-range)#periodic weekdays 9:00 to 17:00

说明:定义的时间范围为每周一到周五的9:00 to 17:00

 

2.配置ACL

说明:配置R3在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。

R3(config)#access-list 150 deny tcp host 172.16.30.1 any eq 23 time-range TELNET

R3(config)#access-list 150 permit ip any any

 

3.应用ACL

R3(config)#int f0/0

R3(config-if)#ip access-group 150 in

 

5.测试时间范围内的流量情况

(1)查看当前R1的时间测试R1向R4发起telnet会话。

 

 

图 23可以看到,在规定的时间范围内,R1向R4发起telnet会话是被拒绝的。

 

 

(3)测试除telnet外的其它流量

 

 

图 24可以看到,在规定的时间范围内,除了telnet之外,其它流量不受限制。

 

 

(4)测试除R1之外的设备telnet情况

R2#telnet 172.17.30.4

Trying 172.17.30.4 ... Open

R4>

说明:可以看到,除R2之外,其它设备telnet并不受限制。

 

5.测试时间范围外的流量情况

(1)查看当前R3的时间

 

 

图 25当前时间为周一18:00,即在所配置的时间范围之外。

 

 

 

 

 

(2)测试R1向R4发起telnet会话

 

 

图 26在时间范围之外,所限制的流量被放开。

 

 

 

五、     基于上下文访问控制

1.实验目的

•   在配置防火墙之前验证设备间连通性

•   在R3配置配一个带CBAC的IOS防火墙

•   用ping,telnet和http验证CBAC的功能性

2.拓扑

 

 

图 27

 

 

3.地址规划

设备

接口

地址

R0

Fa 0/0

172.16.30.2/24

S 0/1/0

172.18.30.1/24

R1

S 0/1/0

172.18.30.2/24

S 0/1/1

172.19.30.2/24

R2

S 0/1/0

172.19.30.3/24

Fa 0/0

172.20.30.3/24

Server

/

172.16.30.1/24

PC 0

/

172.19.30.1/24

 

4.实验步骤

任务1:阻隔外网流量

第一步  验证基本的网络连通性

配置防火墙之前先验证网络连通性

•   在PC-C的命令提示符中ping 服务器

•   在PC-C命令提示符中telnet路由R2的s0/1/1接口:地址时172.18.30.2退出telnet阶段

•   在PC-C开一个网页浏览器登入PC-A来展示网页。关掉PC-C的浏览器。

•   在服务器的命令提示符ping PC-C

 

第二步  在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/1/0应用ACl

R3(config)# interface s0/1/0

R3(config-if)# ip access-group OUT-IN in

 

第四步  确保进入s0/1/0接口的流量被阻隔

       在PC-C命令提示符ping PC-A服务器。ICMP回送响应会被ACL阻隔。

 

任务2:创建一个CBAC检测规则

第一步  创建一个检测规则来检测ICMP,Telnet,和HTTP流量。

 

第二步   开启时间戳记记录和CBAC审计跟踪信息。

用ip inspect audit-trail指令去开启CBAC审计信息来提供关于通过防火墙的网络接入记录,包括非法访问尝试。用logging host指令在syslog服务器启用日志记录、关于172.16.30.1。确保登录消息打上时间标记。

R3(config)# ip inspect audit-trail

R3(config)# service timestamps debug datetime msec

R3(config)# logging host 172.16.30.1

 

第三步    对在s0/1/0的出口流量用检测规则。

R3(config-if)# ip inspect IN-OUT-IN out

 

5.测试结果

第四步   验证审计跟踪信息正被syslog服务器记录

•   在PC-C 成功ping、telnet访问PC-A来检测连通性。需要注意Telnet不了。

 

 

图 28

 

 

•   在PC-A,ping,Telnet PC-C来检测连通性,这两步都被阻隔掉

 

 

图 29

 

 

 

 

 

 

 

 

回顾在服务器PC-A的syslog信息,在配置窗口点击syslog option。

 

 

图 30

 

 

 

 

 

 

图 31:查看报文过滤配置

 

 

 

 

 

 

图 32:查看端口配置

 

 

 

 

 

 

 

 

六、     配置基于区域策略的防火墙

1.实验目的

•   在配置防火墙之前先验证网络连通性

•   在路由器R3上配置区域策略防火墙ZPF

•   使用ping、telnet和浏览器验证ZPF防火墙功能

2.拓扑

 

 

图 33

3.地址规划

设备

接口

地址

R0

Fa 0/0

172.16.30.2/24

S 0/1/0

172.18.30.1/24

R1

S 0/1/0

172.18.30.2/24

S 0/1/1

172.19.30.2/24

R2

S 0/1/0

172.19.30.3/24

Fa 0/0

172.20.30.3/24

Server

/

172.16.30.1/24

PC 0

/

172.19.30.1/24

 

4.实验步骤

第一步   创建一个内部区域。

用 zone security创建区域IN-ZONE

R3(config)# zone security IN-ZONE

 

第二步 创建外部区域.用 zone security创建区域OUT-ZONE

R3(config-sec-zone)# zone security OUT-ZONE

R3(config-sec-zone)# exit

 

    定义一个流量级别和访问列表

 

第一步   创建一个用来定义内部流量的ACL

用access-list创建扩展ACL101来在IP层面允许所有从源网络地址访问到任何其他地址。

R3(config)# access-list 101 permit ip 172.19.30.0 0.0.0.255 any

 

第二步 创建一个涉及内部流量ACL的class map

用 class map type inspect (match all)来创建一个叫 class map type inspect 的class map,用match access-group匹配ACL

R3(config)# class-map type inspect match-all IN-NET-CLASS-MAP

R3(config-cmap)# match access-group 101

R3(config-cmap)# exit

 

指定防火墙策略

第一步 创建一个策略图来确定对匹配的流量干啥。

用 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

 

第三步  定义检测策略图

Inspect这个指令调用基于上下文的访问控制(其他还有通过和丢弃)

R3(config-pmap-c)# inspect

 

输exit两次退出config-pmap-c模式,回到全局模式

R3(config-pmap-c)# exit

R3(config-pmap)# exit

 

应用防火墙策略

第一步 创建一对区域

用zone-pair security创建一个区域对IN-2-OUT-ZPAIR对任务一中创建的区域进行源和目的区域定义

R3(config)# zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE

 

第二步 定义策略图来控制两个区域的流量。

用 service-policy type inspect把策略图和关联活动附加到区域对,参考之前创建的策略图IN-2-OUT-PMAP.

R3(config-sec-zone-pair)# service-policy type inspect IN-2-OUT-PMAP

R3(config-sec-zone-pair)# exit R3(config)#

 

第三步 把端口调用到合适的安全区域。

在端口的全局模式用zone-member security来把F0/1调用到IN-ZONE ,把S0/0/1调用到OUT-ZONE

R3(config)# interface fa0/1

R3(config-if)# zone-member security IN-ZONE

R3(config-if)# exit

 

第四步 写入启动配置

R3(config)# interface s0/1/0

R3(config-if)# zone-member security OUT-ZONE

R3(config-if)# exit

 

 

5.测试结果

 测试从IN-ZONE到OUT-ZONE的防火墙功能,验证内配置ZPF后内部能访问外部

 

第一步 PC_C ping PC-A服务器

从PC-C能成功ping到PC-A

 

 

图 34

 

第二步 从PC-Ctelnet到R2 的s0/1/0口

从PC-C telnet到R2输密码123,能telnet到。顺便在R3输show policy-map type inspect zone-pair sessions看完成情况。

 

 

图 35

留意源和目的IP和端口号。

第三步  关掉PC-C的Telnet

第四步 PC-C打开网页登到PC-A的服务器

登网页同时在R3输show policy-map type inspect zone-pair sessions看完成情况

注意:如果超时,就再登一次,再去R3看完成情况。

 

 

图 36

 

第五步  关掉PC-C的浏览器。

 

第六步 测试外部区域到内部区域的防火墙功能

       验证配置ZPF之后外部无法访问内部。

第一步 PC-A ping PC-C(ping 不通)

 

 

 

图 37

 

第二步 R2 ping PC-C也ping不通

 

 

图 38

 

第三步 查看结果

 

 

 

图 39

七、     实验总结

由于网络安全的作业配置限制策略会相会影响,因此此次做了6个实验。作业量还是很大的。而且由于一些配置命令思科PT上做不了,所以自反ACL、动态ACL、基于时间的ACL都是在GNS3上做的。做配置过程,全程使用静态路由,因为限制策略会对动态路由有影响。

 通过本次实验。让我更加深入各种ACL技术应用,以下是对ACL的总结。

 

1.问控制列表(ACL):应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包需要拒绝。

2.ACL的工作原理:读取第三层及第四层包头中的信息;根据预先定义好的规则对包进行过滤。

3.访问控制列表的作用:提供网络访问的基本安全手段;可用于QoS,控制数据流量;控制通信量

4.访问控制列表工作原理:实现访问控制列表的核心技术是包过滤

 

5.通过分析IP数据包包头信息,进行判断;利用4个元素定义规则:源地址;目的地址;源端口;目的端口;访问控制留别入与出:

 

6.使用命令ip access-group将ACL应用到某一个接口上:

 

Router(config-if)#ip access-group access-list-number {in| out}

7.在接口的一个方向上,只能应用一个access-list

 

8.Deny和Permit命令:

Router(config)#access-list access-list-number {permit |deny} {test conditions}

permit:允许数据报通过应用了访问控制列表的接口;deny:拒绝数据包通过

使用通配符any和host通配符any可代替0.0.0.0 255.255.255.255

9.Host表示检查IP地址的所有位-访问控制列表的种类:

 

10.基本类型的访问控制列表:标准访问控制列表;扩展访问控制列表

 

11.其他种类的访问控制列表:基于MAC地址的访问控制列表;基于时间的访问控制列表

根据数据包的源IP地址来允许或拒绝数据包;访问控制列表号从1到99

 

12.只使用源地址进行过滤,表明是允许还是拒绝

 

13.标准访问控制列表的配置

第一步,使用access-list命令创建访问控制列表:

Router(config)#access-list access-list-number {permit |deny} source [source-wildcard] [log]

第二步,使用ip access-group命令把访问控制列表应用到某接口

Router(config-if)#ip access-group access-list-number {in| out}

 

14.扩展访问控制列表:

基于源和目的地址、传输层协议和应用端口号进行过滤;每个调都必须匹配,才会施加允许或拒绝条件;使用扩展ACL可实现更加精确的流量控制;访问控制列表号从100到199

使用更多的信息描述数据包,表明是允许还是拒绝

 

15.扩展访问控制列表的配置

第一步,使用access-list命令创建扩展访问控制列表

Router(config)#access-list access-list-number {permit| deny} protocol [source source-wildcard destinationdestination-wildcard] [operator port] [established] [log]

 

第二步,使用ip access-group命令将扩展访问控制列表应用到某接口

Router(config-if)#ip access-group access-list-number {in| out}

 

16.命名的访问控制列表:

标准ACL和扩展ACL中可以使用一个字母数字组合的字符串(名字)代替来表示ACL的表号

命名IP访问列表允许从指定的访问列表删除单个条目

如果天假一个条目到列表中,那么该条目被添加到列表末尾

不能以同一个名字命名多个ACL

在命名的访问控制列表下,permit和deny命令的语法格式与前述有所不同

-配置命名的访问控制列表:

第一步,创建命名访问控制列表:

Router(config)#ip access-list extended ACL-name

第二步,指定一个或多个permit及deny条件

Router(config-ext-nacl)#{permit | deny} protocolip-address {eq | gt | lt | neq}portnumber

第三步,应用到接口的出入站方向

Router(config-if)#ip access-group ACL-name {in| out

 

17.查看访问控制列表:

查看接口详细信息:

Router#show ip interface type slot/port

查看访问列表:

Router#show access-list

 

18.一些常见的端口号及其用途如下:

TCP 21端口:FTP 文件传输服务

TCP 23端口:TELNET 终端仿真服务

TCP 25端口:SMTP 简单邮件传输服务

UDP 53端口:DNS 域名解析服务

TCP 80端口:HTTP 超文本传输服务

TCP 110端口:POP3 “邮局协议版本3”使用的端口

TCP 443端口:HTTPS 加密的超文本传输服务

TCP 1521端口:Oracle数据库服务

 posted on 2019-04-29 22:31  Tgt-stig  阅读(547)  评论(0编辑  收藏  举报