999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于互觸發的Oracle細粒度數據保護和恢復的研究及實現

2012-08-06 12:51:06羅紅飛
網絡安全技術與應用 2012年4期
關鍵詞:數據庫用戶系統

羅紅飛

浙江商業職業技術學院應用工程學院 浙江 310053

0 前言

目前Oracle的自帶的權限管理和控制還不夠靈活,而且對于數據的誤刪除、誤清空等的操作,無法進行有效和及時的恢復,不能滿足有些用戶對Oracle數據庫的需要。本系統的重點在于解決上述的幾個關鍵問題,為Oracle數據庫的用戶,提供了更加安全、有效的數據管理和恢復,也為企業的核心業務數據上了雙保險。

1 總體設計思路

傳統的模式是用戶直接操作數據庫內部的表等相關信息,本系統擬在用戶和數據庫之間架構一個“層”,該層包括“權限控制”、“數據恢復”、“系統管理”三大功能模塊,其總體架構圖如圖1所示,用戶通過UI界面輸入數據,spring將從UI界面中獲得的數據根據三大功能模塊進行處理,實現相應的數據配置,最后通過觸發器和存儲過程作用于數據庫,下面按順序分模塊介紹。

圖1 系統總體架構圖

2 UI界面的實現

在具體實現過程中,擬用Extjs實現展現給用戶的User Interface,提供用戶對權限控制和數據控制等的增刪改操作,因ExtJs在使用的方式上,不同于普通的html語言,它充分融入了面向對象的思想,做了很多封裝,利用ExtJs實現表格,加載數據,方便直觀。根據具體需求,畫出實現框圖如圖2。

圖2 ExtJs實現UI界面原理框圖

圖3 spring進行數據配置的代碼原理圖

3 用spring實現用戶對權限控制的數據配置

ExtJs把數據從UI界面提交給了Web Server以后,利用Spring,更好地對數據進行面向對象的封裝,然后以面向對象的方式保存到數據庫中,同時對于異常情況發生的時候,Spring能及時提供事務的回滾,保證數據的一致性,杜絕數據庫中臟數據的產生,過程實現框圖如圖3。

4 三大功能模塊的實現

4.1 權限控制模塊的設計和實現

根據具體使用需求,權限控制應包括DDL權限控制、DML權限控制和表空間管理。DDL權限控制主要為了更加靈活地控制用戶操作數據庫對象的權限,特別是表,因為表是數據存儲的核心對象,非常重要。DML權限控制的實現是通過存儲過程動態地去創建觸發器,來控制用戶是否能夠對表進行插入、刪除和修改的操作,表空間的管理主要提供的是對表空間的刪除等危險操作,確保操作能夠被授權,同時誤操作后能夠被恢復,對操作的所有記錄能夠通過日志進行查看。

(1) DDL權限控制的實現

Oracle提供了grant的命令,能夠對用戶賦予某種權限,例如:

SQL>grant create table on user1,這個就是允許用戶user1可以創建表,但是有些需求卻不能滿足,例如我們要求user1用戶只能drop tmp開頭的table,不能drop 其他名字的表,這個在實際的業務系統中也是比較常見的,Oracle目前還沒有類似支持正則表達式這樣的grant命令,本系統就是為了解決這樣一些問題。具體思路是,首先,創建一張表,叫Tor$DDL_Privs,這張表的作用,就是保存DDL權限控制的各個模塊,如表1所示。

表1 權限控制表

TOR$DDL_PRIVS表里,添加了記錄以后,如何才能生效呢,這就需要從實現過程上來詳細地進行分析,例如,我們限制了Test用戶 Create portal* 的table的權限,也就是說,Test用戶沒有辦法創建以portal開頭的表名稱,如果Test去執行了,就會收到提示:你無法執行該操作,這個過程將由觸發器結合業務邏輯過程實現,實現框圖如圖4所示。

ora_sysevent等這些是由trigger自動捕獲的,是有值的

ora_sysevent=create

ora_dict_obj_owner=test

ora_dict_obj_type=table

ora_dict_obj_name=portal1

有了這些值后,我們在存儲過程里,就可以做出相應的邏輯處理。

圖4 DDL權限控制原理圖

(2) ML權限控制的實現

