生成樹欺騙攻擊與防禦策略
工作目的
掌握交換機生成樹選舉的過程、欺騙原理、攻擊過程和防範策略
任務分析
生成樹的埠有五種狀態。交換機的邊緣埠不接收BPDU,選舉時直接從堵塞狀態轉變為轉發狀態,不參與生成樹的選舉過程,預設情況下,交換機的所有埠均為非邊緣埠,為避免生成生成樹欺騙攻擊,可以將交換機用於主機接入的埠設為邊緣埠
- Disable
- Blocking
- Listening
- Learning
- Forwarding
將交換機配置成邊緣埠命令
stp edged-port enable
環境拓撲
pc和伺服器是由雲連線到虛擬機器進行操作,在這裡進行聯通性實驗及其原理講解,直接使用最簡單的方式
工作過程
一、基本配置
1.交換機vlan和埠配置
SW1
<Huawei>sys
[Huawei]un in en
[Huawei]sys SW1
[SW1]vlan batch 10 20
[SW1]stp enable
[SW1]stp mode rstp
[SW1]port-group 1
[SW1-port-group-1]group-member Ethernet 0/0/1 to Ethernet 0/0/10
[SW1-port-group-1]port link-type access
[SW1-port-group-1]port default vlan 10
[SW1-port-group-1]q
[SW1]port-group 2
[SW1-port-group-2]group-member Ethernet 0/0/11 to Ethernet 0/0/22
[SW1-port-group-2]port link-type access
[SW1-port-group-2]port default vlan 20
[SW1-port-group-2]q
[SW1]port-group 3
[SW1-port-group-3]group-member GigabitEthernet 0/0/1 GigabitEthernet 0/0/2
[SW1-port-group-3]port link-type trunk
[SW1-port-group-3]port trunk allow-pass vlan 10 20
[SW1-port-group-3]q
[SW1]
SW2
<Huawei>sys
[Huawei]sys SW2
[SW2]un in en
[SW2]vlan batch 10 20
[SW2]stp enable
[SW2]stp mode rstp
[SW2]port-group 1
[SW2-port-group-1]group-member Ethernet 0/0/1 to Ethernet 0/0/10
[SW2-port-group-1]port link-type access
[SW2-port-group-1]port default v
[SW2-port-group-1]port default vlan 10
[SW2-port-group-1]q
[SW2]port-group 2
[SW2-port-group-2]group-member Ethernet 0/0/11 to Ethernet 0/0/22
[SW2-port-group-2]port link-type access
[SW2-port-group-2]port default vlan 20
[SW2-port-group-2]q
[SW2]port-group 3
[SW2-port-group-3]group-member GigabitEthernet 0/0/1 GigabitEthernet 0/0/2
[SW2-port-group-3]port link-type trunk
[SW2-port-group-3]port trunk allow-pass vlan 10 20
[SW2-port-group-3]q
[SW2]
SW3
<Huawei>sys
[Huawei]sys SW3
[SW3]un in en
[SW3]stp enable
[SW3]stp mode rstp
[SW3]stp root primary
[SW3]vlan batch 10 20 30 40
[SW3]int GigabitEthernet 0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[SW3-GigabitEthernet0/0/1]q
[SW3]int GigabitEthernet 0/0/2
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20
[SW3-GigabitEthernet0/0/2]q
[SW3]int GigabitEthernet 0/0/3
[SW3-GigabitEthernet0/0/3]port link-type access
[SW3-GigabitEthernet0/0/3]port default vlan 30
[SW3-GigabitEthernet0/0/3]q
[SW3]int GigabitEthernet 0/0/4
[SW3-GigabitEthernet0/0/4]port link-type trunk
[SW3-GigabitEthernet0/0/4]port trunk allow-pass vlan all
[SW3-GigabitEthernet0/0/4]q
[SW3]int Vlanif 10
[SW3-Vlanif10]ip add 192.168.1.1 24
[SW3-Vlanif10]q
[SW3]int Vlanif 20
[SW3-Vlanif20]ip add 192.168.2.1 24
[SW3-Vlanif20]q
[SW3]int Vlanif 30
[SW3-Vlanif30]ip add 192.168.3.1 24
[SW3-Vlanif30]q
[SW3]int Vlanif 40
[SW3-Vlanif40]ip add 192.168.4.1 24
[SW3-Vlanif40]q
[SW3]int GigabitEthernet 0/0/4
[SW3-GigabitEthernet0/0/4]port trunk pvid vlan 40
[SW3-GigabitEthernet0/0/4]q
[SW3]
在這裡G0/0/4任然屬於vlan1,所以需要打上標籤vlan40,不然後面會不能聯通外網,第一遍做的時候卡了很久在這裡
2.介面IP與路由協議配置
SW3
[SW3]ospf 1
[SW3-ospf-1]a 0
[SW3-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[SW3-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[SW3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[SW3-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[SW3-ospf-1-area-0.0.0.0]q
[SW3-ospf-1]q
[SW3]ip route-static 0.0.0.0 0.0.0.0 192.168.4.2
[SW3]
AR1
<Huawei>sys
[Huawei]sys AR1
[AR1]int GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.4.2 24
[AR1-GigabitEthernet0/0/0]q
[AR1]int Serial 2/0/0
[AR1-Serial2/0/0]ip add 202.116.64.1 24
[AR1-Serial2/0/0]q
[AR1]ospf 1
[AR1-ospf-1]a 0
[AR1-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]q
[AR1-ospf-1]q
[AR1]ip route-static 0.0.0.0 0.0.0.0 202.116.64.2
[AR1]
AR2
<Huawei>sys
[Huawei]sys AR2
[AR2]int GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip add 116.64.100.1 24
[AR2-GigabitEthernet0/0/0]q
[AR2]int Serial 2/0/0
[AR2-Serial2/0/0]ip add 202.116.64.2 24
[AR2-Serial2/0/0]q
[AR2]
3.路由器AR1的Easy-IP的配置
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[AR1-acl-basic-2000]q
[AR1]int Serial 2/0/0
[AR1-Serial2/0/0]nat outbound 2000
[AR1-Serial2/0/0]q
[AR1]
二、基本配置驗證
檢視SW3生成樹與埠的詳細資訊
檢視生成樹埠簡要資訊
聯通性測試
與外部網路進行連通性測試
三、入侵實戰
駭客交換機連線到SW1和SW2的新拓撲圖
在這裡測試的時候駭客交換機的mac地址一定要比SW3主根的mac地址小,不然同時設定優先順序的情況下,由於SW3的mac地址更小,駭客交換機成為不了主根,後續的實驗無法完成,可以多實驗幾次
在這裡有一個小小的知識點
選舉根橋(網橋id=優先順序+mac地址)
檢視優先順序,優先順序相同情況下檢視mac地址,mac地址小的優先順序越大
駭客交換機生成樹配置
<Huawei>sys
[Huawei]un in en
[Huawei]sys Hacker
[Hacker]stp enable
[Hacker]stp mode rstp
[Hacker]stp priority 0
[Hacker]
生成樹重新選舉驗證
驗證SW3交換機為非根交換機
驗證SW3阻塞埠與備份鏈路
駭客交換機對角線為備份鏈路,在SW3中並未設定介面優先順序,所以比較的方式為埠號。所以g0/0/2為阻塞狀態
驗證SW2阻塞埠與備份鏈路
驗證後得到的拓撲圖
測試的是pc,但如果使用的是雲連線到虛擬機器,在虛擬機器上的操作,都可以由駭客交換機資料包抓取得到,駭客交換機在實戰中可以尋找關鍵字username、password等資料包檢視
四、防禦策略
將交換機SW1、SW2用於主機接入的埠設為邊緣埠
[SW1]port-group 1
[SW1-port-group-1]stp edged-port enable
[SW1-port-group-1]q
[SW1]port-group 2
[SW1-port-group-2]stp edged-port enable
[SW1-port-group-2]q
[SW1]stp bpdu-protection
[SW1]
[SW2]port-group 1
[SW2-port-group-1]stp edged-port enable
[SW2-port-group-1]q
[SW2]port-group 2
[SW2-port-group-2]stp edged-port enable
[SW2-port-group-2]q
[SW2]stp bpdu-protection
[SW2]
一定要啟用bpdu保護
驗證
交換機SW1和SW2的E0/0/22埠變紅處於down狀態,SW3重新選舉成根交換機
總結
- 啟動裝置BPDU保護功能,邊緣埠被關閉後,即使在交換機關閉生成樹,埠也不會自動開啟,可以在相應介面手動輸入undo shutdown開啟介面
- 啟動裝置的BPDU保護,邊緣埠不能接交換機。否則該埠立即關閉,因為交換機生成樹預設開啟,如邊緣埠需要連線交換機,可先關閉交換機生成樹,再與邊緣埠進行連線