引言
自計(jì)算機(jī)誕生以來, 計(jì)算機(jī)硬件系統(tǒng)性能的飛速發(fā)展, 遠(yuǎn)遠(yuǎn)超過了軟件發(fā)展的速度。摩爾定律預(yù)測(cè)的系統(tǒng)性能增長(zhǎng)模式驗(yàn)證了其正確性。硬件的高速發(fā)展帶來了資源浪費(fèi)問題, 而在提高資源利用率, 降低系統(tǒng)整體成本, 降低能耗方面虛擬化具有很大價(jià)值。此外, 虛擬化帶來的優(yōu)勢(shì)還有服務(wù)器整合, 業(yè)務(wù)的動(dòng)態(tài)調(diào)度, 應(yīng)用的實(shí)時(shí)遷移, 加速應(yīng)用部署, 容災(zāi)備份簡(jiǎn)單便利等。所以近些年隨著服務(wù)器虛擬化應(yīng)用十分廣泛。但是虛擬化也帶來一些安全問題。一臺(tái)物理服務(wù)器上的各個(gè)虛擬機(jī)之間通信的過程無法用傳統(tǒng)方法監(jiān)測(cè)得到。因此如果發(fā)生無法內(nèi)部虛擬機(jī)之間攻擊將無法察覺。
由于目前網(wǎng)絡(luò)攻擊均是利用操作系統(tǒng)或工具軟件的漏洞來進(jìn)行的, 所以在不能利用網(wǎng)絡(luò)流量監(jiān)測(cè)攻擊的情況下, 通過實(shí)施有預(yù)見性的安全管理, 如及時(shí)安裝操作系統(tǒng)及工具軟件的補(bǔ)丁也可以提高安全性, 抵御攻擊。但是通常一臺(tái)服務(wù)器上運(yùn)行著數(shù)量眾多的虛擬機(jī),無法得知操作系統(tǒng)的種類, 而且由于虛擬機(jī)數(shù)量太多,管理困難, 所以本文采用操作系統(tǒng)指紋識(shí)別技術(shù)來識(shí)別各虛擬機(jī)操作系統(tǒng)的種類。然后利用虛擬器件鏡像管理中文件切片技術(shù)思想來智能自動(dòng)地為操作系統(tǒng)及工具軟件安裝補(bǔ)丁, 同時(shí)也可安裝相應(yīng)的安全工具并及時(shí)更新版本。
1 服務(wù)器虛擬化
1. 1 基本概念
Wikipedia是這樣描述虛擬化的: 虛擬化是表示計(jì)算機(jī)資源的抽象方法, 通過虛擬化可以用與訪問抽象前資源一致的方法訪問抽象后的資源, 這種資源的抽象方法并不受實(shí)現(xiàn)、地理位置或底層資源中物理配置的限制。在虛擬化技術(shù)中, 被虛擬的實(shí)體是各種各樣的IT資源。按照這些資源的類型分類, 可以分為系統(tǒng)虛擬化、基礎(chǔ)設(shè)施虛擬化、軟件虛擬化。服務(wù)器虛擬化就是將虛擬化技術(shù)應(yīng)用于服務(wù)器上, 將一個(gè)服務(wù)器虛擬成若干個(gè)服務(wù)器使用。服務(wù)器虛擬化使得在單一物理服務(wù)器上可以運(yùn)行多個(gè)虛擬服務(wù)器, 并為虛擬服務(wù)器提供能夠支持其運(yùn)行的硬件資源抽象。
1. 2 設(shè)備與I/ O虛擬化
在服務(wù)器虛擬化中, 網(wǎng)絡(luò)接口是一個(gè)特殊設(shè)備, 具有重要作用。虛擬服務(wù)器都是通過網(wǎng)絡(luò)向外界提供服務(wù)的。在服務(wù)器虛擬化中每一個(gè)虛擬機(jī)都變成一個(gè)獨(dú)立的邏輯服務(wù)器, 它們之間的通信過程通過網(wǎng)絡(luò)接口進(jìn)行。每一個(gè)虛擬機(jī)都被分配了一個(gè)虛擬的網(wǎng)絡(luò)接口, 從虛擬機(jī)內(nèi)部看來是一塊虛擬網(wǎng)卡。服務(wù)器虛擬化要求對(duì)宿主操作系統(tǒng)的網(wǎng)絡(luò)接口驅(qū)動(dòng)進(jìn)行修改。經(jīng)過修改后, 物理機(jī)的網(wǎng)絡(luò)接口不僅要承擔(dān)原有網(wǎng)卡的功能, 還要通過軟件虛擬出一個(gè)交換機(jī)。虛擬交換機(jī)工作于數(shù)據(jù)鏈路層, 負(fù)責(zé)轉(zhuǎn)發(fā)從物理機(jī)外部網(wǎng)絡(luò)投遞到虛擬機(jī)網(wǎng)絡(luò)接口的數(shù)據(jù)包, 并維護(hù)多個(gè)虛擬機(jī)網(wǎng)絡(luò)接口之間的連接。當(dāng)一個(gè)虛擬機(jī)與同一個(gè)物理機(jī)上的其他虛擬機(jī)通信時(shí), 它的數(shù)據(jù)包會(huì)通過自己的虛擬網(wǎng)絡(luò)接口發(fā)出, 虛擬交換機(jī)收到該數(shù)據(jù)包后將其轉(zhuǎn)發(fā)給目標(biāo)虛擬機(jī)的虛擬網(wǎng)絡(luò)接口。整個(gè)過程如圖1 所示。
圖1 虛擬化過程
1. 3 服務(wù)器虛擬化帶來的安全性問題
虛擬機(jī)與外部網(wǎng)絡(luò)的通信可以通過在物理服務(wù)器外加設(shè)防火墻或入侵檢測(cè)系統(tǒng)來防范攻擊。但是由于虛擬機(jī)之間的通信是通過虛擬交換機(jī)進(jìn)行的, 并且虛擬交換機(jī)是工作在數(shù)據(jù)鏈路層的,F(xiàn)有的網(wǎng)絡(luò)流量測(cè)量、網(wǎng)絡(luò)路由安全策略必須是基于三層, 也就是網(wǎng)絡(luò)層實(shí)現(xiàn)的, 因此虛擬機(jī)之間的網(wǎng)絡(luò)安全變成了一個(gè)棘手的問題。在目前不能利用網(wǎng)絡(luò)流量監(jiān)測(cè)攻擊發(fā)生的情況下,實(shí)施有預(yù)見性的安全管理, 加強(qiáng)虛擬機(jī)之間的隔離機(jī)制, 及時(shí)安裝操作系統(tǒng)及工具軟件的補(bǔ)丁便成為一種有效的解決手段。
隨著服務(wù)器硬件性能的提升, 以及服務(wù)器虛擬化技術(shù)的飛速發(fā)展, 目前服務(wù)器上運(yùn)行的虛擬機(jī)數(shù)量越來越多。如何識(shí)別各種操作系統(tǒng), 并智能高效地為其安裝需要的補(bǔ)丁是一個(gè)急需解決的問題。因此本文提出利用操作系統(tǒng)指紋識(shí)別技術(shù)來識(shí)別系統(tǒng), 并利用虛擬器件鏡像的切片技術(shù)以及IBM的TPM虛擬器件的部署技術(shù)來智能高效的進(jìn)行操作系統(tǒng)補(bǔ)丁、中間件、工具軟件的安裝。
2 TCP/ IP 堆棧操作系統(tǒng)指紋識(shí)別
2. 1 基本概念
RFC1180對(duì)TCP/IP協(xié)議棧知識(shí)進(jìn)行了描述, 并沒有進(jìn)行一個(gè)嚴(yán)格的工業(yè)標(biāo)準(zhǔn)規(guī)定, 因此各個(gè)操作系統(tǒng)廠商在自己產(chǎn)品上對(duì)TCP/ IP協(xié)議的實(shí)現(xiàn)有著細(xì)微的差別, 這些差異就被稱為指紋。TCP/IP是目前網(wǎng)絡(luò)中應(yīng)用最廣的協(xié)議。對(duì)TCP/IP協(xié)議棧指紋進(jìn)行歸納總結(jié), 可以有效地獲取操作系統(tǒng)類型。探測(cè)操作系統(tǒng)的方式可以分為主動(dòng)式及被動(dòng)式兩種。主動(dòng)式探測(cè)工具與網(wǎng)絡(luò)目標(biāo)設(shè)備進(jìn)行交互, 主動(dòng)發(fā)送一些探測(cè)數(shù)據(jù)觸發(fā)器, 通過從目標(biāo)設(shè)備返回的回應(yīng)消息可以判斷出操作系統(tǒng)的類型, Xprobe2, Namp就是著名的主動(dòng)探測(cè)式工具。但這種主動(dòng)探測(cè)易于引起攻擊者察覺, 不易保護(hù)檢測(cè)者。因此推薦使用更為隱秘的被動(dòng)式探測(cè), 被動(dòng)探測(cè)不會(huì)與目標(biāo)系統(tǒng)交互, 通過監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)流, 將其表現(xiàn)出來的特征和相應(yīng)的模式屬性庫(kù)進(jìn)行匹配分類。
2. 2 數(shù)據(jù)準(zhǔn)備
被動(dòng)探測(cè)是通過從TCP/ IP會(huì)話中提取出以下數(shù)據(jù)并與屬性庫(kù)進(jìn)行比較, 而后判斷操作系統(tǒng)類型的。WWWW: 窗口大小; MSS: 最大報(bào)文長(zhǎng)度; TTL: 生存時(shí)間。指定了數(shù)據(jù)報(bào)可以在網(wǎng)絡(luò)中傳播的最長(zhǎng)時(shí)間; WS:窗口擴(kuò)大因子; S: 選擇性確認(rèn)技術(shù)允許( SACKPermitted) 標(biāo)志; N: 無操作( NOP) ; D: 短延遲位設(shè)定標(biāo)志; T: 時(shí)間戳(TIMESTAMP) ; F: SYN 和ACK 位設(shè)定標(biāo)志;LEN: IP 頭長(zhǎng)度。其中, MSS, WS, S, N, T 均為TCP 協(xié)議中可選項(xiàng)。
分頁(yè)
2. 3 指紋識(shí)別系統(tǒng)的設(shè)計(jì)與算法
通過在物理服務(wù)器外配置一個(gè)數(shù)據(jù)包捕獲與識(shí)別系統(tǒng)對(duì)操作系統(tǒng)進(jìn)行指紋識(shí)別, 可以用網(wǎng)絡(luò)編程的方法來實(shí)現(xiàn)該系統(tǒng)。從捕獲的數(shù)據(jù)中提取操作系統(tǒng)指紋,然后在指紋數(shù)據(jù)庫(kù)中進(jìn)行匹配, 進(jìn)而得到操作系統(tǒng)類型和版本信息。數(shù)據(jù)包識(shí)別模塊包括提取指紋與指紋匹配兩個(gè)流程。提取指紋時(shí)首先從捕獲到的數(shù)據(jù)包中獲得相應(yīng)項(xiàng)并組合成字符串特征式WWWW: MSS:TLL: WS: S: N: D: T : F: LEN。
匹配算法: 在該系統(tǒng)中構(gòu)造函數(shù): f ing er print_push( char * finger, int param, int value) 。將T CP/IP頭中特征項(xiàng)WWWW,MSS,TTL,WS:S:N:D:T:F:LEN 的值存入格式為WWWW: MSS: T TL: WS: S:
N: D: T: F: LEN 的字符串, 打開指紋數(shù)據(jù)庫(kù)文件etter.finger. os, 對(duì)特征式每一部分用strncpy( )函數(shù)進(jìn)行比較。如果兩個(gè)特征式一致, 則完全匹配, 然后將該操作系統(tǒng)信息提取并保存; 如果匹配失敗, 則采用近似匹配算法得出最相近操作系統(tǒng)版本, 分兩步驟完成指紋特征式的近似匹配, 在指紋中的第一項(xiàng)WWWW( TCP 原始窗口大小) 一致的指紋中, 忽略第二項(xiàng)最大報(bào)文長(zhǎng)度(MSS)后若能匹配。該行中操作系統(tǒng)部分就是最相似的系統(tǒng)版本; 若匹配還失敗, 則只能根據(jù)較少的特征項(xiàng)來確定操作系統(tǒng)類型, 采用被動(dòng)式操作系統(tǒng)識(shí)別的基本項(xiàng)進(jìn)行比較, 即通過TTL,TOS 或Window Size來近似匹配系統(tǒng)類型。匹配算法流程如圖2所示。
圖2 匹配與算法流程
3 智能高效的更新系統(tǒng)及工具補(bǔ)丁
在識(shí)別操作系統(tǒng)類型及版本信息后, 對(duì)系統(tǒng)及上運(yùn)行的工具軟件進(jìn)行智能高效的補(bǔ)丁更新。這里借助事先建立好的公共數(shù)據(jù)庫(kù)來實(shí)現(xiàn), 這個(gè)數(shù)據(jù)庫(kù)里不但存放著上文中操作系統(tǒng)的特征指紋數(shù)據(jù), 還存放著打包好的虛擬器件鏡像, 是一個(gè)公共可訪問倉(cāng)庫(kù)。對(duì)鏡像文件的元數(shù)據(jù)信息和文件內(nèi)容分別存儲(chǔ)。鏡像文件的元數(shù)據(jù)信息包括文件的大小、文件名、創(chuàng)建日期、修改日期、讀寫權(quán)限等, 以及指向文件內(nèi)容的指針鏈接。而鏡像文件的實(shí)際內(nèi)容一般會(huì)采用切片技術(shù)來進(jìn)行存儲(chǔ)。即將一個(gè)較大的鏡像文件切成很多的小文件片, 為每一個(gè)文件分配一個(gè)唯一的標(biāo)識(shí)符, 以及文件內(nèi)容的摘要串。這需要在元數(shù)據(jù)里增添新信息。通過鏡像切片及生成的內(nèi)容摘要,鏡像管理系統(tǒng)可以發(fā)現(xiàn)這些鏡像文件中相同的文件片,然后對(duì)這些文件進(jìn)行去重操作。當(dāng)一個(gè)鏡像新版本進(jìn)入系統(tǒng)時(shí), 系統(tǒng)會(huì)通過切片及生成摘要, 識(shí)別出新版本哪些內(nèi)容與之前版本不同, 只保存不同的切片。DMTF( Dist ributed Management Task Force) 非贏利標(biāo)準(zhǔn)化組織制定開放虛擬化格式OVF ( Open Virtualizat ion Format) 。OVF 包是虛擬器件最終發(fā)布的打包格式, 它是按照IEEE 1003. 1 USTAR POSIX 標(biāo)準(zhǔn)歸檔的并以. ova為后綴的文件。這里,操作系統(tǒng)及工具的補(bǔ)丁都以這種形式存儲(chǔ)在公共倉(cāng)庫(kù)里。
下面可以借鑒IBM 在虛擬化管理方面先進(jìn)的技術(shù)來解決安裝補(bǔ)丁問題。Tivoli產(chǎn)品線是IBM 負(fù)責(zé)提供信息服務(wù)管理產(chǎn)品和解決方案的。Tivoli家族的TPM(Tivoli Provisoning Manager) 是數(shù)據(jù)中心資源自動(dòng)化管理解決方案的核心產(chǎn)品?梢宰詣(dòng)完成服務(wù)器、存儲(chǔ)器、網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)、中間件、應(yīng)用程序的部署和配置任務(wù), 它通過工作流( workflow) 來完成系統(tǒng)資源的部署。對(duì)于部署包含虛擬化平臺(tái)的操作系統(tǒng),TPM 的插件TPM for OS Deployment( TPM OSD) 可以實(shí)現(xiàn)操作系統(tǒng)的部署。通過擴(kuò)展工作流, TPM 能夠?qū)崿F(xiàn)智能高效安裝系統(tǒng)的更新。
4 結(jié)語(yǔ)
本文提出了一種基于TCP/ IP 堆棧的操作系統(tǒng)指紋識(shí)別技術(shù), 以檢測(cè)虛擬機(jī)操作系統(tǒng), 用利用虛擬器件部署的先進(jìn)技術(shù)來智能高效地進(jìn)行系統(tǒng)及工具軟件補(bǔ)丁更新的方法。提升了虛擬機(jī)的安全性, 以抵御虛擬機(jī)之間的內(nèi)部安全隱患,并為數(shù)據(jù)中心的高效管理提供了可能。下一步的研究工作重點(diǎn)應(yīng)放在如何在數(shù)據(jù)中心建立多個(gè)公共數(shù)據(jù)庫(kù),構(gòu)建一個(gè)私有云環(huán)境, 利用分布式資源提高效率并解決冗余備份的問題。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于操作系統(tǒng)指紋識(shí)別的服務(wù)器虛擬化安全策略
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112154375.html