Database Vault – In Practice

Slides:



Advertisements
Similar presentations
ITEC474 INTRODUCTION.
Advertisements

Chapter 20 Oracle Secure Backup.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Database Vault Welcome, today I’d like to present an overview of the latest security product from Oracle – Database Vault. We announced this new product.
The twenty-four/seven database Oracle Database Security David Yahalom Senior database consultant
A First look at Database Vault David Bergmeier.  Overview  Installation  Limitations  Securing Data  Backups  A trigger problem Agenda.
Self-Validation Tech Guide
Database Vault Marco Alamanni
Understand Database Security Concepts
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 12 System and Object Privileges.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Database Vault with Oracle Database 12c Chi Ching Chui Senior Development.
Database Administration ISQA 436 Fall 2006 Mark Freeman
System Administration Accounts privileges, users and roles
Backup The flip side of recovery. Types of Failures Transaction failure –Transaction must be aborted System failure –Hardware or software problem resulting.
Harvard University Oracle Database Administration Session 2 System Level.
Presenter: Raman Chohan. AGENDA Oracle Best Practices Oracle Backups Why upgrade to Oracle 11? Performance Troubleshooting axiUm Pre-Upgrade Checklist.
Database Security Managing Users and Security Models.
10 Copyright © 2005, Oracle. All rights reserved. Implementing Oracle Database Security.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
CHAPTER 2 Implementing a Database. Introduction to Creating Databases After you’ve installed the Oracle software, the next logical step is to create a.
By Lecturer / Aisha Dawood 1.  Administering Users  Create and manage database user accounts.  Create and manage roles.  Grant and revoke privileges.
CHAPTER 6 Users and Basic Security. Progression of Steps for Creating a Database Environment 1. Install Oracle database binaries (Chapter 1) 2. Create.
Database Technical Session By: Prof. Adarsh Patel.
9 Copyright © 2005, Oracle. All rights reserved. Administering User Security.
Week 6 Lecture 2 System and Object Privileges. Learning Objectives  Identify and manage system and object privileges  Grant and revoke privileges to.
Lecture 7 Integrity & Veracity UFCE8K-15-M: Data Management.
Access Training Linux/Unix Power Broker Access Custom Schema Database Access Customer Training Date: 25-JAN-2005.
MICROSOFT SQL SERVER 2005 SECURITY  Special Purpose Logins and Users  SQL Server 2005 Authentication Modes  Permissions  Roles  Managing Server Logins.
MISSION CRITICAL COMPUTING Moving Data and Other Planning Considerations.
The protection of the DB against intentional or unintentional threats using computer-based or non- computer-based controls. Database Security – Part 2.
Copyright © 2013 Curt Hill Database Security An Overview with some SQL.
IT Database Administration SECTION 01. Starting Up and Shutting Down the Database Database Administration Facilities – A number of tools are available.
Managing users and security Akhtar Ali. Aims Understand and manage profiles Understand and manage users Understand and manage privileges Understand and.
Roles & privileges privilege A user privilege is a right to execute a particular type of SQL statement, or a right to access another user's object. The.
Dale Roberts 1 Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
Database Role Activity. DB Role and Privileges Worksheet.
Permissions Lesson 13. Skills Matrix Security Modes Maintaining data integrity involves creating users, controlling their access and limiting their ability.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Security fundamentals Topic 2 Establishing and maintaining baseline security.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Increasing security by disabling DML statements to a dba user in Oracle database Hakik PACI Polytechnic University of Tirana.
IST 318 Database Administration Lecture 9 Database Security.
Michelle Malcher PepsiCo Session # For the DBA Manager – Understanding Oracle and DBAs.
SQL Server 2005 Implementation and Maintenance Chapter 6: Security and SQL Server 2005.
Oracle 11g: SQL Chapter 7 User Creation and Management.
3 Copyright © 2007, Oracle. All rights reserved. Using the RMAN Recovery Catalog.
Intro To Oracle :part 1 1.Save your Memory Usage & Performance. 2.Oracle Login ways. 3.Adding Database to DB Trees. 4.How to Create your own user(schema).
11 Copyright © 2007, Oracle. All rights reserved. Implementing Oracle Database Security.
1 11g NEW FEATURES ByVIJAY. 2 AGENDA  RESULT CACHE  INVISIBLE INDEXES  READ ONLY TABLES  DDL WAIT OPTION  ADDING COLUMN TO A TABLE WITH DEFAULT VALUE.
C Copyright © 2007, Oracle. All rights reserved. Security New Features.
SQL Triggers, Functions & Stored Procedures Programming Operations.
11 Copyright © 2009, Oracle. All rights reserved. Enhancing ETL Performance.
19 Copyright © 2008, Oracle. All rights reserved. Security.
6 Copyright © 2005, Oracle. All rights reserved. Administering User Security.
Defense In Depth: Minimizing the Risk of SQL Injection
Fundamentals of DBMS Notes-1.
Controlling User Access
Introduction.
Microsoft SQL Server 2014 for Oracle DBAs Module 8
Table spaces.
Managing Privileges.
Chapter 14: System Protection
Chapter 8 Dependencies, Privileges and Compilation Oracle11g:
Using Data Dictionary and Dynamic Performance Views
Get Oracle 8i Running on Your Linux Server Straight Away!
Database Security OER- Unit 1-Authentication
Chapter 14: Protection.
Managing Privileges.
Presentation transcript:

