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
Для установки сервера и настройки подсистемы журналирования выполните следующие шаги:
-
Перенесите preinstall-файл и установочный файл на сервер.
-
Установите необходимые зависимости, выполнив команду:
sudo dnf install compat-openssl10 ksh libnsl sysstat -
Запустите preinstall-файл командой:
sudo rpm -ihv preinstall-23c.rpm -
В процессе работы скрипта подтвердите выполнение действий, если появится соответствующий запрос.
-
Запустите основной установочный файл:
sudo rpm -ihv install-oracle-23c.rpm -
Установка в директорию
/opt/выполняется автоматически. В процессе установки при появлении запроса задайте пароль для системной учетной записиsystemи нажмите на клавишу ENTER. -
Перед началом работы базы данных задайте параметры подключения и место хранения данных в ОС в файле
/etc/sysconfig/oracle-free-23c.conf.Пример корректной конфигурации:
LISTENER_PORT=15244 # Порт прослушки сервера. Можно указать любой свободный порт. CHARSET=AL32UTF8 # Стандартная кодировка для OracleDB. DBFILE_DEST=/opt/oracledb # Место хранения данных. DB_DOMAIN= # Домен подключения. Можно оставить пустым. SKIP_VALIDATIONS=false # Не пропускайте проверку установки. -
Запустите конфигурацию сервера командой:
sudo /etc/init.d/oracle-free-23c configureПосле завершения операции сервер баз данных будет запущен. Вы можете подключиться с данными, указанными в процессе установки.
-
Убедитесь, что для таблиц с данными установлена достаточная квота на запись. По умолчанию Oracle использует учетные записи, которые называются так же, как и ваша схема подключения. Если возникла ошибка вида
quota is not enough, войдите в систему под учетной записьюsystemи выполните следующую команду:ALTER USER your_username(schema_name) QUOTA unlimited ON <your_tablespace_name>;Вместо
unlimitedможно использовать любой доступный объем памяти, например1G(1 ГБ).
Настройка сбора логов
Для настройки сбора логов выполните следующие шаги:
-
Установите переменную
ORACLE_HOMEв файле/etc/profile:export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree -
Перейдите в директорию
bin:cd /opt/oracle/product/23c/dbhomeFree/bin -
Запустите утилиту
sqlplusи авторизуйтесь в системе:./sqlplus system/password@<host_fqdn>:<port> -
Выведите содержимое текущей конфигурации с помощью команды:
show parameter audit;
Настройка аудита
Аудит представляет собой наблюдение за выбранными действиями пользователей базы данных. Обычно он применяется для контроля подозрительных операций и сбора информации об отдельных действиях в базе данных. Для его включения и настройки выполните следующие шаги:
-
Подключитесь к экземпляру базы данных и проверьте значение параметра
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 -
Если параметр имеет значение
NONE, включите аудит, выполнив команду:SQL> ALTER SYSTEM SET audit_trail=os SCOPE=SPFILE; -
Проверьте значение параметра
audit_sys_operations, отвечающего за аудит действий пользователяSYSи пользователей с привилегиямиSYSDBAиSYSOPER:SQL> show parameters audit_sys_operations NAME TYPE VALUE --------------------------- ----------- ------------------------------------- audit_sys_operations boolean FALSEПо умолчанию аудит действий для этой группы пользователей выключен.
-
Включите аудит для данной группы пользователей:
SQL> ALTER SYSTEM SET audit_sys_operations=true SCOPE=SPFILE; System altered. -
Настройте уровень журналирования в
syslog:SQL> ALTER SYSTEM SET audit_syslog_level="LOCAL0.INFO" SCOPE=SPFILE; System altered. -
Перезапустите экземпляр базы данных:
sudo systemctl restart oracle-free-23c.service -
Проверьте правильность установки значения инициализационных параметров:
SQL> SHOW PARAMETERS audit%r; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_sys_operations boolean TRUE audit_trail string DBВ выводе команды отобразятся заданные значения. Аудит включен, можно переходить к его настройке.
Настройка опций аудита
Настройка аудита представляет собой включение или выключение опций протоколирования выполняемых операций. Установка опций требует наличия привилегий AUDIT SYSTEM и AUDIT ANY и может происходить на трех уровнях аудита: команд, привилегий и объектов схемы.
-
Примените аудит для команды
ALTER SYSTEM, которая может динамически изменить текущий экземпляр базы данных:SQL> AUDIT alter system;В результате будет установлена первая опция для отслеживания действий по изменению текущего экземпляра базы данных. Включение опции не означает немедленное протоколирование команды для пользователей, которые уже подключены к базе данных (аудит для них будет действовать начиная со следующего сеанса).
-
Проверьте правильность установки опции, выполнив запрос к следующему представлению:
SQL> SELECT audit_option FROM dba_stmt_audit_opts; AUDIT_OPTION ---------------------------------------- ALTER SYSTEMВ результатах запроса отобразится установленная опция
ALTER SYSTEM, настроенная на протоколирование действий одноименной команды. Большинство опций аудита команд включают в себя группы связанных операторов. -
Включите опцию
user:SQL> AUDIT user; Audit succeeded. SQL> SELECT audit_option FROM dba_stmt_audit_opts;Опция
userдобавляет аудит на три команды:CREATE USER,ALTER USERиDROP USER. С помощью одной включенной опцииUSERможно полностью отслеживать все действия с учетными записями пользователей. Политика аудита подразумевает ограничение количества отслеживаемых событий, поэтому не рекомендуется включать все опции с помощью сокращенияALL. -
Настройте протоколирование команд, связанных с изменением ролей и профилей пользователей (
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(уникальная опция, не ассоциированная с командами) формирует запись аудита при подключении сеанса и обновляет ее при отключении. -
Перейдите к включению опций команд, связанных непосредственно с объектами. Настройте протоколирование 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 выполните следующие шаги:
-
Создайте файл конфигурации
rsyslogдля обработки событий Oracle Database:sudo nano /etc/rsyslog.d/01-oracledb.conf -
Добавьте в файл следующее содержимое:
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 выполните следующие шаги:
-
В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.
-
Добавьте на конвейер элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Syslog.
-
Порт точки входа: введите значение в соответствии с настройками на стороне Oracle Database.
-
Протокол: выберите вариант в соответствии с настройками на стороне Oracle Database.
-
-
Добавьте на конвейер элемент Нормализатор с правилом Oracle OracleDB (идентификатор правила: RV-N-92).
-
Соедините нормализатор с точкой входа.
-
Добавьте на конвейер элемент Конечная точка типа Хранилище событий.
-
Соедините конечную точку с нормализатором.
-
Сохраните и установите конфигурацию конвейера.
Пример конфигурации конвейера:

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Oracle Database.
|
Найти события Oracle Database в хранилище можно по следующему фильтру:
|
Была ли полезна эта страница?
