国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ORACLE的安全加固應(yīng)用的設(shè)計(jì)和實(shí)現(xiàn)

2011-11-24 06:58:22周華強(qiáng)劉云飛
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)賬號(hào)端口

肖 寒,周華強(qiáng),劉云飛

(1.河南電力試驗(yàn)研究院,河南 鄭州 450052;2.中原工學(xué)院 計(jì)算機(jī)學(xué)院,河南 鄭州 451191;3.河南省知識(shí)產(chǎn)權(quán)事務(wù)中心,河南 鄭州 450008)

ORACLE數(shù)據(jù)庫是一個(gè)龐大的數(shù)據(jù)庫管理系統(tǒng)(DBMS),所涉及的系統(tǒng)知識(shí)較多,本文只做系統(tǒng)ORACLE本身的安全加固方面的研究,涉及操作系統(tǒng)安全和存儲(chǔ)備份的相關(guān)技術(shù)不在本文的研討范圍之內(nèi).

目前,企業(yè)內(nèi)部數(shù)據(jù)庫的安全威脅主要來自于2個(gè)方面,一方面是外部的攻擊,外部非法訪問者通過網(wǎng)絡(luò)掃描進(jìn)行試探,企圖訪問企業(yè)的內(nèi)部數(shù)據(jù)庫;另一方面是企業(yè)內(nèi)部用戶的不正當(dāng)操作,這也給數(shù)據(jù)庫的安全帶來了隱患.作為系統(tǒng)的核心數(shù)據(jù)庫,其安全加固的原則應(yīng)采用最小授權(quán)原則[1].

業(yè)務(wù)系統(tǒng)對(duì)數(shù)據(jù)庫的訪問是一個(gè)由外向內(nèi)的訪問過程,首先通過網(wǎng)絡(luò)與數(shù)據(jù)庫系統(tǒng)建立連接,然后使用用戶密碼登錄通過ORACLE系統(tǒng)認(rèn)證,最后根據(jù)業(yè)務(wù)權(quán)限對(duì)數(shù)據(jù)進(jìn)行訪問[2].本文的安全加固措施就是按照數(shù)據(jù)訪問的業(yè)務(wù)流程向由外向內(nèi)進(jìn)行加固.

1 ORACLE訪問加固

對(duì)ORACLE外部網(wǎng)絡(luò)的訪問可以通過防火墻安全過濾策略加以限制,而內(nèi)部業(yè)務(wù)服務(wù)器和數(shù)據(jù)庫服務(wù)器通常在一個(gè)網(wǎng)絡(luò),沒有防火墻,要防止內(nèi)部不必要的數(shù)據(jù)庫訪問,可以通過ORACLE程序本身提供的相關(guān)安全措施配置IP訪問策略,在網(wǎng)絡(luò)層屏蔽未經(jīng)許可的IP服務(wù)請(qǐng)求[3].采用以下方法修改ORACLE的默認(rèn)訪問策略訪問,修改 ORACLE 數(shù)據(jù)庫服務(wù)器的 sqlnet.ora 文件,在文件中追加以下內(nèi)容:

TCP.EXCLUDED_NODES= (10.70.xx.xx, 10.70.xx.xx)

TCP.VALIDNODE_CHECKING = YES

TCP.INVITED_NODES= (10.70.xx.xx)

其中,TCP.EXCLUDED_NODES 表示拒絕的 IP 列表,TCP.INVITED_NODES 表示允許訪問的 IP 列表,通過以上設(shè)置達(dá)到預(yù)期目的.

1.1 數(shù)據(jù)庫前端防火墻放開指定端口

防火墻作為系統(tǒng)的第一道防線,監(jiān)控可信任網(wǎng)絡(luò)和不可信任網(wǎng)絡(luò)之間的訪問通道,可在內(nèi)部與外部網(wǎng)絡(luò)之間形成一道防護(hù)屏障,攔截來自外部的非法訪問[4].ORACLE的Listener對(duì)外提供網(wǎng)絡(luò)服務(wù)和端口,通常情況下不開放ORACLE的Listener端口,屏蔽外部對(duì)數(shù)據(jù)庫的訪問.若必須開通外網(wǎng)業(yè)務(wù)訪問ORACLE服務(wù)端口,可以修改ORACLE的默認(rèn)監(jiān)聽服務(wù)端口,防止一些針對(duì)指定端口掃描的非法程序的訪問,使其即使掃描到該端口也不一定知道它就是ORACLE應(yīng)用,以下修改默認(rèn)服務(wù)端口為1553的實(shí)現(xiàn)方法:

LISTENER_NEW = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1553)))

1.2 為ORACLE監(jiān)聽程序設(shè)置加密密碼

