Oracle Database: настройка источника

Данное руководство описывает процесс настройки сбора и отправки событий Oracle Database в R-Vision SIEM.

Предварительные требования

Для установки и настройки источника необходимо соблюдение следующих требований:

  • сервер под управлением ОС Oracle Linux 8 или Rocky Linux 8;

  • наличие прав sudo у пользователя;

  • наличие установочного файла Oracle Database версии 23c;

  • наличие preinstall-файла версии 23c;

  • не менее 2 ядер процессора частотой 2 ГГц;

  • не менее 2 ГБ оперативной памяти;

  • не менее 20 ГБ свободного места на жестком диске в директории /opt.

Настройка Oracle Database

Для установки сервера и настройки подсистемы журналирования выполните следующие шаги:

  1. Перенесите preinstall-файл и установочный файл на сервер.

  2. Установите необходимые зависимости, выполнив команду:

    sudo dnf install compat-openssl10 ksh libnsl sysstat
  3. Запустите preinstall-файл командой:

    sudo rpm -ihv preinstall-23c.rpm
  4. В процессе работы скрипта подтвердите выполнение действий, если появится соответствующий запрос.

  5. Запустите основной установочный файл:

    sudo rpm -ihv install-oracle-23c.rpm
  6. Установка в директорию /opt/ выполняется автоматически. В процессе установки при появлении запроса задайте пароль для системной учетной записи system и нажмите на клавишу ENTER.

  7. Перед началом работы базы данных задайте параметры подключения и место хранения данных в ОС в файле /etc/sysconfig/oracle-free-23c.conf.

    Пример корректной конфигурации:

    LISTENER_PORT=15244 # Порт прослушки сервера. Можно указать любой свободный порт.
    CHARSET=AL32UTF8 # Стандартная кодировка для OracleDB.
    DBFILE_DEST=/opt/oracledb # Место хранения данных.
    DB_DOMAIN= # Домен подключения. Можно оставить пустым.
    SKIP_VALIDATIONS=false # Не пропускайте проверку установки.
  8. Запустите конфигурацию сервера командой:

    sudo /etc/init.d/oracle-free-23c configure

    После завершения операции сервер баз данных будет запущен. Вы можете подключиться с данными, указанными в процессе установки.

  9. Убедитесь, что для таблиц с данными установлена достаточная квота на запись. По умолчанию Oracle использует учетные записи, которые называются так же, как и ваша схема подключения. Если возникла ошибка вида quota is not enough, войдите в систему под учетной записью system и выполните следующую команду:

    ALTER USER your_username(schema_name) QUOTA unlimited ON <your_tablespace_name>;

    Вместо unlimited можно использовать любой доступный объем памяти, например 1G (1 ГБ).

Настройка сбора логов

Для настройки сбора логов выполните следующие шаги:

  1. Установите переменную ORACLE_HOME в файле /etc/profile:

    export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree
  2. Перейдите в директорию bin:

    cd /opt/oracle/product/23c/dbhomeFree/bin
  3. Запустите утилиту sqlplus и авторизуйтесь в системе:

    ./sqlplus system/password@<host_fqdn>:<port>
  4. Выведите содержимое текущей конфигурации с помощью команды:

    show parameter audit;

Настройка аудита

Аудит представляет собой наблюдение за выбранными действиями пользователей базы данных. Обычно он применяется для контроля подозрительных операций и сбора информации об отдельных действиях в базе данных. Для его включения и настройки выполните следующие шаги:

  1. Подключитесь к экземпляру базы данных и проверьте значение параметра audit_trail:

    Enter user-name: sys as sysdba
    Enter password:
    
    Connected to:
    Oracle Database
    
    SQL> SHOW PARAMETERS audit_trail;
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ----------------------------
    audit_trail                          string      NONE
  2. Если параметр имеет значение NONE, включите аудит, выполнив команду:

    SQL> ALTER SYSTEM SET audit_trail=os SCOPE=SPFILE;
  3. Проверьте значение параметра audit_sys_operations, отвечающего за аудит действий пользователя SYS и пользователей с привилегиями SYSDBA и SYSOPER:

    SQL> show parameters audit_sys_operations
    
    NAME                        TYPE        VALUE
    --------------------------- ----------- -------------------------------------
    audit_sys_operations        boolean     FALSE

    По умолчанию аудит действий для этой группы пользователей выключен.

  4. Включите аудит для данной группы пользователей:

    SQL> ALTER SYSTEM SET audit_sys_operations=true SCOPE=SPFILE;
    System altered.
  5. Настройте уровень журналирования в syslog:

    SQL> ALTER SYSTEM SET audit_syslog_level="LOCAL0.INFO" SCOPE=SPFILE;
    System altered.
  6. Перезапустите экземпляр базы данных:

    sudo systemctl restart oracle-free-23c.service
  7. Проверьте правильность установки значения инициализационных параметров:

    SQL> SHOW PARAMETERS audit%r;
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_sys_operations                 boolean     TRUE
    audit_trail                          string      DB

    В выводе команды отобразятся заданные значения. Аудит включен, можно переходить к его настройке.

