Auditoría de la seguridad, los cambios de artefactos y los eventos de administración del ciclo de vida

Los administradores de servicio pueden activar la auditoría de seguridad para hacer un seguimiento de los cambios realizados en el servidor de Essbase.

En función de los parámetros que especifique en un archivo de política de auditoría, Essbase recopilará información sobre los cambios a nivel de sistema que afecten a la seguridad, los artefactos y los eventos de administración del ciclo de vida, así como sobre la ejecución de sentencias MaxL (incluidas importaciones). Essbase consolida la información recopilada en un archivo log de auditoría o la transmite a una base de datos externa. La información recopilada sobre cada evento incluye la hora, el cliente, el usuario, los artefactos afectados, la duración, el identificador, el nombre de aplicación y de base de datos, el estado y una descripción.

Para activar la auditoría a nivel del servidor de estos eventos, utilice el valor de configuración AUDITTRAIL SECURITY de Essbase.

Flujo de trabajo para activar la auditoría del servidor de Essbase

Este flujo de trabajo explica cómo activar la auditoría de seguridad en el servidor de Essbase mediante AUDITTRAIL SECURITY. Después de activar la auditoría, defina EssbaseSecurityAuditLogPolicy. Puede hacer que Essbase escriba registros de auditoría en un archivo CSV o los transmita a una base de datos externa.

En este flujo de trabajo, Oracle Database es la base de datos externa, pero también puede utilizar SQL Server, MySQL o DB2.

Para completar el flujo de trabajo, debe ser administrador del sistema y necesitará acceso a <Essbase Config Path> en el equipo servidor de Essbase.

Esta ruta contiene archivos que tendrá que editar:
  • El archivo de configuración essbase.cfg
  • Un archivo de política de auditoría de seguridad por defecto
  1. Active la auditoría de eventos del servidor agregando la siguiente configuración a essbase.cfg en la máquina del servidor de Essbase:

    AUDITTRAIL SECURITY

    Después de actualizar la configuración, reinicie Essbase.

    Consulte Definición de las propiedades de configuración a nivel de servidor y servidores Start, Stop y Check.

  2. Se crea un archivo de política (XML) por defecto en el servidor de Essbase. Este archivo, EssbaseSecurityAuditLogPolicy.xml, está en la ruta que ha especificado durante la fase de configuración del despliegue para almacenar la configuración de Essbase (<Essbase Config Path>, que es donde también reside essbase.cfg).

    El archivo de política por defecto creado tiene el siguiente contenido:
    <?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 es el tipo de receptor de auditoría por defecto. Si utiliza el tipo de recepto de auditoría (CSV) por defecto y desea comprobar que los detalles de auditoría se escriben en el archivo CSV de log de auditoría de seguridad,
    1. Realice una acción que sea un evento auditable, como crear una aplicación. Puede seleccionar cualquier acción de las que aparecen en la sección <audit_events_to_capture> de la política.
    2. Utilice un SSH en el servidor de Essbase.
    3. Vaya a <DOMAIN_HOME>/servers/serverName/logs/essbase/. Si no sabe dónde está <DOMAIN_HOME>, consulte Environment Locations in the Essbase Platform.
    4. Abra y revise el archivo, SecurityAuditLog_n.csv.

      Ejemplo de un archivo log CSV de auditoría de seguridad:
      Imagen de un archivo .csv de auditoría de seguridad.

  3. Si desea que la pista de auditoría de seguridad se transmita a una base de datos externa,

    1. Cree una conexión al origen externo. Consulte Creación de una conexión global y un origen de datos o Creación de una conexión y un origen de datos de nivel de aplicación.
    2. Edite el archivo de política para cambiar el receptor de auditoría de DATABASE.
    3. Agregue el parámetro <db_connection_name> dentro del parámetro <audit_sink>. El valor del parámetro <db_connection_name> debe ser el nombre exacto de la conexión creada en el subpaso a anterior.
    Ejemplo de política de auditoría editada para transmitir la pista de auditoría de seguridad a 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. Compruebe que los detalles de auditoría se han transmitido a la base de datos.

    1. Realice una acción que sea un evento auditable, como crear una aplicación. Puede seleccionar cualquier acción de las que aparecen en la sección <audit_events_to_capture> de la política.

      Essbase debe crear una tabla de auditoría denominada ESSBASE_SECURITY_AUDIT_EVENT_LOG en el esquema de base de datos externa.

    2. Conéctese al RDBMS externo y ejecute una consulta para comprobar la presencia de la tabla. Por ejemplo, conéctese a SQL Developer y ejecute
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Utilice una herramienta de visualización de datos y analice los registros de auditoría de seguridad. Puede utilizar Smart View, Oracle Data Desktop (disponible con una licencia de Oracle Technology Network), herramientas de visualización de código abierto desde el código abierto o su proveedor de base de datos distinto de Oracle.

