About the Device

Oracle Database is a relational database with object and Extensible Markup Language (XML) capabilities. In a relational database, all data is stored in tables that are composed of rows and columns. Oracle Database enables you to store data, update it, and efficiently retrieve it, with a high degree of performance, reliability, and scalability.

Device Information

 Entity

Particulars

Vendor Name

Oracle

Product Name

Database

Type of Device

Hosted

Collection Method

Log Type

 Ingestion label

Preferred Logging Protocol - Format

Log collection method

Oracle

ORACLE_DB

Syslog - KV

CyberHub

Oracle

ORACLE_DB

DB - KV

CyberHub

Port Requirements

Source

Destination

Port

Oracle Database

CyberHub

6514 (TCP)

To facilitate secure communication and align with our best practice, we strongly encourage the use of Transport Layer Security (TLS) between your security devices and our Adaptive MxDR platform for event forwarding.

While we understand that TLS support may not be available on all devices, if your devices do support TLS communication, we recommend utilizing port 6514 for seamless integration.

In some cases, the upgraded version of the device might incorporate TLS support without prior notice. If you come across such a scenario or for further assistance in configuring TLS, we kindly ask you to reach out to your dedicated Adaptive MxDR Service Delivery Lead.

Device Configuration

We support three Integration Methods with Oracle DB.

  1. Oracle DB Integration with NXLog Enterprise Edition: In this integration we use NXLog Enterprise Edition to Query the Oracle Database’s Audit Table and forward logs to Chronicle SIEM.

  2. Oracle DB Integration with NXLog Community Edition: In this integration Oracle DB writes OS (Linux) level log files which can then be forwarded by NXLog Community Edition to Chronicle SIEM. (Only Linux OS is supported)

  3. Oracle DB Integration directly from Cyberhub: We pull the data from Database via our Database Query and then forward it to Chronicle SIEM.

Oracle DB Integration with NXLog Enterprise Edition

Prerequisites

  1. Enable Unified_Auditing on DB.

  2. ODBC Driver Installation on Windows and Linux

note

After Installation for Linux devices go to Installed location of the NXLog and then look for the ODBC module and install it via Rpm -ivh <NXLOG-<Version>-<ODBC>.rpm>. This step is not required for Windows as it gets pre-installed by default.

After Installation for Linux devices go to Installed location of the NXLog and then look for the ODBC module and install it via Rpm -ivh <NXLOG-<Version>-<ODBC>.rpm>. This step is not required for Windows as it gets pre-installed by default.

  1. Create Read Only User.

NXLog Enterprise Edition Configuration

note

A central NXLog server has to be created by the customer before following below Steps.

A central NXLog server has to be created by the customer before following below Steps.

 To Enable Unified Auditing on Database.

  1. Login into Oracle

    [oracle@ip-172-31-18-18 ~]$ SQLPLUS / nolog
    SQL> connect username/password:<sid> as sysdba
    SQL> SHUTDOWN IMMEDIATE
    SQL> exit
  2. Now stop the listener.

    lsnrctl stop
    
  3. Now go to OMS folder.

    cd $ORACLE_HOME/middleware/oms
    export OMS_HOME=/u01/app/oracle/product/middleware/oms
    $OMS_HOME/bin/emctl stop oms
note

If you don’t have middleware folder, go to step 14 directly.

If you don’t have middleware folder, go to step 14 directly.

  1. Relink Oracle with the uniaud_on option.

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk uniaud_on ioracle
  1. The above command will enable the Unified Auditing on the DB.

  2. Restart all the Oracle Services.

    sqlplus / as sysdba
    startup mount
    exit
    
  3. Start the listener service.

    lsnrctl start
    
  4. Now again login into Oracle

    sqlplus / as sysdba
    
  5. Run the below Query.

    SQL> ALTER DATABASE OPEN;
    
  6. Now run the Query.

    SQL> select * from vsoption where PARAMETER = 'Unified Auditing';
    PARAMETER                  VALUE          CON ID
    Unified Auditing.          TRUE
    
  7. Now the Unified auditing is enabled.

 ODBC Driver Installation

  1. Windows:

