當前位置:首頁 » 數據倉庫 » oracle資料庫安全方案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫安全方案

發布時間: 2022-05-05 04:14:08

『壹』 簡述oracle安全加固從哪幾個方面入手加固

1.安全加固的檢查方向
2.安全加固檢查safeCheck.sh
3.安全加固執行safeExec.sh

1.安全加固的檢查方向

1.1.sysdba用戶遠程登錄限制(查看Oracle登錄認證方式)

檢查:
show parameter remote_login_passwordfile

整改:
alter system set remote_login_passwordfile = NONE scope=spfile;
註:需要重啟庫生效。

1.2.是否開啟了資源限制

show parameter resource_limit

alter system set resource_limit = true;

1.3.登錄失敗的帳號鎖定策略

select * from dba_profiles order by 1;
關注FAILED_LOGIN_ATTEMPTS的設定值

1.4.資料庫用戶帳號檢查

檢查:
select username,profile from dba_users where account_status='OPEN';

整改:
鎖定用戶:alter user <用戶名> lock;
刪除用戶:drop user <用戶名> cascade;

1.5.範例資料庫帳號

是否存在默認的範例資料庫賬號scott等,可以考慮刪除scott賬號

1.6.dba許可權賬戶檢查

select username,profile from dba_users where account_status='OPEN';

1.7.資料庫賬戶口令加密存儲

11g數據裡面的賬戶口令本來就是加密存儲的。

1.8.資料庫密碼安全性校驗函數

select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';

1.9.設定信任IP集

只需在伺服器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中設置以下行:

tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
1.10.超時的空閑遠程連接是否自動斷開

根據實際需要設置合適的數值。
在$ORACLE_HOME/network/admin/sqlnet.ora中設置下面參數:
SQLNET.EXPIRE_TIME=10

2.安全加固檢查safeCheck.sh

#!/bin/bash
#name:safeCheck.sh
#function:to create a safe check report.
#usage: oracle用戶登錄,執行 sh safeCheck.sh > /tmp/safeCheck.log

#logon database
sqlplus -S / as sysdba <<EOF

--format
prompt ============================
prompt == format
prompt ============================
prompt
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30

--check
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
prompt
show parameter remote_login_passwordfile
prompt 結果應為none.

prompt ======================
prompt == 2.resource_limit
prompt ======================
prompt
show parameter resource_limit
prompt 結果應為true.

prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
prompt
select * from dba_profiles order by 1;
prompt 關注FAILED_LOGIN_ATTEMPTS參數

prompt ===========================
prompt == 4.資料庫用戶帳號檢查
prompt ===========================
prompt
select username,profile from dba_users where account_status='OPEN';
prompt 正常使用的用戶列表

prompt ==========================
prompt == 5.範例資料庫帳號
prompt ==========================
prompt
select * from all_users order by created;
prompt 關注有無示例賬戶scott

prompt ===========================
prompt == 6.dba許可權賬戶檢查
prompt ===========================
prompt

prompt ===========================
prompt == 7.資料庫賬戶口令加密存儲
prompt ===========================
prompt

prompt =============================
prompt == 8.資料庫密碼安全性校驗函數
prompt =============================
prompt
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
prompt 結果應該不為null

--logoff database
EOF

# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
echo
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)

echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
echo
#根據實際需要設置合適的數值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
3.安全加固執行safeExec.sh

#!/bin/bash
#name:safeExec.sh
#function:to execute the script for safe.
#usage: oracle用戶登錄,執行 sh safeExec.sh > /tmp/safeExec.log

#logon database
sqlplus -S / as sysdba <<EOF

--format
prompt ============================
prompt == format
prompt ============================
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30

--execute
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
alter system set remote_login_passwordfile=none scope=spfile;

prompt ======================
prompt == 2.resource_limit
prompt ======================
alter system set resource_limit=true;

prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
alter profile default limit FAILED_LOGIN_ATTEMPTS 10;

prompt ===========================
prompt == 4.資料庫用戶帳號檢查
prompt ===========================
--select username,profile from dba_users where account_status='OPEN';
prompt I think I have nothing to do in this step.

prompt ===========================
prompt == 5.範例資料庫帳號
prompt ===========================
prompt 是否刪除範例scott用戶?
--drop user scott cascade;

prompt ===========================
prompt == 6.dba許可權賬戶檢查
prompt ===========================
prompt I think I have nothing to do in this step.

prompt ===========================
prompt == 7.資料庫賬戶口令加密存儲
prompt ===========================
prompt 11g版本,資料庫層面就是加密的嘛~

prompt =============================
prompt == 8.資料庫密碼安全性校驗函數
prompt =============================
prompt 執行創建安全性校驗函數的腳本
@?/rdbms/admin/utlpwdmg.sql

--logoff database
EOF

# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)

echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
#根據實際需要設置合適的數值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
針對第9和第10步驟中的sqlnet.ora配置文件示例:

注意如果是ASM實例,sqlnet.ora配置文件是grid用戶下$ORACLE_HOME/network/admin/sqlnet.ora的。

SQLNET.EXPIRE_TIME=10
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.99.*)

『貳』 Oracle默認的用戶名和密碼是什麼

在控制台用sqlplus / as sysdba登陸oracle系統時,所用的用戶名和密碼通常有四種。

  1. 用戶名: internal 密碼:oracle

2. 用戶名:system 密碼:manager

3. 用戶名:sys 密碼:change_on_install

4. 其中直接管理模式可以為sysdba的為後面三個,要是集群的話再去掉system。

(2)oracle資料庫安全方案擴展閱讀:

一:oracle sys密碼的重置方法

在系統運行中輸入:sqlplus /nolog

在命令窗口分別執行:conn /as sysdba

alter user scott identified by tiger;

alter user scott account unlock;

然後「scott」用戶密碼就修改為「tiger」了,用戶可根據自己需求,重置密碼。

二:ORACLE資料庫安全解決方案

1.目前應用系統中對資料庫的依賴程度與日俱增,應用資料庫可以使應用系統開發更加方便,不再需要為煩瑣的檢索、查詢、統計進行單獨設計語法,同時交易的完整性又能得到可靠保證,但是資料庫廠家的不斷整合又為企業應用帶來了新的考驗:

(1)、Informix被IBM收購

(2)、Mysql被ORACLE收購

(3)、Sybase被SAP收購

被微軟收購的更不計其數了,還有很多小資料庫廠商被收購,開源的尤其多,追其根源,大廠商的資料庫技術越來越龐大,但是體系架構又不適應靈活發展,面對中小資料庫廠商的迅猛發展,他們惟有走收購之路,但是收購之後呢,他們不會讓其發展,最終受傷的還是中小企業客戶群。

2.安全歷程

目前無論是銀行綜合業務系統,還是移動計費系統還是政權交易系統,都毫無例外的選擇大型資料庫進行交易,那麼對於在911市貿悲劇後的安全方案究竟有什麼特殊考慮呢?

