摘 要:系統涉及一種基于SaaS平臺的安全系統框架,包括客戶端和數據庫集群設備,客戶端和數據庫集群設備可以進行數據交互,在客戶端和數據庫之間架設多層防火墻設備,形成不同的使用區域,實現數據分層通信的保護過濾,以及實現更好的權限分配,并增強安全性的使用。
關鍵詞:SaaS模式;網絡安全
中圖分類號:TN915.08 文獻標識碼:J
Abstract: the invention relates to a framework of security system based on SaaS platform, which includes client and database cluster equipment, client and database cluster equipment can carry out data interaction, set up multi layer firewall equipment between client and database, form different enabling areas and realize data layered communication protection. Filter. Achieve better privilege allocation and enhance security usage.
Key words: SaaS mode; network security
1 引言
系統安全是每個系統能否正常運轉的關鍵,SaaS的基本特征決定了系統安全的重要性。 在傳統模式下,數據由用戶管理,企業用戶的所有業務數據都存儲在作為企業核心數據的SaaS供應商上,數據的安全性完全取決于系統的設計和為此建立的安全保證體系。 但用戶選擇SaaS服務提供商托管數據,卻是低價享受高安全保障,普通企業數據庫如果受到客觀,不可逆等災難因素的破壞,一般難以修復 數據破損,借助SaaS模式服務,企業可以以較低的價格享受全面的多機備份保護。
2 安全設計總體架構
本次系統安全設計系統架構如圖1所示。
2.1 防火墻
整個系統通過防火墻將系統應用分為四個區域:客戶端、DMZ區(虛擬化區)、應用服務區和數據庫服務器區。 第一級防火墻充當隔離客戶端和服務器,允許服務器僅在外部打開HTTP和HTTPS服務,并減少暴露。 第二級防火墻將系統內核的應用程序服務與Web靜態資源分離,使其僅用于DMZ和外部接口。 第三層防火墻起到隔離數據的作用,通過第三層防火墻將數據從系統的其它模塊中分離出來,在其它模塊被入侵和破壞時試圖保護數據。
2.2 認證服務器
認證服務器實質上是一個HTTP和HTTPS攔截和代理服務器,它會攔截所有HTTP和HTTPS請求,并從中獲取用戶認證信息,然后通過用戶信息與LDAP服務器進行數據匹配,識別用戶的合法信息,如果用戶是合法,該請求被轉發到后端的HTTP服務器,如果該請求不合法,則請求被終止并且相應的狀態碼被發送到客戶端。
2.3 用戶信息LDAP服務器
這種服務器用于提供外部用戶信息的訪問和認證,以便高效地讀取用戶信息,使用LDAP(輕量級目錄訪問PROTOC01)協議,LDAP是輕量級目錄訪問協議,其優點是提供了一種快速讀取服務 一個簡單直接的目錄結構,非常適合用戶信息進行身份驗證。
2.4 安全策略服務器
安全策略指的是角色、資源和權限之間的關系,通過定義安全策略來界定某種角色對某種資源有何種權限。安全策略服務器配置了系統所有的安全策略,并從用戶信息LDAP服務器取用戶信息,從應用服務器取資源信息,結合安全策略提供安全服務。
2.5 安全授權服務器
安全授權服務器通過安全策略服務器提供的用戶信息,資源信息和安全策略判斷出某個用戶的某個請求是否有相應的權限,并給予授權。
3 安全上的威脅
概括起來系統會有幾個安全上的威脅和隱患:(1)角色權限設計的威脅;(2)業務邏輯結構上用戶認證與授權的安全威脅;(3)數據儲存上的安全威脅;(4)數據傳輸鏈路上的安全威脅;(5)來自頁面級別的安全威脅;(6)用戶意識上認為SaaS模式不安全。
4 提高安全性的解決方案
4.1 系統角色和權限設計
為系統設置不同權限的用戶,對不同用戶的權限進行嚴格劃分,從而使該系統符合企業客戶管理機制,不僅有信息工具,而且有權利防止未經授權的操作,同時防止內部人員造成的 信息被盜和銷毀。用戶只能控制具有適當權限的信息,有效防止因故意或不正確操作而導致其他人的信息被盜竊和破壞。
4.2 認證與授權安全設計
系統資源和業務流程的安全性主要是通過用戶的認證和授權來完成的。認證和授權是兩個最基本的安全機制。為了提高系統集成度和用戶認證效率,采用LDAP統一管理用戶認證信息,認證服務器為前端攔截器,通過訪問LDAP服務器,對客戶端進行認證,用戶認證信息和用戶對后端服務器的實際請求。安全策略服務器根據用戶認證信息和對系統資源的請求從授權服務器中提取授權信息,并在整個集群環境下監控Web層和應用服務層的資源。具體的設計和開發,使用Java認證和授權。
Jaas(Java認證和授權服務)中,Jaas通過安全策略服務器識別的配置文件來定義認證和授權機制,并生成適當的安全策略。Jaas首先使用LoginContext類來查找可用于初始化Loginmodules的配置文件的內容。所有LoginContext未指定的初始化參數都包含在配置文件中。LoginContext還將一個回調處理程序,回調處理程序傳遞給Loginmodule,然后調用相應的應用程序以獲取其他身份驗證信息。配置文件還可以指定不需要的可選Loginmodule的配置。
Loginmodule完成兩階段登錄過程:第一階段是登錄過程調用Loginmodule login 0方法;第二階段是調用Commit()或Abort()方法來完成登錄過程。在所有其他loginmodule完成它們的login()方法后,調用commit()過程,然后最后一個Loginmodule調用Commit方法,接著調用下一個,等等。如果登錄0方法未成功執行,則會調用Abort方法來清除已執行的操作。如果所有必要的Commit0方法都成功完成,則登錄過程已成功完成。授權的過程需要使用在登錄過程中得到的認證信息。
Subject類使用Privilegedaction類來執行授權過程。
4.3 數據存儲安全設計
企業用戶的數據主要存儲在系統的數據庫中,數據存儲的安全性主要體現在三個方面。
(1)應用服務器與數據庫服務器應分別部署與不同區域。并在之間部署防火墻等形式對數據庫實現更進一步安全保障。
(2)數據庫服務器實現集群。在保證高可用性和高負載的同時,也保證了在數據遭到破壞或篡改的情況下,可通過備份的數據來得以恢復。
(3)在數據持久層中,對關鍵數據進行加密存儲。 關鍵信息不能以明文形式存儲在數據庫中,而應該在數據庫存儲之前進行加密,數據提取和解密處理,當通過非法手段獲取數據庫時,通過加密的方式對關鍵數據進行保護。 使用Java加密(Java加密體系結構,jca)和Java密碼擴展(Java加密擴展,jce)來加密和解密關鍵數據。 JCA和JCE提供獨立于實現的加密函數API,簡化了數據加密和解密的編程,有效地將加密解密算法與實際的業務編程分離開來。
4.4 數據傳輸安全設計
使用SSL(安全套接字層)協議保護數據傳輸。 SSL協議位于TCP / IP協議和各種應用層協議之間,為數據在網絡傳輸過程中進行加密,保障傳輸過程中的安全。數據傳輸的具體設計是在服務器端生成KeyStore和數字證書,當客戶端通過HTTPS協議向服務器發送請求時,客戶端將數字證書和公鑰發送給客戶端,客戶端通過驗證服務器通過安裝的公共CA證書。客戶端通過服務器發送的公鑰將私鑰發送給服務器,服務器使用自己的私鑰對客戶端的私鑰進行解密,并在連接完成后使用該對稱私鑰對數據傳輸進行加密和保護成立。這種設計的目的是在保證可靠性和安全性的前提下將安全因素對系統性能的影響降至最低。在服務器內,SSL還用于保護DMZ和非DMZ之間的數據傳輸。
4.5 嚴格控制從客戶端提交上的數據
基于頁面的攻擊可能導致大量的用戶數據和客戶端受到攻擊,這就是所謂的XSS攻擊。 XSS也被稱為CSS(跨站腳本),跨站腳本攻擊。它是指惡意攻擊者將惡意HTML和JavaScript代碼插入到網頁中,當用戶瀏覽到該頁面時,嵌入在Web中的HTML和JavaScript代碼將被執行以實現惡意用戶的特殊目的。防止此類安全威脅的解決方法是嚴格控制重客戶端提交的各種數據的類型和格式,并對每個非固定格式數據進行HTML和JavaScript特殊字符代碼轉換,防止用戶將可執行的代碼提交給服務器。
參考文獻
[1] 張偉洋,佘名高.基于SaaS模式的電子政務架構研究[J].計算機與數字工程,2011.
[2] 袁志俊,夏紅霞.基于SaaS模式在線軟件系統開發方案的研究[J].計算機工程與設計,2009.
[3] 李鵬.基于SaaS模式的客戶關系管理系統的研究[J].山東大學,2009.
[4] 林杰.基于SaaS模式的電子政務應用系統構建與設計[J].電子設計工程,2016.
[5] 王舜燕,黃芬,劉萬春.基于SaaS模式的軟件設計方法討論[J].計算機與數字工程,2008.
[6] 王會林.中小企業ERP中SaaS模式的應用研究[J].信息與電腦(理論版),2012.
[7] 林勁松,方延風.重要信息系統在云平臺上的安全問題研究[J].網絡空間安全,2017.
[8] 譚彬,劉曉峰,邱嵐,梁業裕.大數據安全管理及關鍵技術研究[J].網絡空間安全,2017.
作者簡介:
薛陳根(1988-),男,漢族,江蘇南通人,北京航空航天大學,本科;主要研究方向和關注領域:信息系統安全性測試評估、系統的安全規劃和建設、云計算機平臺的應用安全。