Аудит безопасности, изменений артефактов и событий LCM

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

В зависимости от параметров, указанных в файле политики аудита, Essbase собирает информацию об изменениях в системе безопасности, артефактах, событиях LCM и выполненных MaxL-инструкциях (включая импорт). Essbase консолидирует отслеживаемую информацию в файле журнала аудита или направляет ее во внешнюю базу данных. Отслеживаемая информация о каждом событии включает время, клиента, пользователя, затронутые артефакты, продолжительность, идентификатор, приложение и имя базы данных, статус и описание.

Аудит этих событий на уровне сервера можно включить с помощью настройки конфигурации Essbase AUDITTRAIL SECURITY.

Рабочий поток включения аудита безопасности для Essbase Server

Рабочий поток объясняет, как включить аудит систем безопасности на сервере Essbase Server с помощью AUDITTRAIL SECURITY. Включив аудит, нужно определить политику EssbaseSecurityAuditLogPolicy. Журнал аудита записей в Essbase можно экспортировать в файл CSV или направить во внешнюю базу данных.

В этом рабочем потоке внешней базой данных служит Oracle Database, но можно использовать также SQL Server, MySQL или DB2.

Чтобы завершить рабочий поток, необходимы права системного администратора и доступ к <Essbase Config Path> на сервере Essbase.

По этому пути находятся файлы, которые необходимо отредактировать:
  • Файл конфигурации essbase.cfg
  • Файл политики аудита безопасности по умолчанию
  1. Включите аудит событий сервера, добавив следующую настройку в файл essbase.cfg на сервере Essbase:

    AUDITTRAIL SECURITY

    Обновив конфигурацию, перезапустите Essbase.

    См. разделы "Настройка свойств конфигурации на уровне сервера" и "Запуск, остановка и проверка серверов".

  2. На сервере Essbase создается файл политики по умолчанию (XML). Этот файл EssbaseSecurityAuditLogPolicy.xml находится в каталоге, который вы указали на этапе настройки развертывания как каталог хранения конфигурации Essbase (<Essbase Config Path>, здесь же находится файл essbase.cfg).

    Созданный файл политики по умолчанию содержит следующее:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>CSV</audit_sink_type>
             <max-file-size>50000000</max-file-size>
             <roll-nos>100</roll-nos>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
    
    CSV — тип приемника аудита по умолчанию. Если вы используете тип приемника аудита по умолчанию (CSV) и хотите проверить, записываются ли сведения об аудите в файл CSV журнала аудита безопасности:
    1. Выполните действие, которое является событием, подлежащим аудиту, например, создайте приложение. Можно выбрать любое действие из перечисленных в разделе "<audit_events_to_capture>" вашей политики.
    2. Используя SSH, подключитесь к серверу Essbase.
    3. Перейдите в каталог <DOMAIN_HOME>/servers/serverName/logs/essbase/. Если вы не знаете, где находится <DOMAIN_HOME>, см. раздел "Расположение среды на платформе Essbase".
    4. Откройте и просмотрите файл SecurityAuditLog_n.csv.

      Пример файла CSV журнала аудита безопасности:
      Изображение файла CSV журнала аудита безопасности.

  3. Если вы хотите, чтобы данные журнала аудита безопасности передавались во внешнюю базу данных:

    1. Создайте подключение к внешнему источнику. См. разделы "Создание глобального подключения и источника данных" или "Создание подключения и источника данных на уровне приложения".
    2. Измените файл политики, изменив приемник аудита на DATABASE.
    3. Добавьте параметр <db_connection_name> в параметр <audit_sink>. Значение параметра <db_connection_name> должно точно соответствовать имени подключения, созданного на предыдущем подэтапе.
    Пример политики аудита с изменениями для передачи журнала аудита безопасности в Oracle Database:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>DATABASE</audit_sink_type>
               <db_connection_name>OraclePDB</db_connection_name>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
  4. Убедитесь, что сведения об аудите передаются в базу данных.

    1. Выполните действие, которое является событием, подлежащим аудиту, например, создайте приложение. Можно выбрать любое действие из перечисленных в разделе "<audit_events_to_capture>" вашей политики.

      Essbase должен создать в схеме внешней базы данных таблицу аудита с именем ESSBASE_SECURITY_AUDIT_EVENT_LOG.

    2. Войдите во внешнюю СУРБД и выполните запрос, чтобы убедиться в наличии таблицы. Например, войдите в SQL Developer и выполните команду
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Воспользуйтесь инструментом визуализации данных для просмотра и анализа записей аудита безопасности. Можно использовать Smart View, Oracle Data Desktop (доступно по лицензии Oracle Technology Network), инструменты визуализации с открытым исходным кодом или инструмент выбранного вами поставщика, помимо Oracle.

