防火墙配置作业(基于Cisco PT)
基于上下文的访问控制
拓扑图
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
192.168.65.1 |
S 0/0/0 |
10.1.65.1 |
|
R2 |
S 0/0/0 |
10.1.65.2 |
S 0/0/1 |
10.2.65.2 |
|
R3 |
F 0/0 |
172.16.65.3 |
S 0/0/0 |
10.2.65.3 |
|
PC-A |
NIC |
192.168.65.4 |
Default Gateway |
192.168.65.1 |
|
PC-C |
NIC |
172.16.65.4 |
Default Gateway |
172.16.65.3 |
预配置:
在配置防火墙之前验证设备间连通性,即先配置静态路由
R1(config)#ip route 10.2.65.0 255.255.255.0 10.1.65.2
R1(config)#ip route 172.16.65.0 255.255.255.0 10.1.65.2
R2(config)#ip route 192.168.65.0 255.255.255.0 10.1.65.1
R2(config)#ip route 172.16.65.0 255.255.255.0 10.2.65.3
R3(config)#ip route 10.1.65.0 255.255.255.0 10.2.65.2
R3(config)#ip route 192.168.65.0 255.255.255.0 10.2.65.2
在R3启用密码
R3(config)#enable password lzr123
启用console口密码
R3(config)#line console 0
R3(config-line)#password lzr123
启用vty行接入密码
R3(config)#line vty 0 4
R3(config-line)#password lzr123
把S1、S2所有交换机接口都在Vlan1(S2配置相同)
S1(config)#int f 0/1
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
S1(config)#int f 0/2
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
预配置完成
验证:在PC-C的命令提示符中ping PC-A服务器
在PC-C命令提示符中telnet路由R2的s0/0/1接口:地址时10.2.65.2.退出telnet阶段
在PC-C开一个网页浏览器登入PC-A来展示网页。关掉PC-C的浏览器。
在PC-A的命令提示符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/0/0应用ACl
R3(config)#int s 0/0/0
R3(config-if)# ip access-group out-in in
确保进入s0/0/1接口的流量被阻隔
在PC-C命令提示符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.65.4
第三步 对在s0/0/0的出口流量用检测规则。
R3(config-if)#int s0/0/0
R3(config-if)# ip inspect IN-OUT-IN out
第四步 验证审计跟踪信息正被syslog服务器记录
在PC-C 成功ping、telnet访问PC-A来检测连通性,注意Telnet不了。
在PC-A,ping,Telnet PC-C来检测连通性,这两步都被阻隔掉
CBAC基于上下文的访问控制配置完成。
基于区域策略的防火墙
拓扑图
地址表与预配置和上个实验(基于上下文的访问控制)完全一致,参照上面配置即可。
验证基本网络连通性
PC-A ping通PC-C
PC-C 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.65.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-C ping PC-A服务器
第二步 从PC-C telnet到R2的s0/0/1口
PC-C打开网页登到PC-A的服务器
测试外部区域到内部区域的防火墙功能
验证配置ZPF之后外部无法访问内部。
第一步 PC-A ping PC-C(注意不能ping通)
此处ping通,作业失败。
第二步 R2 ping PC-B也不能ping通
此处ping通,基于区域策略的防火墙配置验证失败。
Established扩展ACL
拓扑图
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
172.16.65.1 |
F 0/1 |
10.3.65.1 |
|
S 0/0/1 |
10.1.65.1 |
|
R2 |
S 0/0/1 |
10.1.65.2 |
S 0/0/0 |
10.2.65.2 |
|
R3 |
F 0/0 |
192.168.65.3 |
S 0/0/0 |
10.2.65.3 |
|
PC0 |
NIC |
172.16.65.100 |
Default Gateway |
172.16.65.1 |
|
PC1 |
NIC |
10.3.65.100 |
Default Gateway |
10.3.65.1 |
|
Server0 |
NIC |
192.168.65.100 |
Default Gateway |
192.168.65.3 |
配置扩展ACL前先把网络做通,配置静态路由。
R1(config)#ip route 172.16.65.0 255.255.255.0 10.1.65.2
R1(config)#ip route 10.2.65.0 255.255.255.0 10.1.65.2
R1(config)#ip route 192.168.65.0 255.255.255.0 10.1.65.2
R2(config)#ip route 172.16.65.0 255.255.255.0 10.1.65.1
R2(config)#ip route 10.3.65.0 255.255.255.0 10.1.65.1
R2(config)#ip route 192.168.65.0 255.255.255.0 10.2.65.3
R3(config)#ip route 10.1.65.0 255.255.255.0 10.2.65.2
R3(config)#ip route 172.16.65.0 255.255.255.0 10.2.65.2
R3(config)#ip route 10.3.65.0 255.255.255.0 10.2.65.2
R1#show ip route
查看路由表
试从PC-1 ping 到Server0
静态路由配置完成,开始做扩展ACL实验。
实验步骤
要求:
拒绝PC0 所在网段访问Server 192.168.65.100 的Web 服务
拒绝PC1 所在网段访问Server 192.168.65.100 的Ftp 服务
拒绝PC0 所在网段访问Server 192.168.65.100 的SQL 服务
拒绝PC0 所在网段访问路由器R3 的Telnet 服务
拒绝PC1 所在网段访问路由器R2 的Web 服务
拒绝PC0 和PC2 所在网段ping Server 服务器
只允许路由器R3 以接口s0/0/0 为源ping 路由器R2 的接口s0/0/1 地址,而不允许路由器R2 以接口s0/0/1 为源ping 路由器R3 的接口s0/0/0 地址,即单向ping.
(一)配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
R1(config)#access-list 110 deny tcp 172.16.65.0 0.0.0.255 host 192.168.65.100 eq 80
R1(config)#access-list 110 deny tcp 10.3.65.0 0.0.0.255 host 192.168.65.100 eq 21
R1(config)#access-list 110 deny tcp 10.3.65.0 0.0.0.255 host 192.168.65.100 eq 20
R1(config)#access-list 110 deny tcp 172.16.65.0 0.0.0.255 host 192.168.65.100 eq 1433
R1(config)#access-list 110 deny tcp 172.16.65.0 0.0.0.255 host 10.2.65.3 eq 23
R1(config)#access-list 110 deny tcp 172.16.65.0 0.0.0.255 host 192.168.65.3 eq 23
R1(config)#access-list 110 deny tcp 10.3.65.0 0.0.0.255 host 10.1.65.2 eq 80
R1(config)#access-list 110 deny tcp 10.3.65.0 0.0.0.255 host 10.2.65.2 eq 80
R1(config)#access-list 110 deny icmp 172.16.65.0 0.0.0.255 host 192.168.65.100
R1(config)#access-list 110 deny icmp 10.3.65.0 0.0.0.255 host 192.168.65.100
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/0/1
R1(config-if)#ip access-group 110 out
(二)配置路由器R3
R3(config)#access-list 120 deny icmp host 10.2.65.2 host 10.2.65.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
R2可ping通R3
R3不可ping通R2
(三)路由器R3 查看ACL 120
R3#show ip access-lists 120
(四)配置命令扩展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 10.2.65.2 host 10.2.65.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的配置中出现了大量繁琐复杂的、包括了多个IP地址的配置命令,由于对配置命令的不理解只能机械的重复检查以防止出错,要更好的理解配置命令。
最后由于内容多、课时不够,我们的实验时间被大大压缩,以致我对很多的配置命令都不熟悉,因此此后在课后要主动练习,熟悉、掌握配置命令。