您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Oracle Vault是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Oracle Vault是什么”這篇文章吧。
Oracle數據庫作為目前最成熟的商業數據庫,在穩定其核心功能的同時也針對數量眾多的用戶群提出了很多安全運維工具解決方案。在數據層面,Oracle有三個代表新的技術:Virtual Private Database(VPD)、Label Security和Oracle Vault。VPD主要是針對解決應用層面的數據訪問需求添加數據訪問權限,Label Security是VPD某種程度的拓展升級。而Vault主要是對Oracle數據庫的安全職責進行分離,將數據安全責任從用戶甚至sys身上剝離出去,進行細粒度的安全責任分配。
1、Oracle Vault簡述
Oracle Vault是官方推薦的security策略之一,它主要用于運維機構中對數據的保護。傳統意義的Oracle安全是一種“sys上帝”的主宰模型。我們雖然有各種系統、角色和對象權限,雖然各種安全手冊要我們使用非sys用戶進行維護工作,但是很多數據庫管理員還是在使用sys進行所有工作。一些數據防護技術,比如VPD雖然可以實現數據層面的控制,但是對sys也是無效的。
更重要的是一些any類的系統權限,如select any table,一旦賦予,用戶其實就控制了所有數據表的數據訪問。這個是非常武斷的做法,潛藏著很大問題。
在“sys上帝”的前提控制下,這樣的局面是控制不住的。因為一些運維操作,如數據備份、導入導出是避免不了高級訪問權限的。“要么不做、要么別管”就是我們目前很多運維機構的現狀。
Oracle Vault提供了sys用戶削權的一種選擇。作為Oracle數據庫的一個可選組件,Vault是需要額外的文件鏈接、注冊和安裝的。安裝vault之后,Oracle會去創建一個全新的用戶dbvowner,原有的sys對一些數據的操作和訪問權限,也都有進行控制的可能。
Vault中的三個核心要素:Realm(領域)、Factor(因素)和規則(Rule)。從數據對象、操作命令等多個方面來限制或者保護特定的對象。
本系列中,會介紹Oracle Vault的安裝、配置和使用方法。首先,我們介紹如何進行vault安裝。
2、Oracle Vault前提
默認企業版中,Vault是不會安裝的。我們需要手工的進行編譯、安裝,才能使用。
我們采用Oracle 11gR2進行測試,版本號為11.2.0.4。
SQL> select * from v$version;
BANNER
-----------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
判斷當前vault是否安裝,查看v$option視圖。
SQL> select * from v$option where parameter like '%Vault%';
PARAMETER VALUE
------------------------- ----------
Oracle Database Vault FALSE
安裝配置之前,要將數據庫、監聽程序、DB Console關閉。
--監聽程序
[oracle@SimpleLinux ~]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-APR-2014 12:41:34
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SimpleLinux)(PORT=1521)))
The command completed successfully
--Console
[oracle@SimpleLinux ~]$ emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
https://SimpleLinux:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 11g Database Control ...
... Stopped.
--Database Server
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
3、組件編譯
Oracle Vault是依賴Label Security,需要在操作系統層面上啟動配置。在Linux/Unix環境下,使用make進行配置鏈接。
[oracle@SimpleLinux lib]$ cd $ORACLE_HOME/rdbms/lib
[oracle@SimpleLinux lib]$ make -f ins_rdbms.mk dv_on lbac_on ioracle
/usr/bin/ar d /u01/app/oracle/rdbms/lib/libknlopt.a kzvndv.o
/usr/bin/ar cr /u01/app/oracle/rdbms/lib/libknlopt.a /u01/app/oracle/rdbms/lib/kzvidv.o
/usr/bin/ar d /u01/app/oracle/rdbms/lib/libknlopt.a kzlnlbac.o
/usr/bin/ar cr /u01/app/oracle/rdbms/lib/libknlopt.a /u01/app/oracle/rdbms/lib/kzlilbac.o
chmod 755 /u01/app/oracle/bin
- Linking Oracle
rm -f /u01/app/oracle/rdbms/lib/oracle
gcc -o /u01/app/oracle/rdbms/lib/oracle -m32 -z noexecstack -L/u01/app/oracle/rdbms/lib/ -L/u01/app/oracle/lib/ -L/u01/app/oracle/lib/stubs/ -L/u01/app/oracle/lib/ -lirc -lipgo -Wl,-E /u01/app/oracle/rdbms/lib/opimai.o
(篇幅原因,有省略……)
-L/u01/app/oracle/lib
test ! -f /u01/app/oracle/bin/oracle ||\
mv -f /u01/app/oracle/bin/oracle /u01/app/oracle/bin/oracleO
mv /u01/app/oracle/rdbms/lib/oracle /u01/app/oracle/bin/oracle
chmod 6751 /u01/app/oracle/bin/oracle
注意:如果在Exadata中需要使用IPC協議訪問存儲,則需要加入ipc_rds協議模塊。另外如果Windows平臺,則是將$ORACLE_HOME/bin目錄中oradv11.dll.dbl改名為oradv11.dll命令。
之后,重新啟動監聽器和服務器。
[oracle@SimpleLinux lib]$ lsnrctl start
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 372449280 bytes
Fixed Size 1364732 bytes
Variable Size 281021700 bytes
4、調用dbca啟動
在支持GUI的界面方式下,調用dbca啟動編譯。
點擊下一步Next,選擇Configure Database Options項目。之后選擇目標數據庫。
從選項中,選擇上Label Security和Vault選項。
配置項目中,包括了Oracle Vault用戶owner的名稱和管理員密碼。注意:這個配置密碼環節是很嚴格的,要求長度是8-30位、不出現重復字符和包括至少一個標點符號。
選擇連接方法,包括獨占方式和共享連接方式。最后安裝選項。
最后安裝成功,結束GUI界面。
5、啟動DBV配置界面
和很多Oracle組件一樣,Oracle Vault是可以通過一系列的API接口調用來進行配置管理的。但是,由于復雜性,Oracle并不推薦直接使用API接口命令進行管理,而是通過提供的dbv應用進行配置。使用dbv的方法和em很像,而且避免了出現錯誤的幾率。
調用dbv的方法,首先是啟動emctl。之后調用https://:
/dva。端口號和em是一樣的。
點擊登錄,就可以看到配置項目。
Vault默認是提供很多默認配置內容的。在完成安裝之后,我們最直接觀察就是sys本身功能被限制。
SQL> conn sys/oracle@ora11g as sysdba
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0
Connected as SYS
SQL> create user xxx identified by xxx;
create user xxx identified by xxx
ORA-01031: 權限不足
SQL> alter user scott identified by tiger;
alter user scott identified by tiger
ORA-01031: 權限不足
6、結論
Oracle Vault是目前Oracle官方推薦的運維安全策略。在實際應用中,主要便于進行sys等管理員帳號權限限制,保護核心業務數據。
以上是“Oracle Vault是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。