防火墙综合技术
A:Established控制列表
拓扑图
配置步骤
1:配置各端口ip地址,配置登陆密码
2:测试连通性
服务器远程登陆R2
Pc0 ping 服务器
3 关键命令
在检测连通性,确保无误后,配置acl
R0(config)#access-list 100 permit ospf any any //因为我是通过ospf建立路由表,所以这里要添加一条允许ospf数据包通过的规则
R0(config)#access-list 100 permit tcp any any established //运用 established 命令检测数据包是否设置了ack,从而防止外网主动访问内网
R0(config)#access-list 100 deny ip any any
将ACL应用到端口
R0(config)#interface Serial0/1/0
R0(config-if)#ip access-group 100 in
R0(config-if)#exit
4测试ACL
服务器 telnet 内网路由器R2(主动访问被拒绝)
Pc 采用http服务访问服务器
B:自反ACL
原理:通过对经过该端口的请求数据包打上标记,对回复的数据包进行检测,据有该标记的数据包允许通过,否则被拒绝。
拓扑图
1:配置各端口ip地址
2:测试连通性
R2 telnet R4
3:配置命令
在检测连通性,确保无误后,配置acl
R3(config)#ip access-list extended goin
R3(config-ext-nacl)#permit tcp any any eq 23 reflect abc
R3(config-ext-nacl)#evaluate abc
R3(config-ext-nacl)#exit
应用到端口
R3(config)#int f0/1
R3(config-if)#ip access-group goin out //应用到端口的out方向上
测试结果
查看acl表
R2 telnet R4
R4 telnet R2
测试结果显示,自反ACL应用成功
C:动态ACL
原理:Dynamic ACL在一开始拒绝用户相应的数据包通过,当用户认证成功后,就临时放行该数据,但是在会话结束后,再将ACL恢复最初的配置。要定义Dynamic ACL什么时候恢复最初的配置,可以定义会话超时,即会话多久没有传数据,就断开,也可以定义绝对时间,即无论会话有没有结束,到了规定时间,也要断开。
拓扑图
配置步骤
1配置端口ip地址,远程登陆账号密码
测试连通性
R2 telnet R4
配置命令
r1(config)#access-list 100 permit tcp an an eq telnet //配置默认不需要认证就可以通过的数据,如telnet
r1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any //配置认证之
后才能通过的数据,如ICMP,绝对时间为2分钟。
应用ACL到端口
r1(config)#int f0/0
r1(config-if)#ip access-group 100 in
测试 :未进行认证时,R2 ping R4
进行认证后,R2 ping R4
测试结果显示,动态ACL验证成功
D: 基于时间的ACl
原理: 要通过ACL来限制用户在规定的时间范围内访问特定的服务,首先设备上必须配置好正确的时间。在相应的时间要允许相应的服务,这样的命令,在配置ACL时,是正常配置的,但是,如果就将命令正常配置之后,默认是在所有时间内允许的,要做到在相应时间内允许,还必须为该命令加上一个时间限制,这样就使得这条ACL命令只在此时间范围内才能生效。而要配置这样的时间范围,是通过配置time-range来实现的,在time-range中定义好时间,再将此time-range跟在某ACL的条目之后,那么此条目就在该时间范围内起作用,其它时间是不起作用的。
拓扑图
1配置端口ip地址
2测试连通性:R4 telnet R2
3 关键步骤
1.配置time-range
r1(config)#time-range telnet
r1(config-time-range)#periodic Friday 0:00to0:20
说明:定义的时间范围为每周五的0:00到0:20
2.配置ACL
说明:配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。
r1(config)#access-list 100 deny tcp host 10.24.1.2 any eq 23 time-range telnet
r1(config)#access-list 100 permit ip any any
3.应用ACL
r1(config)#int f0/0
r1(config-if)#ip access-group 100 in
4 验证
非允许时间内 R2 telnet R4
结果显示在非允许时间不可以访问但可以ping通
允许时间内 R2 ping R4
结果显示,在允许访问时间内可以登陆
测试结果显示时间ACL成功
E:基于上下文的访问控制
拓扑图
配置步骤
1配置端口ip地址,并检测连通性
服务器 ping pc端
2配置命令
R3(config)# ip access-list extended go
R3(config-ext-nacl)# deny ip any any //此ACL目的是隔绝外网流量r
R3(config-ext-nacl)# exit
R3(config)# interface s0/1/1
R3(config-if)# ip access-group go in
R3(config)#ip inspect name gg icmp
R3(config)#ip inspect name gg http // 创建一个检测规则来检测ICMP和HTTP流量
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 10.24.1.2 //开启时间戳记记录和CBAC审计跟踪信息
R3(config)#int s0/1/1
R3(config-if)# ip inspect gg out
验证:PC端 ping 服务器
F 区域策略防火墙
拓扑图
1 配置端口地址以及账号配置
路由器预配置如下:
- gg 密码: 666
- 动态路由
2查看连通性
Pc-a ping pc-c
Pc-c telnet R2
3配置区域策略防火墙
R3(config)# zone security IN-ZONE //创建区域IN-ZONE
R3(config-sec-zone)# exit
R3(config)# zone security OUT-ZONE //创建区域OUT-ZONE
R3(config-sec-zone)# exit
R3(config)# access-list 101 permit ip 192.168.3.0 0.0.0.255 any //用access-list创建扩展ACL101来在IP层面允许所有从……源网络地址访问到任何其他地址
R3(config)# class-map type inspect match-all IN-NET-CLASS-MAP
R3(config-cmap)# match access-group 101
R3(config-cmap)# exit //用 class map type inspect (match all)来创建一个叫 class map type inspect 的class map,用match access-group匹配ACL
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)# 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)# exit
R3(config# interface fa0/1
R3(config-if)# zone-member security IN-ZONE
R3(config-if)# exit
R3(config)# interface s0/1/1
R3(config-if)# zone-member security OUT-ZONE
R3(config-if)# exit
测试
服务器 ping PC端(防火墙阻挡,外网无法ping通PC端)
PC端 ping 服务器
三:实验总结
本次实验将前面所学的网络安全知识进行重新的处理总结, acl是有一系列有序的规则,告诉路由器端口决定哪种类型的流量转发或阻塞,主要是以permit和deny这两个命令为主。因为防火墙和acl都有其局限性,两种技术之间可以互补。