Database Vault – In Practice Stefan P Knecht Senior Consultant Stefan.Knecht@trivadis.com Freiburg, 29.01.2008

About me Consultant at Trivadis AG, Switzerland Interests stefan.knecht@trivadis.com www.trivadis.com Interests Database Performance Oracle Security *nix 8 years of *nix experience 5 years of Oracle experience Oracle Database Vault - In practice

Agenda The Goal Introduction The SYSDBA story OS Administrator Experiences & Suggestions Data are always part of the game. Oracle Database Vault - In practice

The goal of Oracle Database Vault (1) Oracle has extended its security concepts for several releases, to ensure that only authorized users can view and edit data: User and role concept Auditing, Fine Grained Auditing Virtual Private Database (Row Level Security) RMAN Backup Encryption Secure Application Roles Transparent Data Encryption Secure Backup Encryption and integrity checking in networking But none of these features made it possible to prevent a DBA from viewing sensitive data Oracle Database Vault - In practice

The goal of Oracle Database Vault (2) That's the primary goal of Oracle Database Vault (DBV) It also enforces a strong separation of duty It provides enhanced controls to authorize connections to the database "Oracle Database Vault provides a solution to help customers address the most difficult security problems remaining today" Source:"Oracle Database Vault Data Sheet": To put it in laymen's terms, it provides additional filters when "ANY" system privileges are used Oracle Database Vault - In practice

Agenda The Goal Introduction The SYSDBA story OS Administrators Experiences & Suggestions Data are always part of the game. Oracle Database Vault - In practice

Introduction to Database Vault (1) Source: Oracle Corporation Oracle Database Vault - In practice

Introduction to Database Vault (2) Realms protect data at schema / object level Predefined realms exist Database Vault Account Management Oracle Data Dictionary Oracle Database Vault Oracle Enterprise Manager User-defined realms can be created Access can be granted individually Command Rules restrict access to DML / DDL Predefined command rules are created during installation i.e. ALTER USER restricted to “Can maintain own account” Oracle Database Vault - In practice

Introduction to Database Vault (3) Rules Can be any PL/SQL code that verifies the user In combination with factors, can restrict access based on virtually any condition Rule Sets Groups rules into a set for combined evaluation Defined either ANY true or ALL true Use to conditionally allow realm authorisations Determine when to allow a command rule To enable a secure application role Oracle Database Vault - In practice

Introduction to Database Vault (4) DV_OWNER (DBV Owner Role) Superuser – controls DVSYS schema and all realms DV_ADMIN (DBV Configuration Administrator) Execute privilege on DVSYS.DBMS_MACADM (managing realms) DV_SECANALYST (DBV Security Analyst) Select privilege on DVSYS schema objects Can verify configuration and view DBV reports DV_ACCTMGR Can create and manage database users and roles But a DBA is still needed to grant privileges Oracle Database Vault - In practice