DML權限控制主要是用來限制用戶操作表的,關心的是表的數據,根據實際情況禁止用戶插入和刪除某些表,實現方式主要分兩步,創建存儲過程、創建動態觸發器。例如限制sys用戶,向portal1表中插入、更新、刪除數據,如圖5所示:具體包括:a、動態創建觸發器;b、存儲函數判斷。

圖5 DML權限控制原理圖

(3) 表空間管理

表空間是Oracle數據庫中非常重要的一個對象,表空間的刪除屬于非常危險的操作,本系統擬把Oracle自帶的表空間刪除操作進行屏蔽,把真正的表空間刪除操作放到系統中來。具體做法是:令觸發器在表空間刪除之前,做以下工作:

a、判斷是否表空間為只讀,如果不是只讀,則提示失敗;

b、如果用戶確實有drop tablespace的權限,則繼續;

c、執行存儲過程,導出dmp文件,并且把dmp文件名保存到表TOR$DATAFILES,以備后續恢復。

4.2 數據恢復模塊的設計與實現

數據恢復模塊主要包括DDL數據恢復和DML數據恢復。

(1) DDL數據恢復的實現

實現方法是用一個表TOR$DDL_RECOVE_CONF,記錄了用戶需要對哪些表,在被drop或者truncate以后,數據能夠恢復回來的,當然了,首先是該用戶在權限控制里面,不應該被限制drop或者truncate table,否則,該操作根本就不能成功,恢復也就沒有必要了。表恢復的數據是來自于drop或truncate的操作之前,由trigger把該數據寫入到臨時表中的,如圖6所示。

臨時表數據多了,當然要清空,清空臨時表擬分為手動清空、自動清空。自動清空默認是1個月執行一次,手動清空則可以選擇性地進行清空數據。

圖6 表恢復原理圖

(2) DML數據恢復實現

在表TOR$DML_TABLE_RECV里保存DML數據的恢復配置,記錄了用戶需要對哪些用戶的那些表進行DML恢復,主要也是通過創建動態觸發器來實現的,在用戶進行DML操作之前,由觸發器記錄當前的SCN的值,記錄到表TOR$DML_LOG中,以備將來的恢復用,實現框圖如圖7所示。

在實際的業務系統中,考慮到DML操作是非常頻繁的,如果要對這些所有DML操作都進行記錄的話,TOR$DML_LOG里面的記錄會非常龐大,而且恢復的復雜度會大大提高,因此,我們需要提供信任IP的功能來供用戶填寫。信任IP是一個IP列表,里面一般填寫的是,我們信任的,可以對數據庫的某些關鍵業務表進行DML操作的機器IP,例如數據庫管理員的機器的IP地址等。觸發器一旦檢測到是這些機器做的操作,它就不會把數據存入TOR$DML_LOG中去。

圖7 DML數據恢復原理圖

5 互觸發保護的設計和實現

Oracle中的互保護技術,就是仿照木馬程序中的雙進程保護的原理,通過兩個觸發器,互相之間進行保護,同時利用了Java當中的加密技術,對于某個令牌進行加密和解密,如果令牌值相同的話,兩個觸發器就同時失效,這樣,我們的系統保護就能夠正常關閉掉,而想通過人為的方式直接去drop觸發器的操作,是無效的。如圖8所示。

圖8 互觸發保護原理圖

6 系統運行的情況

目前我們開發的擴展改進系統總體運行情況良好,達到了預期的效果。從系統的穩定性、安全性、靈活性及易用性四個方面進行了測試。

6.1 穩定性

系統運行前后的情況對比電腦各項指標對比見表2。

表2 本系統安裝前后電腦各項指標對比

通過安裝系統使用前后的對比情況統計,基本上對業務沒有任何的影響。

6.2 安全性

由于本系統采用了巧妙的雙觸發保護機制,使得本身的保護程序比較難被卸載,同時,觸發器的實時性保護性,對于數據的保護比較及時。采用二種測試方法加以檢驗。

測試方法1:SYS用戶對系統本身的各種卸載和破壞操作。

表3統計了SYS用戶對系統本身的各種卸載和破壞操作的情況。

表3 SYS用戶對系統本身的各種卸載和破壞操作的情況

測試方法2:通過書寫具體的壓力測試程序。

