Oracle數據安全解決方案-

Oracle數據安全解決方案

Oracle Database Vault

[日期:2011-12-05] 來源:Linux社區  作者:Arup Nanda [字體:  ]

本篇包含如下內容:

·         什麼是Oracle Database Vault?

·         Oracle Database Vault組成部分

·         Oracle Database Vault遵循哪些規範

·         Database Vault應對哪些內部威脅

·         Oracle Database Vault允許制定靈活的安全策略

·         Oracle Database Vault如何應對數據庫聯合

1.1  什麼是Oracle Database Vault?

Oracle Database Vault能夠限制任何用戶訪問數據庫中的特定區域,包括擁有管理(administrative)權限在內的用戶,例如,你可以限制管理員訪問員工薪水、客戶醫療記錄、或者其他敏感信息。

這樣你就可以針對你的敏感數據以多種方式來應用細粒度的訪問控制,它加固Oracle數據庫實例,同時加強了分離傳統高權限用戶職責的這個業界最佳實踐。更重要的是,它使你的數據免遭特權用戶損壞,同時又允許他們維護Oracle數據庫。Oracle Database Vault是你的企業不可分割的一部分。

通過Oracle Database Vault,你可以解決現在仍然是最困難的安全問題:保護數據免遭內部威脅,滿足通常的合規要求,加強職責隔離。

你可以配置Oracle Database Vault去管理獨立的Oracle數據庫實例的安全。你可以安裝Oracle Database Vault到一個獨立的Oracle數據庫設備上、多個Oracle home下、以及Oracle RAC環境中。

更多關於Oracle Database VaultFAQ請訪問如下鏈接:

http://www.oracle.com/technology/deploy/security/database-security/database-vault/dbv_faq.html

更多OTN上關於Oracle Database Vault的信息請訪問如下鏈接:

http://www.oracle.com/technology/deploy/security/database-security/database-vault/index.html

1.2  Oracle Database Vault組成部分

Oracle Database Vault包含如下部分:

·         Oracle Database Vault 訪問控制組件

·         Oracle Database Vault 管理員組件(DVA)

·         Oracle Database Vault配置助手(DVCA)

·         Oracle Database Vault DVSYS和 DVF Schemas

·         Oracle Database Vault PL/SQL接口和開發包

·         Oracle Database Vault和Oracle Label Security PL/SQL APIs

·         Oracle Database Vault 監控和報告工具

1.2.1   Oracle Database Vault訪問控制組件

Oracle Database Vault使你能夠創建如下組件來保護你的數據庫實例的安全:

·         域:域是需要被保護的數據庫schemal、對象、角色的一個功能上的集合。例如:你可以將和賬戶、銷售、或者人力資源相關的數據庫schemal、對象、角色組成一個域。當你將這些組成一個域後,你可以使用域來控制賦給特定賬戶或者角色的系統權限的使用。這樣你就可以給任何想使用這些數據庫schemal、對象、角色的用戶提供細粒度的訪問控制。Chapter 4, "Configuring Realms" 詳細討論了域。.

·         命令規則:命令規則是一個特殊的規則,通過這個規則,你可以控制用戶如何執行他們能夠執行的幾乎所有的SQL語句,包括SELECT, ALTER SYSTEM, database definition language (DDL), data manipulation language (DML)語句.命令規則必須和規則集一起決定某個語句是否允許執行。Chapter 6, "Configuring Command Rules" 詳細討論了規則集.

·         因素:因素是一個命名變量或者屬性,例如用戶位置、數據庫IP地址、會話用戶,這些因素是Oracle Database Vault能夠識別和保護的。你可以針對用戶活動使用這些因素,例如授權數據庫賬戶鏈接到數據庫,或者創建過濾邏輯條件來限制數據的可見性和可管理性。每個因素可以包含一個或者多個標識,標識是因素的具體的值。一個因素可以包含多個標識,這取決於因素的檢索方法或者它的映射邏輯。Chapter 7, "Configuring Factors" 詳細討論了因素.

·         規則集:規則集是一個或者多個規則的集合,你可以將規則集和一個域的授權、命令規則、因素指派、或者安全應用角色關聯起來。規則集基於其中的每個規則的計算值以及規則的計算方式(所有爲真或者任意爲真)。規則集中的規則是一個結果爲“true”或“false”的PL/SQL表達式。Chapter 5, "Configuring Rule Sets"詳細討論了規則集。

·         安全應用角色:一個安全應用角色是一個特殊的Oracle數據庫角色,它可以基於Oracle database vault規則集的計算結果激活。Chapter 8, "Configuring Secure Application Roles for Oracle Database Vault"詳細討論了安全應用角色。

爲了加強這些組件的功能,Oracle Database vault提供了一系列的PL/SQL接口和包。"Oracle Database Vault PL/SQL Interfaces and Packages" 提供了一個概括的介紹.

