由于SaaS(Software as a Service軟件作為服務、軟件即服務)的出現,軟件行業正在經歷一場深刻的變革。SaaS在西方國家已經流行并進入了普及階段。在中國,雖然近年增長迅速,但大多數企業對SaaS這種新的交付模式還缺乏認識. SaaS的安全技術日新月異, 越來越多的企業開始認可SaaS安全性和可靠性。
SaaS的安全從機房開始。機房的安全性包括氣體滅火、恒溫恒濕、聯網電子鎖防盜、24小時專人和錄像監控、網絡設備帶寬冗余、口令進入機房等。服務器和防火墻的負載平衡、數據庫集群和網絡存貯備份在近幾年也成為標準安全性技術。主流SaaS運營商多采用雙數據中心運營,其中一個機房數據中心為冗余備份。多城市多機房的模式可提高訪問速度,但因大大增加安全管理隱患和維護成本,很少被成熟的SAAS企業采用。
伴隨著J2EE和.NET等基于互聯網瀏覽器軟件開發技術的誕生,真正意義上的SaaS模式企業管理軟件技術起始于2003年前后。基于互聯網的特點,SaaS軟件有許多區別于前一代軟件的獨特性,從服務器端軟件和數據庫、數據傳輸、到客戶端瀏覽器都出現了許多新技術。
開發 SaaS 軟件系統和開發傳統企業應用系統之間有重要區別,標準SaaS 系統是多重租賃的(Multi-tenant),也就是一套軟件和數據庫平臺,經過軟件和數據庫的隔離及保密技術,多個企業同時使用。雖然不是多重租賃的SaaS產品不一定是“假SaaS”產品,多重租賃大大提高了運營效率、穩定性,降低運營商的維護和升級成本,變相的說最終消費者得到了價格上的實惠。其他重要的 SaaS 需求,如自定義、SOA集成接口、離線客戶端等,也都會影響 SaaS 應用程序的體系結構。而國外的Salesforce的PaaS(Platform-as-a-Service)和國內八百客公司的800APP PaaS代表了SaaS的主流架構。
數據庫:
SaaS運營商普遍采用大型商用關系型數據庫和集群技術。在數據庫的設計上,多重租賃的軟件會有三種設計,每個客戶公司獨享一個數據庫instance,或獨享一個數據庫instance中的一個schema, 或多客戶公司以隔離和保密技術原理共享一個數據庫instance的一個shema. 幾乎所有SaaS軟件開發商選擇后兩種方案,也就是說,所有公司共享一個數據庫license,從而降低了成本。
數據庫隔離的方式經歷了instance隔離、schema隔離、partition隔離、數據表隔離、到在應用程序的數據邏輯層提供根據共享數據庫進行用戶數據增刪改授權的隔離機制, 從而在不影響安全性的前提下實現效率最大化。
應用程序:
應用程序的安全圍繞Web服務器展開,比如Apache、IIS等。基于這些Web服務器,主流廠商多采用J2EE或.NET開發技術并會采用特殊的Web服務器或服務器配置以優化安全性并優化訪問速度和可靠性。而有些廠商會采用PHP、Ruby等開發技術,相比之下,J2EE和.NET集成了更多更成熟的安全技術。同樣,Oracle、SQL Server和DB2在數據庫層面相比MySQL等數據庫也更加成熟。
身份驗證和授權服務是系統安全性的起點,J2EE和.NET自帶全面的安全服務。J2EE提供Servlet Presentation Framework, .NET 提供.NET Framework,并持續升級,因多重租賃帶來的整體升級效應使所有使用者共同受益并不需要支付額外的升級費用。應用程序通過調用安全服務的編程接口 (API),來對用戶進行授權和上下文繼承。
在應用程序的設計上,安全服務通過維護用戶訪問列表、應用程序Session、數據庫訪問Session等進行數據訪問控制。并需要建立嚴格的組織、組、用戶樹的建立和維護機制。
SaaS平臺是近年來的商業模式熱點。一種模式是單一廠商基于PaaS應用程序平臺提供多種SaaS應用,并通過Web Service接口提供與其他廠商產品集成。 另一種模式是SaaS運營平臺,平臺廠商提供用戶認證,其他軟件廠商提供SaaS應用程序。在安全性上,PaaS應用程序平臺有著先天的優勢。SaaS運營平臺的出現,為應用程序的開發帶來了新的挑戰,產品的安全由平臺上SaaS軟件廠商鏈條中最弱的一個決定,也就是短板效應。
平臺安全的核心是用戶權限的在各個SaaS應用程序中的繼承,Salesforce或八百客等廠商的PaaS產品自帶成熟的權限樹繼承技術,自2006年以來已經實現大規模商業運營。而第二種運營平臺模式類似的集成需要專業的定制開發,相應的中間件技術或SOA總線技術還未成熟。
ACL和密碼保護策略也是SaaS軟件成熟度的標志。客戶可在自己系統中修改相關策略。有些廠商還推出了瀏覽器插件來保護客戶登錄安全。而在最近半年,國外廠商頻繁地開始讓用戶登錄后回答自己預設的秘密保護問題和答案,也是一種為了安全的保護策略,因中國人對這種密碼保護策略沒有使用習慣,所以在國內還沒有廣泛的推廣開來。
數據傳輸和客戶端:
SaaS通過互聯網而非企業局域網來傳輸數據和表格。SaaS和已經普及的網上銀行和網銀支付都采用SSL加密技術,加密位數隨著硬件速度的提升而提升。主流廠商通常也會花大筆資金購買專用SSL加密設備。八百客、金蝶等國內廠商也提供類似網上銀行的U盾客戶端認證技術。
SaaS軟件都采用瀏覽器來訪問使用,普遍采用的安全技術包括Cookie加密、URL隨機碼、SQL等代碼的注入防范等技術。當然,瀏覽器及時升級也非常重要。
成熟SaaS廠商也推出了可離線使用的客戶端軟件。雖然Salesforce用“不用軟件”的口號吸引了很多關注,但其需要下載安裝的離線版也得到了10%左右的使用率。 而像RightNow等其他廠商,在客戶端上做了更多的開發和實施工作。八百客的專用客戶端還做了呼叫中心、VOIP電話、短信、電子傳真和企業郵局的集成。而這些專用客戶端多采用本地數據加密,SSL傳輸加密等安全技術。
結語:
不論是SaaS軟件還是傳統軟件,企業安全事故多發生于在密碼安全管理松懈的企業,雖然U盾會在會在很大程度上避免此類安全事故發生。
與網上銀行和郵件快遞服務類似,優秀SaaS服務商承諾的安全和可靠性也將被更多企業用戶接受。 安全是一個優秀SaaS廠商的長期承諾。