Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

3 Asegurar Oracle

Descripción general

Esta sección contiene las mejores prácticas para asegurar una base de datos Oracle.

Para una configuración básica, consulte las instrucciones predeterminadas de creación de base de datos Oracle, que incluyen la creación del usuario 'zabbix' con privilegios completos en la base de datos Zabbix. Este usuario es el propietario de la base de datos y también tiene los privilegios necesarios para modificar la estructura de la base de datos al actualizar Zabbix.

Para mejorar la seguridad, se recomienda crear usuarios de base de datos adicionales con privilegios mínimos. Estos usuarios deben configurarse según el principio de privilegio mínimo, es decir, solo deben tener los privilegios esenciales para realizar las funciones previstas.

El soporte para Oracle DB está obsoleto desde Zabbix 7.0.

Creación de usuarios

Suponiendo que el propietario de la base de datos conectable (PDB) es usr_owner, se recomienda crear dos usuarios adicionales con los privilegios correspondientes (para las operaciones diarias):

  • usr_srv - usuario para ejecutar el servidor Zabbix;
  • usr_web - usuario para ejecutar el frontend y la API de Zabbix.

Estos usuarios deben ser creados por el propietario de la PDB (usr_owner) utilizando los siguientes comandos:

CREATE USER usr_srv IDENTIFIED BY "usr_srv" DEFAULT TABLESPACE "usr_owner" TEMPORARY TABLESPACE temp;
       CREATE USER usr_web IDENTIFIED BY "usr_web" DEFAULT TABLESPACE "usr_owner" TEMPORARY TABLESPACE temp;
       
       GRANT CREATE SESSION, DELETE ANY TABLE, INSERT ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, SELECT ANY SEQUENCE TO usr_srv;
       GRANT CREATE SESSION, DELETE ANY TABLE, INSERT ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, SELECT ANY SEQUENCE TO usr_web;

La restauración y actualización de tablas debe ser realizada por el propietario de la base de datos.

Después de crear los usuarios, continúe con la creación de sinónimos.

Generando sinónimos

El siguiente script crea sinónimos, para que usr_srv y usr_web puedan acceder a las tablas en el esquema usr_owner sin especificar el esquema explícitamente.

BEGIN
       FOR x IN (SELECT owner,table_name FROM all_tables WHERE owner ='usr_owner')
       LOOP
         EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM usr_srv.'|| x.table_name ||' FOR '||x.owner||'.'|| x.table_name;
         EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM usr_web.'|| x.table_name ||' FOR '||x.owner||'.'|| x.table_name;
       END LOOP;
       END;
       /

Este script debe ejecutarse cada vez después de que se cree o cambie la estructura de la base de datos de Zabbix (por ejemplo, después de actualizar Zabbix, si se crearon o renombraron algunas tablas).