通常情況下,你要做的第一步是創建一個包含你想保護的schema或者數據庫對象的域,然後你就可以通過創建規則、命令規則、因素、標識、規則集、安全應用角色來保護你的域。除此以外,你可以運行報告工具來報告這些組件監控和保護的活動。Chapter 3, "Getting Started with Oracle Database Vault"提供了一個簡單的指南,可以使你熟悉Oracle Database Vault的功能,Chapter 16, "Oracle Database Vault Reports"提供了更多關於如何運行報告來檢查配置和其它Oracle Database Vault 完成的活動。

1.2.2   Oracle Database Vault管理員(DVA)

Oracle Database Vault 管理員是一個基於Oracle Database VaultPL/SQL API構建的Java程序。這個程序可以讓不熟悉PL/SQL接口的安全管理者通過友好的用戶界面來配置訪問控制策略。Oracle Database Vault管理員程序提供了衆多的安全相關的報告,這些報告可以幫助瞭解基準的安全配置。這些報告同時也有助於指出與基準配置相比,當前配置有哪些變化。

Chapter 4  Chapter 9解釋瞭如何通過Oracle database Vault管理員程序來配置訪問策略以及如何將Oracle Database Vault與其它Oracle產品集成起來Chapter 16, "Oracle Database Vault Reports" 解釋了Oracle Database Vault報告.

1.2.3   Oracle Database Vault 配置助手 (DVCA)

爲了執行維護任務,可以使用命令行工具Oracle Database Vault配置助手(DVCA).更多信息請參考Appendix C, "Postinstallation Oracle Database Vault Procedures".

1.2.4   Oracle Database Vault DVSYS and DVF Schemas

Oracle Database Vault 提供了DVSYS這個schema來存儲所有需要Oracle Database Vault保護的數據庫對象。DVSYS schema包含角色、視圖、賬戶、函數、以及其它Oracle Database Vault使用的數據庫對象。DVF schema包含一些公共函數,這些函數用於從Oracle Database Vault訪問控制配置中讀取因素值的集合。

Chapter 10, "Oracle Database Vault Objects" 詳細描述了這兩個schema.

1.2.5   Oracle Database Vault PL/SQL 接口和包

Oracle Database Vault提供了一個PL/SQL接口和包,讓安全管理員或者應用程序開發者按需配置訪問控制策略。PL/SQL存儲過程和函數使得普通的數據庫賬戶能夠在一個數據庫會話上下文中在訪問控制策略邊界裏進行操作。

參考Chapter 14, "Using the Oracle Database Vault PL/SQL Interfaces" and Chapter 11, "Using the DVSYS.DBMS_MACADM Package"獲取更多信息.

1.2.6   Oracle Database Vault 和Oracle Label Security PL/SQL APIs

Oracle Database Vault提供了能夠和Oracle Label Security集成的訪問控制能力。Oracle Label Security是和Oracle Enterprise Manager Database Control集成的,Oracle Enterprise Manager Database Control能夠讓安全管理員定義應用到數據庫對象的標籤安全策略。Oracle Label Security同樣提供了一組可以供數據庫應用程序開發者用來提供標籤安全策略的PL/SQL API

參考 "Integrating Oracle Database Vault with Oracle Label Security" 獲取更多關於Oracle Database VaultOracle Label Security如何配合的信息參考 Oracle Label Security Administrator's Guide 獲取更多關於Oracle Policy Manager的信息.

1.2.7   Oracle Database Vault 報告和監控工具

你可以根據Oracle Database Vault監控的不同的活動來生成報告,你可以監控策略的改變、異常的安全嘗試、數據庫配置和結構的變化。

參考 Chapter 16, "Oracle Database Vault Reports" 獲取更多關於你可以生成的報告的信息Chapter 15, "Monitoring Oracle Database Vault" 解釋瞭如何監控Oracle Database Vault.

1.3  Oracle Database Vault遵循哪些規範

對規章制度的順從的一個最大的好處是安全意識。歷史上,關於信息技術部門的關注重點在可獲得性和性能上面,而對遵守規章制度的關注要求每個人退後一步,然後從安全的角度看看他們的IT基礎設施、數據庫、應用程序。通常的問題包括:

·         誰能夠訪問這些信息?

·         敏感信息存儲在哪裏?

法律法規如Sarbanes-Oxley Act, Health Insurance Portability and Accountability Act (HIPAA), International Convergence of Capital Measurement and Capital Standards: a Revised Framework (Basel II), Japan Privacy Law, Payment Card Industry Data Security Standard (PCI DSS), and the European Union Directive on Privacy and Electronic Communications都含有一些常見的主題,例如內部控制、職責分離,以及訪問控制。

然而,對於像Sarbanes-Oxley and HIPAA這些法規來說,最大的挑戰是程序上的,剩餘的部分可能需要技術投資。法律規章中一個常見的安全需求是嚴厲的內部控制。Oracle Database Vault能夠幫助組織達到要求的程度隨不同的法律規章而變化。通常情況下,Oracle Database Vault域、職責分離、命令集、因素總體上有助於減少全世界的法律規章規定的安全威脅。