Acerca del archivo de política de auditoría

La política de auditoría se define en un archivo XML que puede editar para ajustarse a sus necesidades. En este archivo, puede especificar para qué eventos del servidor de Essbase se realizará un seguimiento y si se deben escribir los datos en un registro de auditoría de seguridad o transmitirlos a una base de datos externa. Si escribe los datos en un log de auditoría de seguridad, puede indicar el tamaño máximo de archivo y el número de archivos log de auditoría de seguridad que se van a mantener.

Essbase crea EssbaseSecurityAuditLogPolicy.xml al reiniciar Essbase después de activar la auditoría de seguridad. A continuación, puede editar el archivo según sea necesario para acotar la política de auditoría. El archivo está ubicado en la ruta que ha especificado durante la fase de configuración del despliegue para almacenar la configuración de Essbase (<Essbase Config Path>, que es donde también reside essbase.cfg). Si no sabe dónde está en su entorno, consulte Environment Locations in the Essbase Platform para obtener una explicación.

Para editar el archivo de políticas de auditoría,
  1. Acceda a EssbaseSecurityAuditLogPolicy.xml. El archivo está en el directorio de aplicación especificado durante la fase de configuración del despliegue de Essbase.

  2. Ábralo en un editor de texto.

  3. Edite el receptor de auditoría, los detalles del registro y los eventos de los que se realizará el seguimiento.

    1. De forma opcional, agregue <audit_sink_type>DATABASE</audit_sink_type> si desea transmitir los datos a una base de datos externa.

    2. Si ha indicado el tipo de receptor de auditoría DATABASE en el paso a, en la siguiente línea, agregue <db_connection_name>ConnectionName</db_connection_name> con el nombre de la conexión de base de datos que ha definido en el Flujo de trabajo para activar la auditoría de seguridad para el servidor de Essbase.

    3. Si se escriben los datos en un archivo log de auditoría, también puede cambiar el tamaño máximo del archivo mediante <max-file-size>n</max-file-size>, donde n = número de bytes. El valor por defecto es 50000000 bytes.

    4. Si se escriben los datos en un archivo log de auditoría, indique cuántos archivos CSV de log de auditoría de seguridad se deben guardar mediante <roll-nos>n</roll-nos>, donde n = número de archivos.

    5. Indique qué eventos de auditoría desea capturar con <audit_events_to_capture>events_list</audit_events_to_capture>.

De los eventos que haya indicado en el archivo de política de auditoría, se realiza un seguimiento en un archivo log de auditoría de seguridad o se transmiten a una base de datos externa.

Puede indicar los siguientes eventos que capturar en el archivo de políticas de auditoría:

