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