在默認(rèn)情況下,ORACLE的監(jiān)聽程序是沒有密碼保護(hù)的,沒有加密的程序很容易受到非法程序的攻擊,被非法訪問.為提高安全性,可以為ORACLE監(jiān)聽設(shè)置密碼,堵住該安全漏洞.

LSNRCTL> set save_config_on_stop on

LSNRCTL> change_password

Old password: ——由于先前沒有設(shè)置過Listener密碼,這里直接回車即可.

New password:——輸入Listener密碼

Reenter new password:——再次輸入Listener密碼

LSNRCTL> set password

2 ORACLE數(shù)據(jù)庫內(nèi)部的安全加固

2.1 數(shù)據(jù)庫用戶的管理和權(quán)限規(guī)劃

數(shù)據(jù)庫的賬號(hào)需要規(guī)劃,通常情況下,在沒有賬號(hào)規(guī)劃的數(shù)據(jù)庫中,程序賬號(hào)、數(shù)據(jù)維護(hù)查詢賬號(hào)、數(shù)據(jù)庫監(jiān)控賬號(hào)等都混在一起,沒有專門分類和實(shí)名管理.而且,賬號(hào)的權(quán)限非常大,可多人使用,存在較大的安全隱患.為了加強(qiáng)對(duì)賬號(hào)及權(quán)限的管理,我們可以對(duì)數(shù)據(jù)庫賬號(hào)進(jìn)行分類.可將常用的數(shù)據(jù)庫賬號(hào)分為5類:程序賬號(hào)、數(shù)據(jù)維護(hù)賬號(hào)、數(shù)據(jù)查詢賬號(hào)、數(shù)據(jù)庫監(jiān)控賬號(hào)和數(shù)據(jù)庫系統(tǒng)賬號(hào),不同職責(zé)的人員使用不同類型的賬號(hào),擁有對(duì)應(yīng)的權(quán)限,實(shí)行實(shí)名制管理.根據(jù)這5類賬號(hào)的不同使用要求,制定不同的權(quán)限管理規(guī)則,并開啟相應(yīng)級(jí)別的操作審計(jì),在保證應(yīng)用程序正常穩(wěn)定運(yùn)行的情況下,最大化地保障系統(tǒng)的安全性.

2.2 設(shè)置ORACLE用戶的密碼策略

ORACLE用戶對(duì)數(shù)據(jù)庫的訪問是通過用戶名和密碼來驗(yàn)證的,可通過設(shè)置ORACLE的密碼策略防止非法用戶的暴力破解.ORACLE提供了PROFILE功能,可以為用戶配置PROFILE,來設(shè)置ORACLE用戶的密碼策略.密碼策略包括:(1)用戶名和密碼不能相同;(2)密碼長度要大于4個(gè)字符;(3)密碼不能是常用的單詞詞匯;(4)密碼必須包含“至少一個(gè)字母、一個(gè)數(shù)字、一個(gè)標(biāo)點(diǎn)”;(5)新舊密碼要符合“差3規(guī)則”.

具體的實(shí)現(xiàn)方法為修改用戶的PROFILE的PASSWORD_VERIFY_FUNCTION 為VERIFY_FUNCTION,其中,VERIFY_FUNCTION 的主要實(shí)現(xiàn)邏輯如下:

FOR i IN 1..length(chararray) LOOP

FOR j IN 1..m LOOP

IF substr(password,j,1) = substr(chararray,i,1) THEN

ischar:=TRUE;

GOTO findpunct;

END IF;

END LOOP;

END LOOP;

IF ischar = FALSE THEN