資料庫容災無疑是目前脫穎而出的技術方案,應用系統數據的安全除了網路防火牆、防病毒以及許可權設計之外就是資料庫的備份工作了,可以說資料庫備份經歷了以下幾個階段:

單機版系統磁碟備份

數據磁帶備份

區域網備份

雙機熱備/磁碟陣列RAID

磁帶庫備份

光碟塔備份

遠程容災備份

全球多點容災備份

3.安全考慮

目前應用系統解決方案中多數應用目前主要還在考慮系統功能的建設,但是隨著資料庫容量的增加,歷史數據查詢審計需要加快,對歷史數據的分析和對在線數據的實時可用已經變得越來越迫切。

客戶不僅需要能夠快速查詢資料庫,同時對目前應用系統的實時可用以及負載均衡都提出了更加明確的要求,為此在雙機熱備+磁帶庫冷備的多數解決方案外,很多大型金融證券企業都開始進行數據中心的建立,大型異地災備中心開始提到議事日程。

4.比較完善

其實為客戶提供安全解決方案,應該在應用系統的規劃中就應該考慮,等到企業意思到安全的時候恐怕就需要耗費大量的人力、

物力來遷移數據,建立災備中心,但是這僅僅是物理的,如何從資料庫層面使從1BYTE的數據進入資料庫就被安全的保護起來呢,無疑資料庫同步熱備的相關產品是我們應該考慮的。

因為即使不建立災備中心,對數據實時熱備也不需要太大的投入,只需要安裝資料庫同步產品,那麼就可以輕松檢驗數據是否真正同步熱備,當客戶意識到需要建立災備中心的時候,那僅僅是地點和網路的重新部署,

同步軟體已經伴隨客戶成長,伴隨數據成長,到時集成商為客戶做的就是規劃好災備中心的設備和格局,這樣一個完善的災備方案就被你輕松建立了。並且隨著數據逐漸增加,客戶會對災備中心提供的負載均衡功能更加依賴,不但減輕硬體的投入,還可以讓查詢對應用系統的資源佔用減少到「0」。

5.產品分類

目前這塊能夠擔當同步伺服器功能的只有沃信科技的PAC資料庫同步產品,因為包括ORACLE DATAGUARD、DSG、GOLDEN GATE、SHAREPLEX等廠家的產品必須安裝在主資料庫上,這樣不只佔用主庫資源,同時也對應用系統的穩定性提出了更高要求,

但沃信科技的產品可以安裝在獨立於主備庫的第三方伺服器上,這樣資料庫同步軟體不佔用主庫系統資源,同時避免了操作系統、資料庫版本不一致的局限性。同時在所有產品中性價比最高,唯一提供免費試用,同時是唯一一家提供華軍軟體園下載的產品。

『叄』 Oracle資料庫提供的安全性措施有哪些

Oracle的安全措施主要有三個方面,一是用戶標識和鑒定;二是授權和檢查機制;三是審計技術(是否使用審計技術可由用戶靈活選擇);除此之外,Oracle還允許用戶通過觸發器靈活定義自己的安全性措施。

一、用戶標識和鑒定
在Oracle中,最外層的安全性措施是讓用戶標識自己的名字,然後由系統進行核實。Oracle允許用戶重復標識三次,如果三次未通過,系統自動退出。

二、授權與檢查機制
Oracle的許可權包括系統許可權和資料庫對象的許可權兩類,採用非集中的授權機制,即DBA負責授予與回收系統許可權,每個用戶授予與回收自己創建的資料庫對象的許可權。
Oracle允許重復授權,即可將某一許可權多次授予同一用戶,系統不會出錯。Oracle也允許無效回收,即用戶沒有某種許可權,但回收此許可權的操作仍算成功。
1. 系統許可權
Oracle提供了80多種系統許可權,如創建會話、創建表、創建視圖、創建用戶等。DBA在創建一個用戶時需要將其中的一些許可權授予該用戶。
Oracle支持角色的概念。所謂角色就是一組系統許可權的集合,目的在於簡化許可權管理。Oracle除允許DBA定義角色外,還提供了預定義的角色,如CONNECT,RESOURCE和DBA。
具有CONNECT角色的用戶可以登錄資料庫,執行數據查詢和操縱。即可以執行ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等操作。
RESOURCE角色可以創建表,即執行CREATE TABLE操作。創建表的用戶將擁有對該表的所有許可權。
DBA角色可以執行某些授權命令,創建表,對任何錶的數據進行操縱。它涵蓋了前兩種角色,此外還可以執行一些管理操作,DBA角色擁有最高級別的許可權。
例如DBA建立一用戶U1後,欲將ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等系統許可權授予U1,則可以只簡單地將CONNECT角色授予U1即可:
GRANT CONNECT TO U1;
這樣就可以省略十幾條GRANT語句。
2. 資料庫對象的許可權
在Oracle中,可以授權的資料庫對象包括基本表、視圖、序列、同義詞、存儲過程、函數等,其中最重要的是基本表。
對於基本表Oracle支持三個級別的安全性:表級、行級和列級。

(1)表級安全性
表的創建者或者DBA可以把表級許可權授予其他用戶,表級許可權包括:
ALTER:修改表定義
DELETE:刪除表記錄
INDEX:在表上建索引
INSERT:向表中插入數據記錄
SELECT:查找表中記錄
UPDATE:修改表中的數據
ALL:上述所有許可權
表級授權使用GRANT和REVOKE語句。
(2)行級安全性
Oracle行級安全性由視圖實現。用視圖定義表的水平子集,限定用戶在視圖上的操作,就為表的行級提供了保護。視圖上的授權與回收與表級完全相同。
例如,只允許用戶U2查看Student表中信息系學生的數據,則首先創建信息系學生的視圖S_IS,然後將該視圖的SELECT許可權授予U2用戶。

『肆』 Oracle資料庫安全性設計大家給點建議

Oracle資料庫本身的安全性建設
從總體上而言,Oracle資料庫是業界安全性方面最完備的資料庫產品。在資料庫安全性的國際標准中,Oracle通過了14項標準的測試,是所有資料庫產品中通過安全性標准最多、最全面的產品。Oracle在C2級的操作系統上(如商用UNIX,VMS操作系統),不僅滿足NCSC C2級安全標准,而且已經正式通過了NCSC C2標準的測試。在B1級的操作系統上不僅滿足NCSC B1級安全標准,而且已經通過了NCSC B1級標準的測試。

Oracle提供的主要安全性措施如下:
�8�9 身份認證功能(Authentication):識別訪問個體的身份
�8�9 數據訪問的機密性(Confidentialty):保證敏感數據訪問的機密性。
�8�9 數據完整性(Integrity):保證數據不被篡改。
�8�9 授權能力(Authorization):保證被授權用戶對數據的查詢和修改能力。
�8�9 訪問控制(Access Control):確定對指定數據的訪問能力。
�8�9 審計能力(Auditing):提供監測用戶行為的能力。
�8�9 私有性(Privacy):提供對敏感數據訪問的私密性。
�8�9 高可用性(Availability):保證數據和系統提供不間斷服務的能力。
�8�9 代理管理能力(Delegated Administration):提供對用戶帳號的集中管理功能。

