OracleSecurity Engl
OracleSecurity Engl
Oracle 12c
Security: Whats new in Oracle 12c ?
Rainer Meisriemler [email protected]
ORACLE Deutschland GmbH Tel: 0711/72840162
Disclaimer
Source: https://www.bsi.bund.de/SharedDocs/Zertifikate/CC/Serveranwendungen_Datenbankserver/0766.html
Finished (relax) ?
Still Open
• sqlplus / as sysdba
• sqlplus system/manager
• sqlplus sapr3/sap
• AAA
Basics
Important information-sources:
•1868094 - Summary: SAP-Hinweise zu Oracle-Sicherheit
•Oracle® Database Security Guide 12c Release 1 (12.1) E17607-24
•http://docs.oracle.com/cd/E16655_01/network.121/e17607/release_changes.htm#DBSEG000
User Management
9iR2 @ 30 by default
10gR2 @ 27 by default
11g R1 @ 35 by default
11g R2 @ 36 by default
12c R1 @ 35 by default
User Management
• Number of users is only half the truth
12cR1 (35) 11gR2 (36)
ANONYMOUS ANONYMOUS
APEX_040200 APEX_030200 APEX_PUBLIC_USER APEX_PUBLIC_USER
APPQOSSYS APPQOSSYS
AUDSYS ----
---- BI
CTXSYS CTXSYS
DBSNMP DBSNMP
DIP DIP
DVF ---
DVSYS ---
--- EXFSYS
FLOWS_FILES FLOWS_FILES
GSMADMIN_INTERNAL ---
GSMCATUSER ---
GSMUSER ---
--- HR
--- IX
LBACSYS ---
MDDATA MDDATA
MDSYS MDSYS
--- MGMT_VIEW
--- OE
OJVMSYS ---
etc. A.
New Multitenant Architektur
Memory and processe only at level of a container
New Multitenant Architektur
Memory and processe only at level of a container
New Multitenant Architektur
Where am I?
SQL> SHOW CON_ID
SQL> SHOW CON_NAME
SQL> SHOW PDBS
!!! Changes in the Datadictionary of the DB e.G. V$Database !!!
User (DB User)
• (“local user”) are the same as individally
created user in a non-CDB
• Aexists only in 1 PDB
• Acan admin a PDB
• May exist globally, z.B. creation with CONTAINER=ALL in the CREATE USER statement
• May have privilege in CDB‘s , but don‘t need to have
• DEFAULT TABLESPACE, TEMPORARY TABLESPACE, QUOTAJ ON, or PROFILE JJ..at
the CREATE USER command:
Objects needs to exists in all Containers(PDB’s)
Example for changes in the dictionary
Änderungen
Multitenant New Features in 12.1.0.2
• Usage:
ALTER PROFILE myprofile LIMIT
PASSWORD_VERIFY_FUNCTION verify_password;
More security news
More security news
• Sensitive Datenbase tables (LINK$ , DEFAULT_PWD$ , USER$ etc. )
• SELCT ANY DICTIONARY Right allows no more access
• UNLIMITED TABLESPACE
• Is no more part of the RESOURCE Role
• Internet: http://www.stuttgarter-zeitung.de/inhalt.kreiskrankenhaus-rastatt-100000-patientendaten-
verschwunden.7f19ec47-5914-412b-999c-424c2b7b45d0.html
• Lokale Kopie
• Resultat
• Internet: http://www.klinikum-mittelbaden.de/internet/pdf/Mitteilung-KKH-RA-in-FR.pdf
• Lokale Kopie
• AAA
Oracle Advanced Security
Transparent Encryption and Strong Authentication Services
Strong
Authentication
Transparent Network Encryption
Data Data
Transparently
Decrypted
Written Transparent
To Disk
Through Transparently
Data Encryption
SQL Interface Encrypted
NAMES.DIRECTORY_PATH= (TNSNAMES)
ADR_BASE = /home/oracle/app/oracle
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA1)
SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, 3DES168)
SQLNET.CRYPTO_SEED=“dflghruaegheagalihrgsielgurhuerg“
5555-5555-5555-4444
Tablespace Files 5105-1051-0510-5100 OS User
Oracle
Database (financials.dbf)
Attempting to Read Data From Encrypted
Tablespace Files
Transparent Data Encryption $> strings -a financialsENC.dbf |
grep “\-[0-9]\{4\}\-”
Blank Results
Tablespace Files OS User
Oracle
Database (financialsENC.dbf)
Managed Keys
Advanced Security Option TDE
Wallet & Keymanagement
- regular file
- local wallet
- auto login
No access
- HSM Device
to wallet
• Pay Attention:
• Old Systems may need Patch 10080579
• SYSTEM and SYSAUX tablespaces cannot be encrypted
• UNDO, TEMP tablespaces and redo logfiles cannot be
encrypted (But: the content will be encrypted self-acting)
• We don’t have a Alter Tablespace Command to switch on
encryption
• Loss of Masterkeys is equal to loss of Data !!!!!!!!!!!!
Protect the Oracle Wallet
Data
RAC Guard
Multiple
DBs Same
Machine
GoldenGa
te
Singl
e
Instan
ce
Public 5
Data Pump-Encryption
Produktion
Production Non-Production
LAST_NAME SSN SALARY LAST_NAME SSN SALARY
64
Oracle Data Masking
Make Data Anonymous
Application Testing
• Offshore or in-house application
development • Sarbanes Oxley Act of
• Offshore or in-house software QA 2002
• EU Privacy Directives
Data sharing • BSI
• Claims processing • BASEL II
• Offline reporting • PCIDSS
• Data archival and retrieval • A
• Marketing analysis of customer
data
65
Oracle Data Masking
Concept
What
LAST_NAME SSN SALARY
• The act of anonymizing customer,
financial, or company confidential AGUILAR 203-33-3234 40,000
data to create new, legible data BENSON 323-22-2943 60,000
which retains the data's properties,
such as its width, type, and format. D’SOUZA 989-22-2403 80,000
FIORANO 093-44-3823 45,000
Why
• To protect confidential data in test
environments when the data is used
LAST_NAME SSN SALARY
by developers or offshore vendors
• When customer data is shared with ANSKEKSL 111-23-1111 40,000
3rd parties without revealing BKJHHEIEDK 111-34-1345 60,000
personally identifiable information KDDEHLHESA 111-97-2749 80,000
FPENZXIEK 111-49-3849 45,000
66
Oracle Data Masking
Format Libraries
• Mask Primitives
• Random Number
• Random String
• Random Date within range
• Shuffle
• Sub string of original value
• Table Column
• Deterministic Masks
• User Defined Function
• National Identifiers
• Social Security Numbers
• Credit Card Numbers
• Condition-based Masking
• User-Defined Masks
67
Oracle Data Masking
Masking Workflow
Security
Admin
Oracle Data Masking Pack is now securely integrated with the database cloning capabilities in
Oracle Enterprise Manager
Optionen zur Enterprise Edition
Database Vault
(Lizence needed)
Optionen zur Enterprise Edition
Important SAP info sources:
DBA
ERROR at line 4:
ORA-00604: error occurred at recursive SQL level 1
ORA-20401: Realm violation on create table MEIN_EMP
ORA-06512: at ‘DVSYS.AUTHORIZE_EVENT”, line 35
ORA-06512: at line 13
ERROR at line 4:
ORA-00604: error occurred at recursive SQL level 1
ORA-20401: Realm violation on drop table SCOTT.EMP
ORA-06512: at ‘DVSYS.AUTHORIZE_EVENT”, line 35
ORA-06512: at line 13
Default Realms
Command rules ...
Example – simple 4-eyes-rule
(SELECT count(*) FROM v$session WHERE
username = 'KONTROLLEUR1' or username = 'KONTROLLEUR2') = 1
Oracle Database Vault
Auditing
Oracle Database Vault for SAP
Additional Realms
Protection Realm
SAPDBA Role DB objects needed by SAP BR*Tools
for SAP BR*Tools
Credential
Protection SAPCRED Role Data needed for credential management
Realm
Protection Realm
SAP administration roles
for SAP Admin SAPACCTMGR
(SAPCONN, SAPDBA, SAPCRED, SAPSYS)
Roles
Database Vault Neuigkeiten 12c
• Administration:
• EM/Cloud Control is (or PL/SQL) the Admin GUI
• Installed per default (but not switched on)
• Performance improvements
• New Realms
• Block ALL functionality even to block the Owner of table from
reading data
• Support of Unified Auditing
• Least Privilege Analyse
Data Vault Role & Privilege Capture
BEGIN
DBMS_PRIVILEGE_CAPTURE.CREATE_CAPTURE(
name => ‘MeisriemlerAnalyseTeil1',
description => 'Analyse des Anwendungsmoduls XYZ durch den Benutzer MSR',
type => DBMS_PRIVILEGE_CAPTURE.G_CONTEXT,
condition => 'SYS_CONTEXT(''USERENV'', ''MODULE'')='‘XYZ''
AND SYS_CONTEXT(''USERENV'', ''SESSION_USER'')=‘’MSR''');
END;
/
Data Vault Role & Privilege Capture
Ablauf
• 2. activate the policy
• challenge
• Audit is complicated
• A lot of Audit xyz Statements
• Switching off Audit should not be too easy
• Audit should not impact the performance
• Data volume could be very big
• Different Audit Data stores:
• Mandatory Audit
• SYS Audit
• Standard DB Audit
• Fine grained auditing
Database Auditing 12c Unified Audit
Detective Control for Oracle
• Default Policy’s:
•ORA_SECURECONFIG (Audit config and Trail)
•ORA_ACCOUNT_MGNT ( create user,role and grants)
•ORA_DATABASE_PARAMETER (spfile modifications)
Database Auditing 12c Unified Audit
Detective Control for Oracle
More Information:
User defined
Oracle
Database
reports
9i R2
Fremd--
Fremd Audit Warehouse
produkte Oracle Audit Vault
Oracle predefined Roles
(SOD) reports
Database
Oracle
10g
10g R2 SOD
App Svr
Oracle Data Mining
Applications
Oracle
Partitioning
Database
Enterprise Database
10g R1
Audit Settings
Oracle Audit Vault -
Data Warehouse for Audit-Data
Existing Security Solutions Not Enough
Web Users
Database
Application Users Application Database Administrators
Allow
Log
Alert
Substitute
Applications
Block
White List
Allow
Block
Applications
Black List
Allow
Block
Applications
Log
Allow
SELECT * FROM
Alert
accounts
Substitute
Applications
Becomes
Block
APP
S
Firewall
Events
Alerts !
Built-in Reports
AUDIT
Custom Reports DATA
Custom
Policies
AUDIT VAULT
Oracle Database Security Solutions
Defense-in-Depth for Maximum Security
Discover
• Standardised monitoring of Security und
Compliance policy groups
• Automatic collection of Systems
(permanent inventory)
• Out-Of-The-Box 400+ metrics in the area
of Security,best practices, industry
standards Scan & Monitor
• Expansible , define your own metrics
• Automatic discovery and documentation
of changes e.g. Databasconfig,
Installation
• Integration in trouble ticket tracking
Systeme
• Automation of Installation and patching Patch
with the help of Provisioning and change
management
Configuration Management
Oracle Privileged
Database Account Manager
LDAP
and OPAM sets the root password for the Server
Unix Server, based on the password
policy for Unix Server.
Unix • User logs in as root
• Adds disk space
Admin
(Joe)
Unix Server
OPAM benefit
• Enables and enforce the use of ( internal ) security policies
(e.g. different password for the SYS Account an every database)
• Reduce the Risik and threat of abuse of privileged user (e.g. root, SYS A)
• attest to regulatory requirements ( very flexible reporting)
• Cost reduction with efficient self service and centralised Security
Infrastruktur
• Real time Reporting
• Flexible and customizable reports
( BI Publisher)
Thank you very
much!
questions?
requests?
suggestions?