Table 1-1列出了法律規章給出的潛在的安全威脅

Table 1-1法律規章給出的潛在的安全威脅

Regulation

Potential Security Threat

Sarbanes-Oxley Section 302

未經授權修改數據

Sarbanes-Oxley Section 404

修改數據,未經授權訪問

Sarbanes-Oxley Section 409

拒絕服務,未經授權訪問

Gramm-Leach-Bliley

未經授權訪問, 修改,查看

Health Insurance Portability and Accountability Act (HIPAA) 164.306

未經授權訪問

HIPAA 164.312

未經授權訪問

Basel II – Internal Risk Management

未經授權訪問

CFR Part 11

未經授權訪問

Japan Privacy Law

未經授權訪問

EU Directive on Privacy and Electronic Communications

未經授權訪問

Payment Card Industry Data Security Standard (PCI DSS)

未經授權修改數據

 

1.4  Database Vault應對哪些內部威脅

多年來,蠕蟲、病毒,和外部入侵者(黑客)被認爲是計算機系統最大的威脅。不幸的是,經常被忽視的是可信用戶以及特權用戶可能盜竊或者修改數據。

Oracle Database Vault使用域、因素、命令規則來應對內部威脅。這些手段合起來提供強大的安全工具來幫助保護對數據庫、應用程序、敏感數據的訪問。你可以結合規則和因素來控制在什麼樣的條件下數據庫命令能夠被執行,控制被域保護的數據的訪問。例如,你可以基於IP地址、時間日期、特定的應用程序來創建規則和因素來控制對數據的訪問。這樣可以限制只能由滿足條件的連接才能夠訪問數據,以此來防止未經授權訪問應用數據和爲經授權的應用訪問數據庫。

Oracle Database Vault提供一些內置的因素,你可以將其與規則結合來控制數據庫訪問、域保護應用、以及數據庫內部的命令。

你可以將規則以及因素和幾十個數據庫內部命令關聯起來,提供更強的數據庫內部控制。你可以定製這些手段來滿足你的操作策略。例如,你可以定義一個規則來限制特定IP地址特定主機名稱運行ALTER SYSTEM語句。

1.5  Oracle Database Vault允許制定靈活的安全策略

Oracle Database Vault可以幫助你爲你的數據庫設計靈活的安全策略。例如,任何具有DBA角色的數據庫用戶,如SYSTEM,能夠修改數據庫的基本參數。加入一個有系統特權的菜鳥管理員決定啓動新的redo log文件,但是他並沒有意識到在特定的時間進行那樣操作會導致數據庫出問題。通過Oracle Database Vault,你可以創建一個限制使用ALTER SYSTEM SWITCH LOGFILE命令規則來防止這樣的用戶做這樣的操作。

除此以外,你也可以將規則綁定到命令規則上,以此來多方面的限制活動,例如,按照如下方式限制語句的執行:

·         按照時間(例如,只能在週五下午4~5點執行)

·         只能本地訪問即不允許遠程訪問

·         按照IP地址(例如,只允許每個特定範圍的IP地址訪問)

通過這種方式,你可以很小心的控制和保護你的系統。你可以按照你的需要激活或者禁止命令規則,你也可以通過Oracle Database Vault管理員工具非常容易的集中維護命令規則。

1.6  Oracle Database Vault如何應對數據庫聯合

Oracle的客戶擁有數百甚至數千分佈在企業或者全球的數據庫。因此,數據庫合併在未來的幾年將持續作爲一個成本節約策略。分佈式的數據庫架構提供的物理安全在合併環境中也必須具備。Oracle Database Vault提出了關於數據庫合併的主要關注點。

Figure 1-1 表明了Oracle Database Vault 如何應對這些關注點:

·         管理特權賬戶訪問應用數據這種情況下,Oracle Database Vault 防止DBA訪問由FIN域保護的schema。儘管DBA是最強大和可信的用戶,但DBA並不需要訪問數據庫中的應用數據。

·         應用數據訪問的職責分離這種情況下,由Oracle Database Vault 創建的,FIN域擁有者,能夠訪問FIN域的schema.

Figure 1-1 Oracle Database Vault 安全


Description of "Figure 1-1 Oracle Database Vault Security"

數據庫合併導致很多強大的用戶賬號駐留在單個數據庫中。這意味着除了整個數據庫的DBA,各個應用schema的擁有者也具有強大的特權。廢除一些特權將反過來影響已有的應用。通過Oracle Database Vault域,你可以通過可信路徑、防止未經授權的用戶使用特權查看數據兩個手段來加強對應用數據的訪問。例如,可以防止擁有SELECT ANY TABLE特權的DBA使用這個特權來查看應用數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章