基於上下文的訪問控制瀏覽器
拓撲圖安全
地址表服務器
Device網絡 |
Interfacetcp |
IP address測試 |
R1this |
F 0/0spa |
192.168.65.1debug |
S 0/0/03d |
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地址的配置命令,因爲對配置命令的不理解只能機械的重複檢查以防止出錯,要更好的理解配置命令。
最後因爲內容多、課時不夠,咱們的實驗時間被大大壓縮,以至我對不少的配置命令都不熟悉,所以此後在課後要主動練習,熟悉、掌握配置命令。