防火牆為什麼要對多連線協議進行特殊處理

2021-08-31 05:02:55 字數 2019 閱讀 5770

msn: [email protected]

1. 多連線協議

所謂多連線協議是指在協議完成過程中,除了乙個主的通訊通道(主連線)外,還會動態開啟一些通道(子連線)進行通訊,防火牆對這些協議需要特別處理才能保證安全。

多連線協議也可分為強制子連線和非強制子連線,強制子連線是指子連線的建立是必須的,不建立子連線通訊將無法正常進行,如ftp;非強制子連線是指子連線的建立不是必須的,主連線先嘗試用動態埠開啟子連線,如果子連線打不開,則資料依舊在主連線中傳輸,這樣不影響總體協議通訊的完成,如 mms、msn傳遞檔案等。對防火牆來說,處理的重點前者,因為後者在防火牆上可以不用作特殊處理。本文若不特殊說明,都是指前者。

2. 多連線協議的特殊處理

多連線協議的特殊之處就在於其之連線的埠通常是動態的,具體值是在協議內容中協商確定,而一般防火牆的策略中只允許有限的埠通過,埠全部開放是很危險的,所以早期的包過濾防火牆,對於ftp協議的支援只能支援主動模式,也就是伺服器端資料埠固定為20時的情況,被動模式不支援或只能通過開啟全部埠來支援。

在狀態檢測防火牆中,防火牆不僅對ip/tcp頭資訊進行處理,對多連線協議這種特殊協議進一步進行了內容級跟蹤處理,能夠自動查詢協議通訊資料中關於埠協商的部分,提取出具體的埠值,然後動態開啟防火牆上的埠,使子連線資料能順利通過防火牆,當子連線結束時,防火牆相應埠又自動關閉,保證了網路的安全性。

3. nat模式下的處理

在nat模式下,防火牆需要作的工作要更多一些,不僅要找到關於子連線埠的描述字段,還需要根據情況修改資料內容,但有些情況又不需要,如 ftp協議,內部網路通過源位址轉換訪問外部ftp伺服器,但使用主動模式傳資料時,子連線是從伺服器連向客戶端,這時需要對資料內容進行修改;而使用被動模式時,子連線是從客戶端連向伺服器,此時防火牆只需要跟蹤而不需要修改資料。

進行資料修改時,防火牆先要找到自身乙個空閒的埠代替資料描述中的埠值,然後如果資料中包括ip位址位址資訊的話,將ip位址資訊換自己的位址,修改後的資料長度可能和原來的資料長度不同。

對於udp協議,資料內容修改後,如果資料長度變化,需要修改udp頭部中的資料長度,udp埠,ip包總長,然後重新計算udp校驗和,ip頭校驗和,基本和後續包無關。

對於tcp協議,情況就麻煩得多,如果資料長度變化,需要修改tcp埠,ip包總長,然後重新計算tcp校驗和,ip頭校驗和,最麻煩的是對該tcp連線的所有後續包都要修改tcp包頭中的序號號或確認號,所有校驗和也需要重新計算,如果後續包繼續有資料長度變化,這種變化也要累加。只有資料長度不改變的情況下才和後續包無關,只要修改當前包的資料就行。

4. linux核心中的實現

在linux核心的netfilter架構中,實現了對特殊協議的跟蹤和nat功能,並可以任意擴充套件,**在net/ipv4 /netfilter目錄下,ip_conntrack_core.c, ip_conntrack_helper.c, ip_conntrack_standalone.c為基本的連線跟蹤程式,ip_nat_core.c, ip_nat_helper.c, ip_nat_standalone.c中為nat的基本處理程式,對於特定協議,由ip_conntrack_*.c和ip_nat_*.c構成,「*」可以為ftp, tftp, irc等,程式構架都是類似的,可以擴充套件新的協議。

5. 安全性

這種開啟動態埠的處理在安全性方面已經提高了很多,但如果不注意還是會有些問題,如在連線資訊中如果有ip位址資訊,一定要驗證此ip位址就是資料報傳送方的位址,否則可能會開啟的是到其他機器的埠,相當的危險,netfilter早期的ftp**中就有這個問題。在phrack63的 0x13號檔案中,描述了如果防火牆同時跟蹤ftp和irc服務時穿透防火牆的一種方法,因此跟蹤程式一定要區分關於資料埠的描述是否是在主連線中還是在子連線中,只在主連線中進行解析,如果是子連線,這種資料模式是不解析的。

6. 總結

多連線協議的支援對狀態檢測防火牆來說需要特別處理,對於公開的協議,可以根據其協議規範來定製專門的支援模組,而如果協議是保密,對防火牆來說就無法處理了。現在很多新的協議也考慮到了這個問題,在子連線不能開啟的情況下還用主連線來傳輸資料,從而避免了該協議不能被防火牆支援。

為什麼需要防火牆?

1.所謂的防火牆是一種位於內部與外部網路之間的安全防護系統,其次依照特定的規則允許或限制傳輸的資料通過,來確保內部網路不受遭受惡意攻擊。2.軟體防火牆安裝在電腦作業系統內的防護程式,而硬體防火牆指的是採用狀態檢測機制,整合vpn,支援vpn,支援橋 路由 nat等工作模式的作用在2 4層訪問控制裝置...

什麼是防火牆

防火牆的概念 防火牆的功能 防火牆是網路安全的屏障 乙個防火牆 作為阻塞點 控制點 能極大地提高乙個內部網路的安全性,並通過過濾不安全的服務而降低風險。由於只有經過精心選擇的應用協議才能通過防火牆,所以網路環境變得更安全。如防火牆可以禁止諸如眾所周知的不安全的nfs協議進出受保護網路,這樣外部的攻擊...

什麼是防火牆?

防火牆 firewall 也稱防護牆,是由check point 創立者gil shwed於1993 年發明並引入國際網際網路 us5606668 a 1993 12 15 它是一種位於內部網路與外部網路之間的網路安全系統。是一項資訊保安的防護系統,依照特定的規則,允許或是限制傳輸的資料通過。在網路...