Evento Descripción
LOGIN El usuario [x] se ha conectado correctamente
LOGIN_AS El usuario [x] se ha conectado como [y]
LOGOUT Usuario [x] desconectado
LOGIN_FAIL Error de conexión del usuario [x]
SERVICE_ROLE_ASSIGN Se ha asignado el rol de servicio de Essbase [x] a [y]
SERVICE_ROLE_REVOKE Se ha revocado el rol de servicio de Essbase [x] desde [y]
APPLICATION_ROLE_ASSIGN Se ha aprovisionado al usuario/grupo [x] el rol [y] en la aplicación [z]
APPLICATION_ROLE_REVOKE Se ha revocado el rol [y] al usuario/grupo [x] en la aplicación [z]
ARTIFACT_CREATE Se ha creado el artefacto [x] de tipo [y]
ARTIFACT_UPLOADED Se ha llamado a la solicitud de carga de artefacto para la aplicación [a], base de datos [b], nombre de objeto [c] y tipo de objeto [d].
ARTIFACT_MODIFIED Se ha modificado el artefacto [x] de tipo [y]
ARTIFACT_DELETED Se ha suprimido el artefacto [x] de tipo [y]
ARTIFACT_RENAMED Se ha cambiado el nombre del artefacto [x] del tipo [y] a [z].
APPLICATION_DELETED Se ha suprimido la aplicación [x]
APPLICATION_CREATE Se ha creado la aplicación [x]
APPLICATION_RENAMED Se ha cambiado el nombre de la aplicación [x] a [y]
DATABASE_DELETED Se ha suprimido la base de datos [x] en la aplicación [y]
DATABASE_CREATE Se ha creado la base de datos [x] en la aplicación [y]
DATABASE_RENAMED Se ha cambiado el nombre de la base de datos [x] a [y] en la aplicación [z]
LCM_EXPORT_START Se ha iniciado el trabajo de exportación de LCM con el nombre de archivo [x]
LCM_EXPORT_END Se ha completado el trabajo de exportación de LCM con el nombre de archivo [{x}] y el estado de trabajo [{y}]
LCM_IMPORT_START Se ha iniciado la importación de LCM para la aplicación [x] con el nombre de archivo [y]
LCM_IMPORT_END Se ha completado la importación de LCM para la aplicación [x] con el nombre de archivo [y]
LCM_IMPORT_FAIL Se ha producido un fallo al importar LCM para la aplicación [x] con el nombre de archivo [y]
DATA_LOAD_MAXL La sentencia de datos de importación MaxL ha sido ejecutada para la aplicación [x] y la base de datos [y] por el usuario [z].
EXECUTE_MAXL Se ha ejecutado la sentencia MaxL [x] desde el usuario [y]
LOAD_DATA_JOB_START Se ha iniciado el trabajo de carga de datos con el archivo de datos [x] y el archivo de reglas [y]
LOAD_DATA_JOB_END Se ha completado el trabajo de carga de datos para el archivo de datos [x] y el archivo de reglas [y] con el estado [z]
LOAD_DATA_JOB_FAILED Se ha producido un error en el trabajo de carga de datos debido a [x]
DELETE_SESSION Se ha suprimido la sesión [x]

Eventos de auditoría de seguridad

El seguimiento de los eventos de auditoría de seguridad se realiza en un archivo log de auditoría de seguridad, o bien se transmiten a una base de datos externa, dependiendo de lo que haya indicado en el archivo de política de auditoría.

Para obtener instrucciones sobre cómo abrir el log de auditoría de seguridad o la tabla de auditoría en el esquema de base de datos externa, consulte Flujo de trabajo para activar la auditoría de seguridad para el servidor de Essbase.

El log de auditoría de seguridad y la tabla de auditoría incluyen la siguiente información (cuando es aplicable) de cada evento:
  • Hora: momento en el que se produjo el evento
  • Cliente: dirección IP o nombre de host del cliente
  • Nombre de usuario: usuario que inició la acción
  • ID de sesión: ID de la sesión de Essbase
  • Tipo de evento: el tipo de evento
  • Tipo de artefacto: tipo de artefacto utilizado en el evento
    Ejemplos de tipo de artefacto:
    • Tipo de artefacto partition_file para el tipo de evento ARTIFACT_UPLOADED
    • Tipo de artefacto Application para el tipo de evento LCM_EXPORT_START
    • Tipo de artefacto User para el tipo de evento APPLICATION_ROLE_ASSIGN
  • Nombre de artefacto: nombre del artefacto utilizado en el evento. Por ejemplo, el nombre de archivo, de usuario o de aplicación.
  • Información adicional: información adicional asociada al evento.
  • Descripción: descripción del evento.

    El contenido del campo Descripción está localizado.

  • ID: identificador único universal de 128 bits que describe el evento.

    Ejemplo: 123e4567-e89b-12d3-a456-426614174000

  • Duración: duración del evento en milisegundos
  • Nombre de la aplicación: el nombre de la aplicación
  • Nombre de la base de datos: el nombre de la base de datos
  • Estado: correcto o fallido