下面將就應用系統本身對於Oracle提供的安全性措施作更深入的探討。
$PageTitle= Oracle的安全性領域}
三、 Oracle的安全性領域
�8�5 Profile控制
Oracle利用profile機制來管理會話資源佔用,同時也管理用戶密碼的安全策略。
通過profile我們可以實現:
某個特定用戶最多隻能佔用系統百分之幾的CPU時間?
某個特定用戶連接到資料庫之後能存活多長時間?
某個特定用戶連接到資料庫之後多長時間處於非活躍狀態就將被系統中斷連接?
用戶登錄密碼輸入錯誤多少次之後就將自動鎖定用戶?
用戶密碼的長度和包含的字元必須符合什麼樣的規則?
用戶密碼在多少天後將自動失效並要求設定新密碼?

�8�5 用戶許可權控制 (Privilage)
Oracle通過角色(Role),許可權(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的進行用戶的許可權控制。

通過許可權控制我們可以實現:
某個特定用戶只能讀取而不能修改另一個用戶的表數據。
某個特定用戶只能運行Oracle資料庫系統的幾個存儲過程或者函數。
某個特定用戶自己能夠擁有修改某些數據的權力,但是卻無法給其它不擁有這個許可權的用戶授予修改該數據的權力。
某個特定用戶可以讀取數據但是無法創建新的表空間。
�8�5 虛擬專用資料庫(VPD)
虛擬專用資料庫 (VPD) 也稱為細粒度訪問控制,它提供強大的行級安全功能。它是在 Oracle8i 中推出的,已經受到廣泛的歡迎。
VPD 的工作方法是,通過透明地更改對數據的請求,基於一系列定義的標准向用戶提供表的局部視圖。在運行時,所有查詢都附加了謂詞,以便篩選出准許用戶看到的行。
也就是通過VPD的設置,我們可以做到行級安全性控制,特定的用戶即使對一張表有讀取許可權,那麼也只能看到符合自身許可權的記錄。

注意,在Oracle10g版本中,VPD得到增強,已經可以實現欄位級的安全性控制了。
實例及搭建步驟參看:利用VPD細粒度訪問策略實現行級安全性 Step By Step

�8�5 Orace Label Security
基於對由客戶提交的行級安全性的嚴格要求,Oracle Label Security(Oracle 資料庫企業版的選件之一)利用多級安全性概念解決了世界上政府和商業用戶在實際中遇到的數據安全和隱私問題。
OLS 通過利用數據敏感度標簽(例如「敏感」和「公司機密」)與用戶標簽授權,提供了完善的行級安全性控制。
OLS 使用政策概念來存儲標簽定義和授權。該政策可直接在資料庫中進行管理,或在 Oracle 身份管理中進行集中管理。

�8�5 Oracle Database Valut
通常資料庫管理員如果具有了DBA許可權,那麼就很難防止這樣的管理員查看應用程序數據。而Oracle Database Valut則解決了必須保護涉及合作夥伴、員工和顧客的敏感業務信息或隱私數據的客戶最為擔心的問題。
Oracle Database Vault 可防止高許可權的應用程序 DBA 訪問其他的應用程序、執行其許可權之外的任務。Oracle Database Vault 可在不影響應用程序功能的前提下快速而高效地保護現有程序。
Oracle Database Vault 可通過下列方法解決一些最為常見的安全問題和內部威脅:
1. 限制 DBA 和其他授權用戶訪問應用程序數據。
2. 防止DBA 操縱資料庫和訪問其他應用程序。Oracle Database Vault 提供了強大的職責劃分控制功能,可防止擅自更改資料庫。比如說如果一個用戶具有 CREATE USER 許可權,但不具備正確的用戶管理許可權,則 Oracle Database Vault 將阻止該 DBA 創建新用戶。
3. 更好的控制何人、何時、何地可以訪問應用程序。如日期時間、資料庫客戶端在網路上的位置之類的因素。
Oracle Database Valut是新的Oracle Database 10g企業版的選件。目前已經有Linux X86以及Solaris SPARC 64bit的版本可以下載使用了。

�8�5 用戶訪問審計
審計是Oracle安全性的另一個重要領域,我們還必須小心地計劃審計方案。有幾種方式可在Oracle中進行審計:
1. SQL審計命令(標准審計)
通過AUDIT語句我們可以對成功或者不成功的特定對象的讀取,更新操作進行審計。
標准審計只會記錄較少的跟蹤信息,比如發出該語句的用戶、時間、終端標識號等等。
該審計對於系統性能的影響更多地取決於對象的繁忙程度。
2. 用對象觸發器進行審計(也就是DML審計)
此類審計通常由客戶自行開發放置於特定資料庫對象上的觸發器,由於是自行開發,所以相對於標准審計則能夠更自由地記錄更多感興趣的跟蹤信息。比如更新操作將某個欄位從什麼原始值更新到了什麼新值。
該審計對於系統性能的影響更多地取決於對象的繁忙程度和觸發器的編寫水平。
3. 用系統級觸發器進行審計(記錄用戶登錄和退出)
當用戶登錄資料庫或者離開資料庫時,都可以通過自定義的觸發器來記錄用戶名稱,操作時間,終端標識號等信息。
由於觸發器觸發幾率小,所以該審計對於系統性能影響並不大。
4. 用LogMiner進行審計(也就是DML和DDL)
Oracle資料庫將所有的更新操作都記錄在重作日誌中,而Oracle提供了LogMiner工具用於挖掘重作日誌中的所有操作,相比起上述的各種審計方法來說,該種審計可能是信息最為完善,對於應用系統性能影響最小的方法。
此處稍微延展開來說一下,LogMiner是雙刃劍,既然可以用來審計,也就能夠被惡意使用作為數據竊取的工具。所以在數據本身的加密方面,Oracle同樣提供了多種解決方案,比如DBMS_OBFUSCATION_TOOLKIT,DBMS_CRYPTO和最新的透明數據加密,甚至在數據備份方面 Oracle也推出了Secure Backup來應對磁帶數據的加密,但是要注意到數據加密不應用作訪問控制的替代項,存儲加密的數據並不會在存儲介質本身提供額外的保護層,只是有助於在發生介質遭竊時保護諸如信用卡號之類的敏感數據。本文不再作更多的介紹。
5. 細精度審計(FGA)
細粒度審計 (FGA),是在 Oracle 9i 中引入的,能夠記錄 SCN 號和行級的更改以重建舊的數據,但是它們只能用於 select 語句,而不能用於 DML,如 update、insert 和 delete 語句。因此,對於 Oracle 資料庫 10g 之前的版本,使用觸發器雖然對於以行級跟蹤用戶初始的更改是沒有吸引力的選擇,但它也是唯一可靠的方法。
而Oracle10g種FGA功能的增強使其不但能夠支持select操作,同時也支持DML操作。在 Oracle 10g 中,審計已經從一個單純的「操作記錄者」成長為一個「事實記錄機制」,它能以一個非常詳細的級別來捕獲用戶的行為,這可以消除您對手動的、基於觸發器的審計的需要。它還結合了標准審計和 FGA 的跟蹤,這使其更易於跟蹤資料庫訪問,而不用考慮它是如何生成的。
通過細粒度審計我們可以記錄:
在早上九點到下午六點之間或在星期六和星期日對某個表進行了訪問。
使用了公司網路外部的某個 IP 地址。
選定或更新了特定列。
使用了該列的特定值。

『伍』 兩個oracle資料庫如何設計容災方案

在企業災備預算中,最常見的問題就是按原套設備去做預算,費用往往高得嚇人,所以很多企業想做災備,最後都會卡在預算上。今天,英方工程師分享一個案例,如何將災備預算成倍下降,提升企業的災備幸福感。

1、AIX+Oracle雙機要做災備
 
案例需求:客戶AIX+Oracle雙機規劃災備建設,確保業務數據安全與業務連續。
 
災備規劃方案一:在本地災備中心按照生產環境AIX+Oracle雙機的配置進行規劃,價格太高,超出了預算范圍。主要原因是客戶相當於花雙倍價錢,買兩套同樣的設備,但是只有一套設備在生產,性價比太低,並且後續的運維成本也很高,所以方案被斃掉。
 
災備規劃方案二:利用雲計算的資源,將災備中心寄託於雲計算上。私有雲造價昂貴,對客戶體量不適合;公有雲是很好的選擇,但是經過計算,客戶發現在資料庫采購、服務費用、雲設施按需購買等綜合費用也比方案一少不了幾個錢,並且公有雲的安全性沒有私有雲的高,方案整體的穩定性、可控性差,所以方案也被斃掉。
 
2、方案涉及到的操作系統的知識點
 
本案涉及生產環境的操作系統與資料庫配置,我們先簡單介紹AIX、UNIX、Linux的知識點。
 
首先是AIX,它是IBM基於AT&TUnixSystemV開發的一套「類UNIX」操作系統,運行在IBM專有的Power系列晶元設計的小型機硬體系統之上。那麼,什麼是UNIX操作系統呢?
 
UNIX操作系統是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、DennisRitchie和DouglasMcIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標准組織所擁有,只有符合單一UNIX規范的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。
 
Linux是一套免費使用和自由傳播的「類Unix」操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議,支持32位和64位硬體。
 
3、簡單跨平台,Linux+i2輕松災備
 
針對上面客戶提到的災備需求,很顯然,理想與現實的距離總是那麼遙遠。但是不要灰心,英方工程師有辦法。針對這種情況,我們首先需要跳出傳統容災備份的思路,特別是英方新災備技術方案對於操作系統與資料庫等進行跨平台災備的創新,在窄帶寬、長距離、平台異構(操作系統與存儲方式)、低成本、安全性、穩定性等方面有諸多的優勢。

『陸』 如何消除Oracle資料庫的安全隱患

但由於計算機軟、硬體故障、口令泄密、黑客攻擊等等因素,都可導致資料庫系統不能正常運轉,造成大量數據信息丟失,數據被惡意篡改,甚至使資料庫系統崩潰。忽視Oracle資料庫的安全問題,必將給用戶帶來巨大的損失。如何保證資料庫的安全運行是資料庫管理員日常工作中的首要問題。下面提出幾條防範措施供大家參考:一、用戶角色的管理與口令保密 這是保護資料庫系統安全的重要手段之一。它通過建立不同的用戶組和用戶口令驗證,可以有效地防止非法的Oracle用戶進入資料庫系統,造成不必要的麻煩和損壞;另外在Oracle資料庫中,可以通過授權來對Oracle用戶的操作進行限制,即允許一些用戶可以對Oracle伺服器進行訪問,也就是說對整個資料庫具有讀寫的權利,而大多數用戶只能在同組內進行讀寫或對整個資料庫只具有讀的權利。在此,特別強調對SYS和SYSTEM兩個特殊賬戶的保密管理。Oracle的資料庫管理員都知道,資料庫系統典型安裝後,一般sys和system以及internal這三個用戶具有默認的口令,資料庫安裝成功後,系統管理員作的第一件工作就是修改這些用戶的口令,保證資料庫的安全性。 為了加強資料庫在網路中的安全性,對於遠程用戶,應使用加密方式通過密碼來訪問資料庫,加強網路上的DBA許可權控制,如拒絕遠程的DBA訪問等。
二、數據保護 資料庫的數據保護主要是資料庫的備份,當計算機的軟硬體發生故障時,利用備份進行資料庫恢復,以恢復破壞的資料庫文件或控制文件或其他文件。

『柒』 oracle資料庫的安全控制機制有哪些

固定長度或者有一定生成規律的只讀數組可以用table values語句來實現,或者用with表達式來實現更復雜一點的邏輯. 不過這也只能解決一部分問題.
select * from table(values(1),(2),(3)) as t(a)
with t(a) as ( values 1 union all select t.a + 1 from t where t.a<99) select * from t;
但要在這個數組裡面做刪除,改變元組的操作就不適用了.

『捌』 在IT項目建設中,如何保證資料庫安全性

#雲原生背景#

雲計算是信息技術發展和服務模式創新的集中體現,是信息化發展的重要變革和必然趨勢。隨著「新基建」加速布局,以及企業數字化轉型的逐步深入,如何深化用雲進一步提升雲計算使用效能成為現階段雲計算發展的重點。雲原生以其高效穩定、快速響應的特點極大地釋放了雲計算效能,成為企業數字業務應用創新的原動力,雲原生進入快速發展階段,就像集裝箱加速貿易全球化進程一樣,雲原生技術正在助力雲計算普及和企業數字化轉型。

雲原生計算基金會(CNCF)對雲原生的定義是:雲原生技術有利於各組織在公有雲、私有雲和混合雲等新型動態環境中,構建和運行可彈性擴展的應用。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式編程API。

#雲安全時代市場發展#

雲安全幾乎是伴隨著雲計算市場而發展起來的,雲基礎設施投資的快速增長,無疑為雲安全發展提供土壤。根據 IDC 數據,2020 年全球雲安全支出占雲 IT 支出比例僅為 1.1%,說明目前雲安全支出遠遠不夠,假設這一比例提升至 5%,那麼2020 年全球雲安全市場空間可達 53.2 億美元,2023 年可達 108.9 億美元。

海外雲安全市場:技術創新與兼並整合活躍。整體來看,海外雲安全市場正處於快速發展階段,技術創新活躍,兼並整合頻繁。一方面,雲安全技術創新活躍,並呈現融合發展趨勢。例如,綜合型安全公司 PaloAlto 的 Prisma 產品線將 CWPP、CSPM 和 CASB 三個雲安全技術產品統一融合,提供綜合解決方案及 SASE、容器安全、微隔離等一系列雲上安全能力。另一方面,新興的雲安全企業快速發展,同時,傳統安全供應商也通過自研+兼並的方式加強雲安全布局。

國內雲安全市場:市場空間廣闊,尚處於技術追隨階段。市場規模上,根據中國信通院數據,2019 年我國雲計算整體市場規模達 1334.5億元,增速 38.6%。預計 2020-2022 年仍將處於快速增長階段,到 2023 年市場規模將超過 3754.2 億元。中性假設下,安全投入占雲計算市場規模的 3%-5%,那麼 2023 年中國雲安全市場規模有望達到 112.6 億-187.7 億元。技術發展上,中國在雲計算的發展階段和雲原生技術的程度上與海外市場還有一定差距。國內 CWPP 技術應用較為廣泛,對於 CASB、CSPM 一些新興的雲安全技術應用較少。但隨著國內公有雲市場的加速發展,雲原生技術的應用越來越廣泛,我們認為CASB、SCPM、SASE 等新興技術在國內的應用也將越來越廣泛。

#雲上安全呈原生化發展趨勢#

雲原生技術逐漸成為雲計算市場新趨勢,所帶來的安全問題更為復雜。以容器、服務網格、微服務等為代表的雲原生技術,正在影響各行各業的 IT 基礎設施、平台和應用系統,也在滲透到如 IT/OT 融合的工業互聯網、IT/CT 融合的 5G、邊緣計算等新型基礎設施中。隨著雲原生越來越多的落地應用,其相關的安全風險與威脅也不斷的顯現出來。Docker/Kubernetes 等服務暴露問題、特斯拉 Kubernetes 集群挖礦事件、Docker Hub 中的容器鏡像被「投毒」注入挖礦程序、微軟 Azure 安全中心檢測到大規模 Kubernetes 挖礦事件、Graboid 蠕蟲挖礦傳播事件等一系列針對雲原生的安全攻擊事件層出不窮。

從各種各樣的安全風險中可以一窺雲原生技術的安全態勢,雲原生環境仍然存在許多安全問題亟待解決。在雲原生技術的落地過程中,安全是必須要考慮的重要因素。

#雲原生安全的定義#

國內外各組織、企業對雲原生安全理念的解釋略有差異,結合我國產業現狀與痛點,雲原生與雲計算安全相似,雲原生安全也包含兩層含義:「面向雲原生環境的安全」和「具有雲原生特徵的安全」。

面向雲原生環境的安全,其目標是防護雲原生環境中的基礎設施、編排系統和微服務的安全。這類安全機制,不一定具備雲原生的特性(比如容器化、可編排),它們可以是傳統模式部署的,甚至是硬體設備,但其作用是保護日益普及的雲原生環境。

具有雲原生特徵的安全,是指具有雲原生的彈性敏捷、輕量級、可編排等特性的各類安全機制。雲原生是一種理念上的創新,通過容器化、資源編排和微服務重構了傳統的開發運營體系,加速業務上線和變更的速度,因而,雲原生系統的種種優良特性同樣會給安全廠商帶來很大的啟發,重構安全產品、平台,改變其交付、更新模式。

#雲原生安全理念構建#

為緩解傳統安全防護建設中存在的痛點,促進雲計算成為更加安全可信的信息基礎設施,助力雲客戶更加安全的使用雲計算,雲原生安全理念興起,國內外第三方組織、服務商紛紛提出以原生為核心構建和發展雲安全。

Gartner提倡以雲原生思維建設雲安全體系

基於雲原生思維,Gartner提出的雲安全體系覆蓋八方面。其中,基礎設施配置、身份和訪問管理兩部分由雲服務商作為基礎能力提供,其它六部分,包括持續的雲安全態勢管理,全方位的可視化、日誌、審計和評估,工作負載安全,應用、PaaS 和 API 安全,擴展的數據保護,雲威脅檢測,客戶需基於安全產品實現。

Forrester評估公有雲平台原生安全能力

Forrester認為公有雲平台原生安全(Public cloud platform native security, PCPNS)應從三大類、37 個方面去衡量。從已提供的產品和功能,以及未來戰略規劃可以看出,一是考察雲服務商自身的安全能力和建設情況,如數據中心安全、內部人員等,二是雲平台具備的基礎安全功能,如幫助和文檔、授權和認證等,三是為用戶提供的原生安全產品,如容器安全、數據安全等。

安全狗以4項工作防護體系建設雲原生安全

(1)結合雲原生技術的具體落地情況開展並落實最小許可權、縱深防禦工作,對於雲原生環境中的各種組成部分,均可貫徹落實「安全左移」的原則,進行安全基線配置,防範於未然。而對於微服務架構Web應用以及Serverless應用的防護而言,其重點是應用安全問題。

(2)圍繞雲原生應用的生命周期來進行DevSecOps建設,以當前的雲原生環境的關鍵技術棧「K8S + Docker」舉例進行分析。應該在容器的全生命周期注重「配置安全」,在項目構建時注重「鏡像安全」,在項目部署時注重「容器准入」,在容器的運行環境注重雲計算的三要素「計算」「網路」以及「存儲」等方面的安全問題。

(3)圍繞攻擊前、中、後的安全實施准則進行構建,可依據安全實施准則對攻擊前、中、後這三個階段開展檢測與防禦工作。

(4)改造並綜合運用現有雲安全技術,不應將「雲原生安全」視為一個獨立的命題,為雲原生環境提供更多支持的主機安全、微隔離等技術可賦能於雲原生安全。

#雲原生安全新型風險#

雲原生架構的安全風險包含雲原生基礎設施自身的安全風險,以及上層應用雲原生化改造後新增和擴大的安全風險。雲原生環境面臨著嚴峻的安全風險問題。攻擊者可能利用的重要攻擊麵包括但不限於:容器安全、編排系統、軟體供應鏈等。下面對重要的攻擊面安全風險問題進行梳理。

#雲原生安全問題梳理#

問題1:容器安全問題

在雲原生應用和服務平台的構建過程中,容器技術憑借高彈性、敏捷的特性,成為雲原生應用場景下的重要技術支撐,因而容器安全也是雲原生安全的重要基石。

(1)容器鏡像不安全

Sysdig的報告中提到,在用戶的生產環境中,會將公開的鏡像倉庫作為軟體源,如最大的容器鏡像倉庫Docker Hub。一方面,很多開源軟體會在Docker Hub上發布容器鏡像。另一方面,開發者通常會直接下載公開倉庫中的容器鏡像,或者基於這些基礎鏡像定製自己的鏡像,整個過程非常方便、高效。然而,Docker Hub上的鏡像安全並不理想,有大量的官方鏡像存在高危漏洞,如果使用了這些帶高危漏洞的鏡像,就會極大的增加容器和主機的入侵風險。目前容器鏡像的安全問題主要有以下三點:

1.不安全的第三方組件
在實際的容器化應用開發過程當中,很少從零開始構建鏡像,而是在基礎鏡像之上增加自己的程序和代碼,然後統一打包最終的業務鏡像並上線運行,這導致許多開發者根本不知道基礎鏡像中包含多少組件,以及包含哪些組件,包含的組件越多,可能存在的漏洞就越多。

2.惡意鏡像
公共鏡像倉庫中可能存在第三方上傳的惡意鏡像,如果使用了這些惡意鏡像來創建容器後,將會影響容器和應用程序的安全

3.敏感信息泄露
為了開發和調試的方便,開發者將敏感信息存在配置文件中,例如資料庫密碼、證書和密鑰等內容,在構建鏡像時,這些敏感信息跟隨配置文件一並打包進鏡像,從而造成敏感信息泄露

(2)容器生命周期的時間短

雲原生技術以其敏捷、可靠的特點驅動引領企業的業務發展,成為企業數字業務應用創新的原動力。在容器環境下,一部分容器是以docker的命令啟動和管理的,還有大量的容器是通過Kubernetes容器編排系統啟動和管理,帶來了容器在構建、部署、運行,快速敏捷的特點,大量容器生命周期短於1小時,這樣一來容器的生命周期防護較傳統虛擬化環境發生了巨大的變化,容器的全生命周期防護存在很大變數。對防守者而言,需要採用傳統異常檢測和行為分析相結合的方式,來適應短容器生命周期的場景。

傳統的異常檢測採用WAF、IDS等設備,其規則庫已經很完善,通過這種檢測方法能夠直觀的展示出存在的威脅,在容器環境下,這種方法仍然適用。

傳統的異常檢測能夠快速、精確地發現已知威脅,但大多數未知威脅是無法通過規則庫匹配到的,因而需要通過行為分析機制來從大量模式中將異常模式分析出來。一般來說,一段生產運營時間內的業務模式是相對固定的,這意味著,業務行為是可以預測的,無論啟動多少個容器,容器內部的行為總是相似的。通過機器學習、採集進程行為,自動構建出合理的基線,利用這些基線對容器內的未知威脅進行檢測。

(3)容器運行時安全

容器技術帶來便利的同時,往往會忽略容器運行時的安全加固,由於容器的生命周期短、輕量級的特性,傳統在宿主機或虛擬機上安裝殺毒軟體來對一個運行一兩個進程的容器進行防護,顯示費時費力且消耗資源,但在黑客眼裡容器和裸奔沒有什麼區別。容器運行時安全主要關注點:

1.不安全的容器應用
與傳統的Web安全類似,容器環境下也會存在SQL注入、XSS、RCE、XXE等漏洞,容器在對外提供服務的同時,就有可能被攻擊者利用,從而導致容器被入侵

2.容器DDOS攻擊
默認情況下,docker並不會對容器的資源使用進行限制,默認情況下可以無限使用CPU、內存、硬碟資源,造成不同層面的DDOS攻擊

(4)容器微隔離

在容器環境中,與傳統網路相比,容器的生命周期變得短了很多,其變化頻率也快很多。容器之間有著復雜的訪問關系,尤其是當容器數量達到一定規模以後,這種訪問關系帶來的東西向流量,將會變得異常的龐大和復雜。因此,在容器環境中,網路的隔離需求已經不僅僅是物理網路的隔離,而是變成了容器與容器之間、容器組與宿主機之間、宿主機與宿主機之間的隔離。

問題2:雲原生等保合規問題

等級保護2.0中,針對雲計算等新技術、新應用領域的個性安全保護需求提出安全擴展要求,形成新的網路安全等級保護基本要求標准。雖然編寫了雲計算的安全擴展要求,但是由於編寫周期很長,編寫時主流還是虛擬化場景,而沒有考慮到容器化、微服務、無服務等雲原生場景,等級保護2.0中的所有標准不能完全保證適用於目前雲原生環境;

通過安全狗在雲安全領域的經驗和具體實踐,對於雲計算安全擴展要求中訪問控制的控制點,需要檢測主機賬號安全,設置不同賬號對不同容器的訪問許可權,保證容器在構建、部署、運行時訪問控制策略隨其遷移;

對於入侵防範制的控制點,需要可視化管理,繪制業務拓撲圖,對主機入侵進行全方位的防範,控制業務流量訪問,檢測惡意代碼感染及蔓延的情況;

鏡像和快照保護的控制的,需要對鏡像和快照進行保護,保障容器鏡像的完整性、可用性和保密性,防止敏感信息泄露。

問題3:宿主機安全

容器與宿主機共享操作系統內核,因此宿主機的配置對容器運行的安全有著重要的影響,比如宿主機安裝了有漏洞的軟體可能會導致任意代碼執行風險,埠無限制開放可能會導致任意用戶訪問的風險。通過部署主機入侵監測及安全防護系統,提供主機資產管理、主機安全加固、風險漏洞識別、防範入侵行為、問題主機隔離等功能,各個功能之間進行聯動,建立採集、檢測、監測、防禦、捕獲一體化的安全閉環管理系統,對主機進行全方位的安全防護,協助用戶及時定位已經失陷的主機,響應已知、未知威脅風險,避免內部大面積主機安全事件的發生。

問題4:編排系統問題

編排系統支撐著諸多雲原生應用,如無服務、服務網格等,這些新型的微服務體系也同樣存在著安全問題。例如攻擊者編寫一段代碼獲得容器的shell許可權,進而對容器網路進行滲透橫移,造成巨大損失。

Kubernetes架構設計的復雜性,啟動一個Pod資源需要涉及API Server、Controller、Manager、Scheler等組件,因而每個組件自身的安全能力顯的尤為重要。API Server組件提供的認證授權、准入控制,進行細粒度訪問控制、Secret資源提供密鑰管理及Pod自身提供安全策略和網路策略,合理使用這些機制可以有效實現Kubernetes的安全加固。

問題5:軟體供應鏈安全問題

通常一個項目中會使用大量的開源軟體,根據Gartner統計至少有95%的企業會在關鍵IT產品中使用開源軟體,這些來自互聯網的開源軟體可能本身就帶有病毒、這些開源軟體中使用了哪些組件也不了解,導致當開源軟體中存在0day或Nday漏洞,我們根本無法獲悉。

開源軟體漏洞無法根治,容器自身的安全問題可能會給開發階段帶的各個過程帶來風險,我們能做的是根據SDL原則,從開發階段就開始對軟體安全性進行合理的評估和控制,來提升整個供應鏈的質量。

問題6:安全運營成本問題

雖然容器的生命周期很短,但是包羅萬象。對容器的全生命周期防護時,會對容器構建、部署、運行時進行異常檢測和安全防護,隨之而來的就是高成本的投入,對成千上萬容器中的進程行為進程檢測和分析,會消耗宿主機處理器和內存資源,日誌傳輸會佔用網路帶寬,行為檢測會消耗計算資源,當環境中容器數量巨大時,對應的安全運營成本就會急劇增加。

問題7:如何提升安全防護效果

關於安全運營成本問題中,我們了解到容器安全運營成本較高,我們該如何降低安全運營成本的同時,提升安全防護效果呢?這就引入一個業界比較流行的詞「安全左移」,將軟體生命周期從左到右展開,即開發、測試、集成、部署、運行,安全左移的含義就是將安全防護從傳統運營轉向開發側,開發側主要設計開發軟體、軟體供應鏈安全和鏡像安全。

因此,想要降低雲原生場景下的安全運營成本,提升運營效率,那麼首先就要進行「安全左移」,也就是從運營安全轉向開發安全,主要考慮開發安全、軟體供應鏈安全、鏡像安全和配置核查:

開發安全
需要團隊關注代碼漏洞,比如使用進行代碼審計,找到因缺少安全意識造成的漏洞和因邏輯問題造成的代碼邏輯漏洞。
供應鏈安全
可以使用代碼檢查工具進行持續性的安全評估。
鏡像安全
使用鏡像漏洞掃描工具持續對自由倉庫中的鏡像進行持續評估,對存在風險的鏡像進行及時更新。
配置核查
核查包括暴露面、宿主機加固、資產管理等,來提升攻擊者利用漏洞的難度。

問題8:安全配置和密鑰憑證管理問題

安全配置不規范、密鑰憑證不理想也是雲原生的一大風險點。雲原生應用會存在大量與中間件、後端服務的交互,為了簡便,很多開發者將訪問憑證、密鑰文件直接存放在代碼中,或者將一些線上資源的訪問憑證設置為弱口令,導致攻擊者很容易獲得訪問敏感數據的許可權。

#雲原生安全未來展望#

從日益新增的新型攻擊威脅來看,雲原生的安全將成為今後網路安全防護的關鍵。伴隨著ATT&CK的不斷積累和相關技術的日益完善,ATT&CK也已增加了容器矩陣的內容。ATT&CK是對抗戰術、技術和常識(Adversarial Tactics, Techniques, and Common Knowledge)的縮寫,是一個攻擊行為知識庫和威脅建模模型,它包含眾多威脅組織及其使用的工具和攻擊技術。這一開源的對抗戰術和技術的知識庫已經對安全行業產生了廣泛而深刻的影響。

雲原生安全的備受關注,使ATTACK Matrix for Container on Cloud的出現恰合時宜。ATT&CK讓我們從行為的視角來看待攻擊者和防禦措施,讓相對抽象的容器攻擊技術和工具變得有跡可循。結合ATT&CK框架進行模擬紅藍對抗,評估企業目前的安全能力,對提升企業安全防護能力是很好的參考。

『玖』 如何保證oracle資料庫的安全性

資料庫安全性問題一直是圍繞著資料庫管理員的惡夢,資料庫數據的丟失
以及資料庫被非法用戶的侵入使得資料庫管理員身心疲憊不堪。本文圍繞數據
庫的安全性問題提出了一些安全性策略,希望對資料庫管理員有所幫助,不再
夜夜惡夢。資料庫安全性問題應包括兩個部分:

一、資料庫數據的安全
它應能確保當資料庫系統DownTime時,當資料庫數據存儲媒體被破
壞時以及當資料庫用戶誤操作時,資料庫數據信息不至於丟失。

二、資料庫系統不被非法用戶侵入
它應盡可能地堵住潛在的各種漏洞,防止非法用戶利用它們侵入數據
庫系統。

對於資料庫數據的安全問題,資料庫管理員可以參考有關系統雙機
熱備份功能以及資料庫的備份和恢復的資料。

以下就資料庫系統不被非法用戶侵入這個問題作進一步的闡述。
組和安全性:
在操作系統下建立用戶組也是保證資料庫安全性的一種有效方法。
Oracle程序為了安全性目的一般分為兩類:一類所有的用戶都可執行,
另一類只DBA可執行。在Unix環境下組設置的配置文件是/etc/group,
關於這個文件如何配置,請參閱Unix的有關手冊,以下是保證安全性的
幾種方法:
(1) 在安裝Oracle Server前,創建資料庫管理員組(DBA)而且
分配root和Oracle軟體擁有者的用戶ID給這個組。DBA能執
行的程序只有710許可權。在安裝過程中SQL*DBA系統許可權命令
被自動分配給DBA組。
(2) 允許一部分Unix用戶有限制地訪問Oracle伺服器系統,增加
一個由授權用戶組的Oracle組,確保給Oracle伺服器實用例
程Oracle組ID,公用的可執行程序,比如SQL*Plus,SQL*Fo
rms等,應該可被這組執行,然後該這個實用常式的許可權為
710,它將允許同組的用戶執行,而其他用戶不能。
(3) 改那些不會影響資料庫安全性的程序的許可權為711。
註:在我們的系統中為了安裝和調試的方便,Oracle資料庫中
的兩個具有DBA許可權的用戶Sys和System的預設密碼是manager。
為了您資料庫系統的安全,我們強烈建議您該掉這兩個用戶的
密碼,具體操作如下:
在SQL*DBA下鍵入:
alter user sys indentified by password;
alter user system indentified by password;
其中password為您為用戶設置的密碼。

Oracle伺服器實用常式的安全性:
以下是保護Oracle伺服器不被非法用戶使用的幾條建議:
(1) 確保$ORACLE_HOME/bin目錄下的所有程序的擁有權歸Oracle
軟體擁有者所有;
(2) 給所有用戶實用便程(sqiplus,sqiforms,exp,imp等)711權
限,使伺服器上所有的用戶都可訪問Oracle伺服器;
(3) 給所有的DBA實用常式(比如SQL*DBA)700許可權。Oracle伺服器
和Unix組當訪問本地的伺服器時,您可以通過在操作系統下把
Oracle伺服器的角色映射到Unix的組的方式來使用Unix管理服
務器的安全性,這種方法適應於本地訪問。
在Unix中指定Oracle伺服器角色的格式如下:
ora_sid_role[_dla]
其中
sid 是您Oracle資料庫的oracle_sid;
role 是Oracle伺服器中角色的名字;
d (可選)表示這個角色是預設值;
a (可選)表示這個角色帶有WITH ADMIN選項,
您只可以把這個角色授予其他角色,不能是其他用戶。
以下是在/etc/group文件中設置的例子:
ora_test_osoper_d:NONE:1:jim,narry,scott
ora_test_osdba_a:NONE:3:pat
ora_test_role1:NONE:4:bob,jane,tom,mary,jim
bin: NONE:5:root,oracle,dba
root:NONE:7:root
片語「ora_test_osoper_d」表示組的名字;片語「NONE」表示這
個組的密碼;數字1表示這個組的ID;接下來的是這個組的成員。前兩
行是Oracle伺服器角色的例子,使用test作為sid,osoper和osdba作
為Oracle伺服器角色的名字。osoper是分配給用戶的預設角色,osdba
帶有WITH ADMIN選項。為了使這些資料庫角色起作用,您必須shutdown
您的資料庫系統,設置Oracle資料庫參數文件initORACLE_SID.ora中
os_roles參數為True,然後重新啟動您的資料庫。如果您想讓這些角色
有connect internal許可權,運行orapwd為這些角色設置密碼。當您嘗
試connect internal時,您鍵入的密碼表示了角色所對應的許可權。

SQL*DBA命令的安全性:
如果您沒有SQL*PLUS應用程序,您也可以使用SQL*DBA作SQL查權
限相關的命令只能分配給Oracle軟體擁有者和DBA組的用戶,因為這些
命令被授予了特殊的系統許可權。
(1) startup
(2) shutdown
(3) connect internal

資料庫文件的安全性:
Oracle軟體的擁有者應該這些資料庫文件
($ORACLE_HOME/dbs/*.dbf)設置這些文件的使用許可權為0600:文件的
擁有者可讀可寫,同組的和其他組的用戶沒有寫的許可權。
Oracle軟體的擁有者應該擁有包含資料庫文件的目錄,為了增加
安全性,建議收回同組和其他組用戶對這些文件的可讀許可權。

網路安全性:
當處理網路安全性時,以下是額外要考慮的幾個問題。
(1) 在網路上使用密碼
在網上的遠端用戶可以通過加密或不加密方式鍵入密碼,
當您用不加密方式鍵入密碼時,您的密碼很有可能被非法用
戶截獲,導致破壞了系統的安全性。
(2) 網路上的DBA許可權控制
您可以通過下列兩種方式對網路上的DBA許可權進行控制:
A 設置成拒絕遠程DBA訪問;
B 通過orapwd給DBA設置特殊的密碼。

建立安全性策略:

系統安全性策略
(1) 管理資料庫用戶
資料庫用戶是訪問Oracle資料庫信息的途徑,因此,
應該很好地維護管理資料庫用戶的安全性。按照資料庫系統
的大小和管理資料庫用戶所需的工作量,資料庫安全性管理
者可能只是擁有create,alter,或drop資料庫用戶的一個
特殊用戶,或者是擁有這些許可權的一組用戶,應注意的是,只
有那些值得信任的個人才應該有管理資料庫用戶的許可權。
(2) 用戶身份確認
資料庫用戶可以通過操作系統,網路服務,或資料庫進行
身份確認,通過主機操作系統進行用戶身份認證的優點有:
A 用戶能更快,更方便地聯入資料庫;
B 通過操作系統對用戶身份確認進行集中控制:如果操作
系統與資料庫用戶信息一致,那麼Oracle無須存儲和管
理用戶名以及密碼;
C 用戶進入資料庫和操作系統審計信息一致。
(3) 操作系統安全性
A 資料庫管理員必須有create和delete文件的操作系統許可權;
B 一般資料庫用戶不應該有create或delete與資料庫相關文
件的操作系統許可權;
C 如果操作系統能為資料庫用戶分配角色,那麼安全性管理者
必須有修改操作系統帳戶安全性區域的操作系統許可權。

數據的安全性策略:
數據的生考慮應基於數據的重要性。如果數據不是很重要,那麼數
據的安全性策略可以稍稍放鬆一些。然而,如果數據很重要,那麼應該
有一謹慎的安全性策略,用它來維護對數據對象訪問的有效控制。

用戶安全性策略:
(1) 一般用戶的安全性
A 密碼的安全性
如果用戶是通過資料庫進行用戶身份的確認,那麼建議
使用密碼加密的方式與資料庫進行連接。這種方式的設置方
法如下:
在客戶端的oracle.ini文件中設置
ora_encrypt_login數為true;
在伺服器端的initORACLE_SID.ora文件中設置
dbling_encypt_login參數為true。
B 許可權管理
對於那些用戶很多,應用程序和數據對象很豐富的數據
庫,應充分利用「角色」這個機制所帶的方便性對許可權進行
有效管理。對於復雜的系統環境,「角色」能大大地簡化權
限的管理。
(2) 終端用戶的安全性
您必須針對終端用戶制定安全性策略。例如,對於一個有
很多用戶的大規模資料庫,安全性管理者可以決定用戶組分類,

為這些用戶組創建用戶角色,把所需的許可權和應用程序角色授
予每一個用戶角色,以及為用戶分配相應的用戶角色。當處理
特殊的應用要求時,安全性管理者也必須明確地把一些特定的
許可權要求授予給用戶。您可以使用「角色」對終端用戶進行權
限管理。

資料庫管理者安全性策略:
(1) 保護作為sys和system用戶的連接
當資料庫創建好以後,立即更改有管理許可權的sys和system用
戶的密碼,防止非法用戶訪問資料庫。當作為sys和system用戶
連入資料庫後,用戶有強大的許可權用各種方式對資料庫進行改動。
(2) 保護管理者與資料庫的連接
應該只有資料庫管理者能用管理許可權連入資料庫,當以sysdba
或startup,shutdown,和recover或資料庫對象(例如create,
drop,和delete等)進行沒有任何限制的操作。
(3) 使用角色對管理者許可權進行管理

應用程序開發者的安全性策略:
(1) 應用程序開發者和他們的許可權
資料庫應用程序開發者是唯一一類需要特殊許可權組完成自己
工作的資料庫用戶。開發者需要諸如create table,create
procere等系統許可權,然而,為了限制開發者對資料庫的操作,
只應該把一些特定的系統許可權授予開發者。
(2) 應用程序開發者的環境
A 程序開發者不應與終端用戶競爭資料庫資源;
B 用程序開發者不能損害資料庫其他應用產品。
(3) free和controlled應用程序開發
應用程序開發者有一下兩種許可權:
A free development
應用程序開發者允許創建新的模式對象,包括table,index,
procere,package等,它允許應用程序開發者開發獨立於其
他對象的應用程序。
B controlled development
應用程序開發者不允許創建新的模式對象。所有需要table,
indes procere等都由資料庫管理者創建,它保證了數據
庫管理者能完全控制數據空間的使用以及訪問資料庫信息的
途徑。但有時應用程序開發者也需這兩種許可權的混和。
(4) 應用程序開發者的角色和許可權
資料庫安全性管理者能創建角色來管理典型的應用程序開
發者的許可權要求。
A create系統許可權常常授予給應用程序開發者,以到於
他們能創建他的數據對象。
B 數據對象角色幾乎不會授予給應用程序開發者使用的
角色。
(5) 加強應用程序開發者的空間限制
作為資料庫安全性管理者,您應該特別地為每個應用程
序開發者設置以下的一些限制:
A 開發者可以創建table或index的表空間;
B 在每一個表空間中,開發者所擁有的空間份額。應用程
序管理者的安全在有許多資料庫應用程序的資料庫系統
中,您可能需要一應用程序管理者,應用程序管理者應
負責以下的任務:
C 為每一個應用程序創建角色以及管理每一個應用程序
的角色;
D 創建和管理資料庫應用程序使用的數據對象;
E 需要的話,維護和更新應用程序代碼和Oracle的存儲
過程和程序包。