О файле политики аудита

Политика аудита определяется в файле XML, который можно редактировать в соответствии с вашими потребностями. В этом файле можно указать, какие события сервера Essbase необходимо отслеживать и надо ли записывать данные в журнал аудита безопасности или направлять их во внешнюю базу данных. Если данные записываются в журнал аудита, можно указать максимальный размер файла и количество журналов аудита безопасности, которые необходимо сохранить.

Essbase создает файл EssbaseSecurityAuditLogPolicy.xml при перезапуске Essbase после включения аудита безопасности. После этого можно отредактировать этот файл, чтобы уточнить политику аудита. Этот файл находится в каталоге, который вы указали на этапе настройки развертывания как каталог хранения конфигурации Essbase (<Essbase Config Path>, здесь же находится файл essbase.cfg). Если неизвестно, где он находится в вашей среде, см. пояснения в разделе "Расположение среды на платформе Essbase".

Чтобы изменить файл политики аудита, выполните указанные ниже действия.
  1. Перейдите к файлу EssbaseSecurityAuditLogPolicy.xml. Файл находится в каталоге приложения, указанном на этапе настройки развертывания Essbase.

  2. Откройте его в текстовом редакторе.

  3. Отредактируйте данные для входа и сведения о приемнике аудита и отслеживаемых событиях.

    1. При желании можно добавить тип приемника <audit_sink_type>DATABASE</audit_sink_type>, если вы хотите передавать данные во внешнюю базу данных.

    2. Если в шаге "а" вы указали тип приемника аудита DATABASE, в следующей строке необходимо добавить <db_connection_name>ConnectionName</db_connection_name>, указав имя подключения к базе данных, определенное в разделе "Рабочий поток включения аудита безопасности для сервера Essbase".

    3. Если данные записываются в файл журнала аудита, при необходимости измените максимальный размер файла, используя <max-file-size>n</max-file-size>, где n = число байт. Значение по умолчанию: 50000000 байта.

    4. Если данные записываются в файл журнала аудита, укажите, сколько файлов CSV журнала аудита безопасности необходимо сохранить, используя <roll-nos>n</roll-nos>, где n = число файлов.

    5. Укажите, захват каких событий аудита необходимо выполнить, используя <audit_events_to_capture>events_list</audit_events_to_capture>.

События, указанные в файле политики аудита, будут отслеживаться, и сведения о них вносятся в файл журнала аудита безопасности или направляются во внешнюю базу данных.

Можно указать представленные ниже события для захвата в файле политики аудита.

