01 Oracle Audit Vault and Database Firewall Concepts Guide
01 Oracle Audit Vault and Database Firewall Concepts Guide
01 Oracle Audit Vault and Database Firewall Concepts Guide
Firewall
Concepts Guide
Release 20
E93407-05
January 2021
Oracle Audit Vault and Database Firewall Concepts Guide, Release 20
E93407-05
Contributing Authors: Ashok Swaminathan, Vipin Samar, Rajesh Tammana, Angeline Dhanarani
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,
any programs embedded, installed or activated on delivered hardware, and modifications of such programs)
and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government
end users are "commercial computer software" or "commercial computer software documentation" pursuant
to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such,
the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works,
and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs
embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle
computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the
license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud
services are defined by the applicable contract for such services. No other rights are granted to the U.S.
Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,
and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not
be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
Contents
Preface
Audience iv
Documentation Accessibility iv
Conventions iv
Translation v
iii
Preface
Preface
Oracle Audit Vault and Database Firewall Concepts Guide introduces the concepts
and terminology used in Oracle Audit Vault and Database Firewall (also referred to
as Oracle AVDF). This document provides an overview of the main features used by
Database Auditors, Database Administrators, and developers.
• Audience
• Documentation Accessibility
• Conventions
• Translation
This topic contains translation (or localization) information for Oracle AVDF User
Interface and Documentation.
Audience
This document is an overview of the product capabilities and intended for security
managers, audit managers, and database administrators (DBAs) who are involved in
the selection and deployment of Oracle Audit Vault and Database Firewall.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the
Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
iv
Preface
Convention Meaning
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
Translation
This topic contains translation (or localization) information for Oracle AVDF User
Interface and Documentation.
The Web based User Interface or the Audit Vault Server console is translated and
made available in the following languages. This includes the User Interface, error
messages, and help text.
• French
• German
• Italian
• Japanese
• Korean
• Spanish
• Portuguese - Brazil
• Chinese - Traditional
• Chinese - Simplified
Oracle AVDF Documentation is available in the following languages:
• English
• Japanese
v
1
Overview of Oracle Audit Vault and
Database Firewall
Database Activity Monitoring (DAM) is a security technology for monitoring and
analyzing database activity. DAM solutions are used to identify and report on
fraudulent, illegal, or other undesirable behavior and typically used to address security
and compliance needs.
Oracle Audit Vault and Database Firewall (Oracle AVDF) supports native database
audit data collection and network-based SQL monitoring to deliver a comprehensive
Database Activity Monitoring solution.
Use Cases
There are two key use cases for Database Activity Monitoring, namely, compliance
and corporate security guidelines.
• Compliance: Organizations have a need to address regulations such as GDPR,
PCI, GLBA, HIPAA, IRS 1075, SOX, and UK DPA. These regulations require
database auditing and network based SQL traffic to be monitored as part of the
regulatory requirements.
• Corporate security guidelines: While corporate security guidelines vary, in many
instances they require auditing privileged user activity, logon and logoff events,
sensitive data access, monitoring database traffic and preventing SQL injection
attempts and many other common security relevant activities. These guidelines
typically require both database auditing and network based SQL traffic monitoring
capabilities.
• Database Auditing and Network Based SQL Traffic Monitoring: Why Both Are
Needed
• Oracle Audit Vault and Database Firewall Components
• Enterprise Deployment
• Hybrid Cloud Support
• Provisioning Audit Policies for Oracle Databases
• Monitoring Oracle Database Entitlements
• Monitoring Oracle Stored Procedures
• Summary
• Support Policy When Third Party Software is Installed on Oracle AVDF
1-1
Chapter 1
Oracle Audit Vault and Database Firewall Components
Database auditing involves creating and enabling database policies to track the
actions taken on database objects or users. When auditing is enabled, database
activities on specified objects and users produce an audit trail of these operations.
Each action generates an audit record that includes what database operation was
performed, who performed the operation, the database objects involved, time of
execution, and the SQL statement itself. Database auditing not only captures local
activity but also any database activity that does not cross the network as SQL, such as
logging local or remote console connection, to make database and user changes.
Network Based SQL Traffic Monitoring
SQL injection is perhaps the most common method used to attack databases by
exploiting application vulnerabilities. SQL injection exploits flaws in application code—
the application that sends SQL statements to a database. Given that much of that
application code is written without analyzing possible SQL injection issues, many
applications are exposed to vulnerabilities.
Database Firewall can be used to monitor and analyze the SQL traffic to the database,
whether coming from an application server or a user connecting to the database
directly. By monitoring and analyzing the SQL statements, the database firewall can
intercept SQL statements generated as a result of a SQL injection attack, block or
substitute them with other SQL statements, thereby thwarting SQL injection attack. As
SQL statements are evaluated for policy compliance and the actions are taken over
the network it does not consume resources on the database server.
In many instances, corporate or regulatory policies may require that trusted path
access to corporate applications should be enforced. This could involve only allowing
application access to the database from certain IP addresses or users. Database
Firewall policies can be used to monitor, alert, block, and substitute SQL statements
based on user session information, such as IP address or database user name. You
can also use the Database Firewall to train it to understand normal or approved SQL,
and block anything else that is different.
Why Both
Oracle recommends a holistic approach to Database Activity Monitoring, requiring
both database auditing and SQL traffic monitoring. Auditing typically captures detailed
information after a certain event has occurred, while monitoring SQL traffic helps you
monitor the SQL statement before it reaches the database, making it possible to block
suspicious statements. Both of them gave different views into the same event, one
after, and one before. You can start with either capability and expand their architecture
to include both.
1-2
Chapter 1
Oracle Audit Vault and Database Firewall Components
an embedded Oracle database for data storage. Audit Vault Server performs four
primary functions:
For Oracle databases, it additionally captures before and after values, and
changes to user entitlements and stored procedures. With support for pre-seeded
audit policies, it is easy to implement best practices for auditing.
• Default predefined reports with customization capabilities: Audit Vault Server
provides dozens of default reports including changes to database configuration,
security, and user entitlements. It also provides reports on login and logout,
sensitive data access and modification, stored procedure changes, and many
more. Report data can be easily filtered and searched for investigations. Using
predefined compliance reports for GDPR, PCI, GLBA, HIPAA, IRS 1075, SOX,
and UK DPA, you can easily provide needed reports to auditors. Third-party
reporting tools can connect to the Audit Vault Server schema for further analysis.
• Configuring alerts and notifying when certain events occur: Audit Vault Server
raises alerts on user-specified events such as multiple failed login attempts,
sensitive table access by unauthorized users, and data export operations. Custom
alerts can be configured in Oracle AVDF.
• Oracle AVDF supports information life cycle management (ILM) policies to help
organizations meet compliance requirements. Per target policies can be created
specifying the online and offline retention periods, and based on that, activity data
is automatically moved from the Audit Vault Server to the archive. If necessary,
data in the archive location can be restored to the Audit Vault Server, and this data
then becomes visible in the reports.
Audit Vault Server supports a high-availability architecture to ensure that audit record
collection does not stop. A secondary audit vault server can be configured so that in
the event of a failure of the primary, the secondary becomes the primary without any
manual intervention.
Audit Vault Agent
Audit Vault Agent retrieves audit data from audit trails, sources of audit data, for
various types of Targets and sends the audit data to the Audit Vault Server. For
directory based trails the Audit Vault Agent is deployed on the same machine as the
trail, and for database table based trails it can be deployed on a remote machine. A
single Audit Vault Agent can collect from multiple Targets and trails.
Audit trails include database audit trails, OS trails, directory trails as listed below.
Database audit trails include Oracle Database, Oracle Autonomous Database,
Microsoft SQL Server, SAP Sybase, IBM Db2 for LUW, MySQL, MongoDB and
PostgreSQL. The audit data can come from audit tables or files. Oracle AVDF can
also capture before and after values from REDO records of Oracle databases. OS
audit trails include Oracle Linux, Red Hat Linux, Oracle Solaris, Microsoft Windows,
and IBM AIX. In addition, custom audit data in either database tables or XML files can
be collected.
Database Firewall
Database Firewall inspects SQL traffic going into the database and determines with
high precision whether to allow, log, alert, substitute, or block the SQL. Database
Firewall events are stored in the Audit Vault Server and consolidated with the audit
data giving you a unified view into all activities. The Database Firewall is covered in
detail in the next chapter.
1-3
Chapter 1
Enterprise Deployment
Databases
Oracle Database IBM Db2
Users Microsoft SQL Server MySQL
SAP Sybase ASE PostgreSQL
Database
Firewall Operating Systems & Directory Services
Linux Solaris
Windows Active Directory
AIX
Applications
Custom
Application Tables MongoDB
XML REST
JSON
Alerts
Reports
Audit Vault
Server
Policies
1-4
Chapter 1
Provisioning Audit Policies for Oracle Databases
databases. Thus, you get full control, and have complete view over your audit data
using one single unified dashboard.
1-5
Chapter 1
Monitoring Oracle Database Entitlements
1.8 Summary
Oracle Audit Vault and Database Firewall (Oracle AVDF) is a complete Database
Activity Monitoring (DAM) solution that combines native audit data with network-based
SQL traffic capture. Oracle AVDF includes an enterprise quality audit data warehouse,
host-based audit data collection agents, powerful reporting and analysis tools, alert
framework, audit dashboard, and a multistage Database Firewall. Users can leverage
the pre-seeded policies to quickly enable database auditing with a single click.
The next chapter will discuss the Database Firewall and how you can use it to monitor
and block SQL traffic before it is executed in the database.
1-6
Chapter 1
Support Policy When Third Party Software is Installed on Oracle AVDF
During patching or upgrade of Oracle AVDF, you may find that the presence of third
party software contributes to difficulties in completing the operation. You may also
find that the process of patching/upgrading Oracle AVDF causes third party software
to malfunction or cease to work altogether. Oracle AVDF upgrades also update the
underlying operating system and may remove any custom libraries added by third
party software.
Audit data is particularly sensitive, and loss of an audit data may result in inability
to support compliance reporting and forensic investigations. In the event that you
choose to install third party software on Oracle AVDF, then Oracle recommends you
take additional appropriate precautions such as more frequent backups that may
reduce the damage in the event the third-party software causes system instability or
corruption.
1-7
2
Network-Based SQL Traffic Monitoring with
Database Firewall
Database Firewall is a multistage firewall that inspects SQL traffic going into the
database and determines with high precision whether to allow, log, alert, substitute,
or block the SQL. The SQL traffic goes through multiple stages including checks for
the IP address, database or OS user, program name, SQL statement category, such
as DDL and DML, and database tables being accessed. It blocks and alerts both
deny-listed SQL and SQL that is not in the allowed set of allowlist SQL statements,
helping prevent SQL injection attacks.
Successful deployment of the Database Firewall depends on deciding an effective
firewall policy and selecting the appropriate firewall deployment as described below.
• Developing an Effective Firewall Policy
• Choosing the Firewall Deployment
• Summary
2-1
Chapter 2
Developing an Effective Firewall Policy
SQL
Session Context
DB User IP Address
OS User IP Address
SQL Statement
Database Objects
SQL Statement Type
Default Rule
2-2
Chapter 2
Developing an Effective Firewall Policy
The Database Firewall can be trained to take a set of SQL statements and group
them into similar clusters. Groups of clusters are referred to as SQL cluster sets
and are useful in creating policies. SQL cluster sets provides the flexibility to group
the clusters so that you can enforce policy rules on them.
SQL statement rule combines SQL cluster set, and profile, which is defined as a
combination of database session attributes such as IP address, database users,
OS users, and database clients.
SQL Statement rules can be used to allow SQL traffic from trusted application
paths to be executed by the database. Allow-lists of normal behavior could be
created by running the Database Firewall in training mode where it logs unique
SQL statements and captures a set of expected SQLs representing normal traffic,
such as the set of SQLs generated in a test or QA system. These groups of
SQLs, called SQL Clusters, can be used in creating the policies. Typical use-case
include:
• Allow allow-listed application SQL requests from a trusted set of application
users.
• Allow specific allow-listed SQL requests from trusted set of privileged users
accessing using a tool such as Oracle SQL Developer.
Actions that can be taken when a SQL statement matches the SQL statement rule
are the same as that mentioned above for the Session context rule. It is explained
in the section below titled Actions Taken When SQL Statement Matches the Policy.
SQL traffic that does not match is sent to the next stage for processing, namely,
the Database Object based rule.
3. Database Object Based Rules
Database Object based rules are used to prevent or allow specific types of SQL
statements such as DML and DCL, on specific database objects such as tables
and views. These rules are often used for controlling behavior of privileged users
over the network where it might be necessary to stop them from accessing specific
sensitive application database objects.
Typical use cases include:
• Allow only SELECT on application tables but alert or block if there are attempts
to perform data modification on sensitive application tables.
• Alert on any data modification attempts over the network that has not been
allow-listed in the SQL statement rule. Actions that can be taken when a SQL
statement matches the Database Object Based rule are the same as that
mentioned above for the Session context rule. It is explained in the section
below titled Actions Taken When SQL Statement Matches the Policy. SQL
traffic that does not match is sent to the next stage for processing, namely, the
Default rule.
• Identify potential data exfiltration attempts by monitoring and alerting on the
number of rows returned by the database in response to SQL SELECT queries
(starting from Oracle AVDF 20.3).
Monitoring the behavior of privileged users over the network and preventing them
from accessing sensitive application database objects they are not authorized
to access. For example, allowing only SELECT query on application tables, and
block the SQL modifying sensitive application tables. This can be achieved using
the Database Object rule. This is used to block or allow specific types of SQL
statements (DML, DDL, etc.) on specific database objects such as tables and
views.
2-3
Chapter 2
Choosing the Firewall Deployment
2-4
Chapter 2
Summary
ensure that all traffic can be routed via the firewall and policies can be applied to
the SQL before it is executed in the database.
To simplify the modification required for applications to connect to the database
firewall proxy mode deployments, configure local domain name servers (DNS) to
resolve fully qualified domain name of the target database to the IP address of the
database firewall.
If you want to only monitor the SQL traffic, you have two other choices of
deployment: Out-of-band or Host Monitor.
2. Monitoring in Out-of-Band Mode
When you configure database activity monitoring in out-of-band mode, the
database firewall listens to the network traffic, including client requests to the
database and the response from the database. The database activity is monitored
as per the defined policy. There are several technologies that can be used to send
a copy of the database traffic to the database firewall. These technologies include,
but are not limited to, span ports, network taps, and using packet replicators.
In this mode, Oracle Database Firewall can monitor and alert on SQL traffic, but
cannot block or substitute SQL statements. The out-of-band monitoring mode is
the simplest deployment mode for a non-blocking policy requirement. There is no
additional load on the database or the clients. There is no latency or single point of
failure introduced by the Database Firewall.
3. Monitoring with Host Monitor
Host Monitor captures SQL traffic going to the database by monitoring and
capturing traffic received by the network interface card on the database. This helps
to capture relevant traffic as compared to capturing all the network traffic from an
out-of-band, that is, span port, technology. The Host Monitor gets a copy of SQL
traffic and hence it can only monitor and cannot block them. This SQL event data
is securely sent over the network to a database firewall. The data is then available
for reports generated by Oracle AVDF.
Host monitoring is designed for situations where network reconfiguration required
for out-of-band deployment mode is ruled out due to complexity.
2.3 Summary
Deploying the Database Firewall requires two steps:
• Deciding whether you want to only monitor and record the SQL, or monitor and
block the SQL, then based on that you need to decide how you can deploy the
firewall – proxy mode, out-of-band, or host monitor.
• Deciding the Database Firewall policy that will help you define the multi-stage
filtering rule for SQL traffic over the network. What rules you want, and when the
rule is satisfied, what actions you want the database firewall to take.
2-5
3
Reports and Alerts
Oracle AVDF reports cover a wide range of activities including privileged user activity,
changes to database schema, and SQL statements being executed. In addition,
reports include information changes in database account management, roles and
privileges, object management, and stored procedure changes.
Auditors access reports interactively through a web interface, or through PDF or XLS
files. Report columns can be sorted, filtered, re-ordered, added, or removed. PDF and
XLS reports can be scheduled to be generated automatically. Reports can also be
defined to require signoff by multiple auditors. Users can use Oracle BI Publisher to
create new or customize PDF and XLS report templates to meet specific compliance
and security requirements. Furthermore, the Audit Vault Server repository schema is
documented, enabling integration with third-party reporting solutions.
• Types of Reports
• Built-in Reports
• Custom Reports
• Alerts and Notifications
• Summary
3-1
Chapter 3
Built-in Reports
You can import the sensitive objects in an Oracle database as a file, which could be
generated by running the Database Security Assessment Tool (DBSAT) or Enterprise
Manager (Application Data Model). Oracle AVDF will use this list to generate
predefined reports such as activity on sensitive data, user’s access rights to sensitive
data, activity on sensitive data by privileged users, and others.
Stored Procedure and OS Correlation Reports
Stored Procedure Audit Reports can help keep track of the changes made to the
stored procedures. Correlation Reports identify events on the database with the
original Linux OS user for Oracle Database targets running on Linux. This is useful
in cases where this user runs a shell or executes a command on the database as
another user by using su or sudo.
3-2
Chapter 3
Built-in Reports
templates to send emails to other users with either a link to a report, or an attached
PDF version of the report.
You can create customized reports based on the built-in reports and then save the new
report formats to view them online. Oracle AVDF provides tools to filter, group, and
highlight data, and define columns displayed in the reports.
Table 3-1 Available Types of Built-in Reports in Oracle Audit Vault and Database Firewall
3-3
Chapter 3
Custom Reports
Table 3-1 (Cont.) Available Types of Built-in Reports in Oracle Audit Vault and Database Firewall
3-4
Chapter 3
Summary
for those alerts. For example, you can set up an email to be automatically sent to a
user, such as a security officer, or to a distribution list. Alerts can be also forwarded to
syslog. This is useful if you want to integrate them with another system.
Because alerts are rule-based, if the rule definition is matched, then an alert is raised.
For example, an alert can be defined which states that if user A fails to log in to
database B after three tries, then an alert is raised.
Alert conditions are flexible and can include more than one event, and the events
can come from different targets. The alert condition can also be a complex statement
based on multiple fields in the collected audit data or SQL network event data. A
good way to define an alert condition is to first look at the All Activity Report, which
displays details of all captured audit events. From this report you can see possible
events that may be of interest to you. Alerts can be threshold and time based as well.
For example, if five login failures occur within one minute window, possibly indicating a
brute force attack, then an alert can be raised.
3.5 Summary
Oracle Audit Vault and Database Firewall consolidates activity audit data from Oracle
and non-Oracle databases, operating systems, and directories, and provides security
and compliance reports. Through an accurate SQL grammar-based engine, the
Database Firewall monitors SQL traffic and blocks unauthorized SQL. Now with
modern and rich UI, and extensible monitoring platform, Oracle Audit Vault and
Database Firewall 20 is your first line of defense with enterprise-level scale, security,
and automation.
For more information, refer to the Oracle Audit Vault and Database Firewall
documentation or the product data sheet, FAQ, and Technical Report.
3-5