文章出處:www.net1980.com算法
在實際應用中,單一的安全防禦技術並不足以構築一個安全的網絡安全體系,多種技術的綜合應用纔可以將安全風險控制在儘可能小的範圍內。通常而言,安全防範體系具體實施的第一項內容就是在內部網和外部網之間構築一道防線,以抵禦來自外部的絕大多數***,完成這項任務的網絡邊防產品咱們稱其爲防火牆。安全
相似於建築大廈中用於防止火災蔓延的隔斷牆,Internet 防火牆是一個或一組實施訪問控制策略的系統,它監控可信任網絡(至關於內部網絡)和不可信任網絡(至關於外部網絡)之間的訪問通道,以防止外部網絡的危險蔓延到內部網絡上。防火牆主要服務於如下目的:
1)限制用戶或信息由一個特定的被嚴格控制的站點進入;
2)阻止***者接近其餘安全防護設施;
3)限制用戶或信息由一個特定的被嚴格控制的站點離開。
防火牆一般做用於被保護區域的入口處,基於訪問控制策略提供安全防禦。例如:當防火牆位於內部網絡和外部網絡的鏈接處時,能夠保護組織內的網絡和數據免遭來自外部網絡的非法訪問(未受權或未驗證的訪問)或惡意***;當防火牆位於組織內部相對開放的網段或比較敏感的網段(如保存敏感或專有數據的網絡部分)的鏈接處時,能夠根據須要過濾對敏感數據的訪問(即便該訪問是來自組織內部)。服務器
防火牆發展歷史網絡
防火牆技術的發展歷史大體經歷瞭如下幾個過程。
一、第一代防火牆:包過濾防火牆
包過濾指在網絡層對每個數據包進行檢查,根據配置的安全策略來轉發或拒絕數據包。包過濾防火牆的基本原理是:經過配置ACL(Access Control List,訪問控制列表)實施數據包的過濾。實施過濾主要是基於數據包中的源/目的IP 地址、源/目的端口號、IP 標識和報文傳遞的方向等信息。
第一代防火牆的設計簡單,很是易於實現,並且價格便宜,但其缺點不容忽視,主要表如今:
1)隨着ACL 複雜度和長度的增長,其過濾性能成指數降低趨勢;
2)靜態的ACL 規則難以適應動態的安全要求;
3)包過濾不檢查會話狀態也不分析數據,即不能對用戶級別進行過濾,這容易讓***矇混過關。例如,***者可使用假冒地址進行欺騙,經過把本身主機IP地址設成一個合法主機IP 地址,就能很輕易地經過報文過濾器。ide
二、第二代防火牆:代理防火牆
代理服務做用於網絡的應用層,其實質是把內部網絡和外部網絡用戶之間直接進行的業務由代理接管。代理檢查來自用戶的請求,認證經過後,該防火牆將表明客戶與真正的服務器創建鏈接,轉發客戶請求,並將真正服務器返回的響應回送給客戶。代理防火牆可以徹底控制網絡信息的交換,控制會話過程,具備較高的安全性,但其缺點一樣突出,主要表如今:
1)軟件實現限制了處理速度,易於遭受拒絕服務***;
2)須要針對每一種協議開發應用層代理,升級很困難。性能
三、第三代防火牆:狀態防火牆
狀態分析技術是包過濾技術的擴展(非正式的也可稱爲「動態包過濾」)。基於鏈接狀態的包過濾在進行數據包的檢查時,將每一個數據包當作是獨立單元的同時,還要考慮先後報文的歷史關聯性。spa
基本原理簡述以下:
1)狀態防火牆使用各類狀態表來追蹤激活的TCP( Transmission ControlProtocol)會話和UDP(User Datagram Protocol)僞會話(在處理基於UDP協議包時爲UDP 創建虛擬鏈接,以對UDP 鏈接過程進行狀態監控的會話過程),由ACL 表來決定哪些會話容許創建,只有與被容許會話相關聯的數據包才被轉發。
2)狀態防火牆在網絡層截獲數據包,而後從各應用層提取出安全策略所須要的狀態信息,並保存到動態狀態表中,經過分析這些狀態表和與該數據包有關的後續鏈接請求來作出恰當決定。從外部網絡向內看,狀態防火牆更像一個代理系統(任何外部服務請求都來自於同一主機),而由內部網絡向外看,狀態防火牆則像一個包過濾系統(內部用戶認爲他們直接與外部網交互)。.net
狀態防火牆具備如下優勢:
1)速度快。狀態防火牆對數據包進行ACL 檢查的同時,能夠將包鏈接狀態記錄下來,後續包則無需再經過ACL 檢查,只需根據狀態表對新收到的報文進行鏈接記錄檢查便可。檢查經過後,該鏈接狀態記錄將被刷新,從而避免重複檢查具備相同鏈接狀態的包。鏈接狀態表裏的記錄能夠隨意排列,這點與記錄固定排列的ACL 不一樣,因而狀態防火牆可採用諸如二叉樹或哈希(hash)等算法進行快速搜索,提升了系統的傳輸效率。
2)安全性較高。鏈接狀態清單是動態管理的,會話完成時防火牆上所建立的臨時返回報文入口隨即關閉,這保障了內部網絡的實時安全。同時,狀態防火牆採用實時鏈接狀態監控技術,經過在狀態表中識別諸如應答響應等鏈接狀態因素,加強了系統的安全性。設計