• No results found

Oracle Database Security and Audit

N/A
N/A
Protected

Academic year: 2021

Share "Oracle Database Security and Audit"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

Copyright © 2014, Reidy Database Consulting, LLC

Oracle Database

Security and Audit

Beyond Checklists

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Learning objectives

Understand

Oracle architecture

Database

Listener

Oracle connection handshake

Client/server architecture

Authentication methods

Password protection

Reidy Database Consulting, LLC Database Security and Risk Assessment

Oracle architecture

Architecture of an Oracle database instance

Oracle Real Application Cluster (RAC)

Oracle Automatic Storage Management (ASM)

Oracle Enterprise Manager (OEM) 12c Cloud

Control

(2)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Oracle database is not just a data store

Complex system - like an operating system

Networking services (FIFO pipes, etc.) and support for many protocols (TCP, etc.)

File subsystem (space allocation, deletion, reuse, recovery, corruption detection, etc.)

Job schedulers

Kernel interrupts and instrumentation

XML storage and processing

Shared memory and memory pools

Interprocess communication (IPC) and threading

Large object storage and processing

Encryption support at the data storage and network layers (strong algorithms, SSL

support)

Multiple authentication methods (database, Kerberos, LDAP, etc.)

Oracle RDBMS

Architecture

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

What is an Oracle

instance?

Composed of many subsystems

This is same regardless if you are speaking of a

single instance database, RAC database, or ASM

database

Based on UNIX architecture

Software (executables, shared libraries, JAR files,

etc)

Disk files (database files, log files, control files)

Shared memory

Reidy Database Consulting, LLC Database Security and Risk Assessment

(3)

Copyright © 2014, Reidy Database Consulting, LLC

RAC Architecture

High availability solution

Multiple computers open and access

one database instance

Transparent application failover

(network layer)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Reidy Database Consulting, LLC Database Security and Risk Assessment

ASM Architecture

Disk volume manager for Oracle database

Commonly used in Real Application Cluster (RAC)

configurations

But, it can be used in a stand-alone single instance

system

Implemented with a small Oracle companion

database

(4)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

OEM 12c

Infrastructure to manage, monitor, provision, and baseline

enterprise computing platforms

Oracle database repository (OMR)

Web and application servers (OMS)

Management agent (OMA)

Console (OMC)

Operating system configuration

Database - single instance, RAC, and ASM services

non-Oracle databases via plugins

Sensitive data discovery and mapping (Real Application Testing -

RAT)

Really, anything you want to monitor and/or manage and/ or test

Reidy Database Consulting, LLC

Database Security and Risk Assessment

Deployed

to target

servers

Web servers

(5)

Copyright © 2014, Reidy Database Consulting, LLC Database Security and Risk Assessment

Oracle networking

Database and database application are

separated into a client/server architecture

Client runs the database application

SQL*Plus, Desktop programs, web

applications, etc.

Server runs the Oracle database software

Functions for concurrent, shared data

access

http://docs.oracle.com/cd/E11882_01/server.112/e16508/

dist_pro.htm#CNCPT006

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Client/server

architecture

Reidy Database Consulting, LLC Database Security and Risk Assessment

Oracle listener

Server side process

Traffic manager

Incoming client connection requests

Establishes a pathway to the database

instance

(6)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Connection handshake

03Logon pre-11g

05Logon

!

Essentially the same process regardless of

database version.

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

Client software such as SQL*Plus starts a connection with SQL>connect system/ manager

Reidy Database Consulting, LLC Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

The server receives the

request, gets the hash and

generates the session key

(7)

Copyright © 2014, Reidy Database Consulting, LLC

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

The server send the session

key to the client

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

1) The client evaluates

the Oracle password algorithm and generates the password hash 2) The password hash is

used to decrypt the session key

At this point it is possible to

enumerate users in the database

Reidy Database Consulting, LLC Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

1) The client evaluates

the Oracle password algorithm and generates the password hash 2) The password hash is

used to decrypt the session key

The client evaluates

the hash and decrypts

(8)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

1) The client evaluates

the Oracle password algorithm and generates the password hash 2) The password hash

is used to decrypt the session key

Send encrypted password = AUTH_PASSWORD

Client encrypts the clear text password using the session key as the new key

At this point, if we know

the hash and have access

to SQL*Net trace files we

can decrypt the password

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

1) The client evaluates the Oracle password algorithm and generates the password hash 2) The password hash is

used to decrypt the session key

Send encrypted password = AUTH_PASSWORD

Client encrypts the clear text password using the session key as the new key

The server decrypts the session key, evaluates the password algorithm, and compares the hash with

sys.user$.password or

sys.user$.spare4

The server gets the

password, creates the hash

and checks if login can

proceed

Reidy Database Consulting, LLC Database Security and Risk Assessment

03Logon

User application

Logon as SYSTEM

Send username to server = SYSTEM

Database server

The server retrieves the hash from sys.user$, generates a random number, and encrypts the random number with the hash used as a key.

Send session key

1) The client evaluates

the Oracle password algorithm and generates the password hash 2) The password hash

is used to decrypt the session key

Client encrypts the clear text password using the

session key as the new key Send encrypted password = AUTH_PASSWORD

The server decrypts the session key, evaluates the password algorithm, and compares the hash with

sys.user$.password or

sys.user$.spare4

Begin Session

If the hashes match, session is started

Session can begin to send and receive data from the database

(9)

Copyright © 2014, Reidy Database Consulting, LLC

Client/server architectures

Dedicated server architecture

Server process created on behalf of each client

process

Shared server architecture

Dispatcher directs incoming requests to pool of

shared server processes

Database resident connection pooling

Connection pool of dedicated servers for typical

Web application scenarios

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Dedicated server process

Reidy Database Consulting, LLC Database Security and Risk Assessment

(10)

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Database resident connection pooling

Copyright © 2014, Reidy Database Consulting, LLC Reidy Database Consulting, LLC

Database Security and Risk Assessment

Oracle networking

Establish and maintain connection between client and

database

Based on the OSI architecture

Stack based architecture

3 basic type of connections

Client/Server Connections

Java Connections

Web client connections

http://docs.oracle.com/cd/B28359_01/network.111/b28316/

architecture.htm#i1048731

!

http://en.wikipedia.org/wiki/OSI_model

Reidy Database Consulting, LLC Database Security and Risk Assessment

References

Related documents

Ethiopia is among the first ten nations in the world with respect to the livestock population. However, the benefit obtained from the sector is low compared to other African

 If request gets to different server, then pull session info.  Single centralization database (or

MobileDBA 3.0 is a complete Oracle and SQL Server database administration utility that allows database administrators and support workers to diagnose and repair mission

• Oracle Audit Vault and Database Firewall and F5 BIG-IP Application Security Manager..

Wati 不可以现在走 Wisnu tidak boleh pulang sekarang.. Wisnu 不可以现在走 6.Saya baru

Network Charging and Control is based on Oracle Solaris and Oracle Database middleware. The security audit capabilities of this middleware are utilized to provide the ability to

The mathematical equivalence between Algorithms 1 and 3 allows now for a fair comparison between the contour integration method, which is based on computing the discretized

6.34 Hypothesis Testing: Qualification Analysis 203 6.35 Hypothesis Testing: Occupation Analysis 205 6.36 Hypothesis Testing: Residential Analysis 207 6.37 Hypothesis