Настройка опций аудита

Настройка аудита представляет собой включение или выключение опций протоколирования выполняемых операций. Установка опций требует наличия привилегий AUDIT SYSTEM и AUDIT ANY и может происходить на трех уровнях аудита: команд, привилегий и объектов схемы.

  1. Примените аудит для команды ALTER SYSTEM, которая может динамически изменить текущий экземпляр базы данных:

    SQL> AUDIT alter system;

    В результате будет установлена первая опция для отслеживания действий по изменению текущего экземпляра базы данных. Включение опции не означает немедленное протоколирование команды для пользователей, которые уже подключены к базе данных (аудит для них будет действовать начиная со следующего сеанса).

  2. Проверьте правильность установки опции, выполнив запрос к следующему представлению:

    SQL> SELECT audit_option FROM dba_stmt_audit_opts;
    
    AUDIT_OPTION
    ----------------------------------------
    ALTER SYSTEM

    В результатах запроса отобразится установленная опция ALTER SYSTEM, настроенная на протоколирование действий одноименной команды. Большинство опций аудита команд включают в себя группы связанных операторов.

  3. Включите опцию user:

    SQL> AUDIT user;
    Audit succeeded.
    
    SQL> SELECT audit_option FROM dba_stmt_audit_opts;

    Опция user добавляет аудит на три команды: CREATE USER, ALTER USER и DROP USER. С помощью одной включенной опции USER можно полностью отслеживать все действия с учетными записями пользователей. Политика аудита подразумевает ограничение количества отслеживаемых событий, поэтому не рекомендуется включать все опции с помощью сокращения ALL.

  4. Настройте протоколирование команд, связанных с изменением ролей и профилей пользователей (CREATE PROFILE, ALTER PROFILE, DROP PROFILE, CREATE ROLE, ALTER ROLE, DROP ROLE, SET ROLE), а также системных привилегий и сеансов. Включение этих опций можно оформить в виде одного оператора:

    SQL> AUDIT profile, role, system grant, system audit, session;
    Audit succeeded.

    Опция SYSTEM GRANT позволяет отслеживать выдачу и отбор системных привилегий и ролей (GRANT, REVOKE). Опция SYSTEM AUDIT протоколирует действия команд AUDIT и NOAUDIT для защиты настройки аудита. Опция SESSION (уникальная опция, не ассоциированная с командами) формирует запись аудита при подключении сеанса и обновляет ее при отключении.

  5. Перейдите к включению опций команд, связанных непосредственно с объектами. Настройте протоколирование DDL-команд для таблиц (CREATE TABLE, DROP TABLE, TRUNCATE TABLE) с помощью опции TABLE. Для отслеживания изменений таблицы настройте дополнительную опцию ALTER TABLE.

    Опция TRIGGER активирует аудит команд CREATE TRIGGER, ALTER TRIGGER ENABLE (DISABLE), DROP TRIGGER, ALTER TABLE ENABLE (DISABLE) ALL TRIGGERS. Триггеры могут находиться в двух состояниях, поэтому необходимо протоколировать не только команды их создания и удаления, но и операторы включения и выключения.

    Опция PROCEDURE включает аудит на команды CREATE и DROP, применяемые к хранимым объектам. Активация данной опции зависит от конкретной системы (ее можно выключить для ограничения числа записей, если модификацию осуществляет только администратор, или включить, если лиц несколько).

    Произведите включение опций для таблиц и триггеров:

    SQL> AUDIT table, alter table, trigger;

    Данной конфигурации достаточно для сбора большей части событий аудита.

Настройка отправки событий в R-Vision SIEM

Для настройки пересылки событий в коллектор SIEM выполните следующие шаги:

  1. Создайте файл конфигурации rsyslog для обработки событий Oracle Database:

    sudo nano /etc/rsyslog.d/01-oracledb.conf
  2. Добавьте в файл следующее содержимое:

    template(name="forwardFormat" type="string" string="<%pri%> %timestamp% %hostname% ORACLE_DB: %msg%\n")
    if $programname == 'journal' and $msg contains 'Oracle ' then {
      action(type="omfwd" Target="<target>" Port="<port>" Protocol="<protocol>" template="forwardFormat")
    stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) коллектора SIEM;

    • <port> — порт точки входа syslog в конвейере SIEM;

    • <protocol> — протокол приема, настроенный на конвейере (tcp или udp).

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Syslog.

    • Порт точки входа: введите значение в соответствии с настройками на стороне Oracle Database.

    • Протокол: выберите вариант в соответствии с настройками на стороне Oracle Database.

  3. Добавьте на конвейер элемент Нормализатор с правилом Oracle OracleDB (идентификатор правила: RV-N-92).

  4. Соедините нормализатор с точкой входа.

  5. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  6. Соедините конечную точку с нормализатором.

  7. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

oracle db pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Oracle Database.

Найти события Oracle Database в хранилище можно по следующему фильтру:

dproduct = "Oracle Database"

oracle db filter

Была ли полезна эта страница?

Обратная связь