Introduction to Database Vault (5) Custom “duties” can be created using supplied roles DV_ACCTMGR DV_ADMIN DV_OWNER DV_PUBLIC DV_REALM_OWNER DV_REALM_RESOURCE DV_SECANALYST Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Das ist etwas widersprüchlich, Oracle sagt gemäss Dokumentation 3.8, Is the database account using a system ANY privilege to execute the SQL statement? Das stimmt aber auch nicht auf jeden Fall gemäss Oracle Support sollte es aber auf system privilegien basieren. Habe dazu einen Doc Bug offen: 1. Is the database account using a system ANY privilege to execute the SQL statement? If YES -> 2. else -> 6. But the GRANT command executed as the Object Owner doesn't work if we are not the Owner of the Realm. I think this is an normal behavour written in Point 3. but then the point 1. is wrong, it then should be something like: Is the database account using a system ANY privilege or using a GRANT/REVOKE to execute the SQL statement goto 2. else to 6. . Wouldn't it be better then to just specify : 1. Is the database account using a system privilege to execute the SQL statement? Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Flowchart Oracle Database Vault - In practice

Agenda The Goal Introduction The SYSDBA story OS Administrators Experiences & Suggestions Data are always part of the game. Oracle Database Vault - In practice

SYSDBA (1) SYSDBA has all the privileges in an Oracle Database Per default, SYSDBA is completely disabled This is achieved by modifying the password file to include an additional flag (nosysdba) To re-enable it, a new password file has to be created Where possible, use of SYSOPER is encouraged instead orapwd file=<File> password=<PW> nosysdba=n Oracle Database Vault - In practice

SYSDBA Certain tools however, still require the use of SYSDBA RMAN Data Guard Real Application Clusters Data Pump (only with DBV – "fixed" with MLR Patch 6194897) Installation of software (and patches) CREATE / DROP Database Automatic Storage Management Oracle 11g has already reduced the need for SYSDBA ASM no longer needs it According to future plans in Oracle development SYSDBA will no longer be mandatory for basic operation procedures Oracle Database Vault - In practice

SYSDBA SYSDBA is per default OS-authenticated in Oracle With DBV, this behaviour is inconsistent between versions According to the documention, it's disabled – logging in without specifying a password is not possible In DBV 9.2.0.8, 11g and 10.2.0.3 with MLR 6194897 it's enabled In DBV 10.2.0.2 and 10.2.0.3 it's disabled Discussions with Oracle are still undergoing about the "final" implementation of this feature Some "lazy" customers request it to be enabled Some security conscious customers request it to be disabled Perhaps it will be configurable with a parameter soon, and hopefully a parameter inside the database Oracle Database Vault - In practice

SYSDBA In current versions of Oracle Database Vault, unresolved vulnerabilities exist where SYS can view protected data With MLR Patch 6194897 or 6495033 installed: SYS can export anything and everything SYS can read anything and everything In all versions: SYS can update base tables (user$) and unlock critical accounts SYS is used to install patches – DBV has to be disabled Oracle Database Vault - In practice

Agenda The Goal Introduction The SYSDBA story OS Administrators Experiences & Suggestions Data are always part of the game. Oracle Database Vault - In practice

OS Administrators The documentation states: "Oracle Database Vault does not provide protection against the operating system root access. " "Oracle Database Vault does not provide protection against the operating system access of the Oracle software owner. " This is a common misunderstanding Due to the intense marketing by Oracle, many people believe database vault to be a fire-and-forget solution that will solve all the security issues related to data access within Oracle Perhaps the above comments should be in the beginning of the manual, and not hidden at the very end of it Oracle Database Vault - In practice

On-line relink of Oracle (1) On various operating systems, that do not use exclusive locks on open files, it's possible to re-link the Oracle binary (without DBV option) on-the-fly. Thereby gaining access to all data. A warning is printed to the alert log, along with a hint on how to suppress it cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dv_off cd $ORACLE_HOME/bin relink oracle Hier sollte Oracle crashen WARNING: Oracle executable binary mismatch detected. Binary of new process does not match binary which started instance issue alter system set "_disable_image_check" = true to disable these messages Oracle Database Vault - In practice