note

When you extract these three packages it will extract all the content in its own folder name. Copy the content of these folders into the folder instantclient_21_3 which was created in above steps.

When you extract these three packages it will extract all the content in its own folder name. Copy the content of these folders into the folder instantclient_21_3 which was created in above steps.

image-20240808-094751.pngimage-20240808-094811.png

image-20240808-094906.pngnote

Change C:\Program Files\Oracle\Product\Client\instantclient_21_3 with your actual Oracle Client folder.

Change C:\Program Files\Oracle\Product\Client\instantclient_21_3 with your actual Oracle Client folder.

image-20240808-094936.png

Now go to run with Windows + R and type regedit. Now go to HKEY_LOCAL_MACHINE > SOFTWARE > ODBC > ODBCINST.INI you will find name as Oracle in instantclient_21_3 as below

image-20240808-095004.png
  1. LINUX (Redhat and CentOS)

To Create Read Only User

grant select on AUDSYS.AUD$UNIFIED to read_only_user;

GRANT SELECT ON v$instance TO read_only_user;

grant select on sys.audit_actions to read_only_user;

NXLOG Enterprise Edition Configuration

note

For multiple Databases add multiple inputs.

For multiple Databases add multiple inputs.

Oracle DB Integration with NXLog Community Edition

Prerequisites:

note

All the audit files should be in same directory.

All the audit files should be in same directory.

Enable Unified Auditing on OS Level Syslog

  1. Login to Your System with root permissions.

  2. Switch to Oracle User.

    su - oracle
  3. Provide the password for oracle user.

  4. Go to Oracle “dbs“ directory. Below is the example:

    cd $ORACLE_HOME/dbs
  5. Under dbs edit the init<SID>.ora file.

    vim initORCL.ora
    
  6. Under the file add two configurations

    #UNIFIED_AUDIT_SYSTEMLOG = '<FACILITY.SEVERITY>'
    #UNIFIED_AUDIT_COMMON_SYSTEMLOG = '<FACILITY.SEVERITY>'
    Example:
    UNIFIED_AUDIT_SYSTEMLOG = 'local0.info'
    UNIFIED_AUDIT_COMMON_SYSTEMLOG = 'local0.info'
    
note

Facility can be from LOCAL0 to LOCAL7. You can choose any according to the logs you wish to monitor. SEVERITY can be chosen from DEBUG to Emergency according to the log monitoring.

Facility can be from LOCAL0 to LOCAL7. You can choose any according to the logs you wish to monitor. SEVERITY can be chosen from DEBUG to Emergency according to the log monitoring.

  1. Save the file.

  2. Now edit the spfile<SID>.ora

    unified_audit_common_systemlog='local0.info'
    
  3. Add the above configuration at the End. Please note you need to add the same <FACILITY.SEVERITY> as you mentioned in the init<SID>.ora

  4. Save the file.

  5. Configure rsyslog on your system.

    sudo vi /etc/rsyslog.conf
    
    # Unified Audit Rules
    local0.info            /var/log/oracle_common_audit_records.log
    local1.info            /var/log/oracle_audit_records.log
    
  6. Restart the rsyslog service

    systemctl restart rsyslog
  7. Login into Oracle

    [oracle@ip-172-31-18-18 ~]$ SQLPLUS / nolog
    SQL> connect username/password:<sid> as sysdba
    SQL> SHUTDOWN IMMEDIATE
    SQL> exit
  8. Now stop the listener.

    lsnrctl stop
    
  9. Now go to OMS folder.

    cd $ORACLE_HOME/middleware/oms
    export OMS_HOME=/u01/app/oracle/product/middleware/oms
    $OMS_HOME/bin/emctl stop oms
note

If you don’t have middleware folder go to step 16 directly.

