物理隔離與數據交換-網閘的設計原理與誤區
04-28
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。物理隔離與數據交換-網閘的設計原理與誤區 - Jack zhai - 51CTO技術博客
推薦閱讀:
一、什麼是網閘
網閘技術的需求來自內網與外網數據互通的要求,比如政府的電子政務是對公眾服務,與互聯網連通,而內網的政府辦公網路,由於保密的要求,內網若與網連通,則面臨來自公網的各種威脅。安全專家給出的建議是:由於目前的安全技術,無論防火牆、UTM等防護系統都不能保證攻擊的一定阻斷,入侵檢測等監控系統也不能保證入侵行為完全捕獲,所以最安全的方式就是物理的分開,所以在公安部的技術要求中,要求電子政務的內、外網路之間「物理隔離」。沒有連接,來自外網對內網的攻擊就無從談起。但是,網路的物理隔離,給數據的通訊帶來很多不便,比如工作人員出差只能接入互聯網,要取得內網的文件就沒有辦法,只能讓辦公室的人把文件放在外網上。另外,內網辦公系統需要從外網提供的統計數據,由於服務隔離,數據的獲取也很困難。因此,隨著網路業務的日益成熟,數據交換的需求提議強烈。最初的解決辦法就是人工的「傳遞」,用U盤或光碟在內外網之間倒換數據。隨著業務的增多,數據量的擴大,人工的方式顯然成為很多業務的瓶頸,在內、外網之間建立一個既符合「物理隔離」安全要求,又能進行數據交換的設備或解決方案,這就誕生了網閘技術。網閘實現的是個安全的概念,與防火牆等網路安全設備不同的地方是他阻斷通訊的連接,只完成數據的交換,沒有業務的連接,攻擊就沒有了載體,如同網路的「物理隔離」。網閘其實就是模擬人工數據倒換,利用中間數據倒換區,分時地與內外網連接,但一個時刻只與一個網路連接,保持「物理的分離」,實現數據的倒換。這就象從前長江上的擺渡船,既沒有「物理的連接」大橋,也實現了貨物的交換。其實,除了電子政務內外網的交換需求,其他各種涉密網路與公用網路的互聯都有這種需求,比如:廣電的編播網和互聯網、電力的控制網與辦公網、海關的運行網和報關查詢網路、銀行的業務網與網上銀行網路等等。
二、網閘的實現原理
網閘是實現兩個相互業務隔離的網路之間的數據交換,通用的網閘模型設計一般分三個基本部分:? 內網處理單元? 外網處理單元? 隔離與交換控制控制單元 三個單元都要求其軟體的操作系統是安全的,也就是採用非通用的操作系統,或改造後的專用操作系統。一般為Unix BSD或Linux的變種版本,或者其他是嵌入式操作系統VxWorks等,但都要對底層不需要的協議、服務刪除,使用的協議優化改造,增加安全特性,同時提高效率。? 內網處理單元:包括內網介面單元與內網數據緩衝區。介面部分負責與內網的連接,並終止內網用戶的網路連接,對數據進行病毒檢測、防火牆、入侵防護等安全檢測後剝離出「純數據」,作好交換的準備,也完成來自內網對用戶身份的確認,確保數據的安全通道;數據緩衝區是存放並調度剝離後的數據,負責與隔離交換單元的數據交換。? 外網處理單元:與內網處理單元功能相同,但處理的是外網連接。? 隔離與交換控制單元:是網閘隔離控制的擺渡控制,控制交換通道的開啟與關閉。控制單元中包含一個數據交換區,就是數據交換中的擺渡船。對交換通道的控制的方式目前有兩種技術,擺渡開關與通道控制。擺渡開關是電子倒換開關,讓數據交換區與內外網在任意時刻的不同時連接,形成空間間隔GAP,實現物理隔離。通道方式是在內外網之間改變通訊模式,中斷了內外網的直接連接,採用私密的通訊手段形成內外網的物理隔離。該單元中有一個數據交換區,作為交換數據的中轉。
在內外網處理單元中,介面處理與數據緩衝之間的通道,稱內部通道1,緩衝區與交換區之間的通道,稱內部通道2。對內部通道的開關控制,就可以形成內外網的隔離。模型中的用中間的數據交換區擺渡數據,稱為三區模型;擺渡時,交換區的匯流排分別與內、外網緩衝區連接,也就是內部通道2的控制,完成數據交換。還有一種方式是取消數據交換區,分別交互控制內部通道1與內部通道2,形成二區模型。二區模型的數據擺渡分兩次:先是連接內、外網數據緩衝區的內部通道2斷開,內部通道1連接,內外網介面單元將要交換的數據接收過來,存在各自的緩衝區中,完成一次擺渡。然後內部通道1斷開,內部通道2連接,內外網的數據緩衝區與各自的介面單元斷開後,兩個緩衝區連接,分別把要交換的數據交換到對方的緩衝區中,完成數據的二次擺渡。內部通道一般也採用非通用網路的通訊連接,讓來自兩端的可能攻擊終止於介面單元,從而增強網閘的隔離效果。所以內部通道一般選用網路、SCSI、IDE、USB、PCI等方式。網閘設計的目的,是隔離內外網業務連接的前提下,實現安全的數據交換。也就是安全專家描述的:協議落地,數據交換。三、隔離概念的變化
嚴格地講,物理隔離因該沒有物理通訊連接,也包括無線通訊,消除了通訊的可能,入侵就沒有了載體,但同時數據交換也成了難題。網閘在發展過程中,對隔離的定義也經歷了幾個過程:1. 物理隔離:模擬人工交換的過程,必須在內外網的節點機上進行數據交換,不能實現網路上任意計算機的數據交換。
2. 網路隔離:在簡單交換的基礎上,對文件傳輸協議的數據打包交換,實現了網路上任意信息點的數據交換。3. 協議隔離:能對文件協議代理,就可以對其他應用協議代理,如Http,實現了應用數據的直接交換。 物理隔離是指只有文件級交換的網閘,網路隔離與協議隔離是隔離概念的進一步弱化,根據要隔離網路的安全性要求,選擇不同的隔離技術。但把協議隔離當作物理隔離保證安全就成了網閘產品技術的誤區了。四、網閘設計中的誤區
網閘利用隔離業務連接阻斷用戶業務連接,完成數據的交換。但是由於網閘兩端的網路出口,直接連在內外網的節點上,沒有其他的中間代理,各種應用協議連接直接到達網閘的介面,從用戶角度來講,看到的是一個內外網互通服務,好像在內外網間建立了連接,只是時延大一些,也就是說建立了邏輯的連接。網閘好像是一個網路堡壘機。大多數網閘廠家在設計網閘產品時,為了方便客戶業務的方便,在內外網介面上解析各種應用協議,一方面剝離成數據,另一面有恢復成應用協議,網閘可以根據安全檢測的結果,合乎要求的讓通過,不合要求的就阻斷。這樣不僅僅實現數據的交換,而且實現了業務應用的代理訪問,有些網閘產品實現了外網的訪問者訪問內網的伺服器。這種解析不僅有覆蓋常見應用協議的趨勢,而且對資料庫的訪問也代理通過,為緩衝區溢出、SQL注入等攻擊提供了生存的溫床。網閘成了名副其實的集裝箱擺渡。由於應用協議的解析,應用可以通過網閘,攻擊也有了載體,網閘的安全就依賴於網閘的安全檢測技術。物理隔離的含義是作為攻擊載體的應用協議被中斷,入侵與攻擊才沒有進入的路徑,隔離達到安全的目的。所以網閘要「破壞」是業務的協議,而不是代理。這比如:火車可以通過擺渡繼續整列車行進,而網閘因該把貨物的組合徹底打散,這邊是用火車,到了對岸,用汽車還是馬車就不一定了。基於這種方式,網路攻擊行為中比較難探測的分散隱藏就不容易了。網閘的安全檢測技術與目前各種安全網關類產品的檢測技術應該一致,所以若能通過網閘建立業務連接的話,網閘的功能就與用防火牆等安全網關類設備建立的網路連接是同樣的安全效果了。因此,解析應用協議,成為應用代理的網閘實際上成為一個邏輯上的安全網關,滿足了數據交換的功能,但失去了網路隔離的效果。
五、網閘安全原則的定義
網閘對業務協議的解析給網閘帶來新的安全問題,所以不是說功能越豐富越好,從網閘處於網路中的位置,以及要實現的目的,網閘應該有自己的安全設計原則。使用網閘的目的是為了隔離業務的同時,進行安全的數據交換。從安全服務的角度講,網閘開通的服務種類越少,被攻擊的可能性越小,網閘可交換的數據類型越少,隱含攻擊的可能越小。網閘的安全原則定義為:? 單一服務:只完成數據文件的交換,只完成文件形式的數據交換。其他的服務一律關閉? 定向交換:在數據交換時指定接收人、發送人網閘不支持應用協議解析,不透傳業務應用,只進行文件數據的擺渡,對於Http、SMTP、FTP等協議無法通過,資料庫的訪問就更加不能通過,網閘只起到數據的擺渡,不支持應用的互通,應用協議的終止,讓入侵、攻擊徹底失去了傳播的載體。定義了安全原則的網閘安全性分析:? 指定內外網的發送與接收人:數據交換是提供點到點的數據交換服務,方便數據交換的審計,方便問題定位到源頭。避免第三者冒充、截獲信息重放等攻擊的發生。? 只選擇文件級的交換:採用文件級交換,而不是數據包級交換,是因為文件相對信息完整,避免蠕蟲式的分片隱藏。交換的信息單元之間沒有關聯,無需網閘進行信息還原、重組(這需要大量的緩衝區)。? 只選擇文件交換,內外網沒有通訊的連接,來自外網的黑客遠程攻擊因為沒有遙控線路而難以實現,對內網的業務進行攻擊只有發自內網本身的病毒、蠕蟲,這就實現了和人工數據擺渡同樣的安全效果。
? 文件的內容安全可以對發送者身份認證來保證。文件附著的病毒、蠕蟲、木馬等的檢測是靜態檢測,可以通過對交換文件格式的規範,讓他們難以躲藏。實際系統中,網閘可以根據應用系統對安全級別的要求,選擇性交換無格式文本文件,Word等有格式的文檔文件,壓縮文件,可執行文件等交換文件的格式,降低交換文件隱藏病毒、木馬的機會。六、通過網閘實現業務自動交換的方法
使用網閘,只提供數據的文件的點到點交換,這對於支持內外網大量數據通訊的應用是顯然不夠的,如何實現應用的轉換呢?儘管網閘的安全原則定義了不做業務協議解析的原則,保障網閘隔離業務的效果。但對於業務本身可以設立自己的代理伺服器,通過要交換數據的翻譯,實現業務的自動交換。? 在內外網設立業務數據交換的代理伺服器,在內外網的代理伺服器成對出現,目的是建立業務訪問的邏輯連接代理。? 代理伺服器把業務的數據轉換成可以交換的數據文件,並且指定交換的發送人與接收人為內外網的代理伺服器。從業務應用的角度來看,這種業務數據代理方式與廠家在網閘中實現的協議解析有些相似,都實現了業務訪問的內外網互通,但從整個網路的安全形度上看,是有根本區別的:? 通過網閘沒有應用協議,業務應用在內外網中間是中斷的。? 業務數據交換代理是針對每個需要內外網大量數據交換的業務開發的,業務針對性強,認證、加密等方式各不相同,由於業務開發的認證、加密屬於私密處理,每個應用都不相同,被攻擊的可能比較小。即使有攻擊,也只能針對本業務,不會擴展到內網的其他業務。? 與進行協議解析相比,網閘解析協議開通的是一類協議的所有應用,而業務代理是針對一個應用的開通。協議原理比較公開,被利用攻擊的可能性較高,即使使用安全的用戶身份確認技術,也不能與應用不同而改變,當應用增多時,危險增大。而代理服務的數據轉換是業務本身開發的,根據業務本身的安全級別要求,採取各自的身份確認機制,與應用的融合性好,對業務使用者本身的許可權管理也比較嚴格,對資源的安全管理粒度也比較細。網閘的設計目標:保證業務通訊隔離的基礎上,實現數據交換,其關鍵是安全性的延續,所以網閘的設計重點不僅是隔離與交換的控制邏輯設計上,而且包括業務代理的實現模式上。通過網閘實現業務數據自動交換的原理模型應如下推薦閱讀:
※信息分類(Day012)
※安全策略體系和安全人員管理(Day003)
※WordPress 4.7.1命令執行代碼Sql注入漏洞
※博彩借錢風暴(朋友QQ被盜):我是如何反擊詐騙犯!
※Kali Linux VMware安裝版小白級教程