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