dbv - Marco Alamanni

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