If you don’t have middleware folder go to step 16 directly.

  1. Relink Oracle with the uniaud_on option.

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk uniaud_on ioracle
  1. The above command will enable the Unified Auditing on the DB.

  2. Restart all the Oracle Services.

    sqlplus / as sysdba
    startup mount
    exit
    
  3. Start the listener service.

    lsnrctl start
    
  4. Now again login into Oracle

    sqlplus / as sysdba
    
  5. Run the below Query.

    SQL> ALTER DATABASE OPEN;
    
  6. Now run the Query.

    SQL> select * from vsoption where PARAMETER = 'Unified Auditing';
    PARAMETER                  VALUE          CON ID
    Unified Auditing.          TRUE
    
  7. Now the Unified auditing is enabled.

 NXLog Community Edition Configuration

note

NXLog Community Edition will read logs from the audit file created in section. “Enable Unified Auditing on OS Level Syslog“. The logs will have very less security value in comparison to Oracle DB Audit Log Read from CyberHub or From NXLog EnterPrise Edition Read as we are reading data via DB Query. In this case NXLog will only read data from the file which Oracle has generated.

NXLog Community Edition will read logs from the audit file created in section. “Enable Unified Auditing on OS Level Syslog“. The logs will have very less security value in comparison to Oracle DB Audit Log Read from CyberHub or From NXLog EnterPrise Edition Read as we are reading data via DB Query. In this case NXLog will only read data from the file which Oracle has generated.

Oracle DB Integration directly from Cyberhub

Prerequisites:

 Enable Unified Auditing on Database

To enable unified auditing on Windows/Linux:

  1. Log in to SQL*Plus as user SYS with the SYSDBA administrative privilege. 

    sqlplus sys as sysdba
    Enter password: password
    
  2. Run the following query to find out if your database has been migrated to use unified auditing. Enter Unified Auditing in the case shown here.

    SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';
    

    If the output for the VALUE column is FALSE, then complete the remaining steps in this section to migrate to unified auditing. If the output is TRUE, then unified auditing is enabled by default.

  3. Stop the database.

    For single-instance installations, enter the following commands from SQL*Plus:

    SHUTDOWN IMMEDIATE
    EXIT
    

    For Windows systems, stop the Oracle service:

    net stop OracleService%ORACLE_SID%
    

    For Oracle Real Application Clusters (Oracle RAC) installations, shut down each database instance as follows:

    srvctl stop database -db db_name
    
  4. Stop the listener. (Stopping the listener is not necessary for Oracle RAC and Grid Infrastructure listeners.)

    lsnrctl stop listener_name
    

    You can find the name of the listener by running the lsnrctl status command. The name is indicated by the Alias setting.

  5. Go to the $ORACLE_HOME/rdbms/lib directory.

  6. Enable the unified auditing executable.

  7. Restart the listener.

    lsnrctl start listener_name
    
  8. Restart the database. Log in to SQL*Plus and then enter the STARTUP command as follows:

    sqlplus sys as sysoper
    Enter password: password
    
    SQL> STARTUP
    

    For Windows systems, start the Oracle service again.

    net start OracleService%ORACLE_SID%
    

    For Oracle RAC installations, from a command line, restart the database as follows:

    srvctl setenv database -db orcl

To Create Read Only User

Integration Parameters

Parameters required from customer for Integration.

Oracle DB Syslog Integration(Via NXLog)

Property

Default Value

Description

IP Address

Oracle Database interface IP address

Hostname or IP address of the device which forwards logs to the CyberHub

Oracle DB Integration (via DB) 

Property

Default Value

Description

JDBC Drivers Directory

<Database Driver Location on Cyberhub>

JDBC Drivers Directory

Database URL

jdbc:oracle:thin:@<Host_ip>:<Port>:<SID>

Database URL

User Name

<username>

User Name

Password

<password>

Password

Start Reading From

  • BEGINNING

  • END

Start Reading From END