為了不影響學(xué)校局域網(wǎng)內(nèi)其他計算機的正常上網(wǎng),文本實驗只在一個計算機室的子網(wǎng)192.168.10.64/26內(nèi)進行。該子網(wǎng)處于雙核心VRRP局域網(wǎng)中,經(jīng)過匯聚層的雙鏈路上聯(lián)到雙核心層。核心1和核心2的實網(wǎng)關(guān)分別為192.168.10.124和192.168.10.125。子網(wǎng)內(nèi)各計算機的默認(rèn)網(wǎng)關(guān)均設(shè)為VRRP的虛擬網(wǎng)關(guān)192.168.10.126,其中 vrid=12D=0CH。按虛擬網(wǎng)關(guān)的組成結(jié)構(gòu)00-00-5E-00-01-XX,得出該虛擬網(wǎng)關(guān)的MAC地址為00-00-5E-00-01-0C。
在該子網(wǎng)的計算機上常ping外網(wǎng)某域名,比如“ping www.baidu.com -t”,在沒有假冒網(wǎng)關(guān)的計算機存在前都是連通的?,F(xiàn)用MAC地址為EC-6C-9F-9B-11-D5的PC1模擬假冒網(wǎng)關(guān),簡單點就是把PC1的IP地址修改為虛擬網(wǎng)關(guān)的IP地址192.168.10.126,其“默認(rèn)網(wǎng)關(guān)”欄會自動更改為空格。這雖然與ARP欺騙有所區(qū)別,但也是好奇心比較強的學(xué)生常用的、簡單的、不用ARP欺騙攻擊軟件的一個有效的搗亂方法。假冒網(wǎng)關(guān)開始后,稍等片刻就能觀察到其他計算機斷開了網(wǎng)絡(luò)連接,假冒網(wǎng)關(guān)開始奏效。
圖1 終端計算機ARP表
以下分別在終端計算機和接入交換機上進行一系列的防范和解除防范操作,觀察網(wǎng)絡(luò)通斷的正反效果。
在終端計算機的ARP表中,網(wǎng)關(guān)的MAC地址默認(rèn)是動態(tài)的。靜態(tài)網(wǎng)關(guān)法就是使終端計算機ARP表中的MAC地址成為靜態(tài)地址,即保證其始終是正確的網(wǎng)關(guān)MAC地址而不會被假冒者的MAC地址所替代。在Windows 7以前的版本中,使網(wǎng)關(guān)成為靜態(tài)的命令是“ARP -s inet_addr eth_addr”。 而 netsh(Network Shell)是Windows 7系統(tǒng)提供的功能強大的網(wǎng)絡(luò)配置命令,代替上述命令的是“netsh interface ipv4 add neighbors idx ip mac”。
第一步:查看網(wǎng)關(guān)的IP地址、物理地址和類型
在終端計算機上執(zhí)行arp -a命令,結(jié)果如圖1所示。
由于還沒有執(zhí)行使網(wǎng)關(guān)MAC地址改變狀態(tài)的命令,所以“類型”項為“動態(tài)”;由于現(xiàn)已經(jīng)存在了假冒網(wǎng)關(guān)的計算機,所以網(wǎng)關(guān)192.168.10.126對應(yīng)的MAC地址已經(jīng)不是正確的MAC地址 00-00-5E-00-01-0C,而是假冒者的MAC地址EC-6C-9F-9B-11-D5了。
第二步:查看網(wǎng)卡IDX號
執(zhí)行命令“netsh inter face ipv4 show interface”查看網(wǎng)卡的IDX號,顯示結(jié)果如圖2所示。
雖然此時假冒已經(jīng)存在,網(wǎng)絡(luò)已經(jīng)斷開,但“狀態(tài)”信息仍然顯示為“connected”。
第三步:靜態(tài)網(wǎng)關(guān)
執(zhí)行命令“netsh inter face ipv4 add neighbors 14 192.168.10.126 00-00-5E-00-01-0C”使網(wǎng)關(guān)的MAC地址成為靜態(tài),使網(wǎng)關(guān)的IP地址與MAC地址成為一一對應(yīng)關(guān)系,這樣就不會因為子網(wǎng)中存在假冒者而改變其真實的MAC地址。
第四步:再次查看計算機的網(wǎng)絡(luò)狀態(tài)和連通性
在終端計算機上再次執(zhí)行arp -a命令,結(jié)果如圖3所示。
這時觀察到“ping www.baidu.com -t”沒有丟包現(xiàn)象,網(wǎng)絡(luò)連通了。
第五步:故障重現(xiàn)
執(zhí)行命令“netsh inter face ipv4 delete neigh bors 14”刪除ARP表中的靜態(tài)網(wǎng)關(guān),網(wǎng)絡(luò)就又被斷開了。
小結(jié):哪臺計算機進行了上述靜態(tài)網(wǎng)關(guān)操作,哪臺計算機就能連接到網(wǎng)絡(luò),否則網(wǎng)絡(luò)為斷開狀態(tài)。
圖2 網(wǎng)卡的IDX號
圖3 正確的ARP表
“靜態(tài)網(wǎng)關(guān)法”是在每一臺終端計算機上進行的ARP表操作,而“IP-MAC核對法”是在接入交換機上的操作,其步驟如下。
第一步:捆綁所有計算機的IP地址和MAC地址
在接入交換機的全局配置模式中執(zhí)行命令“userbind static ip-address 192.168.10.X mac-address HHHH-HHHH-HHHH”,把所有終端計算機的IP地址和MAC地址進行捆綁。
第二步:地址核對(Check)
在終端計算機對應(yīng)的交換機端口執(zhí)行命令“arp anti-attack check userbind enable”,對進出數(shù)據(jù)包中的IP地址和MAC地址進行核對(Check),與已經(jīng)存在的靜態(tài)(Static)捆綁(Bind)不一致的數(shù)據(jù)包全部丟棄。
第三步:故障重現(xiàn)
解除非假冒者的捆綁,不影響網(wǎng)絡(luò)的通斷性;解除假冒者的捆綁,則所有子網(wǎng)內(nèi)的計算機斷開了連接。
小結(jié):由于在實際情況下,不能預(yù)先知道誰將要假冒網(wǎng)關(guān),所以需要對所有的IP-MAC進行捆綁。
子網(wǎng)內(nèi)有假冒網(wǎng)關(guān)的計算機存在時,其它計算機就會獲取到假冒者的MAC地址做為網(wǎng)關(guān)的MAC地址。在接入交換機上進行端口隔離使它們之間不能互相通信,則就不能獲取到假冒者的MAC地址了。
第一步:端口隔離
進入端口組,執(zhí)行命令“Port-isolate enable”。與假冒者相互隔離后,被隔離者的網(wǎng)絡(luò)就連通了,沒有和假冒者隔離的計算機仍然不能連通網(wǎng)絡(luò)。
第二步:解除端口隔離
解除端口隔離的命令是“Undo port-isolate enable”,解除了哪臺計算機對應(yīng)交換機端口與假冒者的隔離,則哪臺計算機就不能連通網(wǎng)絡(luò)了。
小結(jié):端口隔離效果雖然明顯,但端口隔離后各計算機之間不能共享資源。
在VRRP網(wǎng)絡(luò)中,假冒者假冒的是VRRP的虛擬網(wǎng)關(guān),并沒有假冒實網(wǎng)關(guān)。所以,只要把計算機的“默認(rèn)網(wǎng)關(guān)”更改為核心交換機1的實網(wǎng)關(guān) 192.168.10.124,或者核心交換機2的實網(wǎng)關(guān)192.168.10.125,則可以避開假冒者的目的。
第一步:修改計算機的“默認(rèn)網(wǎng)關(guān)”為實網(wǎng)關(guān);
第二步:檢查網(wǎng)絡(luò)的通斷情況,修改為實網(wǎng)關(guān)后的計算機能連通網(wǎng)絡(luò)。
小結(jié):雖然這樣對防范假冒網(wǎng)關(guān)是有效的,但是雙核心VRRP冗余就失去了意義,相當(dāng)于是單核心了,但是在有假冒網(wǎng)關(guān)存在時也不失是一個臨時應(yīng)急的辦法。
在接入交換機、匯聚交換機和核心交換機上配置防范ARP攻擊的相關(guān)命令。比如,配置防ARP欺騙攻擊、配置防ARP泛洪攻擊、配置ARP防網(wǎng)關(guān)沖突、配置ARP報文內(nèi)MAC地址一致性檢查等均沒有明顯效果。
對于假冒網(wǎng)關(guān)防范的有效方法有:靜態(tài)網(wǎng)關(guān)法、IPMAC核對法、實網(wǎng)關(guān)法、端口隔離法。交換機操作手冊上介紹的有關(guān)防范ARP欺騙的所有方法均無明顯效果。