軟件測試數據庫中Oracle數據庫安全性設計建議

發表于:2010-07-08來源:作者:點擊數: 標簽:軟件測試數據庫設計oracleOracle
軟件 測試 數據庫中Oracle數據庫安全性設計建議 一、什么是安全的系統 安全性建設是一個長期并且卓絕的工作。作為一個符合標準的企業級系統,我們認為稅務系統應該具備以下的安全性特點: ◆高可用性 ◆對敏感數據的訪問控制能力。 ◆監測用戶行為的審計能力

軟件測試數據庫中Oracle數據庫安全性設計建議

一、什么是安全的系統

安全性建設是一個長期并且卓絕的工作。作為一個符合標準的企業級系統,我們認為稅務系統應該具備以下的安全性特點:

◆高可用性

◆對敏感數據的訪問控制能力。

◆監測用戶行為的審計能力。

◆用戶帳號管理的有效性和擴充性

二、從哪些方面作安全性檢查

一個企業級系統的安全性建設并不僅僅局限于軟件技術方面的設置和控制,甚至我們可以說,技術僅僅位于一個補充和提高現有安全性的地位上。通常,應該按照重要性依次進行如下的安全性檢查。

物理層面的控制

控制物理接觸是系統安全性建設的第一步,也是最會有成效,最應該優先執行的一步。

權威安全研究顯示,70% 的信息系統數據損失和攻擊都是由“內部人”(即具備某種系統及其數據訪問權限的用戶)造成和發起的。

比如,授權人員才可以進入機房,管理人員的密碼不要記錄在顯眼的地方,離開個人終端鎖定屏幕,等等,這些建議看上去似乎比較瑣碎。但是如果缺少了這些意識,即使我們運用了再好的安全性技術,再復雜的數據分離技術,當一個人可以接近需要保護的服務器,當一個人可以通過竊取的密碼接近需要保護的數據,那么一切的安全性建設都將是一個擺設。

千里之堤,毀于蟻穴。一個牢固的堤壩不會因為外界洪水的沖擊而倒塌,卻會崩壞于隱藏在自身內部的蛀蟲。

所以,最佳的方法是不要讓螞蟻靠近堤壩。

安全性流程建設

實施安全性建設之后,必須要有一個詳細周密而且行之有效的流程控制(Process Control)。其中行之有效是我們應該注意的。

有時候會聽到抱怨,在增強了安全性建設的系統中,維護人員由于分工過細,導致整個系統的應變能力下降,維護成本提高,管理效率降低。以前一個人可以在10分鐘內作好的修改,現在卻要途經3,4個人之手,耗時1-2天還不一定能夠做完。

過猶不及,建立一個符合企業自身需求的安全性流程是我們應該優先考慮的。

普遍性的安全性措施

不僅僅是Oracle數據庫系統,作為一個具有領先性的IT系統,都應該包括以下的安全性措施。

1.只安裝需要的軟件

每個軟件都有缺陷,對于Oracle數據庫軟件來說,自定義安裝,只選取需要的組件,少作少錯,這一點在安全性方面顯得尤為重要,一個具有潛在安全性漏洞的組件,如果它沒有被安裝。那它就不會影響整個系統。

2.鎖定或者失效默認用戶

對于Oracle數據庫系統來說,安裝的時候會有一系列的默認用戶生成,應該在數據庫安裝完畢之后,經過功能篩選,鎖定或者失效這些用戶。

3.修改可用用戶的默認密碼

不能鎖定或者失效的用戶,必須修改默認密碼。比如具有SYSDBA權限的SYS用戶和具有DBA權限的SYSTEM用戶,都應該修改默認密碼。至于密碼長度和復雜性的有效控制在后面將會談到。

4.限制操作系統存取權限

Oracle數據庫系統是依存在操作系統之上的,如果操作系統被人侵入,那么通過修改配置文件等一系列方法,Oracle數據庫的安全性也將蕩然無存。

