楊 波國(guó)家新聞出版廣電總局監(jiān)管中心 北京市 100045
基于廣播電視信息安全等級(jí)保護(hù)要求的Oracle數(shù)據(jù)庫(kù)用戶及權(quán)限加固方法探索
楊波
國(guó)家新聞出版廣電總局監(jiān)管中心北京市100045
本文根據(jù)國(guó)家和行業(yè)信息安全等級(jí)保護(hù)基本要求并結(jié)合廣電行業(yè)業(yè)務(wù)特點(diǎn),通過(guò)對(duì)基本要求項(xiàng)的研究,探索Oracle數(shù)據(jù)庫(kù)用戶及權(quán)限的安全基本加固方法。
Oracle 11g廣播電視等級(jí)保護(hù)安全加固
近年來(lái),黨中央、國(guó)務(wù)院高度重視我國(guó)信息安全工作。為提高我國(guó)信息安全保障能力,維護(hù)國(guó)家安全、社會(huì)穩(wěn)定和公共利益,我國(guó)已將信息安全等級(jí)保護(hù)制度作為一項(xiàng)重要工作在各個(gè)行業(yè)開(kāi)展。廣播電視行業(yè)作為黨和政府的喉舌,其重要性不言而喻,自2011年全面開(kāi)展信息安全等級(jí)保護(hù)工作以來(lái),越來(lái)越多的播出單位意識(shí)到信息安全的重要性,積極開(kāi)展信息安全建設(shè)工作。
在信息系統(tǒng)安全建設(shè)中,數(shù)據(jù)庫(kù)作為信息的核心部件其作用至關(guān)重要,保障數(shù)據(jù)庫(kù)安全已經(jīng)成為信息系統(tǒng)安全建設(shè)的重要組成部分。本文將以O(shè)racle11g數(shù)據(jù)庫(kù)為例,結(jié)合廣播電視安全播出特點(diǎn),依據(jù)國(guó)家和廣電行業(yè)信息安全等級(jí)保護(hù)基本要求,探索相應(yīng)的安全加固方法。
在信息安全等級(jí)保護(hù)基本要求中對(duì)數(shù)據(jù)庫(kù)的身份鑒別、訪問(wèn)控制、安全審計(jì)、資源控制等多個(gè)方面做出了要求,本文將從Oracle數(shù)據(jù)庫(kù)的身份鑒別及訪問(wèn)控制兩個(gè)方面研究用戶及權(quán)限管理的加固方法。
1.1啟用身份鑒別措施
廣電行業(yè)信息安全等級(jí)保護(hù)基本要求中對(duì)身份鑒別的要求是:“應(yīng)對(duì)登錄操作系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的用戶進(jìn)行身份標(biāo)識(shí)和鑒別,應(yīng)為不同用戶分配不同的用戶名,不能多人使用同一用戶名”。
Oracle Database 11g數(shù)據(jù)庫(kù)為用戶提供了多種身份驗(yàn)證方法,其中包括:口令驗(yàn)證、外部驗(yàn)證、全局驗(yàn)證等多種認(rèn)證方式??诹钌矸蒡?yàn)證是最常用到的身份驗(yàn)證方式,Oracle數(shù)據(jù)庫(kù)將賬戶名與口令存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶登錄時(shí)必須輸入賬戶名和口令,Oracle數(shù)據(jù)庫(kù)對(duì)其進(jìn)行認(rèn)證、授權(quán);外部身份認(rèn)證是指Oracle數(shù)據(jù)庫(kù)本身不存儲(chǔ)賬戶的口令,用戶身份認(rèn)證依賴于數(shù)據(jù)庫(kù)外部構(gòu)件,如Oracle數(shù)據(jù)庫(kù)運(yùn)行于Windows平臺(tái)時(shí)使用Windows本地身份認(rèn)證服務(wù)或使用Kerberos協(xié)議認(rèn)證服務(wù)器、RADIUS服務(wù)器進(jìn)行認(rèn)證,用戶登錄時(shí)只要通過(guò)了這些構(gòu)件的身份認(rèn)證,即拿到了登錄令牌可直接登錄Oracle數(shù)據(jù)庫(kù);全局驗(yàn)證需要在Oracle Advance Security選項(xiàng)中使用基于LDAP(輕量級(jí)目錄訪問(wèn)協(xié)議)的目錄服務(wù)中進(jìn)行身份認(rèn)證。
按照基本要求中的規(guī)定,在連接數(shù)據(jù)庫(kù)時(shí)應(yīng)同時(shí)提交用戶名和口令,特別注意的是基于Windows的本地認(rèn)證服務(wù)認(rèn)證實(shí)際上只要是操作系統(tǒng)的用戶就能夠直接登錄數(shù)據(jù)庫(kù),不能滿足基本要求中的規(guī)定。在確認(rèn)是否存在操作系統(tǒng)本地驗(yàn)證用戶時(shí),首先應(yīng)檢查操作系統(tǒng)認(rèn)證前綴字段,即“OS_AUTHENT_PREFIX”,該字段的賦值會(huì)作為Oracle操作系統(tǒng)驗(yàn)證用戶名的前綴,默認(rèn)情況下該字段是“OPS”,然后再查找是否用使用了該前綴的賬戶,Unix及Linux操作系統(tǒng)下的用戶名格式為“OPS username”,Windows操作系統(tǒng)下的用戶名格式為“OPSMACHINE_NAMEUSERNAME”(計(jì)算機(jī)名用戶名),最后通過(guò)修改“IDENTIFEID”參數(shù)將該賬戶改為其他驗(yàn)證方式或刪除該賬戶(折中的辦法是將“OS_AUTHENT_PREFIX”的前綴值改為與系統(tǒng)當(dāng)前具有操作系統(tǒng)認(rèn)證的賬戶名前綴不匹配,不過(guò)不推薦使用此方法)。另外,Oracle11g中默認(rèn)不允許用戶通過(guò)Oracle Net方式使用操作系統(tǒng)認(rèn)證,相關(guān)資料表明這種方式存在諸如黑客遠(yuǎn)程登錄攻擊等嚴(yán)重的安全隱患,建議檢查“REMORE_OS_AUTHENT”參數(shù),如果已經(jīng)被修改為“TRUE”則將其設(shè)置為“FALSE”。
而對(duì)于其他外部身份認(rèn)證方式的安全性,則需要綜合評(píng)估Oracle數(shù)據(jù)庫(kù)外部身份鑒別構(gòu)件本身的安全設(shè)置、所在操作系統(tǒng)的安全性等外圍因素,并不在本文研究范圍之內(nèi)。
此外,經(jīng)常被忽略的是為監(jiān)聽(tīng)器設(shè)置密碼,任何有權(quán)限進(jìn)入操作系統(tǒng)的用戶都可以通過(guò)在命令提示符下輸入“LSNRCTL STOP”命令來(lái)輕易的停止監(jiān)聽(tīng)器工作??梢酝ㄟ^(guò)運(yùn)行LSNRCTL程序,使用SET PASSWORD命令為其設(shè)置密碼。需要注意的是,監(jiān)聽(tīng)器密碼的哈希值存儲(chǔ)在操作系統(tǒng)中l(wèi)isterner.ora中,所以應(yīng)在操作系統(tǒng)層面對(duì)該文件的讀取權(quán)限進(jìn)行限制,并在設(shè)置密碼時(shí)注意不要與數(shù)據(jù)庫(kù)賬號(hào)密碼相同,以防具有操作系統(tǒng)讀取權(quán)限的非數(shù)據(jù)庫(kù)管理員對(duì)其進(jìn)行破解,從而以數(shù)據(jù)庫(kù)賬號(hào)進(jìn)行登錄。
在數(shù)據(jù)庫(kù)日常管理中,應(yīng)做到數(shù)據(jù)庫(kù)管理員、操作員、安全員分別使用各自的賬戶,為每一位登錄用戶創(chuàng)建獨(dú)立的賬戶,以便按照其應(yīng)用的最小權(quán)限對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作以及準(zhǔn)確界定責(zé)任。
1.2口令復(fù)雜度設(shè)置
1.2.1賬戶名設(shè)置
Oracle Database 11g中內(nèi)置了多個(gè)默認(rèn)賬戶,如:SCOTT等,具有不同的默認(rèn)權(quán)限。如圖1所示:
圖1 Oracle Database 11g內(nèi)置默認(rèn)賬戶
由于部分Oracle數(shù)據(jù)庫(kù)默認(rèn)賬戶名和口令處于公開(kāi)狀態(tài),已被內(nèi)置于數(shù)據(jù)庫(kù)登錄賬號(hào)猜測(cè)及口令暴力破解工具上,所以建議用戶在建立賬戶時(shí)重新創(chuàng)建賬戶,盡量避免使用(鎖定或刪除)非必要的默認(rèn)賬戶。為了避免黑客個(gè)人或組織有針對(duì)性對(duì)應(yīng)用系統(tǒng)實(shí)施APT(Advanced Persistent Threat高級(jí)持續(xù)性威脅)攻擊,采用“社會(huì)工程”等手段獲取數(shù)據(jù)庫(kù)登錄賬戶,建議數(shù)據(jù)庫(kù)管理員和開(kāi)發(fā)人員在建立數(shù)據(jù)庫(kù)賬戶名時(shí)應(yīng)避免使用單位名稱、業(yè)務(wù)應(yīng)用名稱、數(shù)據(jù)庫(kù)管理員姓名、生日等個(gè)人信息的全拼、縮寫(xiě)及組合作為賬戶名及口令。
1.2.2口令設(shè)置
在設(shè)置口令時(shí)應(yīng)注意使口令具備一定的復(fù)雜度,建議由至少8位的大寫(xiě)字母、小寫(xiě)字母、數(shù)字、符號(hào)等多種字符類型組成,并最少6個(gè)月更換一次口令。在Oracle Database 11g中可以通過(guò)配置文件(profile)對(duì)口令安全策略進(jìn)行強(qiáng)制控制??梢允褂谩癱reate profile”命令建立配置文件或使用默認(rèn)的配置文件,命令如下:
create user user_name identified by pass_word
profile profile_name
如果未在建立賬戶時(shí)指定由管理員手動(dòng)創(chuàng)建配置文件,則由Oracle數(shù)據(jù)庫(kù)指定使用名為default的配置文件作為默認(rèn)配置文件。配置文件(profile)中包括以下參數(shù):
(1)密碼過(guò)期時(shí)間
password_life_time口令過(guò)期前的天數(shù),口令在過(guò)期后仍可使用,具體取決于password_grace_time。
password_grace_time口令過(guò)期(將生成更改口令的提示)后第一次成功登陸后的天數(shù),在此期間,舊口令仍然可用。
在默認(rèn)default profile中,password_life_time為180天,password_grace_time為7天。
(2)密碼歷史
password_reuse_time可以重新使用口令前的天數(shù)。
password_reuse_max可以重新使用口令的次數(shù)。
(3)密碼復(fù)雜度
password_verify_funciton更改口令時(shí)運(yùn)行的函數(shù)名。此函數(shù)本用于檢查新口令所需的復(fù)雜程度。
可以通過(guò)運(yùn)行Oracle提供的腳本來(lái)限制用戶口令的復(fù)雜度要求。
在Linux或Unix上:
ORACLE_HOME/rdbms/admin/utlpwdmg.sql。在Windows上:
%ORACLE_HOME dbmsadminutlpwdmg.sql。
該腳本運(yùn)行后將建立名為verify_funciton和verify_funciton_11g兩個(gè)函數(shù)。在此函數(shù)中將對(duì)密碼復(fù)雜度進(jìn)行定義,如果不符合以下條件將放棄口令更改:
新的口令的字符長(zhǎng)度至少是8位(將腳本中“Check for the minimum length of the password if length(password)<”參數(shù)值設(shè)置為8)。
新的口令不能是用戶名(正向拼寫(xiě)或反向拼寫(xiě)),也不能是大寫(xiě)或小寫(xiě)的數(shù)據(jù)庫(kù)名。
將拒絕一些常用的簡(jiǎn)單口令(如“oracle”等)。
新口令至少有一個(gè)字符和一個(gè)數(shù)字。
新口令與舊口令至少必須有三個(gè)字符是不同的。
1.3登錄失敗處理措施
采用登錄失敗處理功能,可以防止非授權(quán)用戶嘗試登錄數(shù)據(jù)庫(kù)的次數(shù)以及在管理員長(zhǎng)時(shí)間離開(kāi)操作臺(tái)有沒(méi)有退出登錄界面時(shí)的非授權(quán)訪問(wèn)??梢栽谟脩襞渲梦募╬rofile)中定義以下參數(shù)來(lái)實(shí)現(xiàn)登錄失敗處理功能:
(1)failed_login_attempts指在鎖定賬戶前,口令上的連續(xù)錯(cuò)誤數(shù),如果在達(dá)到極限之前更改了口令,則將此計(jì)數(shù)器歸0。
(2)password_lock_time在到達(dá)failed_login_attempts次數(shù)后,賬戶鎖定的天數(shù)。
在默認(rèn)defaultprofile中,failed_login_attempts為10次,password_lock_time為1天,可以通過(guò)ALTERPROFILE語(yǔ)句對(duì)其進(jìn)行修改。
1.4遠(yuǎn)程管理加密措施
在通過(guò)網(wǎng)絡(luò)連接Oracle數(shù)據(jù)庫(kù)時(shí)默認(rèn)是不采用加密方式進(jìn)行數(shù)據(jù)傳輸?shù)?,為了防止惡意用戶通過(guò)網(wǎng)絡(luò)監(jiān)聽(tīng)方式獲取敏感信息,應(yīng)為每個(gè)監(jiān)聽(tīng)器啟用加密的方式。可以通過(guò)修改listerner.ora文件中PROTOCOL參數(shù):LISTENER=
(DESCRIPTION_LIST=
或通過(guò)OracleNetManager程序,選擇對(duì)監(jiān)聽(tīng)器后,對(duì)其使用協(xié)議進(jìn)行更改,如圖2所示:
圖2 Oracle Net Manager協(xié)議更改
也可以使用OracleNetConfigurationAssistant進(jìn)行修改,如下圖3:
圖3 Oracle Net Configuration Assistan協(xié)議更改
還要特別指出的是,部分單位可能會(huì)采用網(wǎng)絡(luò)數(shù)據(jù)庫(kù)審計(jì)系統(tǒng),需要數(shù)據(jù)庫(kù)通信協(xié)議采用明文的方式進(jìn)行監(jiān)聽(tīng),在已經(jīng)采用該技術(shù)作為數(shù)據(jù)庫(kù)審計(jì)方案的情況下,為了降低安全風(fēng)險(xiǎn),可以在數(shù)據(jù)庫(kù)上聯(lián)交換機(jī)或防護(hù)墻上進(jìn)行配置,設(shè)置訪問(wèn)控制列表,將可以訪問(wèn)數(shù)據(jù)庫(kù)的地址限定在應(yīng)用服務(wù)器或維護(hù)終端的地址或地址段及開(kāi)放端口,同時(shí),配合IP和MAC地址綁定技術(shù),避免非授權(quán)設(shè)備監(jiān)聽(tīng)數(shù)據(jù)庫(kù)通信。
1.5“雙因素”鑒別措施
“雙因素鑒別”是國(guó)家及廣電行業(yè)信息安全等級(jí)保護(hù)基本要求中針對(duì)三級(jí)及以上信息系統(tǒng)特有的技術(shù)要求。雙因素鑒別的目的是當(dāng)用戶所持有的一種登錄憑證遭到盜用后,可以憑借另一種不同屬性的登錄憑證拒絕非法登錄。而用戶所持有的兩種不同屬性的鑒別憑證同時(shí)遭到盜用的可能性很低,可以抵御一般意義上的盜用登錄,因此,如果登錄設(shè)備采用“用戶名+口令”或兩級(jí)以及兩級(jí)以上的口令認(rèn)證應(yīng)認(rèn)為是一種鑒別技術(shù)。
目前,筆者尚未接觸到比較成熟的數(shù)據(jù)庫(kù)雙因素鑒別產(chǎn)品,但隨著技術(shù)的不斷發(fā)展,將會(huì)不斷出現(xiàn)滿足等保要求的產(chǎn)品,在進(jìn)行產(chǎn)品選型時(shí)須注意的是這類產(chǎn)品應(yīng)首先能夠?qū)崿F(xiàn)除了用戶名和口令以外的其他鑒別技術(shù),如動(dòng)態(tài)口令卡、USB證書(shū)等,其次在選擇這類產(chǎn)品時(shí)也應(yīng)注意現(xiàn)有的業(yè)務(wù)應(yīng)用軟件可以支持這種雙因素認(rèn)證方式。
2.1用戶權(quán)限設(shè)置
在等級(jí)保護(hù)標(biāo)準(zhǔn)中,針對(duì)用戶權(quán)限部分進(jìn)行了如下要求“應(yīng)啟用訪問(wèn)控制功能,依據(jù)安全策略控制用戶對(duì)資源的訪問(wèn),根據(jù)需要禁止通過(guò)USB、光驅(qū)等外設(shè)進(jìn)行數(shù)據(jù)交換,關(guān)閉不必要的服務(wù)和端口”;“應(yīng)根據(jù)管理用戶的角色分配權(quán)限,實(shí)現(xiàn)管理用戶的權(quán)限分離,僅授予管理用戶所需的最小權(quán)限”。
在Oracle數(shù)據(jù)庫(kù)中,可以通過(guò)給用戶或角色授予針對(duì)于不同類型數(shù)據(jù)庫(kù)對(duì)象操作的權(quán)限,從而實(shí)現(xiàn)對(duì)于數(shù)據(jù)對(duì)象的訪問(wèn)控制。表1列出了針對(duì)于不同對(duì)象可設(shè)置的權(quán)限:
表1 不同對(duì)象的設(shè)置權(quán)限
可以通過(guò)下面的語(yǔ)法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)對(duì)象的操作授權(quán):
SQL>GRANTprivilegeON[schema.]object TO username[WITH GRANT OPTION]
在應(yīng)用環(huán)境中,為防止業(yè)務(wù)應(yīng)用賬號(hào)被賦予過(guò)多的權(quán)利,應(yīng)避免將數(shù)據(jù)庫(kù)的創(chuàng)建賬號(hào)作為業(yè)務(wù)應(yīng)用賬號(hào)使用。應(yīng)該結(jié)合業(yè)務(wù)應(yīng)用軟件的開(kāi)發(fā)情況,梳理業(yè)務(wù)賬號(hào)需要操作的數(shù)據(jù)庫(kù)對(duì)象以及所需權(quán)限,創(chuàng)建賬戶或定義角色,賦予其對(duì)數(shù)據(jù)庫(kù)對(duì)象的最小可用權(quán)限。此外,Oracle還提供了基于標(biāo)記的訪問(wèn)控制策略,在下文中將會(huì)做介紹。
對(duì)于Oracle用戶的授權(quán)可以通過(guò)直接授權(quán),或?yàn)榱吮阌诜奖愎芾斫⒁粋€(gè)具有一定權(quán)限的角色并授權(quán)的方式進(jìn)行。在對(duì)數(shù)據(jù)庫(kù)用戶進(jìn)行權(quán)限分配時(shí),應(yīng)僅分配能夠支持業(yè)務(wù)應(yīng)用的最小權(quán)限,授予超出業(yè)務(wù)應(yīng)用所需的權(quán)限。在Oracle 11g中,有超過(guò)200種的系統(tǒng)權(quán)限,其中部分權(quán)限對(duì)整個(gè)數(shù)據(jù)庫(kù)具有全局的影響,如果被惡意使用或操作不當(dāng)則有可能對(duì)數(shù)據(jù)庫(kù)造成嚴(yán)重?fù)p害(如帶有“ANY”的特權(quán))。下面列出的部分特權(quán)在對(duì)普通用戶或角色(使用Oracle默認(rèn)角色時(shí)應(yīng)注意默認(rèn)的權(quán)限)進(jìn)行授權(quán)時(shí)應(yīng)特別注意:
(1)GRANT ANY PRIVILEGE/OBJECT PRIVILEGE/ROLE/JOB:用戶可以為自己提升權(quán)限(相當(dāng)于DBA),訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)任何數(shù)據(jù);
(2)EXECUTE/ALTER ANY PROCEDURE∶用戶可以被用來(lái)在DBA模式下創(chuàng)建一個(gè)程序(相當(dāng)于DBA),運(yùn)行任意的SQL語(yǔ)句;
(3)INSERT/DROP/UPDATE/SELECT/ANY TABLE:可以對(duì)數(shù)據(jù)庫(kù)內(nèi)任何數(shù)據(jù)進(jìn)行增刪改查;
(4)CREATE/ALTERANYVIEW/TRIGGER/ SYNONYM∶可以在創(chuàng)建、修改視圖、觸發(fā)器、同義詞的過(guò)程中內(nèi)置提升賬戶權(quán)限代碼;
(5)CREATE ANY DERECTORY:可以與UTL_FILE和DBMS_LOB等函數(shù)結(jié)合使用,實(shí)現(xiàn)對(duì)操作系統(tǒng)文件的控制。
此外,對(duì)于一些不帶有“ANY”的特權(quán),也應(yīng)特別注意:
(1)SYSDBA/SYSOPER∶直接將DBA的權(quán)限賦予用戶;
(2)ALTER SYSTEM:允許用戶設(shè)置配置參數(shù)并執(zhí)行系統(tǒng)管理任務(wù);
(3)AUDIT ANY/SYSTEM∶可以對(duì)關(guān)閉審計(jì)功能,避免遺留對(duì)數(shù)據(jù)庫(kù)進(jìn)行攻擊后的痕跡;
(4)ALTER DATABASE∶可以進(jìn)行關(guān)閉數(shù)據(jù)庫(kù)、使用訪問(wèn)操作系統(tǒng)文件的UTL_FILE或其他重要操作;
(5)ALTER/DROP USER:可以允許任何用戶成為DBA,刪除重要用戶及所屬對(duì)象,直接會(huì)導(dǎo)致數(shù)據(jù)丟失、服務(wù)停止,除了DBA以外任何用戶和角色都不應(yīng)得到這項(xiàng)特權(quán);
(6)ALTER PROFILE∶可以更改配置文件中口令嘗試次數(shù)限制,以便實(shí)現(xiàn)暴力破解而不被鎖定;
(7)EXPORT/IMPORT FULL DATABASE∶將整個(gè)數(shù)據(jù)庫(kù)導(dǎo)入或?qū)С?,相?dāng)于黑客的“拖庫(kù)”操作,這項(xiàng)授權(quán)應(yīng)僅授于數(shù)據(jù)庫(kù)備份管理賬戶。
2.2特權(quán)用戶的權(quán)限設(shè)置
作為數(shù)據(jù)庫(kù)的DBA,其對(duì)數(shù)據(jù)庫(kù)的管理也應(yīng)受到審計(jì),而審計(jì)記錄保存在操作系統(tǒng)當(dāng)中,如果DBA與操作系統(tǒng)管理員的身份重疊,那么DBA可以對(duì)審計(jì)記錄進(jìn)行任意的修改、刪除操作,那么對(duì)于DBA的審計(jì)則沒(méi)有意義。對(duì)操作系統(tǒng)和數(shù)據(jù)庫(kù)DBA的權(quán)限分離可以從兩個(gè)方面進(jìn)行保障,首先,從技術(shù)角度講,應(yīng)避免采用操作系統(tǒng)本地認(rèn)證(前文中“身份鑒別”已做過(guò)介紹);其次,從管理角度講,在人員安排上數(shù)據(jù)庫(kù)管理員與操作系統(tǒng)管理員應(yīng)分別由不同的人員擔(dān)任。
2.3嚴(yán)格限制默認(rèn)帳戶權(quán)限
在Oracle數(shù)據(jù)庫(kù)中,每個(gè)帳戶都是PUBLIC用戶組中的成員,且不能將用戶從該組中移除。默認(rèn)情況下,PUBLIC用戶組被授予很多特權(quán),其中部分特權(quán)在Web應(yīng)用存在注入等漏洞且并未有效的被安全防護(hù)產(chǎn)品保護(hù)的情況下容易被黑客利用,對(duì)Oracle數(shù)據(jù)庫(kù)以及所在的服務(wù)器操作系統(tǒng)發(fā)起進(jìn)一步攻擊。下面列出部分重要的特權(quán),如業(yè)務(wù)應(yīng)用系統(tǒng)沒(méi)有切實(shí)需要,應(yīng)從PUBLIC用戶組中取消:
UTL_FILE:為數(shù)據(jù)庫(kù)訪問(wèn)提供對(duì)數(shù)據(jù)庫(kù)所在的操作系統(tǒng)上的文件讀和寫(xiě)的權(quán)利;
UTL_HTTP/UTL_SMTP/UTL_TCP:允許數(shù)據(jù)庫(kù)使用標(biāo)準(zhǔn)的協(xié)議跨網(wǎng)絡(luò)地進(jìn)行通信。攻擊者可以用來(lái)向自己“反彈”敏感數(shù)據(jù),繞過(guò)已經(jīng)存在的安全措施。
可以通過(guò)以下命令取消這些特權(quán),如:
SQL>revoke execute on utl_file from pubic;
除了PUBLIC用戶組默認(rèn)的權(quán)限外,還應(yīng)特別注意不要賦予該用戶組其他特權(quán),如果對(duì)于用戶進(jìn)行授權(quán)可以通過(guò)定義角色或直接授予用戶權(quán)限方式進(jìn)行實(shí)現(xiàn)。
2.4刪除多余的、過(guò)期的帳戶
在Oracle數(shù)據(jù)庫(kù)中,內(nèi)置了大量默認(rèn)賬戶,其中大部分默認(rèn)處于口令過(guò)期和鎖定狀態(tài)。在開(kāi)發(fā)過(guò)程中如果使用了這些默認(rèn)的賬戶作為測(cè)試賬戶應(yīng)及時(shí)鎖定,對(duì)于已經(jīng)使用默認(rèn)賬戶作為業(yè)務(wù)賬戶進(jìn)行使用的情況,應(yīng)避免使用默認(rèn)口令,并按照要求及時(shí)更換。同時(shí),應(yīng)檢查是否存在非默認(rèn)賬戶的過(guò)期測(cè)試賬戶的存在,如果有則應(yīng)及時(shí)刪除。
2.5敏感標(biāo)記設(shè)置
“敏感標(biāo)記”同“雙因素認(rèn)證”一樣,是國(guó)家及廣電行業(yè)信息安全等級(jí)保護(hù)基本要求中針對(duì)三級(jí)及以上信息系統(tǒng)特有的技術(shù)要求。敏感標(biāo)記是表示主體/客體安全級(jí)別和安全范疇的一組信息,通過(guò)比較標(biāo)記來(lái)控制是否允許主體對(duì)客體的訪問(wèn)。在廣播電視系統(tǒng)中,存儲(chǔ)在數(shù)據(jù)庫(kù)中的播出單、字幕、OSD、EPG、節(jié)目視音頻參數(shù)等涉及重要業(yè)務(wù)以及直接面向受眾的信息應(yīng)作為敏感信息進(jìn)行標(biāo)記,限定特定用戶進(jìn)行訪問(wèn)。
在Oracle 11g的高級(jí)安全性中提供了Oracle Label Security組件來(lái)實(shí)現(xiàn)敏感標(biāo)記功能,該組件可以設(shè)置一組或多組訪問(wèn)權(quán)限策略(Policy),然后給數(shù)據(jù)庫(kù)內(nèi)重要的信息資源如表或schema打上不同的標(biāo)簽(Label)進(jìn)行標(biāo)記,然后再將用戶與標(biāo)簽相關(guān)聯(lián),以標(biāo)簽為紐帶實(shí)現(xiàn)用戶對(duì)不同資源訪問(wèn)權(quán)限的控制,
添加敏感標(biāo)記并控制用戶對(duì)其訪問(wèn)的過(guò)程大體可分為以下步驟:
(1)安裝Oracle Label Security組件;
(2)創(chuàng)建安全策略∶首先解鎖LBACSYS賬戶,并賦予SELECT ANY DICTIONARY系統(tǒng)權(quán)限;
(3)為策略定義安全級(jí)別、劃分及組;(4)為安全策略創(chuàng)建標(biāo)簽;
(5)將安全策略向用戶授權(quán);(6)使能安全策略應(yīng)用表;
(7)為表中的行指定適合的標(biāo)簽。
由于篇幅所限,本文對(duì)敏感標(biāo)記具體實(shí)施方法不做過(guò)多介紹,感興趣的讀者在進(jìn)行實(shí)際部署時(shí)可參考本文所列文獻(xiàn)《Oracle.Label Security Administrator’s Guide 11g Release2(11.2)》。
加強(qiáng)Oracle數(shù)據(jù)庫(kù)安全不管是從國(guó)家和行業(yè)信息安全管理要求還是廣播電視播出相關(guān)單位實(shí)際運(yùn)行支撐需要而言都非常重要。本文結(jié)合信息安全等級(jí)保護(hù)基本要求,對(duì)Oracle 11g數(shù)據(jù)庫(kù)用戶設(shè)置、權(quán)限設(shè)置等方面基本安全加固技術(shù)進(jìn)行了一些簡(jiǎn)單研究,Oracle安全還包括其他更深層次的問(wèn)題,還需要開(kāi)發(fā)人員、安全管理人員、數(shù)據(jù)庫(kù)維護(hù)人員共同努力,探索適用于廣播電視行業(yè)特點(diǎn)的安全技術(shù)手段和方法,才能不斷的提高其信息安全防護(hù)保障能力。
[1]中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn),GB/T 22239—2008.信息安全技術(shù)信息系統(tǒng)安全等級(jí)保護(hù)基本要求[S],2008(6).
[2]中華人民共和國(guó)廣播電影電視行業(yè)暫行技術(shù)文件,GD/J037—2011.廣播電視相關(guān)信息系統(tǒng)安全等級(jí)保護(hù)定級(jí)指南[S],2011(5).
[3]中華人民共和國(guó)廣播電影電視行業(yè)暫行技術(shù)文件,GD/J038—2011.廣播電視相關(guān)信息系統(tǒng)安全等級(jí)保護(hù)基本要求[S],2011(5).
[4]國(guó)家廣播電影電視總局令第62號(hào),廣播電視安全播出管理規(guī)定[Z],2009(12)
[5]中華人民共和國(guó)行業(yè)標(biāo)準(zhǔn),GY/T107-1992.電視中心播控系統(tǒng)維護(hù)規(guī)程[S],1992(12).
[6]Oracle.OracleDatabaseAdvancedSecurityAdministrator’ sGuide11gRelease2 (11.2)[Z],http://docs.oracle.com/cd/E11882_01/ network.112/e40393/toc.htm,2014(9)
[7]Oracle.LabelSecurityAdministrator’s Guide11gRelease2(11.2) [Z],http://docs. oracle.com/cd/B28359_01/network.111/b28529/toc. htm,2007(11)
[8](美)JohnWatson等著,寧洪,吳云潔,李夢(mèng)汶譯.OCP/OCA認(rèn)證考試指南全冊(cè):Oracle Database 11g[M].北京:清華大學(xué)出版社,2011(1).
[9](美)DavidC.Knox等著,孟祥旭,唐揚(yáng)斌譯.Oracle安全實(shí)戰(zhàn):開(kāi)發(fā)完全的數(shù)據(jù)庫(kù)與中間件環(huán)境[M].北京:清華大學(xué)出版社,2011(7).
[10](美)Josh Shaul等著,李楨譯.Oracle安全實(shí)踐:來(lái)自第三方的關(guān)系型數(shù)據(jù)庫(kù)安全指南[M].北京:科學(xué)出版社,2009(1).
[11](美)Justin Clarke等著,黃曉磊,李化譯.SQL注入攻擊與防御[M].北京:清華大學(xué)出版社,2010(6).
[12]林樹(shù)澤,盧芬著.Oracle 11g R2 DBA操作指南[M].北京:清華大學(xué)出版社,2013(10).
[13]Sam R.Alapati著,鐘鳴,楊樺,楊衛(wèi)軍,孫登峰等譯.Oracle Database 11g數(shù)據(jù)庫(kù)管理藝術(shù)[M].北京:人民郵電出版社,2013(7).
[14]公安部信息安全等級(jí)保護(hù)評(píng)估中心.信息安全等級(jí)測(cè)評(píng)師培訓(xùn)教程(初級(jí))[M].北京:電子工業(yè)出版社,2010.
審稿人:魏朝暉內(nèi)蒙古新聞出版廣電局監(jiān)管中心正高級(jí)工程師
責(zé)任編輯:王學(xué)敏
TP392
A
2096-0751(2016)07-0020-07
楊波國(guó)家新聞出版廣電總局監(jiān)管中心工程師