raise_application_error(-20003, 'Password should contain at least one

digit, one character and one punctuation' );

END IF

2.3 數(shù)據(jù)庫的審計(jì)

對(duì)ORACLE的安全管理與后期安全事件的回溯,數(shù)據(jù)庫的審計(jì)必不可少.數(shù)據(jù)庫的安全審計(jì)主要包括:

(1)開啟數(shù)據(jù)庫的DDL審計(jì)功能,審計(jì)任何賬號(hào)的DDL操作;

(2)開啟SYS賬號(hào)的審計(jì)功能,審計(jì)SYS賬號(hào)的任何操作;

(3)對(duì)于一些權(quán)限較高的特殊維護(hù)賬號(hào),需要審計(jì)這些賬號(hào)的所有操作;

(4)重點(diǎn)業(yè)務(wù)表審計(jì),編寫觸發(fā)器對(duì)重點(diǎn)業(yè)務(wù)表的任何修改操作進(jìn)行審計(jì),記錄修改前后的詳細(xì)信息.

ORACLE支持審計(jì)結(jié)果存放在操作系統(tǒng)文件和數(shù)據(jù)庫表中,考慮到審計(jì)的性能和后期審計(jì)結(jié)果的查詢效率,建議ORACLE的審計(jì)結(jié)果存放在數(shù)據(jù)庫表的方式為SYS.AUD S| 表.該表只能存放在system表空間,防止空間被無限占滿,需要每天通過DB-JOB對(duì)SYS.AUD S| 進(jìn)行歸檔、轉(zhuǎn)移來釋放空間[5].

設(shè)置ORACLE的參數(shù)audit_trail為db, alter system set audit_trail=db將審計(jì)信息存入ORACLE數(shù)據(jù)庫中,其中備份和轉(zhuǎn)移審計(jì)數(shù)據(jù)如下:

insert/*+append*/ into t_aud S| backup select * from aud S| ;

execute immediate 'truncate table aud S| drop storage';

delete from t_aud S| backup where timestamp# < dt_beforedate;

2.4 數(shù)據(jù)庫防篡改

ORACLE提供了新的觸發(fā)器——登錄觸發(fā)器,可以在用戶登錄的時(shí)候觸發(fā)已經(jīng)設(shè)計(jì)好的觸發(fā)條件,達(dá)到指定IP上的指定用戶和指定應(yīng)用程序才能訪問數(shù)據(jù)庫,以防止數(shù)據(jù)被非法篡改[6].通常,可以設(shè)計(jì)一張配置表sys.t_sysconfig,如表1所示.

表1 防止非法篡改數(shù)據(jù)表配置Tab.1 The data table allocation to prevent unauthorized tampering

sys.t_sysconfig表配置項(xiàng)的具體含義是:

(1) db_restricted_users

a.指明哪些用戶需要受到限制(ALL表示所有用戶);

b.如果登錄用戶名不包括在這個(gè)列表中,就允許連接;

c.如果登錄用戶名被包含,則拒絕.

(2) db_permit_program

a.表示哪些程序可以連接(ALL表示所有程序);

b.如果客戶端的程序不在這個(gè)列表中,拒絕其登錄;

c.具體的程序名及含義如表2所示.

表2 sys.t_sysconfig表配置項(xiàng)具體含義Tab.2 The specific meaning of sys.t_sysconfig table allocation

例如:PLSQLDEV:SQLPLUS::JDBC 表示允許 plsqldev、sqlplus、匿名程序以及jdbc連接.

3 結(jié)束語

數(shù)據(jù)庫系統(tǒng)的安全性在很大程度上依賴于數(shù)據(jù)庫管理系統(tǒng)本身,作為DBMS中主要的ORACLE數(shù)據(jù)庫,在實(shí)際業(yè)務(wù)過程中要構(gòu)建數(shù)據(jù)庫管理系統(tǒng)下的安全防范規(guī)范,以保證數(shù)據(jù)庫的獨(dú)立性和完整性,進(jìn)而保障數(shù)據(jù)庫的安全.

參考文獻(xiàn):

[1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000.

[2] 劉啟源,劉怡.數(shù)據(jù)庫與信息系統(tǒng)的安全[M].北京:科學(xué)出版社,2000.

[3] 李海波. Oracle數(shù)據(jù)庫的安全及備份恢復(fù)[J].電腦知識(shí)與技術(shù), 2004(11):18.

[4] 韓云波.Oracle性能調(diào)整技術(shù)研究[J].電腦知識(shí)與技術(shù),2010,7(6):1554-1556.

[5] 趙宇蘭,李慶波.解析Oracle內(nèi)存結(jié)構(gòu)及內(nèi)存性能診斷與調(diào)優(yōu)[J].山西電子技術(shù),2009(2):95-96.

[6] 巢子杰.Oracle數(shù)據(jù)庫優(yōu)化探究[J].軟件導(dǎo)刊,2010(2):142-144.

猜你喜歡
數(shù)據(jù)庫系統(tǒng)賬號(hào)端口
彤彤的聊天賬號(hào)
施詐計(jì)騙走游戲賬號(hào)
派出所工作(2021年4期)2021-05-17 15:19:10
一種端口故障的解決方案
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
端口阻塞與優(yōu)先級(jí)
微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)
實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
Google Play游戲取消賬號(hào)綁定沒有Google賬號(hào)也能玩
CHIP新電腦(2016年3期)2016-03-10 14:52:50
核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
初識(shí)電腦端口
電腦迷(2015年6期)2015-05-30 08:52:42
游戏| 松潘县| 景谷| 盘锦市| 宽城| 东源县| 晋中市| 太康县| 库尔勒市| 山丹县| 乐平市| 石棉县| 锡林浩特市| 巴马| 平泉县| 鱼台县| 盐边县| 手游| 峨山| 兴海县| 河源市| 上蔡县| 平乡县| 石河子市| 玛曲县| 榕江县| 钟山县| 迁西县| 陆川县| 东光县| 罗定市| 海城市| 甘谷县| 黑龙江省| 盐山县| 平远县| 临夏市| 铁岭县| 嵊州市| 诸暨市| 东平县|