Oracle Database Vault es una herramienta poderosa que se utiliza para fortalecer la seguridad de las bases de datos, especialmente en entornos multitenant que utilizan la arquitectura Container Database (CDB) y Pluggable Database (PDB). A continuación, se describen algunas de las formas en que Database Vault puede mejorar la seguridad en este tipo de entornos:

1. Control de Acceso Basado en Roles y Reglas

Database Vault permite definir políticas de acceso muy específicas que regulan quién puede acceder y administrar los CDBs y PDBs. Puedes crear reglas que limiten las acciones que los administradores de bases de datos pueden realizar, incluso restringiendo el acceso a ciertos objetos y datos sensibles.

2. Separación de Deberes

La herramienta ayuda a implementar la separación de deberes al permitir que diferentes roles y usuarios tengan acceso a diferentes funcionalidades y áreas de la base de datos. Esto reduce el riesgo de fraudes o abusos por parte de los administradores, ya que no tendrán acceso completo a todas las funciones críticas.

3. Acceso Autónomo y Autenticación

Database Vault ofrece opciones avanzadas de autenticación que pueden integrarse con sistemas de autenticación externos. Esto asegura que solo los usuarios autenticados de manera adecuada puedan acceder a las bases de datos. También se puede dificultar el acceso a través de técnicas como la autenticación multifactor.

4. Protección de Datos Sensibles

Se pueden implementar políticas de protección de datos sensibles que aseguren que sólo ciertos usuarios o roles puedan acceder a información confidencial, cumpliendo con regulaciones de protección de datos como GDPR o HIPAA.

5. Auditoría y Monitoreo

Database Vault proporciona capacidades de auditoría robustas que permiten registrar las acciones de los usuarios dentro de las PDBs y CDBs. Esto no solo ayuda a identificar actividades sospechosas, sino que también es crucial para cumplir con los requisitos de cumplimiento normativo.

6. Multi-tenancy y Aislamiento

En un entorno multitenant, es fundamental mantener el aislamiento entre las PDBs. Database Vault contribuye a este aislamiento al proporcionar controles de acceso que impiden que los usuarios de una PDB accedan a datos en otra PDB de manera no autorizada.

7. Mantenimiento de Seguridad a lo Largo del Tiempo

Las políticas de seguridad de Database Vault pueden ser modificadas y ajustadas según evolucionen las necesidades de seguridad de la organización, lo que permite mantener una postura de seguridad proactiva y adaptable.

Práctica: Implementación de Oracle Database Vault en un entorno multitenant

Objetivo:

Aprender a implementar y configurar Oracle Database Vault para mejorar la seguridad de las PDBs en un entorno CDB.

Requisitos:

  • Acceso a una instancia de Oracle Database (12c o superior) con capacidades multitenant.
  • Conocimientos básicos de SQL y PL/SQL.
  • Privilegios de DBA para crear y administrar roles, usuarios y Database Vault.

Pasos de la Práctica:

Paso 1: Preparación del Entorno

Conectar a la CDB: Conéctate a tu CDB como un usuario con privilegios de DBA y verifica las PDBs existentes.

    sqlplus sys/password@CDB AS SYSDBA
    SELECT name FROM v$pdbs;

    Paso 2: Habilitar Oracle Database Vault

    Instalar y habilitar Database Vault:

    • Usa el siguiente comando para habilitar Database Vault en tu CDB (esto puede requerir reiniciar la base de datos):
    EXEC DBMS_PDB.ENABLE_DATABASE_VAULT();
    ALTER SYSTEM SET URLs = TRUE SCOPE=BOTH;

    Asegúrate de que el servicio de Database Vault esté habilitado:

    SELECT * FROM V$OPTION WHERE PARAMETER='Database Vault';

    Paso 3: Crear Políticas de Seguridad

    Crear una Política de Acceso:

    • Define una política que restrinja el acceso a una PDB a ciertos usuarios.
      BEGIN
      DBMS_AUTHZ.CREATE_POLICY(
      policy_name => 'Restrict_access_pdb',
      comment => 'Restrict access to specified user on PDB',
      enable => TRUE);
      END;
      /
      BEGIN
      DBMS_AUTHZ.ADD_POLICY_MEMBER(
      policy_name => 'Restrict_access_pdb',
      member_name => 'USER_PDB'); -- Usar el nombre del usuario que quieres restringir
      END;
      /

      Crear un rol y asignar privilegios limitados:

      CREATE ROLE restricted_role;
      GRANT CREATE SESSION TO restricted_role;
      GRANT SELECT ON some_sensitive_table TO restricted_role; -- Reemplaza por las tablas relevantes

      Asignar el rol al usuario en la PDB

      ALTER SESSION SET CONTAINER=your_pdb;
      GRANT restricted_role TO user_in_pdb;

      Paso 4: Auditoría de Acceso

      Configurar la Auditoría:

      • Activa la auditoría de acciones en Database Vault:
        EXEC DBMS_FGA.ADD_POLICY(
        object_schema => 'schema_owner',
        object_name => 'sensitive_table',
        policy_name => 'audit_sensitive_access',
        statement_types => 'SELECT',
        audit_condition => NULL,
        handler_module => NULL,
        handler_context => NULL,
        enable => TRUE);

        Paso 5: Probar las Configuraciones

        Conectar con el usuario restringido y probar el acceso:

        • Intenta conectarte a la PDB como el usuario restringido y verifica que solo tengas acceso limitado.
          sqlplus user_in_pdb/password@your_pdb
          SELECT * FROM some_sensitive_table; -- Debería permitir acceso o dar error

          Revisar la auditoría de seguridad:

          • Consulta los registros de auditoría para verificar las acciones hechas por el usuario.
          SELECT * FROM DBA_FGA_AUDIT_TRAIL WHERE policy_name='audit_sensitive_access';

          Paso 6: Documentación y Revisión

          Documenta tus hallazgos:

          • Registra lo que has aprendido sobre la configuración de Database Vault, cualquier error encontrado, lecciones aprendidas y posibles mejoras en la configuración de seguridad.

            Oracle Database Vault ofrece una capa crítica de seguridad que es especialmente relevante en entornos multitenant, donde múltiples bases de datos comparten recursos pero deben operar de manera segura y aislada. La implementación adecuada de Database Vault puede reducir significativamente los riesgos de seguridad y ayudar a garantizar que la administración de las bases de datos se realice de manera segura y conforme a las regulaciones vigentes.

            Deja un comentario

            Tendencias