第八组_通信二班_091_防火墙技术综合实验
1、网络地址规划表(拓扑有两种,所以地址规划也有两种)
自反ACL、基于上下文的访问控制和区域策略防火墙的地址规划
设备名称 |
接口 |
地址 |
网关 |
PC-A |
F1/0 |
192.91.1.3/24 |
192.91.1.1 |
PC-C |
F1/0 |
192.91.3.3/24 |
192.91.3.3 |
R1 |
F1/0 |
192.91.1.1/24 |
不需要配置网关 |
S0/0(S0/0/0) |
10.91.1.1/30 |
||
R2 |
S0/0(S0/0/0) |
10.91.1.2/30 |
|
S0/1(S0/0/1) |
10.91.2.2/30 |
||
R3 |
S0/0(S0/0/0) |
10.91.2.1/30 |
|
F1/0 |
192.91.3.1/24 |
动态ACL、基于时间的ACL
设备名称 |
接口 |
地址 |
网关 |
R1 |
F0/0 |
10.91.1.1/24 |
不需要配置网关 |
F1/0 |
14.91.1.1/24 |
||
R2 |
F0/0 |
10.91.1.2/24 |
|
R3 |
F0/0 |
10.91.1.3/24 |
|
R4 |
F1/0 |
14.91.1.4/24 |
扩展ACL
设备名称 |
接口 |
地址 |
网关 |
PC-1 |
F0 |
172.91.1.100/24 |
172.91.1.1 |
PC-2 |
F0 |
172.91.2.100/24 |
172.91.2.1 |
Server1 |
F0 |
172.91.3.100/24 |
172.91.3.3 |
R1 |
F0/0 |
172.91.1.1/24 |
不需要配置网关 |
F0/1 |
172.91.2.1/24 |
||
S0/0/0 |
172.91.12.1/24 |
||
R2 |
S0/0/0 |
172.91.12.2/24 |
|
S0/0/1 |
172.91.23.2/24 |
||
R3 |
S0/0/1 |
172.91.23.3/24 |
|
F0/0 |
172.91.3.3/24 |
2、访问控制列表:扩展ACL(PT)
(1)拓扑如下
(2)使用RIP协议使PC和路由器之间互通
R1(config)#ip route 172.91.23.0 255.255.255.0 172.91.12.2
R1(config)#ip route 172.91.3.0 255.255.255.0 172.91.12.2
R2(config)#ip route 172.91.1.0 255.255.255.0 172.91.12.1
R2(config)#ip route 172.91.2.0 255.255.255.0 172.91.12.1
R2(config)#ip route 172.91.3.0 255.255.255.0 172.91.23.3
R3(config)#ip route 172.91.1.0 255.255.255.0 172.91.23.2
R3(config)#ip route 172.91.2.0 255.255.255.0 172.91.23.2
R3(config)#ip route 172.91.12.0 255.255.255.0 172.91.23.2
测试网络连通性
PC-1 ping Server 1
实现网络互通,开始配置网络安全
(3)设置vty、enable、console密码(R1为例,R2、R3同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(4)扩展ACL的配置
R1(config)#access-list 110 remark this is an example for extended acl
R1(config)#access-list 110 deny tcp 172.91.1.0 0.0.0.255 host 172.91.3.100 eq 80
//拒绝PC1 所在网段访问Server 172.16.3.100 的Web 服务
R1(config)#access-list 110 deny tcp 172.91.2.0 0.0.0.255 host 172.91.3.100 eq 21
R1(config)#access-list 110 deny tcp 172.91.2.0 0.0.0.255 host 172.91.3.100 eq 20
//拒绝PC2 所在网段访问Server 172.16.3.100 的Ftp 服务
R1(config)#access-list 110 deny tcp 172.91.1.0 0.0.0.255 host 172.91.3.100 eq 1433
//拒绝PC1 所在网段访问Server 172.16.3.100 的SQL 服务
R1(config)#access-list 110 deny tcp 172.91.1.0 0.0.0.255 host 172.91.23.3 eq 23
R1(config)#access-list 110 deny tcp 172.91.1.0 0.0.0.255 host 172.91.3.3 eq 23
//拒绝PC1 所在网段访问路由器R3 的Telnet 服务
R1(config)#access-list 110 deny tcp 172.91.2.0 0.0.0.255 host 172.91.12.2 eq 80
R1(config)#access-list 110 deny tcp 172.91.2.0 0.0.0.255 host 172.91.23.2 eq 80
//拒绝PC2 所在网段访问路由器R2 的Web 服务
R1(config)#access-list 110 deny icmp 172.91.1.0 0.0.0.255 host 172.91.3.100
R1(config)#access-list 110 deny icmp 172.91.2.0 0.0.0.255 host 172.91.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(config)#access-list 120 deny icmp host 172.91.23.2 host 172.91.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查看ACL
R3 ping R2 通
R2 ping R3 不通
配置命令扩展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 172.91.23.2 host 172.91.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(config-if)#exit
3、访问控制列表:自反ACL(GNS3)
(1)拓扑如下
(3)使用RIP协议使PC和路由器之间互通
R1(config)# router rip
R1(config-router)# network 10.0.0.0
R1(config-router)# network 192.91.1.0
R2(config)# router rip
R2(config-router)# network 10.0.0.0
R3(config)# router rip
R3(config-router)# network 10.0.0.0
R3(config-router)# network 192.91.3.0
将PC-A和PC-C路由器关闭路由并加入网关
PC-C(config)#no ip routing
PC-C(config)#int f1/0
PC-C(config-if)#ip address 192.91.3.3 255.255.255.0
PC-C(config-if)#ex
PC-C(config)#ip default-gateway 192.91.3.1
PC-A(config)#no ip routing
PC-A(config)#int f1/0
PC-A(config-if)#ip address 192.91.1.3 255.255.255.0
PC-A(config-if)#ex
PC-C(config)#ip default-gateway 192.91.1.1
测试网络连通性
PC-C ping PC-A
PC-A ping PC-A
实现全网互通,开始配置网络安全
(3)设置vty、enable、console密码(R1为例,R2、R3同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(4)自反ACL的配置
配置拒绝外网主动访问内网,但是ICMP可不受限制
R2(config)#ip access-list extended come
R2(config-ext-nacl)#permit icmp any any 被允许的ICMP是不用标记即可进入内网
R2(config-ext-nacl)#permit udp any any 因为使用rip协议配置网络,所以要通过让udp也通过,不然网络不通
R2(config-ext-nacl)#evaluate abc 其它要进入内网的,必须是标记为abc的
R2(config-ext-nacl)#int s0/1
R2(config-if)#ip access-group come in 应用ACL
测试外网PC-C的ICMP访问内网
可以看到,ICMP可任意访问
测试外网PC-C telnet 内网
可以看到,其他流量不能进入内网
测试内网PC-A的ICMP访问外网
可以看到,内网发ICMP到外网,也正常返回了
测试内网PC-A发起telnet到外网
可以看到,其他流量不能进入外网
配置内网向外网发起的telnet被返回
telnet被记录为abc,将会被允许返回
R2(config)#ip access-list extended goto
R2(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60
R2(config-ext-nacl)#permit ip any any
R2(config-ext-nacl)#int s0/1 应用ACL
R2(config-if)#ip access-group goto out
查看PC-A到外网的ICMP
ICMP正常
查看内网PC-A向外网发起telnet
可以看出,此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。
查看ACL
可以看到,有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,并且后面跟有剩余时间。
自反ACL完成。
4、访问控制列表:动态ACL(GNS3)
(1)拓扑如下
(2)使用RIP协议使路由器之间互通
R1(config)# router rip
R1(config-router)# network 10.0.0.0
R1(config-router)# network 14.0.0.0
R2(config)# router rip
R2(config-router)# network 10.0.0.0
R3(config)# router rip
R3(config-router)# network 10.0.0.0
R4(config)# router rip
R4(config-router)# network 14.0.0.0
测试网络连通性
R2 ping R4
R4 ping R2
实现全网互通,开始配置网络安全
(4)设置vty、enable、console密码(R1为例,R2、R3、R4同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(4)动态ACL的配置
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
配置认证之后才能通过的数据,如ICMP,绝对时间为2分钟
R1(config)#int f0/0
R1(config-if)#ip access-group 100 in
应用ACL
测试内网R2 telnet外网R4
从结果中看出,telnet不受限制。
测试测试内网R2 ping外网R4
内网在没有认证之前,ICMP是无法通过的。
(5)配置本地用户数据库
R1(config)#username ccie password cisco
(5)配置所有人的用户名具有访问功能
R1(config)#line vty 0 181
R1(config-line)#login local
R1(config-line)#autocommand access-enable
没有加host,那么内网一台主机通过认证之后,所有主机都能访问外网
R1(config-line)#autocommand access-enable host
加了host,就变成谁通过了认证,谁才能访问外网。
内网R2认证 并ping外网
当telnet路由器认证成功后ICMP被放行。
查看ACL
动态ACL完成。
5、访问控制列表:基于时间的ACL(GNS3)
(1)拓扑如下
(2)配置静态路由使网络互通
R2(config)#ip route 14.91.1.0 255.255.255.0 10.91.1.1
R3(config)#ip route 14.91.1.0 255.255.255.0 10.91.1.1
R4(config)#ip route 10.91.1.0 255.255.255.0 14.91.1.1
(3)设置vty、enable、console密码(R1为例,R2、R3、R4同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(4)基于时间的ACL配置
R1(config)#time-range TELNET
R1(config-time-range)#periodic weekdays 9:00 to 15:00
定义的时间范围为每周一到周五的9:00 to 15:00
R1(config)#access-list 150 deny tcp host 10.91.1.2 any eq 23 time-range TELNET
R1(config)#access-list 150 permit ip any any
配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。
R1(config)#int f0/0
R1(config-if)#ip access-group 150 in
应用ACL
查看当前时间
在范围内
R2向R4发起telnet会话
可以看到,在规定的时间范围内,R2向R4发起telnet会话是被拒绝的。
R2向R4发起ping会话
可以看到,在规定的时间范围内,除了telnet之外,其它流量不受限制。
测试除R2之外的设备telnet情况
修改时间
在范围外
R2向R4发起telnet会话
在时间范围之外,所限制的流量被放开
基于时间的ACL配置完成。
6、基于上下文的访问控制(PT)
(1)拓扑如下
(2)配置静态路由使网络互通
R1(config)#ip route 10.91.2.0 255.255.255.252 10.91.1.2
R1(config)#ip route 192.91.3.0 255.255.255.0 10.91.1.2
R2(config)#ip route 192.91.3.0 255.255.255.0 10.91.2.1
R2(config)#ip route 192.91.1.0 255.255.255.0 10.91.1.1
R3(config)#ip route 10.91.1.0 255.255.255.252 10.91.2.2
R3(config)#ip route 192.91.1.0 255.255.255.0 10.91.2.2
连通性测试
PC-A ping PC-C
PC-C ping PC-A
实现全网互通,开始配置网络安全
(2)设置vty、enable、console密码(R1为例,R2、R3同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(3)基于上下文的访问控制的配置
R3(config)#ip access-list extended OUT-IN
R3(config-ext-nacl)#deny ip any any
R3(config-ext-nacl)#exit
在R3配置一个命名IP ACl阻隔所有外网产生的流量。
R3(config)# interface s0/0/1
R3(config-if)# ip access-group OUT-IN in
确保进入s0/0/1接口的流量被阻隔
创建一个检测规则来检测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
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 192.91.1.3
R3(config-if)# ip inspect IN-OUT-IN out
PC-C ping PC-A 通,Telnet不通
PC-A ping、telnet PC-C 都不通
使用PC-C的浏览器登入PC-A然后
R3#show ip inspect sessions
检查接口
检查配置
用PC-C 的浏览器登入PC-A后
R3#show debug ip inspect datailed
基于上下文的访问控制的配置完成。
7、基于区域策略的防火墙(PT)
(1)拓扑如下
(2)配置静态路由使网络互通
R1(config)#ip route 10.91.2.0 255.255.255.252 10.91.1.2
R1(config)#ip route 192.91.3.0 255.255.255.0 10.91.1.2
R2(config)#ip route 192.91.3.0 255.255.255.0 10.91.2.1
R2(config)#ip route 192.91.1.0 255.255.255.0 10.91.1.1
R3(config)#ip route 10.91.1.0 255.255.255.252 10.91.2.2
R3(config)#ip route 192.91.1.0 255.255.255.0 10.91.2.2
连通性测试
PC-A ping PC-C
PC-C ping PC-A
实现全网互通,开始配置网络安全
(3)设置vty、enable、console密码(R1为例,R2、R3同样)
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypa55
R1(config-line)#login
R1(config)#enable password ciscoenpa55
R1(config)#line console 0
R1(config-line)#password ciscoconpa55
R1(config-line)#login
(4)配置区域策略的防火墙
R3(config)#zone security IN-ZONE
创建区域IN-ZONE
R3(config-sec-zone)#zone security OUT-ZONE
创建区域 OUT-ZONE
R3(config-sec-zone)#ex
R3(config)#access-list 101 permit ip 192.91.3.0 0.0.0.255 any
创建一个用来定义内部流量的ACL
R3(config)#class-map type inspect match-all IN-NET-CLASS-MAP
R3(config-cmap)#match access-group 101
R3(config-cmap)#exit
创建一个涉及内部流量ACL的class map
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)#ex
R3(config-pmap)#ex
R3(config)#zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE
创建一个区域对IN-2-OUT-ZPAIR对任务一中创建的区域进行源和目的区域定义
R3(config-sec-zone-pair)#service-policy type inspect IN-2-OUT-PMAP
R3(config-sec-zone-pair)#ex
把策略图和关联活动附加到区域对,参考之前创建的策略图IN-2-OUT-PMAP
R3(config)#int f0/1
R3(config-if)#zone-member security IN-ZONE
R3(config-if)#ex
R3(config)#int s0/0/1
R3(config-if)#zone-member security OUT-ZONE
R3(config-if)#ex
把端口调用到合适的安全区域。
(5)测试从IN-ZONE到OUT-ZONE的防火墙功能
PC_C ping PC-A服务器
PC-C能成功ping到PC-A
从PC-C telnet到R2的s0/0/1口
从PC-C telnet到R2输密码ciscovtypa55,能telnet到。顺便在R3输show policy-map type inspect zone-pair sessions看完成情况。
PC-C打开网页登到PC-A的服务器
登网页同时在R3输show policy-map type inspect zone-pair sessions看完成情况
(6)测试外部区域到内部区域的防火墙功能
PC-A ping PC-C 不通
R2 ping PC-C也ping不通
区域策略的防火墙配置完成。
8、各种防火墙技术进行对比
(1)扩展 ACL 比标准 ACL 更常用,因为其控制范围更广,可以提升安全性。与标准 ACL 类似,扩展 ACL 可以检查数据包源地址,但除此之外,它们还可以检查目的地址、协议和端口号(或服务)。扩展 ACL 可以允许从某网络到指定目的地的电子邮件流量,同时拒绝文件传输和网页浏览流量。适用范围:编号在 100 到 199 之间以及 2000 到 2699 之间
(2)自反 ACL 允许最近出站数据包的目的地发出的应答流量回到该出站数据包的源地址。这样您可以更加严格地控制哪些流量能进入您的网络,并提升了扩展访问列表的能力。
自反 ACL 具有以下优点: 帮助保护您的网络免遭网络黑客攻击,并可内嵌在防火墙防护中。 提供一定级别的安全性,防御欺骗攻击和某些 DoS 攻击。自反 ACL 方式较难以欺骗,因为允许通过的数据包需要满足更多的过滤条件。
(3)基于时间的 ACL 功能类似于扩展 ACL,但它允许根据时间执行访问控制。要使用基于时间的 ACL,您需要创建一个时间范围,指定一周和一天内的时段。您可以为时间范围命名,然后对相应功能应用此范围。时间限制会应用到该功能本身。基于时间的 ACL 具有许多优点,例如:在允许或拒绝资源访问方面为网络管理员提供了更多的控制权。允许网络管理员控制日志消息。ACL 条目可在每天定时记录流量,而不是一直记录流量。因此,管理员无需分析高峰时段产生的大量日志就可轻松地拒绝访问。
(4)CBAC是一种允许路由器审查经过自己的流量,并且根据已经建立起来的状态信息决定允许某些流量或者拒绝某些流量通过的机制。CBAC动态修改扩展的访问控制列表以允许从外部发起的返回流量,CBAC提供对应用层和传输层协议的检查,同时基于检查数据包收集到的信息来控制会话的数量,同时也生成警告和审计信息。
和ACL不同的是,普通的扩展ACL只能在第3, 4层对流量进行过滤,RACL (自反射列表)能过滤第5层会话层的信息,CBAC支持应用服务的审查,能检查某些数据包的内容,如TELNET数据包内输入的命令,也能检查连接消息,确定连接的状态,CBAC能检查控制连接,确定数据连接正在建立,并将该连接添加到状态表中。CBAC也支持多个多媒体协议,以及其他的执行这种功能的应用。同样,CBAC也可以对HTTP做检查,发现JAVA程序,并进行过滤。
(5)基于区域的防火墙配置的防火墙策略都是在数据从一个区域发到另外一个区域时才生效,在同一个区域内的数据是不会应用任何策略的,所以我们就可以将需要使用策略的接口划入不同的区域,这样就可以应用我们想要的策略。但是,有时某些接口之间可能不需要彼此使用策略,那么这样的接口只要划入同一个区域,它们之间就可以任意互访了。Zone是应用防火墙策略的最小单位,一个zone中可以包含一个接口,也可以包含多个接口。通过配置基于区域的防火墙,可以达到保护内部网络不受外部入侵的要求,可以讲ZFW 是CBAC 的增强版,它的配置更灵活简单,只要合理运用会是一个不错的安全解决方案。
9、总结
这次的网络安全作业,配置了6种不同的防火墙技术,让我充分的学习到了各种不同防火墙技术的作用。在配置的过程中,我发现有一些防火墙技术,配置动态路由的时候,会出现一些网络ping不同的问题,比如自反ACL我用了RIP协议配置网络,但却出现不通的情况,后面通过学习,知道了使用RIP协议时要在配置防火墙的时候使UDP通过才能正常。这次的作业使我学到了很多关于网络安全的知识。