摘 要: 簡述了數(shù)據(jù)庫安全,,詳細(xì)介紹了電力信息系統(tǒng)對數(shù)據(jù)庫安全的要求,,并介紹了在電力信息系統(tǒng)中用到的保障數(shù)據(jù)庫安全的具體措施,。
關(guān)鍵詞: 電力信息系統(tǒng);數(shù)據(jù)庫安全,;MySql,;Oracle;Sybase,;SQL Server
1 信息系統(tǒng)安全等級保護(hù)
隨著信息技術(shù)的發(fā)展,,越來越多的信息化、自動化設(shè)備被用于政府辦公自動化和企業(yè)的生產(chǎn)經(jīng)營活動,,公用信息基礎(chǔ)設(shè)施建設(shè)使得群眾生活,、生產(chǎn)日益依靠信息系統(tǒng)。信息系統(tǒng)在給政府,、企業(yè)帶來便利的同時,,也引入了信息安全問題,黑客入侵和網(wǎng)絡(luò)攻擊的日益增多,,信息系統(tǒng)中存在的漏洞,、后門,運(yùn)行維護(hù)人員信息安全知識的匱乏等使得部分關(guān)系到國計(jì)民生的關(guān)鍵系統(tǒng)受到了前所未有的安全挑戰(zhàn),。特別是信息安全事件所引發(fā)的連鎖安全事故,,危害極大,如花旗集團(tuán)受到黑客攻擊導(dǎo)致36萬多的客戶賬戶信息被竊取,,直接導(dǎo)致金融的混亂,;四川某水電站無故全廠停機(jī)造成川西電網(wǎng)瞬間缺電80萬千瓦引起的大面積停電事故等。這些均說明了信息安全的重要作用,。
為此,,公安部、國家保密局,、國家密碼管理局,、國務(wù)院信息化工作辦公室聯(lián)合頒布了關(guān)于印發(fā)《信息安全等級保護(hù)管理辦法》的通知,要求公民,、法人和其他組織對信息系統(tǒng)分等級實(shí)行安全保護(hù),,對等級保護(hù)工作的實(shí)施進(jìn)行監(jiān)督、管理,。GB/T 22239-2008《信息安全技術(shù) 信息系統(tǒng)安全等級保護(hù)基本要求》作為信息系統(tǒng)等級保護(hù)的國家標(biāo)準(zhǔn),,從物理安全、網(wǎng)絡(luò)安全,、主機(jī)安全,、應(yīng)用安全和管理安全等方面對其安全強(qiáng)度做出了具體的規(guī)定[1]。
電網(wǎng)企業(yè),、國家電力監(jiān)管委員會,、公安部等同樣非常關(guān)注電力行業(yè)的信息系統(tǒng)安全等級保護(hù),,分別制定了相應(yīng)的規(guī)范、作業(yè)指導(dǎo)書用于其等級保護(hù)測評,。數(shù)據(jù)庫是信息系統(tǒng)的重要組成部分,也是等級保護(hù)測評主要的測評實(shí)體之一,。隨著近年來智能電網(wǎng)研究的發(fā)展,,數(shù)據(jù)庫作為重要的技術(shù)之一在電力信息系統(tǒng)中得到越來越多的應(yīng)用,如能量管理系統(tǒng),、調(diào)度自動化系統(tǒng)和配網(wǎng)自動化系統(tǒng)等廣泛使用數(shù)據(jù)庫來保存關(guān)鍵數(shù)據(jù),。因此,保證數(shù)據(jù)庫的安全,,防止敏感數(shù)據(jù)被竊取,、被篡改有著十分重大的實(shí)現(xiàn)意義。
數(shù)據(jù)庫威脅可以分為物理威脅和邏輯威脅,。按照GB/T 22239-2008《信息安全技術(shù) 信息系統(tǒng)安全等級保護(hù)基本要求》,,數(shù)據(jù)庫物理威脅主要包括物理位置的選擇、物理訪問控制,、防盜竊和防破壞,、防雷擊、防火,、防水和防潮,、防靜電等(其中物理位置的選擇主要是指如數(shù)據(jù)庫主機(jī)應(yīng)該放置在防震、防風(fēng),、防雨的建筑內(nèi)[1],,物理訪問控制主要是指數(shù)據(jù)庫主機(jī)所在機(jī)房應(yīng)該設(shè)置門禁等),具體的要求可以查看相應(yīng)的國家標(biāo)準(zhǔn),。數(shù)據(jù)庫物理威脅防護(hù)措施比較簡單,,主要通過機(jī)房建設(shè)得以保證。而邏輯威脅的防護(hù)內(nèi)涵十分豐富,,是本文研究的重點(diǎn),。
在電力信息系統(tǒng)中,經(jīng)常使用的數(shù)據(jù)庫包括MySql,、Oracle,、SQL Server和Sybase等。數(shù)據(jù)庫的語法包括三類[2-3]:數(shù)據(jù)操作語言DML(Data Manipulation Language),,用于查詢,、插入、刪除和修改數(shù)據(jù)庫中的數(shù)據(jù),;數(shù)據(jù)控制語言DCL(Data Control Language),,用來控制存取許可,、存取權(quán)限等;數(shù)據(jù)定義語言DDL(Data Definition Language),,用來建立數(shù)據(jù)庫,、數(shù)據(jù)庫對象和定義其列,本文將根據(jù)電力信息系統(tǒng)中的數(shù)據(jù)庫實(shí)際防護(hù)措施,,選擇相應(yīng)的配置指令進(jìn)行介紹,。
2 數(shù)據(jù)庫的身份鑒別
數(shù)據(jù)庫的身份鑒別是數(shù)據(jù)庫安全的第一道門檻,電力信息系統(tǒng)絕大部分是二級信息系統(tǒng)和三級信息系統(tǒng),,GB/T 22239-2008《信息安全技術(shù) 信息系統(tǒng)安全等級保護(hù)基本要求》對二/三級信息系統(tǒng)均要求:“操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)管理用戶身份標(biāo)識應(yīng)具有不易被冒用的特點(diǎn),,口令應(yīng)有復(fù)雜度要求并定期更換;應(yīng)采用兩種或兩種以上組合的鑒別技術(shù)對管理用戶進(jìn)行身份鑒別”[1],。在實(shí)際數(shù)據(jù)庫安全測評時,,數(shù)據(jù)庫所處機(jī)房的門禁系統(tǒng)可作為第一種鑒別技術(shù),第二種身份鑒別技術(shù)主要通過數(shù)據(jù)庫系統(tǒng)的登錄密碼來實(shí)現(xiàn),。數(shù)據(jù)庫的身份鑒別技術(shù)主要包括用戶名和密碼驗(yàn)證,、密碼的定期更換、遠(yuǎn)程登錄管理的數(shù)據(jù)防竊聽三部分內(nèi)容[4],。
2.1 用戶名和密碼的驗(yàn)證
數(shù)據(jù)庫安全防護(hù)的第一步是檢查數(shù)據(jù)庫是否采取用戶名+密碼形式的登錄驗(yàn)證方式[3,,5]。數(shù)據(jù)庫的安全配置及網(wǎng)絡(luò)登錄必須采取用戶名+密碼的驗(yàn)證形式,;密碼在數(shù)據(jù)庫當(dāng)中以密文的形式保存,;且需要及時修改數(shù)據(jù)庫默認(rèn)帳號的默認(rèn)密碼。
在MySql數(shù)據(jù)庫中,,使用如下指令查看數(shù)據(jù)庫中的用戶權(quán)限信息(包含是否采用用戶名+密碼的驗(yàn)證方式登錄):
Use Mysql,;(選擇數(shù)據(jù)庫,數(shù)據(jù)庫的用戶權(quán)限列表保存在Mysql數(shù)據(jù)庫中的user表中)
Select*from user,;(查詢用戶權(quán)限列表)
根據(jù)查詢的結(jié)果檢查相應(yīng)用戶是否設(shè)置了密碼,,并通知未設(shè)置密碼的用戶設(shè)置密碼。
Oracle數(shù)據(jù)庫帶有很多默認(rèn)賬戶,,如sys,、system、sysman,、scott,、aqadm和dbsnmp,其默認(rèn)的密碼分別為change_on_install,、Manager,、oem_temp、tiger,、aqadm,、dbsnmp,。需要及時修改這些默認(rèn)賬戶及相關(guān)密碼,防止非授權(quán)用戶通過默認(rèn)賬戶登錄數(shù)據(jù)庫系統(tǒng)竊取,、篡改數(shù)據(jù)等,。
2.2 密碼的定期更換
按照等級保護(hù)的要求,系統(tǒng)運(yùn)維人員需要對數(shù)據(jù)庫的登錄密碼進(jìn)行定期更換,。
MySql數(shù)據(jù)庫使用SET PASSWORD FOR root=PASSWORD(′new_password′)指令更換密碼(注:在該模式下需再次使用FLUSH PRIVILEGES指令告訴服務(wù)器再次讀入授權(quán)表,,使密碼更換生效),如在shell模式下,,可采用mysqladmin-u root password new_password指令更換密碼。
如果使用Oracle數(shù)據(jù)庫[6],,則可以使用select*from dba_profiles指令查看數(shù)據(jù)庫用戶密碼策略,,其查詢結(jié)果PASSWORD_GRACE_TIME XX 表示賬戶密碼的生命周期(單位為“天”)。
2.3 遠(yuǎn)程登錄管理的數(shù)據(jù)防竊聽
電力信息系統(tǒng)一般要求數(shù)據(jù)庫不開放遠(yuǎn)程登錄功能,,但并未是強(qiáng)制性要求,。如果開放了遠(yuǎn)程管理的功能,則需采取必要的網(wǎng)絡(luò)防護(hù)措施對網(wǎng)路通信進(jìn)行加密,,如采用加密模式對網(wǎng)絡(luò)通信進(jìn)行加密或開啟數(shù)據(jù)庫的OpenSSL功能等,。
在SQL Server數(shù)據(jù)庫當(dāng)中,可以采用exec sp_configure "remote access"指令來查看是否可以對數(shù)據(jù)庫進(jìn)行遠(yuǎn)程連接,,其結(jié)果:1表示容許遠(yuǎn)程訪問,,0表示不容許遠(yuǎn)程訪問。
3 數(shù)據(jù)庫的訪問控制
電力信息系統(tǒng)要求數(shù)據(jù)庫啟用訪問控制功能,,其主要包括:用戶的權(quán)限管理,、權(quán)限最小原則等。
3.1 用戶權(quán)限管理
數(shù)據(jù)庫的用戶權(quán)限管理主要是指對不同的用戶分配不同的權(quán)限,,不使用特權(quán)用戶對數(shù)據(jù)庫操作及配置,。
以MySql數(shù)據(jù)庫為例,數(shù)據(jù)庫的用戶權(quán)限查看及修改指令如下:
Use Mysql,;(選擇數(shù)據(jù)庫)
Select * from user,;(查詢用戶權(quán)限列表)
根據(jù)查詢到的用戶權(quán)限結(jié)果,使用GRANT和REVOKE指令對用戶的權(quán)限進(jìn)行修改,,語法如下:
GRANT priv_type[(column_list)]
[,,priv_type[(column_list)]...]
ON {tbl_name|*|*.*|db_name.*}
TO user_name [IDENTIFIED BY ′password′]
[,user_name [IDENTIFIED BY ′password′] ...]
[WITH GRANT OPTION]
其中,,GRANT代表對用戶進(jìn)行授權(quán)操作,,可用于授權(quán)及創(chuàng)建用戶;priv_type指的是數(shù)據(jù)庫操作權(quán)限,,可以從如下集合中取值{ALL PRIVILEGES,, FILE,,RELOAD,ALTER,,INDEX,,SELECT,CREATE,,INSERT,,SHUTDOWN,DELETE,,PROCESS,,UPDATEDROP,REFERENCES,,USAGE},;參數(shù)ON{tbl_name|*|*.*|db_name.*}為用戶權(quán)限的使用范圍,*.*代表用戶權(quán)限范圍為所有數(shù)據(jù)庫的所有表,,db_name.*代表db_name數(shù)據(jù)庫的所有表,。
3.2 權(quán)限最小原則
權(quán)限最小原則是指針對不同的用戶,為其分配使用數(shù)據(jù)庫的最小權(quán)限,,若使用MySql數(shù)據(jù)庫,,其指令如下:
REVOKE priv_type[(column_list)]
[,priv_type[(column_list)]...]
ON{tbl_name|*|*.*|db_name.*}
FROM user_name[,,user_name...]
其中REVOKE用于用戶權(quán)限的收回,,其他參數(shù)的含義同GRANT指令參數(shù)。
對于數(shù)據(jù)庫的多余用戶賬戶,,應(yīng)及時刪除,。在MySql數(shù)據(jù)庫中,可以使用Delete user where User=‘username′指令刪除多余賬戶,。在Oracle數(shù)據(jù)庫中,,可以使用指令select*from dba_users;select*from dba_users t where t.expiry_date<sysdate,;select LOCK_DATE,, username from dba_users;來查看數(shù)據(jù)庫中是否有多余,、過期或被鎖定的賬號,。
4 安全審計(jì)
除了數(shù)據(jù)庫的身份鑒別、訪問控制以外,,還需對數(shù)據(jù)庫進(jìn)行安全審計(jì),。審計(jì)的范圍包括服務(wù)器及重要的客戶端,審計(jì)的內(nèi)容包括用戶行為、系統(tǒng)資源的使用情況和重要系統(tǒng)指令的使用情況等,。
以O(shè)racle數(shù)據(jù)庫為例,,數(shù)據(jù)庫安全審計(jì)的檢查應(yīng)該包含如下內(nèi)容:
(1)檢查數(shù)據(jù)庫是否開啟了審計(jì)功能:
show parameter audit_trai,;
?。?)檢查數(shù)據(jù)庫中的日志使用情況:
select*from V$LOG
(注:檢查結(jié)果中的group表示日志組號,,bytes顯示日志文件大小,,ARC顯示日志文件是否歸檔,status表示日志有狀態(tài))
?。?)檢查數(shù)據(jù)庫的審計(jì)級別:
select*dba_stmt_audit_opts
?。?)根據(jù)數(shù)據(jù)庫的審計(jì)級別查看審計(jì)內(nèi)容:
select*from dba_stmt_audit_opts;
select privilege,,user_name from dba_priv_audit_opts,;
select owner,object_name,,object_type,INS,,SEL from dba_obj_audit_opts,;
5 資源控制功能
除了對數(shù)據(jù)庫本身的訪問控制以外,還需對安裝數(shù)據(jù)庫的服務(wù)器進(jìn)行資源控制,,包含對服務(wù)器的CPU,、硬盤、內(nèi)存和網(wǎng)絡(luò)資源使用情況進(jìn)行監(jiān)視,,設(shè)置客戶端操作超時鎖定等[7],。
6 入侵防范及網(wǎng)絡(luò)數(shù)據(jù)安全傳輸
如同大部分網(wǎng)絡(luò)服務(wù)器一樣,在裝有數(shù)據(jù)庫的服務(wù)器上需要部署入侵防范措施,。在電力信息系統(tǒng)中,,通常在網(wǎng)絡(luò)邊界上部署防火墻或者其他IDS設(shè)備實(shí)現(xiàn)服務(wù)器的保護(hù)。在實(shí)際應(yīng)用中,,可以結(jié)合網(wǎng)絡(luò)SSL協(xié)議,、IPSec協(xié)議和HTTPS協(xié)議等保護(hù)數(shù)據(jù)的安全傳輸。
還可以使用在數(shù)據(jù)庫表中加入校驗(yàn)字段的方式實(shí)現(xiàn)數(shù)據(jù)加密[7-8],,客戶端在對服務(wù)器數(shù)據(jù)庫數(shù)據(jù)進(jìn)行操作之前,,使用加密算法,將需要傳輸?shù)臄?shù)據(jù)由明文轉(zhuǎn)化為密文,;在服務(wù)器端,,使用特定的程序?qū)⒚芪霓D(zhuǎn)化為明文,并通過校驗(yàn)字段的檢查來判斷通信的數(shù)據(jù)是否被修改。此外,,對于特別重要的數(shù)據(jù)還可以采用硬件加密的形式對其加密等,。
本文主要討論了電力信息系統(tǒng)中數(shù)據(jù)庫安全防護(hù)的具體措施,總結(jié)了電力信息系統(tǒng)中使用的數(shù)據(jù)庫安全技術(shù),,并給出了相應(yīng)操作的代碼,。在實(shí)際的工作中,需根據(jù)實(shí)際情況采取相應(yīng)的防護(hù)措施,,及時形成電力信息系統(tǒng)數(shù)據(jù)庫安全防護(hù)規(guī)范,,以便在實(shí)際應(yīng)用中開展安全防護(hù)工作。
參考文獻(xiàn)
[1] GB-T 22239-2008.信息安全技術(shù) 信息系統(tǒng)安全等級保護(hù)基本要求.2008.
[2] 王珊,,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,,2010.
[3] 朱良根,雷振甲,,張玉清.數(shù)據(jù)庫安全技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,,2004(9):127-138.
[4] 王靜,易軍凱.基于入侵檢測的數(shù)據(jù)庫安全模型研究[J].微計(jì)算機(jī)信息,,2006,,22(9-3):84-86.
[5] 馬鮮艷.數(shù)據(jù)庫安全技術(shù)探析[J].西安郵電學(xué)院學(xué)報(bào),2008,,13(3):99-102.
[6] 李東風(fēng),,謝昕.數(shù)據(jù)庫安全技術(shù)研究與應(yīng)用[J].計(jì)算機(jī)安全,2008(1):42-44.
[7] 胡志奇.數(shù)據(jù)庫安全與加密技術(shù)研究[J].計(jì)算機(jī)與現(xiàn)代化,,2003(11):58-61.
[8] 張剡,,夏輝,柏文陽.數(shù)據(jù)庫安全模型的研究[J].計(jì)算機(jī)科學(xué),,31(1):101-104.