天天看點

《IPv6安全》——2.4 三層和四層欺騙

本節書摘來異步社群《ipv6安全》一書中的第2章,第2.4節,作者:【美】scott hogg , eric vyncke,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

ipv6安全

和ipv4一樣,您可産生沒有一個合法源位址的精心僞造的ipv6資料包。如果黑客執行單向(盲)攻擊或試圖利用信任關系執行攻擊,就能夠使用這種技術。在ipv4網絡中,通常情況是禁止資料包的源路由,因為其允許攻擊者接收傳回流量。在ipv6網絡中,因為ipv6的階層化尋址方式,是以将限制這種攻擊。

由組織機構的internet服務提供商(isp)向組織機構配置設定ipv6位址塊,是以當組織機構發出internet流量時,僅使用那些被配置設定的位址塊。如果從那個組織機構發出的資料包不是源自其被配置設定的位址塊,則應該丢棄那些資料包。如果組織機構接收到的資料包具有與其被配置設定的位址塊不同的目的位址,則這些資料包就是無效資料包,應該被丢棄。一種有案可查的最佳實踐(bcp38/rfc 2827)是針對ipv4網絡執行進入/出過濾。雖然針對ipv6過濾目前沒有有案可查的最佳實踐,但邏輯上相同類型的過濾将是有益處的。而且針對ipv6進行入口過濾是比較容易的,原因其尋址結構是階層化的。人們也應該實作ipv6多點傳播源位址資料包的入口過濾,原因是正常情況下不應該出現這類資料包。

注釋

一些極大型的組織機構可有與提供商無關的(pi)的ipv6字首。為了更靈活,他們通常具有通過多個isp到internet的多條連接配接;這被稱作多宿連接配接。在這種情形中,isp的進入/出過濾設定是比較複雜的,但仍然應該可以完成。

如果一個ip資料包進入到一個接口,該接口不是用來向那個源位址發回一個資料包的接口,那麼這就是ip資料包具有一個僞造源位址的另一個标志。那将意味着該資料包來自于一個不正确的載體,其源也許是不合法的。是以,路由器必須比較進入資料包的源位址,以便驗證資料包到達正确的接口。如果單點傳播資料包不是來自于相同的反向路徑,則應該過濾這個資料包。

您能夠産生具有欺騙源位址的精心僞造的ipv6資料包,并将它們發送到網絡上。例2-30顯示,您可使用scapy6産生這些資料包。在這種情形中,scapy6腳本産生一條源于“spoofsrc”并發送到“dest”的一個icmpv6回聲請求資料包。攻擊者位于vlan 11(2001:db8:11:0/64)的一台主機上,但發出來自vlan 12(2001:db8:22:0/64)的資料包。當在vlan 22(2001:db8:22.0/64)上的主機接收到這條資料包時,那台主機向它認為發送該資料包的主機發出一條回聲應答。在vlan 12上的未知主機之後就接收到它沒有預料到的一個回聲應答資料包。在這種情形中,那台vlan 12主機向vlan 22上的主機發送一個icmpv6參數問題資料包。在本章前面的圖2-3給出了這種網絡拓撲的一個例子。

例2-30 scapy6精心僞造具有欺騙源位址的資料包

《IPv6安全》——2.4 三層和四層欺騙

這個測試是成功的,原因是當在目的主機上使用嗅探器時,資料包解碼顯示,在vlan 22上的節點dest接收到資料包,并向vlan 12上的節點spoofsrc位址發回一個回聲應答資料包。

為了防止這些類型的位址欺騙攻擊,您可使用進入/出過濾,并使用稱為單點傳播反向路徑轉發(單點傳播rpf)檢查的一項技術。在一台cisco路由器中,單點傳播rpf檢查cisco快速轉發(cef)表,基于路由表(轉發資訊庫[fib])中的資訊驗證流量應該從哪裡發出。路由器将源位址與其fib(路由表)進行比較,檢視向那個子網發回流量時将使用哪個接口。比較兩個接口:從路由表中确定的接口和資料包接收到的接口,如果這兩個接口不同,則資料包就沒有通過rpf檢查。如果在fib中朝向源的路徑不比對資料包的到達接口,則路由器就識别出了一個問題。之後就丢棄資料包,原因是該資料包一定是從不能傳回到源的一個接口上接收到的,至此路由器得出結論,即該資料包一定具有一個欺騙的源位址。

在這個例子中,将單點傳播rpf指令添加到路由器的接口,幫助捕獲scapy6欺騙資料包。例2-31是如何設定單點傳播rpf過濾的一個cisco配置示例。首先,在路由器上激活cef,之後将反向路徑指令應用到被路由的接口。

例2-31 接口上的單點傳播反向路徑過濾

《IPv6安全》——2.4 三層和四層欺騙

當産生欺騙的資料包時,由接口上的單點傳播rpf指令阻止這些資料包。如例2-32中的一條show指令,可确認路由器阻塞了這個資料包。存在幾條指令可顯示資料包是因為單點傳播rpf檢查失敗而被丢棄。丢棄是在vlan 20上發生的,原因是這是導引回到vlan 11上的攻擊者的路徑,是由該攻擊者發出的欺騙資料包。是以,單點傳播rpf措施在最接近源處丢棄資料包。

例2-32 檢視cef vfr資料包計數統計資訊

《IPv6安全》——2.4 三層和四層欺騙

例 2-33 給出一個單點傳播 rpf acl 的另一個例子,該 acl 産生字首2001:db8: 100:100::/64的一個例外。這意味着對于源自2001:db8:100:100::/64字首的資料包,将不執行rpf檢查。

例2-33 單點傳播rpf例外通路表

《IPv6安全》——2.4 三層和四層欺騙

在一台cisco路由器内部可執行兩種不同類型的單點傳播rpf檢查。

嚴格模式比照目前有效的路由表(fib)檢查進入資料包。如果在一個接口不同于由fib确定的路徑上接收到資料包,則丢棄該資料包。

松散模式(隻要存在)僅檢查到達資料包的源位址是否出現在路由表中,而不将接收接口與路由表中的接口加以比較。一些cisco裝置不支援松散模式(例如cisco 12000系列和catalyst 6500系列)。但是,具有超級管理器32s或720s的cisco 6500交換機以硬體方式支援單點傳播rpf。

随着時間推移,預計僅支援嚴格模式的ipv6 verify unicast reverse-path [access-list**name]指令将被淘汰,而傾向于采用新的參數,進而允許對單點傳播rpf的更細粒度的控制。較新的指令文法如下。

《IPv6安全》——2.4 三層和四層欺騙

為配置嚴格模式單點傳播rpf,使用如下接口指令。

《IPv6安全》——2.4 三層和四層欺騙

為配置松散模式單點傳播rpf,使用如下接口指令。

《IPv6安全》——2.4 三層和四層欺騙

allow-default參數用于比對預設路由的查找。其他參數allow-self-ping允許路由器ping在其接口上配置的輔助位址。

繼續閱讀