Principios de Seguridad en Bases de Datos Oracle

Bloquear Esquemas Propietarios

La seguridad de las bases de datos es un tema crucial para las organizaciones de todo tipo. Los datos confidenciales almacenados en las bases de datos son un objetivo atractivo para los piratas informáticos, que pueden utilizarlos para cometer fraudes, robos de identidad y otros delitos.

Bloquear Esquemas Propietarios

Una de las recomendaciones de la política de seguridad en Bases de Datos Oracle es bloquear el esquema propietario de las tablas de una aplicación. Vale decir, ningún usuario o aplicación se puede conectar al esquema propietario de las tablas de un sistema. El esquema propietario de tablas de un sistema debe estar bloquedo y expirado. Esto entrega una serie de ventajas de seguridad que permite aplicar el principio de mínimo privilegio, el cual siempre debe estar en el radar de los desarrolladores.

Lo anterior, es especialmente importante en las prácticas de devsecops, o en la mirada de seguridad de cualquier desarrollo. Por otro lado, cuando el DBA mira las sesiones en la BD, podrá identificar más rápidamente las distintas fuentes de conexiones. Cada aplicación podrá tener su propio usuario de base de datos para conectarse. Si es necesario cambiar la password de conexión, se puede hacer sin problemas cambiando la password de conexión del usuario de una aplicación dada, sin afectar a otras aplicaciones que tienen sus propios usuarios de conexión a la base de datos.

El problema de que todas las aplicaciones se conecten directamente al esquema dueño de las tablas de la aplicación, es que se debe pensar las aplicaciones a las que hay que modificarles la password de conexión. El resultado de esto es que a veces, puede ser tan engorroso, que finalmente no cambian las passwords, lo que abre otra brecha de vulnerabilidad.

Lo que uno observa en las auditorias de bases de datos, es que las aplicaciones se conectan directamente al esquema dueño de las tablas, lo que le permitiría a cualquier sesión inyectar no sólo código DML, sino también código DDL. Lo anterior, es especialmente riesgoso si los aplicativos son vulnerables a comandos de SQL injection. Esto es un error transversal en la industria, debido a que hay mucho desconocimiento de parte de los arquitectos y desarrolladores de cómo opera la seguridad en bases de datos. Incluso, los CISO y gente de las áreas de seguridad desconocen esta recomendación de seguridad básica para las bases de datos.

Por cierto, esta práctica obliga a ser muy riguroso en la identificación de privilegios de sistema y de objetos que requiera cada rol de aplicación, de tal manera de siempre respetar el principio de mínimo privilegio. Cuando la matriz de privilegio rol/objeto/privilegio no existe, es un trabajo arduo. Sin embargo, lo anterior debe enfrentarse por el bien de la gobernanza de datos de una organización.

La siguiente figura ilustra la mala práctica y la practica recomendada.

Conclusión

Bloquear el esquema propietario de las tablas en Oracle es una medida de seguridad fundamental que ofrece múltiples ventajas:

  • Mayor seguridad: reduce el riesgo de ataques por inyección SQL y facilita la identificación de las fuentes de conexión.
  • Mejor gestión de contraseñas: permite cambiar las contraseñas de las aplicaciones sin afectar a otras.
  • Cumplimiento del principio de mínimo privilegio: minimiza el acceso a los datos y reduce el riesgo de errores.
  • Mejora la gobernanza de datos: facilita la identificación y control de los privilegios de acceso.

Si bien implementar esta medida requiere un esfuerzo inicial, los beneficios en términos de seguridad y control de acceso a los datos son significativos.

Se recomienda a las organizaciones que implementen esta medida como parte de sus buenas prácticas de seguridad en bases de datos.


Lea lo último de nuestro blog «Servidores Lenovo: beneficios, características y casos de uso».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *