https://newera17031.activehosted.com/index.php?action=social&chash=01e9565cecc4e989123f9620c1d09c09.2117&nosocial=1

觀點

虛擬化服務的安全導入6大步驟

2012 / 05 / 15
蔡一郎 (2012資安趨勢論壇-換個腦袋做資安專刊,2011.12月)
虛擬化服務的安全導入6大步驟

虛擬化幾乎已成為雲端服務的代名詞,可是虛擬化只是必經之路,並不足以代表雲端服務,本文將與大家分享虛擬化的過程與經驗。

1.實體邁向虛擬第一步:作業系統

企業在面對雲端服務的議題時,第一個聽到的就是系統的虛擬化,目前在市面上有許多解決方案可以評估,大多各具有本身的特性,例如:VMWare強調虛擬化平台與管理機制的完整性,能夠提供較完整的配套措施,但需要付出的建置成本較高,而微軟推出的雲端服務,則是強調系統運作與開發環境的整合,能夠讓應用程式的開發人員,輕易的將開發好的應用程式移轉到雲端服務的平台,如果是開放原始碼軟體的愛用者,則可以選擇KVM(Kernel Virtual Machine)的架構,可以擁有自主性較高的環境,不論使用那一種解決方案,首先需要解決的第一道問題,就是作業系統跟這些虛擬化環境的相容性,或是如何將現有的系統,從實體機器轉換成虛擬主機的作業環境。

除了相容性的評估之外,還需要考慮單一實體設備能夠承載的虛擬主機數量以及其資源的配置,是否可以讓負載較高的主機,獨享運算核心或是配置較多的記憶體空間,以目前主流的虛擬平台,對於市面上流通的作業系統相容性,以Windows、Linux或BSD而言,大多可以透過簡單的設定,就可以在虛擬平台中建立所需要的作業系統環境,其中從作業系統的角度來看,必須考慮對於實體設備在資源存取上的限制,整體而言較不成問題,深思熟慮之後,就開始進行作業系統的轉移,從實體邁向虛擬之路。 

第二步、考量應用程式於虛擬環境相容性

執行環境的規劃與建置,須考慮相容的問題,許多應用在開發初期,會採用當時主要的開發環境,例如開發的語言以及配合使用的函式庫,這些元件對於應用程式而言是相當重要的,也影響到應用程式在功能上的運作,以實際導入虛擬化平台的經驗,應用程式與雲端服務供應商所提供的運作環境,最容易發生問題的就是應用程式在其運作環境發生不相容的情況,而雲端服務的供應商為了系統管理的一致性,大多採取保守的作法,不會因需符合客戶的需要而採用已被發現問題的套件或是版本,以避免影響系統本身的安全性,因此在權衡之下,客戶必須評估重新開發或是修正現行應用程式的人力與時間。

應用程式的類型相當多,因為應用程式所提供的服務內容或其運作的機制,可能對於系統本身資源依賴的程度不一,例如:需要同時服務大量使用者的,則需要擁有較多的記憶體空間,如果需要提供檔案傳輸服務的,就需要較大的儲存空間以及網路的頻寬,因此在將應用程式導入雲端服務平台時,對於每一個應用程式就必須獨立評估與思考是否合適,以及導入時需要的資源配置問題,另外是否能夠享有雲端服務化之後,可以帶來的高可靠度以及高可用率。

以筆者服務的單位為例,因為對外提供服務的類型相當多樣化,許多的服務需要使用到高速的運算環境,因此對於能夠導入虛擬化環境的應用程式,大多選擇以公用性質的服務為主,例如:Windows AD服務、列印服務、維運中心監測平台、網站服務以及用來進行資訊安全研究用的偵測平台,這些類型的服務方式具備幾種特性,包括一般性質的資訊服務、耗費的系統資源較少的、需要高可用率的服務、不特別強調系統效能的以及不需要高頻寬的應用服務。

以網站服務為例,因為大多由其它的專案團隊所開發的應用程式或架構的網站,種類與需要的環境是多樣化的,因此從資訊安全的角度進行考慮,將人員的權限區分為系統管理員以及應用程式管理員,前者為專業的系統安全工程師,協助處理與掌握系統運用以及相關的套件修補,後者則為應用程式的開發人員與管理人員,主要進行網站運作環境的開發以及管理其所需要使用的套件環境,至於由系統所提供的套件,其版本的維護因為權限上的考量,則由系統管理人員統一負責處理,以避免因為系統或應用程式所使用的套件,因為漏洞的發現而因未進行修補,所衍生資訊安全上的疑慮。

以資訊安全的角度思考應用程式所面臨的風險,目前主要的解決方案是以網頁型式提供服務的方式,在虛擬平台裡佈署虛擬網頁應用程式防火牆,直接配合提供網頁服務的虛擬主機,針對其通訊的內容進行偵測,在選擇上需要考慮能夠直接解析應用層(OSI第七層)的方案,方能對於網站服務的通訊進行分析,因目前有許多應用程式會採用非標準的http通訊協定,故應用程式防火牆必須能夠解析不同應用程式的行為差異。 

第三步、資料與資料庫的營運衝擊評估

資料存取與資料庫的連結,是目前將實體系統轉移到虛擬主機後需要面臨的另一道難題,在評估資料的管理以及配合應用程式的運作之前,依筆者的經驗需要先針對業務持續運作(BCP)中的災難復原程序(DR)進行評估,協助虛擬主機擁有不間斷的服務,平時當系統或應用程式正常運作時,對於資料處理以及資料庫的運作方式優劣,並不容易查察,但一旦發生系統或應用程式問題時,對於應用程式原本所提供的服務能否持續,就必須審慎考慮其衝擊,在筆者以往的經驗中,最喜歡問使用者一個問題,就是「你最多能夠接受多久無法使用服務?」這也就是RTO的觀察,必須評估實際情況,需要投入多少的資源,以確保這項重要業務不能發生中斷,或是其可以恢復的時間長短。當系統與應用程式隨著虛擬主機進行轉移時,其中所需要運用的資料以及連結的資料庫,必須同步跟著移轉或是自動在轉移後的環境建立連結,才能確保所提供的應用服務不中斷。 

第四步、網路環境仍須確保資安政策一致

虛擬主機移動時,安全政策的一致性是相當重要的。當虛擬主機因故需要移轉到其它的硬體設備上運行時,相對應的網路安全政策必須同步移動到對應的網路設備上,以確定與原本安全政策的一致。依筆者實際導入的經驗,因原本網路架構的複雜度較高,必須同時考慮虛擬平台所在的網路環境,以及未來可能當做備援平台的網路環境,透過網路設備的調度與調整,以提供同樣的網路存取控制機制。另外因為多樣化的設備品牌,網管的平台必須相互配合,初期採用半自動化的機制,當虛擬主機搬移時,再由人工的方式進行網路安全政策的調整,後期透過中介軟體的開發,以進行自動化的網路安全政策調整。

除網路安全政策需要考慮之外,所使用的IP位址與DNS名稱解析的對應,也是確保應用程式能夠在轉移環境後,仍然能夠進行服務的關鍵,如果備援的平台之前並沒有負載平衡之類的設備,無法建立跨域的單一網域,則必須進行DNS伺服器的組態調整,不過在調整之後必須等待設定生效,其中會有些許的時間差,對於需要高可用率的應用程式服務而言,則需要調整原本的服務架構,同時將備援地點的網路環境一併納入考慮。

 

虛擬化安全威脅與防禦

在現行的網路中,大多已佈署了資訊安全的設備,包括防火牆、入侵偵測(防禦)系統,網路安全政策以及網路異常行為的偵測比對,大多已有現行的設備進行偵測。因應不同的雲端服務平台架構,傳統的資訊安全設備,在運用以及佈署的方式已需要進行調整,例如:雲端服務中各虛擬主機之間的網路通訊,大多會透過虛擬交換器(Virtual Switch)來完成,因此如果其中的虛擬主機發生了資訊安全上的問題,例如:感染了惡意程式,對其它的主機進行探測或攻擊,而之間的通訊行為並不會經過佈署在虛擬主機平台之外的防護設備,此時對於雲端內部的服務,將會造成極大的影響。

依筆者經驗,在雲端服務平台中,佈署虛擬防火牆或虛擬入侵偵測(防禦)系統,然後將其相關範圍內的虛擬主機通訊的流量,導入虛擬防火牆或虛擬入侵偵測(防禦)系統,配合其中的偵測規則,針對虛擬主機的通訊進行比對,其優點是可以直接掌握雲端內部虛擬主機之間的通訊行為,運用的方式就如同傳統的架構,對於導入雲端服務的使用者而言,網路安全政策的管理上較為容易,而當虛擬主機發生異常而必須進行轉移時,因為採虛擬化的設備,配合虛擬平台的管理機制,能夠讓其中所使用的偵測規則,也隨著虛擬主機的移動,而套用到新的環境中,但這樣的架構目前仍有其缺點存在,若一旦使用者數量較多,網路流量較大時,對其效能將有影響。

 

第五步、效能仍是提供服務營運最大考量

進行虛擬主機與服務的測試與演練,以確保服務的可用性是必經的過程,其中以壓力負載測試為主,運用模擬大量使用者的連線行為,以確定虛擬主機的系統負載,或是網路本身所使用的頻寬是否足夠,一般而言在轉移到雲端服務的平台後,其中最令人擔心的就是效能是否會因此而下降,影響到原本的服務品質。

在資訊安全設備的壓力與負載測試上,因為規則的比對仍然需要使用虛擬平台所提供的硬體資源,因此虛擬防火牆以及虛擬入侵偵測(防禦)系統的壓力測試,主要的測試項目包括大量連線需求、傳輸大量檔案、傳送小封包以驗證其虛擬網路的能力等,這些在進行壓力的測試過程,透過虛擬平台的系統監測,就能夠掌握其最大能夠承受的負載。 

第六步、虛擬主機的監控與分析

掌握虛擬主機的運作、服務行為與日誌的分析仍然是必須進行的工作項目,其中依筆者的導入經驗,在虛擬化之後,集中且大量出現的日誌記錄,就成為需要即時分析的巨量資料,而且虛擬主機或是應用程式的執行情況,在資源與狀態的監控中,除了可以配合架設虛擬平台所使用的工具之外,也可以透過整合開發的方式,例如:採用較一般性的網管平台Nagios、Cacti等可以用來進行系統與網路資源監控的自由軟體,就成為實際可以採用的平台,尤其對於混合形態的雲端服務環境而言,自主性是相當重要的,採用自由軟體或是以往採用的網管平台,除了可以自行調校相關的功能之外,也容易與先前所採用的環境相仿,能夠縮短轉換到雲端服務環境的難度。

 

虛擬化架構大不同 IT人需學習適應

在虛擬化的過程中,感覺到最明顯的變動,對IT人員來說,就是跟以往的管理架構不同,需要一小段時間慢慢學習及適應,對一般使用者來說,考量的則是效能問題。但虛擬化的好處也在於,對於IT服務的可用率能夠提高。只是在大量的應用服務環境裡,去使用虛擬化的防火牆、IPS,難免會在效能上較無法滿足。主要也是因為虛擬環境中的網路交換器,仍是由虛擬平台提供出來,因此虛擬的網路安全設備都要透過交換器的介接,因此也受到它的效能限制。不過,儘管目前還不完整,但長遠來看仍是好的結果,因為可預期未來會有越來越多的設備,能夠支援虛擬化、雲端服務的架構。

註:作者為台灣雲端安全聯盟研究召集人