通過書寫具體的壓力測試程序,對于test用戶下的table1表進行truncate操作,觀察其保護功能。測試結果如表4所示。

表4 壓力測試情況(基于table1的truncate操作)

6.3 靈活性

系統通過靈活的權限配置方式,能夠執行類似正則表達式的通配符匹配權限,對Oracle權限進行了擴充,使得用戶使用更加得心應手,同時程序本身支持啟動/關閉,垃圾自動清理、自動數據備份和導出等的功能,作為業務系統的補充,顯得非常靈活。

6.4 易用性

系統的B/S架構的模式,界面友好,華麗,使用方便,無須安裝額外的客戶端,支持當前任何版本的瀏覽器,包括IE6.0,IE7.0,IE8.0,FireFox,Opera,Chrome,Safari等的瀏覽器。

[1] 康諾利.數據庫系統——設計、實現與管理(第三版)英文版.北京:電子工業出版社.2003.

[2] MarleneTheriaul,RachelCarmieae,JameSVISCusi(美)著,王蘭成等譯.Oracle數據庫管理員基礎教程.北京:機械工業出版社.2000.

[3] KevinLoney,Marlene Thierault.Oracle 9iDBA Handbook.oracle Press.1999.

[4] Oracle公司.Oracle Streams技術白皮書.ORACLE公司.2002.

[5] 王春曉.基于數據庫復制技術的公安機關固定資產匯總系統.碩士學位論文.北京化工大學.2008.

[6] 王彬,代彥波,顏鵬博.Oracle 10g簡明教程.北京:清華大學出版社.2006.

猜你喜歡
數據庫用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产日本一区二区三区| 国产区91| 久久久受www免费人成| 四虎永久免费在线| 91精品专区国产盗摄| 国产精品99一区不卡| 国产视频入口| 国产人人乐人人爱| 色视频国产| 亚洲日本一本dvd高清| 岛国精品一区免费视频在线观看 | 亚洲欧洲日韩综合色天使| 欧美日一级片| 国产成a人片在线播放| 黄色网站不卡无码| 亚洲中文无码h在线观看| 香蕉综合在线视频91| 国产h视频在线观看视频| 国产黑丝一区| 日本一区二区三区精品视频| 亚洲天堂在线免费| 欧美成人午夜视频| 国产成人乱码一区二区三区在线| 亚洲黄色网站视频| 蜜臀AV在线播放| 欧美一级在线看| 亚洲无码高清视频在线观看| 无码福利视频| 日韩亚洲综合在线| 国产精品性| 香蕉久久永久视频| 狂欢视频在线观看不卡| 无码一区18禁| 欧美在线国产| 无码中文AⅤ在线观看| 国产区免费精品视频| 狠狠做深爱婷婷综合一区| 久久久亚洲色| 亚洲成人在线免费观看| 热久久这里是精品6免费观看| 亚洲精品视频免费看| 久久窝窝国产精品午夜看片| 免费av一区二区三区在线| 国产麻豆福利av在线播放| 欧美一区二区精品久久久| 日韩在线欧美在线| 玖玖免费视频在线观看| 欧美性天天| 女人18毛片一级毛片在线| 中文字幕在线欧美| 香蕉伊思人视频| 日韩精品中文字幕一区三区| 人妻精品久久无码区| 亚洲制服丝袜第一页| 欧美午夜性视频| vvvv98国产成人综合青青| 国产成人AV男人的天堂| 91精品国产情侣高潮露脸| 欧美综合区自拍亚洲综合天堂| 国产成人综合网在线观看| 国产成人精品亚洲77美色| 亚洲动漫h| 国产乱人乱偷精品视频a人人澡| 高清欧美性猛交XXXX黑人猛交 | 亚洲国产精品日韩专区AV| 精品成人免费自拍视频| 亚洲精品在线影院| 日韩精品免费在线视频| 亚洲欧美成人在线视频| 欧美www在线观看| 在线观看欧美精品二区| 99久视频| 国产激情第一页| 第一区免费在线观看| 欧美日韩动态图| 国产精品偷伦在线观看| 久久青草免费91观看| 久草性视频| 国内熟女少妇一线天| 国产免费黄| jizz国产视频| 欧美成人精品高清在线下载|