防火墙配置(CiscoPT&GNS3)

老子叫甜甜 提交于 2020-05-06 02:49:01

第一部分:扩展ACL

拓扑图

地址表

Device

Interface

IP address

R1

F 0/0

172.16.19.1

F 0/1

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

四、实验调试

(一)路由器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

先在R2、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. 测试访问

(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

 

把S1、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”的端口占用错误提示,经过和小组成员的探究,发现是不同类型端口不能占用同一网段,修改后能够正常并成功完成实验,对之后的学习提供了参考经验。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!