Событие Описание
LOGIN Пользователь [x] выполнил вход в систему.
LOGIN_AS Пользователь [x] выполнил вход в систему как [y]
LOGOUT Пользователь [x] выполнил выход из системы
LOGIN_FAIL Сбой при входе в систему пользователя [x]
SERVICE_ROLE_ASSIGN Роль сервиса Essbase [x] назначена пользователю [y]
SERVICE_ROLE_REVOKE Роль сервиса Essbase [x] отозвана у пользователя [y]
APPLICATION_ROLE_ASSIGN Пользователю/группе [x] назначена роль [y] в приложении [z]
APPLICATION_ROLE_REVOKE У пользователя/группы [x] отозвана роль [y] в приложении [z]
ARTIFACT_CREATE Создан артефакт [x] типа [y]
ARTIFACT_UPLOADED Запрос на загрузку артефакта вызван для приложения [a], базы данных [b], имени объекта [c] и типа объекта [d]
ARTIFACT_MODIFIED Артефакт [x] типа [y] изменен
ARTIFACT_DELETED Артефакт [x] типа [y] удален
ARTIFACT_RENAMED Артефакт [x] типа [y] переименован в [z]
APPLICATION_DELETED Приложение [x] удалено
APPLICATION_CREATE Приложение [x] создано
APPLICATION_RENAMED Приложение [x] переименовано в [y]
DATABASE_DELETED База данных [x] удалена в приложении [y]
DATABASE_CREATE База данных [x] создана в приложении [y]
DATABASE_RENAMED База данных [x] переименована в [y] в приложении [z]
LCM_EXPORT_START Задание экспорта LCM запущено с использованием файла с именем [x]
LCM_EXPORT_END Задание экспорта LCM завершено с использованием файла с именем [x] и со статусом задания [y]
LCM_IMPORT_START Импорт LCM запущен для приложения [x] с использованием имени файла [y]
LCM_IMPORT_END Импорт LCM завершен для приложения [x] с использованием имени файла [y]
LCM_IMPORT_FAIL Сбой при импорте LCM для приложения [x] с использованием имени файла [y]
DATA_LOAD_MAXL MaxL-инструкция импорта данных выполнена для приложения [x] и базы данных [y] пользователем [z]
EXECUTE_MAXL MaxL-инструкция [x] выполнена пользователем [y]
LOAD_DATA_JOB_START Задание загрузки данных запущено с использованием файла данных [x] и файла правил [y]
LOAD_DATA_JOB_END Задание загрузки данных для файла данных [x] и файла правил [y] завершено со статусом [z]
LOAD_DATA_JOB_FAILED Сбой задания загрузки данных. Причина: [x]
DELETE_SESSION Сеанс [x] удален

События аудита безопасности

События аудита безопасности отслеживаются либо в файле журнала аудита безопасности, либо передаются во внешнюю базу данных, в зависимости от того, какой вариант указан в файле политики аудита.

Инструкции по открытию журнала аудита безопасности или таблицы аудита в схеме внешней базы данных см. в Рабочий поток включения аудита безопасности для сервера Essbase.

Журнал аудита безопасности и таблица аудита содержат указанную ниже информацию о каждом событии (если применимо).
  • Время — время возникновения события
  • Клиент — IP-адрес или имя хоста клиента
  • Имя пользователя — пользователь, инициирующий действие
  • Идентификатор сеанса — идентификатор сеанса Essbase
  • Тип события — тип события
  • Тип артефакта — тип артефакта, связанного с событием
    Примеры типов артефактов:
    • Тип артефакта "partition_file" для типа события ARTIFACT_UPLOADED
    • Тип артефакта "Приложение" для типа события LCM_EXPORT_START
    • Тип артефакта "Пользователь" для типа события APPLICATION_ROLE_ASSIGN
  • Имя артефакта — имя артефакта, связанного с событием. Например, имя файла, имя пользователя или имя приложения
  • Дополнительная информация — дополнительная информация, связанная с событием
  • Описание — описание события

    Контент поля описания локализован.

  • Идентификатор — 128-битный универсальный уникальный идентификатор события.

    Пример: 123e4567-e89b-12d3-a456-426614174000

  • Продолжительность — продолжительность события в миллисекундах
  • Имя приложения — имя используемого приложения
  • Имя базы данных — имя используемой базы данных
  • Статус — успех или ошибка