文/羅華群
信息安全是國家安全和社會穩(wěn)定的基石和命脈,針對網(wǎng)絡(luò)安全、信息系統(tǒng)自主可控(國產(chǎn)化)要求政策頻出,國家對自主可控給予高度重視,政策支持力度不斷,加速國產(chǎn)替代進(jìn)程。2013年“棱鏡門”事件敲響了我國的信息安全警鐘。2016年12月《“十三五”國家信息化規(guī)劃》中要求全面增強信息領(lǐng)域核心技術(shù)設(shè)備自主創(chuàng)新能力,打造自主先進(jìn)的技術(shù)體系。2018年3月,國家成立中央網(wǎng)絡(luò)安全和信息化委員會,體現(xiàn)信息安全已成為國家戰(zhàn)略。數(shù)據(jù)庫作為政府電子政務(wù)信息系統(tǒng)核心軟件,如果使用國外數(shù)據(jù)庫產(chǎn)品,源代碼在外國人手上,容易造成信息泄露,為保障國家信息安全和社會穩(wěn)定,特別是在政府電子政務(wù)信息化領(lǐng)域,必須要提高信息系統(tǒng)安全可靠和自主可控能力。
在我國20 多年電子政務(wù)信息系統(tǒng)建設(shè)中,基礎(chǔ)軟硬件大都是使用國外產(chǎn)品,當(dāng)業(yè)務(wù)系統(tǒng)需要個性化定制時,國外軟件公司基本不提供服務(wù),如果國外產(chǎn)品全面升級,則涉及到高額的服務(wù)費或面臨無技術(shù)支持的兩難境地。特別是在我國銷售的國外數(shù)據(jù)庫安全級別不高,這對政府部門相關(guān)系統(tǒng)數(shù)據(jù)安全是一個不容回避的問題。
本項目是上海市某區(qū)人民政府辦公室為保障政務(wù)數(shù)據(jù)安全,強化安全可靠保障,以及推動國產(chǎn)基礎(chǔ)軟件在電子政務(wù)信息化建設(shè)中的全面應(yīng)用,將電子政務(wù)綜合應(yīng)用平臺從國外Oracle 和SQLServer 數(shù)據(jù)庫移植到國產(chǎn)金倉數(shù)據(jù)庫KingbaseES 上,實現(xiàn)國產(chǎn)化替代和性能優(yōu)化,達(dá)到國家信息系統(tǒng)數(shù)據(jù)庫三級等保建設(shè)標(biāo)準(zhǔn)。
在項目改建過程,數(shù)據(jù)庫安全要滿足國家信息系統(tǒng)中數(shù)據(jù)庫三級等保建設(shè)標(biāo)準(zhǔn)。具備完善的身份鑒別、訪問控制、數(shù)據(jù)保密措施、實現(xiàn)三權(quán)分立審計機制,避免人為錯誤引發(fā)數(shù)據(jù)安全漏洞或隱患。
電子政務(wù)綜合應(yīng)用平臺在網(wǎng)絡(luò)穩(wěn)定的環(huán)境下,業(yè)務(wù)操作流程響應(yīng)時間不大于2 秒,一般控制在1 秒內(nèi)。10 萬條數(shù)據(jù)的查詢計算少于10 秒,100 萬條數(shù)據(jù)的簡單查詢計算少于20 秒。系統(tǒng)支持不少于500 個并發(fā)用戶同時使用。滿足7*24 小時不間斷運行需求。
圖1:金倉數(shù)據(jù)庫集群部署架構(gòu)圖
我國數(shù)據(jù)庫軟件技術(shù)相關(guān)發(fā)展,經(jīng)過四十多年的不懈努力,相繼經(jīng)歷了起步、跟蹤、追趕和并跑4 個階段,已取得了長足進(jìn)步,以金倉數(shù)據(jù)庫KingbaseES 為代表的國產(chǎn)數(shù)據(jù)庫產(chǎn)品,經(jīng)過多年的技術(shù)研發(fā)和產(chǎn)業(yè)推進(jìn),產(chǎn)品已經(jīng)相對成熟,已經(jīng)在政府、軍工、電力、金融等領(lǐng)域有一大批成功應(yīng)用案例。KingbaseES產(chǎn)品完全符合國際標(biāo)準(zhǔn)的SQL 語言及豐富多樣的數(shù)據(jù)訪問接口,高度兼容Oracle、DB2、SQLServer、MySQL 等為代表的國際主流數(shù)據(jù)庫產(chǎn)品,屏蔽了金倉數(shù)據(jù)庫與國外產(chǎn)品之間的差異,基于高兼容性特點,大大減少了應(yīng)用開發(fā)和應(yīng)用移植的成本,也使得應(yīng)用開發(fā)人員、數(shù)據(jù)庫系統(tǒng)維護(hù)人員在使用和學(xué)習(xí)金倉數(shù)據(jù)庫的難度降低。
在上海某區(qū)政府電子政務(wù)綜合應(yīng)用平臺中,數(shù)據(jù)庫應(yīng)用架構(gòu)如下圖1所示,利用金倉數(shù)據(jù)庫KingbaseES 采用自主研發(fā)的STANDBY 技術(shù)設(shè)計集群部署,實現(xiàn)數(shù)據(jù)庫服務(wù)高性能、高安全、高可靠、高兼容性要求;保障數(shù)據(jù)庫服務(wù)7*24 小時不間斷運行,在系統(tǒng)本身故障、應(yīng)用層錯誤、網(wǎng)絡(luò)錯誤、人為錯誤等情況下,數(shù)據(jù)庫系統(tǒng)的高可用性。
3.2.1 海量數(shù)據(jù)處理技術(shù)
基于KingbaseES 水平分區(qū)技術(shù),以及分區(qū)表全局索引的索引優(yōu)化技術(shù),索引覆蓋、支持跨庫查詢、數(shù)據(jù)壓縮和列存儲等技術(shù)特性和優(yōu)化手段,數(shù)據(jù)庫單節(jié)點可輕松管理TB 級數(shù)據(jù),滿足海量數(shù)據(jù)的存儲和管理功能。
3.2.2 高并發(fā)、大容量讀寫技術(shù)
為實現(xiàn)多個用戶的并發(fā)控制,讀寫操作不再相互阻塞,KingbaseES 采用了兩階段封鎖技術(shù)(2PL)和多版本并發(fā)控制技術(shù)(MVCC)相結(jié)合的讀寫技術(shù)(MV2PL),提高并發(fā)事務(wù)的處理能力。
3.2.3 高可靠性技術(shù)
針對數(shù)據(jù)庫意外停機、系統(tǒng)崩潰或存儲介質(zhì)損壞等這些故障,KingbaseES 提供了完整的物理備份與恢復(fù)技術(shù)、基于時間點的系統(tǒng)恢復(fù)技術(shù)和邏輯備份及還原技術(shù),以及自主研發(fā)的STANDBY 技術(shù)+HA 集群部署能力,實現(xiàn)服務(wù)7*24 小時不間斷運行。
3.2.4 高安全技術(shù)
在數(shù)據(jù)庫安全方面,國外數(shù)據(jù)庫廠商在我國銷售的數(shù)據(jù)庫產(chǎn)品的安全級別只能達(dá)到TCSEC 認(rèn)證C1 或C2 級,不能很好滿足政府電子政務(wù)信息系統(tǒng)中三級等保的高安全要求。KingbaseES 是自主研發(fā)高等級的數(shù)據(jù)庫安全產(chǎn)品,通過數(shù)據(jù)庫等保四級技術(shù)要求測評,該級別近似等同于TCSEC 認(rèn)證B2 級。
3.2.5 高兼容性技術(shù)
基 于 國 外Oracle、SQLServer 數(shù) 據(jù) 庫的業(yè)務(wù)系統(tǒng)功能模塊多、復(fù)雜度高特點,KingbaseES 在SQL 標(biāo)準(zhǔn)符合度95%以上,并兼容各種主流的開發(fā)語言和接口,屏蔽了KingbaseES 與Oracle、SQLServer 等國外數(shù)據(jù)庫產(chǎn)品之間的差異。
上海某區(qū)電子政務(wù)綜合應(yīng)用平臺國產(chǎn)數(shù)據(jù)庫代替工作,涉及數(shù)據(jù)庫移植、應(yīng)用系統(tǒng)移植、功能測試與排錯、性能測試與優(yōu)化幾項工作。
4.1.1 數(shù)據(jù)庫移植工作
數(shù)據(jù)庫和模式是各種SQL 和PL/SQL 數(shù)據(jù)庫對象的存放容器,而用戶是這些對象的管理者和使用者。因此,在遷移數(shù)據(jù)庫對象之前,一般應(yīng)先遷移數(shù)據(jù)庫、用戶和模式。先在目的數(shù)據(jù)庫KingbaseES 上創(chuàng)建與源數(shù)據(jù)庫Oracle、SQLServer 同名的數(shù)據(jù)庫、用戶和模式,并授予新建用戶具有使用該數(shù)據(jù)庫和新建模式的所有或適當(dāng)?shù)臋?quán)限。在遷移數(shù)據(jù)庫、用戶和模式以后,則可通過遷移用戶開始遷移數(shù)據(jù)庫的SQL 和PL/SQL 對象。這些對象是數(shù)據(jù)庫系統(tǒng)的核心資源,可利用遷移工具對它們進(jìn)行自動遷移。這類對象主要包括用戶表、各種約束、索引、GRANT 權(quán)限和視圖等。數(shù)據(jù)庫復(fù)雜對象,一般各個數(shù)據(jù)庫廠商都采用各自特有的實現(xiàn)方式,沒有遵循統(tǒng)一的標(biāo)準(zhǔn),因此在異構(gòu)數(shù)據(jù)庫之間遷移這類對象很難采用自動化方式,只能采用手動或半自動化方式實現(xiàn)。這類對象主要包括序列、同義詞、數(shù)據(jù)庫鏈接、觸發(fā)器、函數(shù)、存儲過程和包等。
4.1.2 應(yīng)用程序程序移植工作
在完成數(shù)據(jù)庫對象遷移以后,才可開始遷移應(yīng)用程序,主要原因是:在用程序中,可能會訪問和操作前面遷移的數(shù)據(jù)庫對象。主要包括接口驅(qū)動程序和連接方法的移植,以及源庫擴(kuò)展或私有的API 移植。在實際應(yīng)用中應(yīng)用程序移植與移植系統(tǒng)測試與調(diào)試交叉進(jìn)行。
4.1.3 功能測試與排錯工作
任何一個成熟的應(yīng)用系統(tǒng)如果代碼、尤其是關(guān)鍵代碼變動后,則應(yīng)進(jìn)行全面細(xì)致的測試。類似的,更換新的后臺數(shù)據(jù)庫系統(tǒng)以后,也應(yīng)對移植后的數(shù)據(jù)庫系統(tǒng)進(jìn)行全面的功能和性能測試。功能測試是指對移植數(shù)據(jù)庫系統(tǒng)的每一個模塊和功能進(jìn)行全面的系統(tǒng)回歸測試,用以確保新系統(tǒng)各個功能的正確性。因此,完成數(shù)據(jù)庫對象和應(yīng)用程序遷移后,應(yīng)對移植系統(tǒng)進(jìn)行全面的功能測試,并對測出問題及時分析、排查和修改。
4.1.4 性能測試和調(diào)優(yōu)工作
在完成移植系統(tǒng)功能測試后,在實際或模擬生產(chǎn)數(shù)據(jù)上,對移植系統(tǒng)進(jìn)行的性能測試和調(diào)優(yōu)。利用TPCC 測試工具,如LoadRunner等對移植系統(tǒng)進(jìn)行測試。對未達(dá)到性能指標(biāo)的功能模塊及其SQL 語句進(jìn)行優(yōu)化并給出相關(guān)建議。建議性能測試時,測試數(shù)據(jù)規(guī)模、軟硬件配置應(yīng)盡量與將來的實際生產(chǎn)環(huán)境一致。必要時,在未來一年、兩年、五年等不同模擬數(shù)據(jù)規(guī)模場景下,應(yīng)分別測試移植系統(tǒng)的性能指標(biāo),用以保證移植系統(tǒng)未來仍能具有良好的性能表現(xiàn)。
4.2.1 查詢優(yōu)化應(yīng)用
數(shù)據(jù)庫查詢優(yōu)化是關(guān)系到整個系統(tǒng)性能體現(xiàn),特別是復(fù)雜SQL 語句的執(zhí)行性能非常重要。金倉數(shù)據(jù)庫KingbaseES 采用的技術(shù)主要包括:
(1)數(shù)據(jù)查詢優(yōu)化。KingbaseES 是采用執(zhí)行計劃代價計算模型進(jìn)行優(yōu)化,它的基本思路是:對于查詢語句,首先會有多個執(zhí)行計劃處生成,然后依據(jù)系統(tǒng)收集的各種統(tǒng)計信息估算每個計劃的代價。最后,查詢優(yōu)化程序自動按預(yù)定義的啟發(fā)式規(guī)則從中選擇次優(yōu)或最優(yōu)的執(zhí)行計劃。
(2)SQL 語句重寫。KingbaseES 查詢優(yōu)化器可依據(jù)預(yù)先定義的啟發(fā)式規(guī)則重寫用戶的SQL 語句,它的基本實現(xiàn)思路是:優(yōu)化器依據(jù)預(yù)先定義的啟發(fā)式規(guī)則,采用顯著減少掃描、連接或聚合的次數(shù)等優(yōu)化機制,將SQL語句轉(zhuǎn)換成執(zhí)行結(jié)果相同,但執(zhí)行效率更高的新SQL 語句。
就在今年的9月3日,投產(chǎn)僅半年的天津LNG接收站外輸氣量已突破10億立方米。天津LNG接收站是國家“十三五”重點項目,一期工程設(shè)計年接轉(zhuǎn)能力300萬噸,相當(dāng)于40億立方米天然氣,對保障我國能源供應(yīng)具有重要意義。日均外輸量已達(dá)1500萬立方米,日計劃完成率100%。
4.2.2 緩存優(yōu)化應(yīng)用
在數(shù)據(jù)庫性能優(yōu)化技術(shù)中,緩存優(yōu)化是其中非常重要的技術(shù)。通過KingbaseES 從多角度實現(xiàn)該技術(shù),從而有效減少了系統(tǒng)的磁盤I/O 壓力,采用的技術(shù)主要包括:
(1)數(shù)據(jù)緩存優(yōu)化。隨著處理器性能的不斷提高,數(shù)據(jù)庫在磁盤I/O 讀寫上在性能瓶頸更加突出。針對這一問題,KingbaseES 進(jìn)行緩存優(yōu)化配置,把系統(tǒng)內(nèi)部的統(tǒng)計信息把經(jīng)常訪問的用戶數(shù)據(jù)放在內(nèi)存,而把不經(jīng)常訪問的數(shù)據(jù)放在外存,以便在SQL 語句執(zhí)行過程中盡可能提升內(nèi)存緩沖區(qū)的命中率,減少系統(tǒng)對磁盤的訪問次數(shù),從而有效應(yīng)對I/O 瓶頸。
(2)結(jié)果集緩存優(yōu)化。若能重用其他查詢語句的執(zhí)行結(jié)果集,則不僅能節(jié)約執(zhí)行計劃計算時間,還能節(jié)約該計劃的執(zhí)行時間。在內(nèi)部實現(xiàn)上,KingbaseES 采用鍵/值方式存放需緩存的結(jié)果集。其中,鍵既可用查詢,也可用查詢執(zhí)行計劃標(biāo)識。當(dāng)采用執(zhí)行計劃做鍵時,這類鍵一般會占用較多的存儲空間。為減少這部分空間,KingbaseES 對它們進(jìn)行了MD4 或者SHA1 摘要處理,從而有效提升了系統(tǒng)能緩存的結(jié)果集個數(shù)。
4.3.1 強化身份鑒別應(yīng)用
金倉數(shù)據(jù)庫KingbaseES 進(jìn)行強化口令的身份鑒別設(shè)置,包括對數(shù)據(jù)庫用戶密碼復(fù)雜、密碼有效期、用戶鎖定等進(jìn)行安全設(shè)置。通過強化身份鑒別與SSL 安全傳輸相結(jié)合,KingbaseES 建立了服務(wù)器與客戶端的可信路徑安全通道,實現(xiàn)了雙向可信認(rèn)證,杜絕假冒用戶身份或者假冒數(shù)據(jù)庫服務(wù)器的惡意行為,并進(jìn)一步防范這些惡意行為可能引發(fā)的重放攻擊。
4.3.2 管理特權(quán)分立應(yīng)用
數(shù)據(jù)庫系統(tǒng)中用戶權(quán)限主要分三種,即數(shù)據(jù)庫管理員(DBA)和數(shù)據(jù)對象屬主用戶以及被對象屬主授權(quán)的其他用戶。在這種機制下,只要獲得管理員權(quán)限,整個數(shù)據(jù)庫系統(tǒng)便被完全控制,容易造成嚴(yán)重的后果,不符合安全系統(tǒng)的“最小特權(quán)”原則。針對這個問題,KingbaseES 對管理員的權(quán)限進(jìn)行了分割與限制,提出一種基于特權(quán)分立的全新管理模式。這種模式包括兩部分內(nèi)容,即三權(quán)分立和受限D(zhuǎn)BA。這二者間的關(guān)系是:受限D(zhuǎn)BA 把三權(quán)分立中的DBA 權(quán)限進(jìn)行了分割,分為弱化的DBA 權(quán)限和屬主權(quán)限;數(shù)據(jù)庫管理員(DBA)、安全管理員(SSO)和審計管理員(SAO)三個角色各行其責(zé),相互排斥,相互制約,繼而避免了數(shù)據(jù)庫管理員權(quán)限的濫用,導(dǎo)致安全隱患。
4.3.3 安全審計應(yīng)用
審計是應(yīng)對這種情況的一種常用安全保障措施,因為沒有百分百安全措施,想要故意破壞或盜竊數(shù)據(jù)的人會想盡辦法打破控制?;贙ingbaseES 進(jìn)行安全審計功能配置,定義與數(shù)據(jù)庫安全事件相關(guān)的審計規(guī)則,通過檢查和分析審計日志,提前采取有效的措施對潛在的威脅加以防范,進(jìn)行全面監(jiān)控與審計數(shù)據(jù)操作和用戶行為。
4.3.4 數(shù)據(jù)庫存儲保護(hù)應(yīng)用
用戶數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)的核心資源,其安全性對整個系統(tǒng)至關(guān)重要。通常,用戶數(shù)據(jù)中包含具有保密要求的重要信息,如商業(yè)秘密信息。一旦這些信息被竊取或篡改,將給用戶造成極大損失,甚至帶來災(zāi)難性的后果。因此,保障用戶數(shù)據(jù)安全是非常必要的。KingbaseES為用戶數(shù)據(jù)提供多方位的保護(hù),有效杜絕對惡意用戶對存儲數(shù)據(jù)的非法竊取及外部破壞和篡改,采用的保障措施如下:
(1)數(shù)據(jù)存儲完整性保護(hù)。通過在每個數(shù)據(jù)塊頭增加“數(shù)據(jù)水印”,KingbaseES 實現(xiàn)了數(shù)據(jù)存儲過程中的完整性校驗和保護(hù)。每次讀磁盤時,自動進(jìn)行數(shù)據(jù)水印校驗;每次寫磁盤時,自動更新數(shù)據(jù)水印。這樣,可以有效杜絕來自數(shù)據(jù)庫外操作系統(tǒng)層的非法篡改,整個過程對用戶完全透明。
(2)數(shù)據(jù)存儲透明加密。KingbaseES 支持IDEA、DES、AES、RC4 和SM2 等多種加密算法,對數(shù)據(jù)庫存儲信息進(jìn)行加密保護(hù)。針對特定的表、函數(shù)、存儲過程、表空間進(jìn)行加密設(shè)置,加解密過程對用戶完全透明,支持帶密檢索。系統(tǒng)密鑰管理中,加密數(shù)據(jù)的密鑰在運行時生成,由加密模塊自行完成,為避免單點突破不同數(shù)據(jù)對象,可采用“一表一密”不同的加密密鑰,使密鑰的安全性得到有效保證。
在本項目中,金倉數(shù)據(jù)庫KingbaseES 產(chǎn)品具備高兼容特性,利用金倉數(shù)據(jù)遷移工具,很容易將Oracle、SQLServer 數(shù)據(jù)庫平滑移植到KingbaseES 上,完成電子政務(wù)應(yīng)用適配;KingbaseES 具備數(shù)據(jù)庫等保安全四級認(rèn)證,與在我國銷售的國外數(shù)據(jù)庫安全級別相比,具備更高安全優(yōu)勢,增強了系統(tǒng)中數(shù)據(jù)庫的安全性;提供本地化技術(shù)支持和代碼級優(yōu)化服務(wù),保證了項目順利改造和成功上線運行。
近年來,中美貿(mào)易摩擦不斷發(fā)酵,為彰顯我國在戰(zhàn)略性高新技術(shù)產(chǎn)業(yè)中實現(xiàn)自主可控的重要性,相關(guān)軟硬件加快國產(chǎn)替代刻不容緩。因此,在電子政務(wù)信息系統(tǒng)中采用自主可控金倉數(shù)據(jù)庫KingbaseES 替換國外產(chǎn)品,對于實現(xiàn)國產(chǎn)化替代、打造自主可控的IT 環(huán)境有著非常重要的措施和布局。
上海市某區(qū)政府電子政務(wù)綜合應(yīng)用平臺國產(chǎn)化改造上線運行至今,整體運行穩(wěn)定,滿足系統(tǒng)功能和性能要求,電子政務(wù)核心應(yīng)用采用國產(chǎn)金倉數(shù)據(jù)庫完全有能力支撐;因此,基于國產(chǎn)金倉數(shù)據(jù)庫KingbaseES 應(yīng)用解決方案面向市場,面臨的最大問題不是技術(shù)上的障礙,而是廣大用戶對于國產(chǎn)軟件不夠了解,應(yīng)用上缺乏信心。國產(chǎn)數(shù)據(jù)庫在努力做好產(chǎn)品、做好服務(wù)的前提下,應(yīng)大力宣傳產(chǎn)品及方案的可用性,樹立品牌,打消用戶的顧慮。同時,國產(chǎn)數(shù)據(jù)庫軟件的應(yīng)用和推廣,對于我國基礎(chǔ)軟件產(chǎn)業(yè)競爭力的提高,滿足政府重要信息系統(tǒng)自主可控和安全可靠的需要,保障國家信息安全,具有積極而深遠(yuǎn)的意義。