5.定期更新廠家推出的安全性補丁

隨著時間的推移,廠家通常會推出一系列的安全性補丁來彌補現有系統的安全隱患。

對于Oracle數據庫而言,應該定期查看以下網址來獲取Oracle公司最新的安全性警告和解決方案。

http://www.oracle.com/technology/deploy/security/alerts.htm

Oracle數據庫本身的安全性建設

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

Oracle提供的主要安全性措施如下:

◆身份認證功能(Authentication):識別訪問個體的身份

◆數據訪問的機密性(Confidentialty):保證敏感數據訪問的機密性。

◆數據完整性(Integrity):保證數據不被篡改。

◆授權能力(Authorization):保證被授權用戶對數據的查詢和修改能力。

◆訪問控制(Aclearcase/" target="_blank" >ccess Control):確定對指定數據的訪問能力。

◆審計能力(Auditing):提供監測用戶行為的能力。

◆私有性(Privacy):提供對敏感數據訪問的私密性。

◆高可用性(Availability):保證數據和系統提供不間斷服務的能力。

◆代理管理能力(Delegated Administration):提供對用戶帳號的集中管理功能。

下面將就應用系統本身對于Oracle提供的安全性措施作更深入的探討。

三、Oracle的安全性領域

Profile控制

Oracle利用profile機制來管理會話資源占用,同時也管理用戶密碼的安全策略。

通過profile我們可以實現:

◆某個特定用戶最多只能占用系統百分之幾的CPU時間?

◆某個特定用戶連接到數據庫之后能存活多長時間?

◆某個特定用戶連接到數據庫之后多長時間處于非活躍狀態就將被系統中斷連接?

◆用戶登錄密碼輸入錯誤多少次之后就將自動鎖定用戶?

◆用戶密碼的長度和包含的字符必須符合什么樣的規則?

◆用戶密碼在多少天后將自動失效并要求設定新密碼?

用戶權限控制(Privilage)

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

通過權限控制我們可以實現:

◆某個特定用戶只能讀取而不能修改另一個用戶的表數據。

◆某個特定用戶只能運行Oracle數據庫系統的幾個存儲過程或者函數。

◆某個特定用戶自己能夠擁有修改某些數據的權力,但是卻無法給其它不擁有這個權限的用戶授予修改該數據的權力。

◆某個特定用戶可以讀取數據但是無法創建新的表空間。

虛擬專用數據庫(VPD)

虛擬專用數據庫 (VPD) 也稱為細粒度訪問控制,它提供強大的行級安全功能。它是在 Oracle8i 中推出的,已經受到廣泛的歡迎。

VPD 的工作方法是,通過透明地更改對數據的請求,基于一系列定義的標準向用戶提供表的局部視圖。在運行時,所有查詢都附加了謂詞,以便篩選出準許用戶看到的行。

也就是通過VPD的設置,我們可以做到行級安全性控制,特定的用戶即使對一張表有讀取權限,那么也只能看到符合自身權限的記錄。

注意,在Oracle10g版本中,VPD得到增強,已經可以實現字段級的安全性控制了。

實例及搭建步驟參看:利用VPD細粒度訪問策略實現行級安全性Step By Step。

Orace Label Security

基于對由客戶提交的行級安全性的嚴格要求,Oracle Label Security(Oracle 數據庫企業版的選件之一)利用多級安全性概念解決了世界上政府和商業用戶在實際中遇到的數據安全和隱私問題。

OLS 通過利用數據敏感度標簽(例如“敏感”和“公司機密”)與用戶標簽授權,提供了完善的行級安全性控制。

OLS 使用政策概念來存儲標簽定義和授權。該政策可直接在數據庫中進行管理,或在 Oracle 身份管理中進行集中管理。

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的版本可以下載使用了。

用戶訪問審計

審計是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 地址。

◆選定或更新了特定列。

◆使用了該列的特定值。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97