On-line relink of Oracle (2) Status: "Under investigation / Being fixed in main codeline" Oracle won't say what they'll change, but hopefully it'll prevent misuse of the feature, while still allowing (presumably) rolling upgrades Oracle Database Vault - In practice

Datafile access No matter how data is stored in Oracle It always ends up in a datafile Some datafiles can't be encrypted (including 11g) – for example SYSTEM tablespace A skilled OS administrator can view the data straight out of the datafiles, or even alter passwords without needing access to the database instance Up to 10gR2 Oracle even shipped a binary block editor (BBED) No longer included in 11g, key libraries not shipped with the release Hier sollte Oracle crashen Oracle Database Vault - In practice

Agenda The Goal Introduction The SYSDBA story OS Administrator Experiences & Suggestions Data are always part of the game. Oracle Database Vault - In practice

Experiences & Suggestions (1) Various Oracle products are not working correctly with DBV installed Some examples: Oracle Application Express (APEX) Oracle Warehouse Builder (OWB) Oracle plans to release specific DBV-Rulesets for its own applications Peoplesoft already released on OTN Some issues fixed with MLR Patch 6194897 or 6495033 For security reasons, DO NOT INSTALL THESE PATCHES !!! However, rather live with the bugs / workarounds Oracle Database Vault - In practice

Experiences & Suggestions (2) RMAN is a must You have to enable SYSDBA (but only temporarily) Password-File can be "switched" on-the-fly You can leave OS-authentication disabled (config.c/h) Change ownership of config.c to root:root (and mode 444) Starting with 10.2 you can use Secure External Password Store for RMAN to connect to the database Use strict separation of duty and very restrictive permissions on OS level to achieve a secure environment where only 1 user can execute RMAN and connect to the database Oracle Database Vault - In practice

Experiences & Suggestions (3) Protection from OS access Currently a concept is in the works Make use of advanced OS security functionality SE-Linux on Linux Solaris provides RBAC and other mechanisms Use strict account separation DBAs don't get permanent access to the Oracle software owner They don't even share the same group The account only needs to be unlocked to perform software installations Encrypt your sensitive data Better safe than sorry, don't trust in DBV blindly Oracle Database Vault - In practice

Experiences & Suggestions (4) Don't use the GUI It has many bugs in current versions Write scripts instead, they're easily reproducable DBMS_MACADM Can create realms, rule sets, rules and command rules Grant authorisations to realms Manage factors DBMS_MACUTL Provides functions to use to define your rules Raise database vault violation exceptions (ORA-20920) Oracle Database Vault - In practice

Experiences & Suggestions (5) Full export / import Is some tricky business with DBV installed You have to disable DBV (obviously) to export and import DVF schema contains internal DBV functions They call procedures in DVSYS DVF has no object privileges, and only CREATE SESSION You won't be able to recompile these after import How to get them valid ? DBV option contains hard-coded grants on DVSYS to DVF Not visible anywhere Only when you re-enable DBV, you'll be able to compile the objects Feels like magic, somewhat scary isn't it Oracle Database Vault - In practice

Experiences & Suggestions (6) Auditing objects modified on installation When installing DBV AUD$ gets moved to SYSTEM SYS gets a private synonym From catlbacs.sql CREATE TABLE SYSTEM.aud$ AS SELECT * FROM aud$; DROP TABLE AUD$; Installation can take *very long* when you've got a large AUD$ table It can blow up your SYSTEM tablespace Prepare for this before you install DBV If you have moved AUD$ to a dedicated tablespace It will end up in SYSTEM after installation ... unless you modify the script to include a TABLESPACE clause Oracle Database Vault - In practice

Experiences & Suggestions (7) Patch Installation on 10.2 To install a patch, DBV has to be disabled catmac.sql has to be re-executed To minimize your downtime, comment out the 106'253 INSERT INTO sys.db_profile_dict$ statements You'll get 106'254 unique constraint violations (ORA-00001) Fixed in 11g In Release 11g, Oracle has fixed this issue Dictionary is no longer reloaded during patch installation Oracle Database Vault - In practice

Experiences & Suggestions (8) Keep an eye on your DBAs ;-) Oracle Database Vault - In practice

WAIT #0 nam='sql*net message from client' ela=? www.trivadis.com