Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oracle Database Vault


Published on

Published in: Technology
  • Be the first to comment

Oracle Database Vault

  1. 1. Database Vault Marco Alamanni
  2. 2. Why Database Vault? <ul><li>Compliance to regulations such as Sarbanes-Oxley </li></ul><ul><li>(SOX), European Data Protection Directive </li></ul><ul><li>(95/46/EC) and Health Insurance Portability and </li></ul><ul><li>Accountability Act (HIPAA) require Strong Internal </li></ul><ul><li>Controls and Separation of Duty </li></ul><ul><li>Internal threats are a much bigger concern today require enforcement of operational security policies - Who, When, Where can data be accessed? </li></ul><ul><li>Database consolidation strategy requires preventive measures against access to application data by Powerful (DBA) users </li></ul>
  3. 3. Common Security Problems <ul><li>I have requirements around SOX and PCI, how can I prevent my DBA from looking at the application data, including Credit Cards and Personal Information? </li></ul><ul><li>No protection from users with DBA privileges </li></ul><ul><li>DBA role with full access to user and business data </li></ul><ul><li>Only few apps built with least-privilege model: </li></ul><ul><li>various utilities require powerful administrator privileges </li></ul><ul><li>Cannot meet new compliance requirements: </li></ul><ul><li>separation of duty not enforced </li></ul><ul><li>Cannot control user creation, role assignment, etc. </li></ul>
  4. 4. Oracle Database Vault Goals <ul><li>Integrated security framework to provide full control: </li></ul><ul><li>Network, users, DBA, data, roles, SQL Multi-factor Authorization and Policies across various checks </li></ul><ul><li>Compliance requirements: </li></ul><ul><li>Built-in Separation of Duty </li></ul><ul><li>Prevent misuse of powerful privileges </li></ul><ul><li>Support Database consolidation </li></ul>
  5. 5. Database Vault Versus VPD and OLS <ul><li>Virtual Private Database (VPD): </li></ul><ul><li>Restricts access to certain rows for a user by modifying the WHERE clause </li></ul><ul><li>Oracle Label Security (OLS): </li></ul><ul><li>Mediates access to a given row, based on the label on the row and the security level of the user </li></ul><ul><li>VPD and OLS restrict access at the row level, whereas Database Vault restricts access at the object and command levels. </li></ul><ul><li>DBV is integrable with both VPD and OLS </li></ul>
  6. 6. DBV Administration Model <ul><li>DV Administrative roles: </li></ul><ul><li>DV_SECANALYST: Reporting only </li></ul><ul><li>DV_ACCTMGR: Maintain db accounts/profiles (but no roles) </li></ul><ul><li>DV_OWNER: Big boss but cannot grant any direct access rights </li></ul><ul><li>DV Realm Roles: </li></ul><ul><li>DV_REALM_OWNER: Manages realm and associated roles </li></ul><ul><li>Security: </li></ul><ul><li>Provide separation of duties with different admin roles sys, system, sysdba and sysoper cannot grant DV_OWNER, DV_ADMIN roles </li></ul>
  7. 7. Separation of Duty
  8. 8. Key Components <ul><li>Realms </li></ul><ul><li>Command Rules </li></ul><ul><li>Rule sets </li></ul><ul><li>Factors </li></ul><ul><li>Secure application roles </li></ul>
  9. 9. Realms <ul><li>Collections of schemas, objects and roles to be secured </li></ul><ul><li>Controls SELECT, DML, DDL, EXECUTE on protected objects </li></ul><ul><li>Prevents super user (ANY) access to security sensitive data </li></ul><ul><li>Does not impact direct object privileges </li></ul><ul><li>Realm owner determines: </li></ul><ul><li>Who can access the realm using system privileges </li></ul><ul><li>Grants/revokes applicable roles </li></ul><ul><li>Authorization enforced at every data object access during SQL execution </li></ul>
  10. 10. Default Realms <ul><li>Database Vault Account Management: Protects user accounts/profiles and account management role </li></ul><ul><li>Data Dictionary: Protects all DBMS meta-data </li></ul><ul><li>Enterprise Manager: Protects all objects required by Enterprise Manager </li></ul><ul><li>Database Vault: </li></ul><ul><li>Protects all Database Vault meta-data </li></ul><ul><li>All object owned by Database Vault schemas </li></ul><ul><li>All objects owned by LBACSYS </li></ul><ul><li>All Security Administration Roles </li></ul>
  11. 11. Benefits of Data Protection with Realms <ul><li>Ability to restrict access to privileged users based upon a collection of objects </li></ul><ul><li>Separation of Duty regarding user administration, and role management </li></ul><ul><li>Ability to define additional realm authorization rules based upon requirements </li></ul><ul><li>Limit damage even if privileges escalate to DBA </li></ul><ul><li>Minimize risks associated with an army of DBAs for 7 * 24 operation whether in-house, outsourced </li></ul><ul><li>No changes required to applications </li></ul>
  12. 12.
  13. 13. Command rules
  14. 14. Command Rules Mechanics <ul><li>Works very similar to DDL event triggers </li></ul><ul><li>Built into the SQL engine for optimization and security </li></ul><ul><li>Cover all basic DDL and DML commands </li></ul>
  15. 15. Command Rule Flexibility Alter Database Alter Database Alter Table Alter Function Audit Alter Tablespace Alter Package Body Alter Procedure Alter Profile Alter Session Alter System Alter Synonym Alter Table Alter Trigger Alter User Password Alter Tablespace Alter View Change Password Connect Comment Create Function Create Index Create Package Create Database Link Create Procedure Create Role Create Package Body Create User Create View Create Table Grant Insert Noaudit Rename Lock Table Create Tablespace Create Trigger Truncate Table Update Insert Delete Execute Select
  16. 16. Rules and Rule Set
  17. 17. Factors <ul><li>A factor: </li></ul><ul><li>Is an attribute of a database session </li></ul><ul><li>Can have a value, which can be labeled as an identity </li></ul><ul><li>Can easily be referenced in other Database Vault components to discern access </li></ul><ul><li>Can be combined with other factors to provide for multifactored authentication </li></ul>
  18. 18. Factor’s Identity <ul><li>An identity: </li></ul><ul><li>Is a value </li></ul><ul><li>Is associated to a factor </li></ul><ul><li>Has a trust level </li></ul><ul><li>Can have a label </li></ul><ul><li>Can be resolved from other factors </li></ul><ul><li>Can be retrieved with PL/SQL functions associated with the factor </li></ul>
  19. 19. Built-In Factors <ul><li>User Factors: Name Authentication type Session User </li></ul><ul><li>Network Factors: Machine name Client IP Network Protocols </li></ul><ul><li>Database Factors: Database IP Database Instance DatabaseHostname </li></ul><ul><li>Runtime Factors: Language Date Time </li></ul>
  20. 20. Examples of Security Policies <ul><li>IP address based policy: </li></ul><ul><li>Allow access from intranet IP addresses </li></ul><ul><li>Allow access only from application servers </li></ul><ul><li>DBA policies: </li></ul><ul><li>Allow updates to the database structure only on the weekend </li></ul><ul><li>Allow DBA access only with PKI/Kerberos authentication </li></ul><ul><li>Allow DDL but only with strong authentication </li></ul><ul><li>Permit DDL (CREATE INDEX) but not SELECT </li></ul><ul><li>Implement a different set of policies for different types of DBAs </li></ul><ul><li>Time/date based policies </li></ul><ul><li>Disallow access from ad-hoc tools (SQL*plus) </li></ul>
  21. 21. Oracle Database Vault Rules & Multi-factor Authorization HR DBA Factors and Command Rules provide flexible and adaptable security controls DBA HR <ul><li>Database DBA attempts remote “ alter system ” </li></ul>alter system……. <ul><ul><li>Rule based on IP Address blocks action </li></ul></ul>create … <ul><li>HR DBA performs unauthorized actions during production </li></ul>3pm Monday <ul><ul><li>Rule based on Date and Time blocks action </li></ul></ul>HR Realm HR
  22. 22. Deployment Flow
  23. 23. Database Vault Access Algorithm
  24. 24. Integration with OLS and VPD <ul><li>Oracle Label Security: Association of factors identities with OLS labels to enforce row-level security policies </li></ul><ul><li>Virtual Private Database: Factors can be used in PL/SQL functions that implement VPD policies </li></ul>
  25. 25. PL/SQL API to Database Vault <ul><li>PL/SQL interface for scriptable administration and tools </li></ul><ul><li>API includes: </li></ul><ul><li>Create, modify, and delete Database Vault components </li></ul><ul><li>Allow a session to define their security environment </li></ul><ul><li>Query the state and values of components </li></ul><ul><li>Administer and configure system-wide Database Vault parameters </li></ul>
  26. 26. Oracle Database Vault Summary <ul><li>Integrated security framework to provide full control: </li></ul><ul><li>Control access based upon Network, users, DBA, data, roles, SQL access </li></ul><ul><ul><ul><li>Multi-factor Authorization and Policies across various checks </li></ul></ul></ul><ul><li>Baked-in Security controls </li></ul><ul><li>Compliance requirements: </li></ul><ul><li>Built-in Separation of Duty (Users mgmt, data mgmt, apps mgmt) </li></ul><ul><li>Prevent misuse of powerful privileges </li></ul><ul><li>Operational requirements: </li></ul><ul><li>No application changes required </li></ul><ul><li>Minimal Performance impact </li></ul><ul><li>Easy-to-use PLUS customization flexibility </li></ul><ul><li>Support Database consolidation </li></ul>
  27. 27. Credits and references <ul><li>Oracle Database Vault – Under the covers , Vipin Samar, Oracle </li></ul><ul><li>Dividing the Keys to the Kingdom - Separation of Duties with Oracle 10g Database Vault, Eric Siglin, Oracle </li></ul><ul><li>Patricia Huey, Oracle Database Vault Administrator’s Guide 11g Release 2 (11.2), </li></ul><ul><li>Oracle, 2010 </li></ul>