IPv6防火墻安全:新協(xié)議帶來的問題
企業(yè)在廣域網(wǎng)(WAN)中部署 IPv6,接著也會(huì)部署IPv6防火墻。本文介紹了一些由IPv6引起的安全問題,以及IT專業(yè)人員在部署和運(yùn)營IPv6防火墻時(shí)應(yīng)該考慮的問題。
引入IPv6防火墻
大多數(shù)企業(yè)網(wǎng)絡(luò)的第一道防線都是防火墻,它用于防御公共互聯(lián)網(wǎng)攻擊,限制本地用戶的公共互聯(lián)網(wǎng)訪問。在企業(yè)網(wǎng)絡(luò)部署IPv6之后,也會(huì)部署IPv6防火墻,這樣目前IPv4實(shí)施的安全策略也會(huì)在IPv6中實(shí)施。
雖然IPv6和IPv4各自提供的服務(wù)(最佳的數(shù)據(jù)報(bào)文服務(wù))非常相似,但是這兩種協(xié)議之間存在一些細(xì)微差別,這對防火墻設(shè)備和操作會(huì)影響很大。本文將介紹它們之間的差別,以及它們?nèi)绾斡绊慖Pv6防火墻設(shè)計(jì)和操作。然后還會(huì)說明這些差別可能如何被惡意利用,以減少和消除IPv6防火墻的安全漏洞。
IPv6頭結(jié)構(gòu)
IPv6的一個(gè)主要變化是采用固定長度的協(xié)議頭,而不像IPv4那樣采用可變長度協(xié)議頭。任何必要的選擇都必須加到后續(xù)的擴(kuò)展頭中,擴(kuò)展頭位于固定的IPv6頭和封裝的IPv6上層協(xié)議之間。它會(huì)根據(jù)處理選項(xiàng)的不同系統(tǒng)而采用不同的擴(kuò)展頭。例如,需要在目標(biāo)主機(jī)中處理的選項(xiàng)會(huì)包含在一個(gè)“目標(biāo)選項(xiàng)”頭信息中,而由路由器處理的選項(xiàng)則會(huì)包含在一個(gè)“跳間選項(xiàng)”頭信息中。理論上,這至少能夠讓路由器和主機(jī)解析、處理歸它們的選項(xiàng)——而IPv4則不同,處理數(shù)據(jù)包的所有節(jié)點(diǎn)必須解析所有的選項(xiàng)。
這個(gè)頭結(jié)構(gòu)決定了IPv6頭信息鏈:多個(gè)頭信息會(huì)被依次鏈接在一起,首先是IPv6頭,最后是上層協(xié)議。每一個(gè)擴(kuò)展頭都包含具體的頭長度和下一個(gè)頭鏈接的頭信息類型。因此,任何IPv6流都會(huì)采用完整的IPv6頭信息鏈,然后處理它需要的頭信息。下圖是IPv6頭信息鏈的示意圖
圖1:IPv6頭信息鏈?zhǔn)纠?/p>
分片頭是其中一種特殊類型的擴(kuò)展頭,它包含了實(shí)現(xiàn)IPv6分片所需要的機(jī)制。與IPv4頭不同,IPv6不是將所有分片相關(guān)信息保存在固定的IPv6頭中,而是將這些信息保存在一個(gè)可選的分片頭中。因此,執(zhí)行分片的主機(jī)只需要在IPv6頭信息鏈中插入一個(gè)分片頭信息,再添加需要分片的原始數(shù)據(jù)包。
IPv6防火墻對安全的影響
上述IPv6頭信息鏈結(jié)構(gòu)的靈活性優(yōu)于IPv4,因?yàn)樗幌拗茢?shù)據(jù)包可以包含的數(shù)量。然而,這種靈活性也是有代價(jià)的。
任何需要獲取上層信息(如TCP端口號(hào))的系統(tǒng),都需要處理整個(gè)IPv6頭信息鏈。而且,由于當(dāng)前的協(xié)議標(biāo)準(zhǔn)支持任意數(shù)量的擴(kuò)展頭,包括同一種擴(kuò)展頭的多個(gè)實(shí)例,因此它會(huì)對防火墻等設(shè)備造成多種影響:
防火墻需要解析多個(gè)擴(kuò)展頭,才能夠執(zhí)行深度數(shù)據(jù)包檢測(DPI),它可能會(huì)降低WAN性能,引發(fā)拒絕服務(wù)(DoS)攻擊,或者防火墻被繞過。
組合擴(kuò)展頭和分片可能妨礙數(shù)據(jù)包檢測。
正如前面介紹的,由于當(dāng)前的協(xié)議規(guī)范支持任意數(shù)量的擴(kuò)展頭,包括同一種擴(kuò)展頭類型的多個(gè)實(shí)例,因此防火墻必須能夠細(xì)致地處理包括異常的多IPv6擴(kuò)展頭信息的數(shù)據(jù)包。而這可能被一些攻擊者利用,他們可能故意在數(shù)據(jù)包中加入大量的擴(kuò)展頭,使防火墻在處理上述數(shù)據(jù)包時(shí)浪費(fèi)過多資源。最終,這可能會(huì)引起防火墻性能下降,或者造成防火墻本身出現(xiàn)DoS問題。此外,有一些性能不佳的防火墻在應(yīng)用過濾策略時(shí),可能無法處理整個(gè)IPv6頭信息鏈,從而可能讓一些攻擊者利用擴(kuò)展頭威脅相應(yīng)的防火墻。
IPv6分片也可能被惡意利用,方法與IPv4的類似。例如,為了破壞防火墻的過濾策略,攻擊者可能會(huì)發(fā)送一些重疊的分片,從而影響目標(biāo)主機(jī)的分片重組過程。在IPv6中,這個(gè)問題更為嚴(yán)重,因?yàn)槎鄠€(gè)IPv6擴(kuò)展頭和分片的組合可能產(chǎn)生一些錯(cuò)誤分片,盡管它們的數(shù)據(jù)包大小是“正常的”,但是它們丟失了一些實(shí)施過濾策略通常需要的基本信息,如TCP端口號(hào)。即,數(shù)據(jù)包的第一個(gè)分片可能包含很多IPv6選項(xiàng),以致上層協(xié)議頭可能屬于另一個(gè)分片,而不是第一個(gè)分片。
IPv6轉(zhuǎn)換/共存技術(shù)
IPv6轉(zhuǎn)換/共存技術(shù)還給IPv6防火墻帶來另一個(gè)問題。大多數(shù)轉(zhuǎn)換技術(shù)都使用某種通道機(jī)制,它在一種網(wǎng)絡(luò)協(xié)議(通常是IPv4)中封裝另一種網(wǎng)絡(luò)層協(xié)議(通常是IPv6)。這會(huì)對防火墻的安全性造成很多影響。
首先,防火墻可能無法識(shí)別特定的轉(zhuǎn)換技術(shù),也可能無法應(yīng)用一些原生IPv6流量支持的過濾策略。例如,在使用原生IPv4或原生IPv6時(shí),一個(gè)網(wǎng)站可以阻擋通向TCP端口25的數(shù)據(jù)包,但是在部署了Teredo 等轉(zhuǎn)換機(jī)制后,它可能無法阻擋這些數(shù)據(jù)包。
其次,轉(zhuǎn)換技術(shù)可能會(huì)加劇上述問題,因?yàn)椴粌H封裝的流量可能使用組合的IPv6擴(kuò)展頭和分片,其他向外發(fā)送的數(shù)據(jù)包(通常是IPv4)也可能是分片的,因此這都會(huì)大大增加最終流量的復(fù)雜性。這種復(fù)雜性不僅會(huì)降低網(wǎng)絡(luò)流量傳輸速度,更嚴(yán)重的是,它還可能影響防火墻的過濾策略。例如,防火墻可能無法處理整個(gè)頭信息鏈,從而無法找到TCP分片(參見下圖)。下圖的示例顯示的是使用Teredo的TCP/IPv6數(shù)據(jù)包的語法,說明了最終流量的復(fù)雜程度。
圖2:一個(gè)使用Teredo的TCP/IPv6數(shù)據(jù)包示例
這個(gè)數(shù)據(jù)包的結(jié)構(gòu)可能會(huì)變得更復(fù)雜,例如,如果內(nèi)外數(shù)據(jù)包都分片了。
可能的IPv6安全問題
顯然,為了應(yīng)用IPv6數(shù)據(jù)包過濾策略,防火墻至少必須支持整個(gè)IPv6頭信息鏈的處理。理想情況下,這些防火墻還應(yīng)該支持IPv6轉(zhuǎn)換技術(shù),這樣應(yīng)用于原生IPv6流量的過濾策略可以同樣應(yīng)用到轉(zhuǎn)換流量上。也就是說,防火墻應(yīng)該有一個(gè)“默認(rèn)拒絕”策略,這樣防火墻就能夠阻擋您不需要的流量,如轉(zhuǎn)換流量。
對于可能利用多擴(kuò)展頭的資源耗盡攻擊,在防火墻上限制一個(gè)IPv6數(shù)據(jù)包支持的最大擴(kuò)展頭數(shù)量可以解決這個(gè)問題。合理的限制是允許每一個(gè)當(dāng)前定義的擴(kuò)展頭只出現(xiàn)一個(gè)實(shí)例。然而,也可以使用“16”等其他限制值——例如,OpenBSD就采用這個(gè)限制值。這種限制允許合法流量,但不允許異常多數(shù)量的擴(kuò)展頭。超過限制的數(shù)據(jù)包必須丟棄。雖然這可能會(huì)影響性能,但是能夠防止DoS。
最后,規(guī)定在IPv6報(bào)文的第一個(gè)分片中包含應(yīng)用數(shù)據(jù)包過濾策略所需要的完整數(shù)據(jù)包頭信息,能夠應(yīng)付使用分片的防火墻繞行技術(shù)。也就是說,在防火墻接收到的報(bào)文第一個(gè)分片中,如果不包含完整的上層協(xié)議頭信息,如TCP頭,那么這個(gè)數(shù)據(jù)包就會(huì)被丟棄。防火墻繞行技術(shù)還可以在應(yīng)用過濾策略之前,通過在防火墻中重新組合分片的報(bào)文來解決。然而,對于基于網(wǎng)絡(luò)的防火墻而言,至少這并不是一種推薦的方法,因?yàn)樗赡軙?huì)留下DoS漏洞。
解決IPv6防火墻問題
正如本文所介紹的,IPv6防火墻面臨許多問題,但是它們可以通過合理的防火墻設(shè)計(jì)和操作解決。在購買防火墻設(shè)備時(shí),必須對IPv6防火墻支持仔細(xì)評估,因?yàn)椴煌a(chǎn)品的支持差別很大,支持不佳的防火墻可能會(huì)對企業(yè)網(wǎng)絡(luò)安全造成負(fù)面影響。
【編輯推薦】