姜鵬 趙正利
摘 要:文章研究了分布式部署的多節(jié)點系統(tǒng)的軟件層安全構(gòu)架的規(guī)劃設(shè)計與實現(xiàn)。通過對數(shù)據(jù)加密、證書互信、多因子認證、權(quán)限控制等技術(shù)的綜合應(yīng)用,保障了數(shù)據(jù)的傳輸和存儲安全,而且針對常見針對服務(wù)的網(wǎng)絡(luò)攻擊手段進行了前置防御處理。本安全構(gòu)架的應(yīng)用可以有效保護分布式系統(tǒng)的服務(wù)安全,同時也對類似多節(jié)點系統(tǒng)的建設(shè)提供了安全構(gòu)架方面的參考。
關(guān)鍵詞:分布式部署;網(wǎng)絡(luò)安全;信息安全;數(shù)據(jù)加密;多因子認證
現(xiàn)今有一些重要網(wǎng)絡(luò)信息系統(tǒng)具有分布式部署的特征,通過各種類型的程序提供網(wǎng)絡(luò)服務(wù)。但這些長期運行在互聯(lián)網(wǎng)上的多節(jié)點系統(tǒng)較易受到網(wǎng)絡(luò)惡意攻擊。在系統(tǒng)設(shè)計初期通過詳盡研究實際網(wǎng)絡(luò)運行環(huán)境、交互的數(shù)據(jù)類型、后臺存儲方式和認證機制等情況,結(jié)合多種網(wǎng)絡(luò)安全技術(shù)設(shè)計了軟件層的安全總體構(gòu)架。通過數(shù)字加密技術(shù)保證核心數(shù)據(jù)傳輸和存儲的安全;結(jié)合安全證書等技術(shù)建立可信通道;采用多因子認證技術(shù)增強身份認證的安全性;通過動態(tài)編程和數(shù)據(jù)庫技術(shù)對常見攻擊流量進行過濾;通過細粒度的權(quán)限控制策略限定用戶訪問范圍;建立黑名單體系,封堵危險來源的互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址;結(jié)合郵件系統(tǒng)及時報警。
1 數(shù)據(jù)的安全性
數(shù)據(jù)安全是整個系統(tǒng)安全的核心部分,最終目標是做到網(wǎng)絡(luò)傳輸和數(shù)據(jù)存儲的強加密。盡量達到即使在流量被截獲或服務(wù)器被入侵的極端情況下,也不會造成數(shù)據(jù)的泄露。數(shù)據(jù)在傳輸過程和存儲過程中靈活采用單向和雙向加解密算法相關(guān)技術(shù)來保證數(shù)據(jù)的安全。在數(shù)據(jù)的重要程度和系統(tǒng)的流暢運行中找到平衡點。
在管理員登錄和操作后臺的網(wǎng)絡(luò)傳輸過程中使用高強度的數(shù)字證書保證傳輸?shù)募用芎屯暾裕辽俨捎冒踩⒘兴惴?(Secure Hash Algorithm 2,SHA2)級別的加密算法進行加密。采用互聯(lián)網(wǎng)安全協(xié)議(Internet Protocol Security,IPSec)隧道技術(shù)在固定IP的服務(wù)器和分節(jié)點之間建立長期穩(wěn)固的加密通道,既保證安全又兼顧了大量小包數(shù)據(jù)的傳輸。建立信任機制,新加入系統(tǒng)的網(wǎng)絡(luò)節(jié)點需要由核心服務(wù)器通過加密渠道發(fā)布新節(jié)點IP和專有密鑰等信息,然后原有節(jié)點可與新節(jié)點進行網(wǎng)絡(luò)通信。
對于核心數(shù)據(jù)的轉(zhuǎn)換和存儲根據(jù)需要采用不同加密策略,編寫自定義的加解密組件。非對稱加密的方式具有很大的優(yōu)勢,即私鑰的使用方式更加靈活,但是在加密與解密的過程中,也存在速度較慢等問題[1]。密碼等只需要驗證的數(shù)據(jù)采用單向不可逆加密措施轉(zhuǎn)換;核心管理數(shù)據(jù)和子節(jié)點數(shù)據(jù)等采用高強度的非對稱加密算法,并限定存儲和讀取模塊的權(quán)限,對每次存儲、讀取、修改操作都記錄日志;一般的數(shù)據(jù)采用對稱加密算法。
2 多因子認證
使用多因素認證機制進行登錄驗證,當(dāng)用戶來自首次登錄的互聯(lián)網(wǎng)IP,首先向該用戶預(yù)先配置的用戶郵箱發(fā)送一個臨時授權(quán)碼,用戶向系統(tǒng)提交用戶名、密碼和此授權(quán)碼后才可以登錄。此用戶郵箱需要采用高安全等級的帶手機驗證登錄的郵箱。臨時授權(quán)碼唯一且隨機,系統(tǒng)記錄授權(quán)碼的發(fā)放時間,超期授權(quán)碼自動作廢。登錄成功后,詢問用戶是否把此IP加入自身賬號的信任IP列表,決定在下一次登錄是否啟用多因子認證,從而做好安全和便捷性的平衡。用戶如果忘記密碼需要重置,則需要在信任IP上提供用戶名和郵箱地址,在全部匹配后系統(tǒng)發(fā)送重置郵件完成重置。
核心服務(wù)器和子節(jié)點之間傳輸數(shù)據(jù)前,必須通過相互的多因子認證機制,節(jié)點的IP、專有密鑰和特定隨機碼同時匹配才可以繼續(xù)下一步操作。子節(jié)點定期使用舊方式認證后與核心服務(wù)器之間同步生成新的認證要素,服務(wù)器定期輪詢各個子節(jié)點的認證要素是否過期或異常。
3 嚴格過濾來自外部的數(shù)據(jù)
軟件系統(tǒng)需要提供正常服務(wù),一般都有交互的功能。需要接受來自外部的輸入信息進而根據(jù)預(yù)設(shè)做出正常的回應(yīng)。但此類入口是黑客的主要入侵途徑之一,結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)注入攻擊又是其中主要的攻擊手段之一。因此,需要對所有來自用戶端的輸入進行嚴格的篩查。最常用做法是單獨編寫一個防SQL注入的通用程序,通過Include方式放到數(shù)據(jù)庫連接文件中,這樣可以在每個頁面進行加載[2]。在收到來自外部的網(wǎng)絡(luò)數(shù)據(jù)后,首先對與SQL等相關(guān)的關(guān)鍵字進行轉(zhuǎn)義操作,然后進入下一步的查詢和更新等數(shù)據(jù)操作,最后在輸出展現(xiàn)的時候進行反向轉(zhuǎn)義。在必要時使用Cookie和Session的部分啟用加密;通過服務(wù)器配置和自身的動態(tài)程序編寫,禁止網(wǎng)頁運行在外部的頁面框架內(nèi);采用參數(shù)化查詢的方式進行數(shù)據(jù)庫的操作;根據(jù)實際使用情況在數(shù)據(jù)庫建立只讀和讀寫賬號,并且限定每個賬號的訪問表范圍和一次性訪問數(shù)據(jù)的總量,調(diào)用數(shù)據(jù)的時候僅僅使用最低權(quán)限的賬號。
4 建立黑名單機制
啟用動態(tài)的黑名單列表預(yù)防暴力破解和拒絕服務(wù)攻擊,在每個動態(tài)程序運行前,都把當(dāng)前訪問IP和行為特征存放在數(shù)據(jù)表內(nèi),這個表的記錄數(shù)至少在幾千條的量級,只保存最新的固定條目。編寫輪詢程序統(tǒng)計這個表所有記錄,分析總量前幾名的IP訪問情況,如果發(fā)現(xiàn)異常登錄則在此IP下次訪問時彈出加強的圖像識別驗證碼。將字符數(shù)目、字符位置及輸入順序有機結(jié)合在一起,不使用單一輸入順序以此提升分割及特征提取難度,能有效防止惡意攻擊[3]。如果回答錯誤或者沒有客戶端響應(yīng)則把此IP加入系統(tǒng)黑名單,并不再放置此IP到登錄記錄表,根據(jù)攻擊的強度決定自動解禁的時間。如果超過一定的閾值直接進入永久黑名單,需要由管理員手工操作清除。當(dāng)一個網(wǎng)段中有黑名單IP出現(xiàn)時,來自同一網(wǎng)絡(luò)的IP再次訪問系統(tǒng)的時候,采用相對嚴格的審核策略。尤其在一個網(wǎng)段中出現(xiàn)多個超過閾值的黑名單IP時候禁止整個網(wǎng)段的訪問。配置管理員黑名單添加模塊,可以手工添加黑名單IP和封禁時間。
5 細粒度的權(quán)限控制
對所有的系統(tǒng)功能進行逐項定義并編號,根據(jù)不同級別聚類,形成從低到高的權(quán)限控制層次。支持權(quán)限模板的建立,方便總管理員的日常運維。對系統(tǒng)內(nèi)部的所有管理員和來訪者都預(yù)先配置不同的詳細策略。支持特定高級管理員對低級管理員的權(quán)限配置,權(quán)限管理自身也作為一種權(quán)限的元素。支持群組的概念,可以把類似權(quán)限的管理員放置在同一群組,并在群組基礎(chǔ)上支持個別權(quán)限的自定義。
對用戶沒有的權(quán)限自動進行導(dǎo)航欄的隱藏。而且在用戶訪問某個功能或頁面的時候,首先驗證是否具有相應(yīng)的權(quán)限,沒有權(quán)限則發(fā)出警告且停止程序的后續(xù)執(zhí)行,連續(xù)操作并超出限定閾值后自動屏蔽來源IP,自動加入系統(tǒng)黑名單,同時暫停相應(yīng)用戶身份的登錄功能。
6 郵件報警模塊
建立完善郵件定向報警和通知機制。具有郵箱配置功能,可以預(yù)先針對不同管理員配置多個不同報警層級的郵箱。管理員可以預(yù)先設(shè)置閾值,在上述某種情況發(fā)生時,系統(tǒng)自動匯總信息并發(fā)送告警郵件,同時記錄在系統(tǒng)的攻擊日志庫中。
每日向管理員郵箱自動發(fā)送分析報表,從方便日常運維的角度出發(fā)設(shè)計報表界面,綜合攻擊頻率和攻擊深度等指標生成威脅值排名,通過可視化報表進行直觀地展現(xiàn)。給出初步的管理建議,并按照基準值進行每日威脅值總體打分。
7 結(jié)語
根據(jù)以上網(wǎng)絡(luò)安全理論建立的軟件系統(tǒng)在部署后也會遇到不可預(yù)見的新問題,需要在實際運行階段持續(xù)進行日志分析、在線流量監(jiān)控、入侵技術(shù)更替的研究等工作,通過策略的不斷合理優(yōu)化才能保持一定程度的安全性和穩(wěn)固性。
[參考文獻]
[1]王雅峰.計算機網(wǎng)絡(luò)信息安全中的數(shù)據(jù)加密技術(shù)研究[J].江蘇科技信息,2017(35):62-64.
[2]吳力挽,蘇曼玲,楊翀.SQL注入攻擊研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(1):78,81.
[3]張晉源,袁麗歐.探析關(guān)于圖形驗證碼的安全性[J].電腦編程技巧與維護,2017(12):76-77.