Auditar Acciones Administrativas en Tu Oracle RDS y EC2
Prefacio
Amazon Relational Database Service (Amazon RDS) es un servicio web que facilita la configuración, operación y escalado de una base de datos relacional en la nube de AWS. Proporciona capacidad redimensionable y rentable para una base de datos relacional de estándar industrial y gestiona tareas comunes de administración de bases de datos.
DataSunrise es un Socio de Tecnología Avanzado de AWS certificado en competencia de Seguridad en Protección de Datos y Cifrado junto con otras calificaciones validadas por AWS. DataSunrise puede funcionar en las instalaciones, en una caja EC2 o como un clúster en múltiples instancias EC2, en una máquina virtual o en bare-metal. DataSunrise Data and Database Security Suite (DataSunrise) para todos los tipos de Amazon RDS actúa como un firewall de aplicación de base de datos (DAF) actuando como un intermediario para todas las sesiones, consultas y comandos de cualquier cliente a la instancia de Amazon RDS. Y puesto que DataSunrise es un software y no una solución SaaS, usted es responsable de configurar adecuadamente su instancia de DataSunrise.
El principal objetivo de este artículo es introducir el enfoque sobre cómo auditar la actividad de cuentas privilegiadas. Veremos cómo configurar DataSunrise para auditar la actividad del DBA en Oracle RDS. Sin embargo, todos los pasos generales se aplican a cualquier instancia de Amazon RDS.
Visión general de Oracle RDS y requisitos previos
Como probablemente sepa, Amazon RDS admite el acceso a bases de datos utilizando cualquier aplicación cliente SQL estándar y no permite el acceso directo al host con SSH, etc. Esta arquitectura no permite la instalación de agentes de base de datos en Amazon RDS y limita el uso de privilegios poderosos de DBA como SYSDBA. Amazon RDS emplea un modelo de responsabilidad compartida que excluye la intervención humana directa en la plataforma de computación. Sin embargo, con Amazon RDS puede realizar sus tareas de manera ligeramente diferente y unificada. Por ejemplo, el DBA puede acceder a los registros de la base de datos o hacer copias de seguridad de instancias de Amazon RDS con instantáneas usando AWS Management Console, AWS CLI o RDS API. Por otro lado, no puede acceder a Amazon RDS usando conexiones SSH o RDP para actividades relacionadas con la base de datos o el sistema operativo (y probablemente dañinas). Así que tenga en cuenta que teniendo el rol de IAM requerido, puede modificar y gestionar su instancia de Amazon RDS para cumplir con los requisitos de su sistema sin conectarse a Amazon RDS a través de SSH/RDP.
Un aspecto importante está relacionado con Oracle SYSDBA y privilegios/roles similares. El rol SYSDBA se asigna solo al usuario RDSADMIN (AWS usa el usuario del sistema operativo “rdshm”) y la contraseña de RDSADMIN es desconocida. Además, con Oracle RDS no puede conocer la contraseña del usuario SYS. Y todas estas cosas significan que:
- no puede conectarse a su Oracle RDS usando el usuario RDSADMIN o SYS;
- sus usuarios de base de datos no pueden obtener SYSDBA u otro rol poderoso de Oracle Database;
- no puede conectarse remotamente a la instancia de Oracle RDS usando SYSDBA u otro rol poderoso de Oracle Database.
Estos privilegios limitados aseguran y protegen cada instancia de RDS. Oracle RDS crea para usted un usuario DBA limitado (por ejemplo, el usuario “admin” por defecto) para que pueda conectarse a la instancia de Oracle RDS usando este usuario. Más adelante, puede crear otro usuario y este nuevo usuario no obtendrá más privilegios de los que tiene su usuario “admin”. Nuevamente, esto está relacionado con el modelo de responsabilidad compartida de gestión en AWS. El equipo de Amazon RDS ha establecido esta línea roja que no puede cruzar.
Dejaremos la configuración de Oracle RDS fuera del alcance de este artículo y para continuar con los siguientes pasos necesitará una instancia de Oracle RDS en funcionamiento y esperamos que pueda iniciar un nuevo Oracle RDS o que ya tenga acceso a una instancia existente de Oracle RDS. Si desea conocer las mejores prácticas para ejecutar Oracle RDS, consulte la documentación de AWS.
En la siguiente sección veremos qué está disponible para auditar la actividad del DBA.
Actividad del DBA en Oracle RDS y opciones de auditoría
Las limitaciones de las instancias RDS plantean muchas preguntas sobre cómo auditar acciones específicas del DBA como ALTER SYSTEM, CREATE USER, DROP DATABASE, etc. ¿Y cómo puede auditar a usuarios internos de RDS como RDSADMIN? Ok, revisemos todas las opciones disponibles.
- Puede ver la actividad interna de RDS usando Archivos de Registro de Base de Datos de Amazon RDSPuede ver, descargar y vigilar los registros de la base de datos utilizando la consola de Amazon RDS, la Interfaz de Línea de Comandos (CLI) de AWS o la API de Amazon RDSAPI de Amazon RDS. Amazon proporciona servicio de recuperación en un punto de tiempo y afirma que RDS carga registros de transacciones para instancias de BD en Amazon S3 cada 5 minutos. Así que los Archivos de Registro de Base de Datos y el servicio CloudTrail ambos le ayudan a analizar la actividad del usuario RDSADMIN junto con información adicional sobre eventos de Oracle RDS. Todas estas opciones son buenas hasta que necesite monitoreo y alertas de transacción en tiempo real.
- Con instancias DAF ejecutándose en máquinas virtuales EC2 separadas puede auditar todas las sesiones y consultas que pasan a su instancia de Amazon RDS. El propósito de las instancias DAF es convertirse en su guardia de la base de datos y dado que necesita monitorear la actividad del DBA, veremos esta opción en detalle más adelante. Las instancias de DataSunrise en cajas EC2 pueden monitorear y asegurar la actividad de la red hacia Amazon RDS.
Visión general de DataSunrise en AWS y requisitos previos
Configurar y asegurar las instancias de DataSunrise involucra varios pasos importantes. Para preparar su instancia de DataSunrise asegurada en el entorno de AWS, siga los pasos descritos en nuestro documento de Mejores Prácticas de Seguridad de DataSunrise en AWS. Para mencionar algunos pasos, son los siguientes:
- asignar roles de IAM adecuados a sus instancias EC2 con instancias de DataSunrise;
- crear y asignar Grupo(s) de Seguridad VPC a su instancia de Amazon RDS y a las instancias EC2 que tienen el software DataSunrise;
- utilizar contraseñas seguras y únicas para cada cuenta.
La arquitectura a continuación consiste en una instancia de base de datos (RDS o en una instancia EC2) detrás de DAF, una base de datos de almacenamiento de auditoría separada (RDS o en una instancia EC2) y una instancia DataSunrise que actúa como un servidor proxy para conexiones de usuario.

Como una opción, DataSunrise proporciona scripts de CloudFormation para desplegar en AWS soluciones de seguridad de base de datos seguras y rentables. Siguiendo su creación de instancias de Amazon RDS, estos scripts automatizan todas las tareas necesarias para desplegar instancias EC2, instalar DataSunrise en estas instancias EC2, configurar Amazon Load Balancer, así como la creación de todos los demás recursos de AWS requeridos. Omitiremos la opción de CloudFormation y continuaremos con un escenario de instancia única de EC2. Hemos preparado videos sobre cómo instalar la instancia de DataSunrise, por favor vea uno de los videos y siga los pasos requeridos:
- Instalando DataSunrise en Linux https://www.youtube.com/watch?v=FWoGY2qc0F8
- Instalando DataSunrise en Windows https://www.youtube.com/watch?v=wKlFUdUUbSE
Al final del proceso de instalación, su instancia de DataSunrise debería ser accesible desde su navegador web. Necesitará la instancia de DataSunrise en funcionamiento para poder acceder a la consola web de su instancia de DataSunrise con los privilegios requeridos.
El siguiente requisito previo es la Configuración de la Base de Datos que debe crear en la instancia de DataSunrise para iniciar un proxy para Amazon RDS. Consulte la Guía del Usuario de DataSunrise, sección “3.1 Creación de un Perfil de Base de Datos de Destino y un Proxy” y la sección “5.1.6 Creación de Usuarios de Base de Datos Requeridos para Obtener los Metadatos de la Base de Datos”. Dado que DataSunrise en modo proxy actúa como un intermediario al interceptar todos los paquetes TCP no-AWS hacia la instancia de Amazon RDS, puede usar el mismo puerto estándar de Oracle Database 1521, ya que la instancia de DataSunrise se ejecuta en otra instancia EC2. Finalmente, asegúrese de que su instancia de Amazon RDS NO esté disponible desde ninguna otra IP/nombre y puerto no-AWS que no sea a través de la instancia de DataSunrise. Todos estos pasos asegurarán que todas sus aplicaciones cliente puedan acceder a la instancia de Oracle RDS solo a través de su instancia de DataSunrise.
Configurando DataSunrise para auditar al DBA
Como hemos mencionado anteriormente, al crear su Oracle RDS recibe una cuenta de DBA limitada y su contraseña, por defecto Oracle RDS ofrece el usuario de base de datos “admin” para acceder a su instancia. Y como recuerda, Amazon RDS deshabilita el privilegio de SYSDBA para usted. Y eso reduce el área posible de amenazas potenciales hechas a la instancia de Amazon RDS. Si su Oracle RDS es accesible desde su máquina de escritorio, intente conectarse a su Oracle RDS como SYSDBA para comprobar que es cierto, vea un ejemplo a continuación.

Verá que no hay SYSDBA, no hay SYSOPER o otros privilegios relacionados con SYS disponibles en Oracle RDS tanto utilizando TCP como SSH.
Por lo tanto, tiene que encargarse de auditar las conexiones de red: conexiones remotas utilizando la herramienta adecuada como DataSunrise DAF. Configuraremos la instancia de DataSunrise para capturar cualquier tipo de acciones que su DBA pueda realizar remotamente a la instancia de Amazon RDS.
Resumen de los siguientes pasos
Para auditar acciones del DBA realizaremos los siguientes pasos:
- Identificar los nombres/ cuentas de usuario del DBA. DataSunrise mantiene los Usuarios de Base de Datos en su menú de Configuración. Si tiene más de un DBA, entonces cree un nuevo Grupo de Usuarios de Base de Datos en Configuración → Usuarios de Base de Datos. En nuestro ejemplo, usaremos el DBA llamado “admin” que fue generado por nuestra instancia de Oracle RDS.
- Usando Configuración → Grupos de Objetos, cree una nueva entrada y agregue un solo elemento con una expresión regular “.*”.
- Crear una nueva Regla de Auditoría para incluir Usuario de Base de Datos y Grupo de Consultas para Auditar actividad del DBA.
- Revisar la actividad del DBA en la instancia de DataSunrise
1. Identificar y configurar sus usuarios de DBA en DataSunrise
Procedamos con todos estos pasos. Primero, bajo Configuración → Usuarios de Base de Datos, verificamos que el usuario “admin” es conocido por nuestra instancia de DataSunrise. Si DataSunrise no tiene uno, entonces cree manualmente el usuario “admin”. Si tiene varias instancias de Oracle RDS y el mismo nombre de usuario de DBA “admin” utilizado, puede elegir <Cualquier> Instancia. Por favor, no olvide hacer clic en el botón Guardar para guardar sus configuraciones en cada página.

En la imagen arriba hemos creado el usuario ADMIN y lo hemos incluido al grupo del equipo de DBA. Si ha creado varios usuarios de DBA, añádalos al Grupo de Usuarios “Oracle DBA Team” en la instancia de DataSunrise.
2. Configurar un nuevo Grupo de Consultas
Segundo paso – crearemos nuestro nuevo Grupo de Consultas “AnyQuery” y añadiremos solo un elemento “.*” en el ítem de Consulta. Por favor, vea la configuración en la imagen de abajo.

Cuando crea una nueva Consulta para el Grupo de Consultas (vea el botón “Añadir” en la imagen), por favor, marque la casilla “Expresión Regular”.
En esta etapa tenemos al usuario de base de datos “ADMIN”, “Oracle DBA Team” Grupo de Usuarios registrado en la instancia de DataSunrise y nuestro Grupo de Consultas “AnyQuery” con una consulta que tiene un patrón de expresión regular “.*” para coincidir con cualquier consulta. A mitad de camino hecho.
3. Crear y configurar una nueva Regla de Auditoría
A continuación, crearemos una nueva Regla de Auditoría con el nombre “Oracle: consultas de admin” usando lo que hemos creado en la instancia de DataSunrise. Por favor, abra la Consola Web e ingrese a Auditoría → Reglas. Haga clic en Crear para crear las nuevas reglas. Por favor, vea los detalles en las imágenes de abajo.

Usaremos Filtrar Sentencias y la pestaña Grupo de Consultas en la página para conectar nuestra regla con la configuración correspondiente que hemos hecho antes, ver detalles en las siguientes imágenes.

Cuando seleccione “Oracle DBA Team” Grupo de Usuarios para el parámetro de sesión Grupo de Usuarios de DB, hace que DataSunrise capture cualquier sesión de cualquier IP/host que tenga un nombre de usuario en la lista de “Oracle DBA Team”. Cuando añada otro ítem de usuario de base de datos al Grupo de Usuarios “Oracle DBA Team”, esta regla verificará automáticamente al nuevo usuario en esta regla. Y dado que utiliza la pestaña Grupo de Consultas en la página de la Regla de Auditoría y seleccionó “AnyQuery” allí, entonces DataSunrise verificará cualquier expresión o consulta que su equipo de DBA ejecute a través de la instancia de DataSunrise. Más tarde podrá ver estos eventos en Auditoría → Seguimientos Transaccionales.
Adicionalmente y opcionalmente, puede enviar detalles del evento de Auditoría a un SIEM externo usando el protocolo Syslog o enviar alertas a otros sistemas externos (SMTP/correo electrónico, Jira, ZenDesk, mensajeros instantáneos). Para configurar la conexión con un servidor compatible con Syslog, por favor navegue a Configuración → Configuración de Syslog y configure la configuración requerida en esa página. Vea “7.7 Configuración de Syslog (Grupos CEF)” y “10.6 Configuración de Integración de Syslog” en nuestra Guía del Usuario para más detalles. Para enviar alertas a destinatarios distintos de Syslog, añada nuevos ítems a Suscriptores (consola web: Configuración → Suscriptores → Añadir Servidor… Añadir ítems del Menú de Suscriptores ). Puede encontrar más información sobre Suscriptores en la sección “7.5 Configuración de Suscriptores” de la Guía del Usuario de DataSunrise. Más adelante puede usar la configuración de Syslog o/ y Suscriptores en sus reglas de DataSunrise (vea la primera imagen arriba); por favor, vea las secciones correspondientes en las Guías del Usuario y Administrativa de DataSunrise. Cuando estén configurados, puede seleccionar sus ítems Syslog y Suscriptor en su Regla de Auditoría. Por favor, no olvide hacer clic en el botón Guardar en la página de la Regla de Auditoría para guardar las nuevas configuraciones.
De esta manera, seleccionamos los tipos de consulta que necesitamos auditar (y probablemente notificar a algunas personas con alertas) para una instancia concreta de Amazon RDS o varias instancias si elige el ítem “<A CUALQUIER>” en el cuadro desplegable Instancia de la página de la regla. Hay varias opciones para omitir la auditoría de consultas típicas como herramientas DBMS, para más información vea la sección “6.4.2 Filtro de Grupo de Consultas” en la Guía del Usuario de DataSunrise en conexión con el parámetro Omitir Grupo de Consultas de las reglas.
4. Revisar la actividad del DBA en la instancia de DataSunrise
Para verificar que nuestra nueva Regla de Auditoría captura consultas, ejecutaremos las consultas CREATE USER y DROP USER usando la herramienta Oracle SQL Developer. Nos conectaremos a la instancia de Oracle RDS a través de la instancia de DataSunrise.

Después de eso, podemos comprobar los Seguimientos Transaccionales en la instancia de DataSunrise.
Como configuramos el Log Event en Storage opción en nuestra Regla de Auditoría, podemos encontrar estos eventos en la

página de Auditoría → Seguimientos Transaccionales en nuestra consola web de la instancia de DataSunrise.
Notas sobre EC2 con instancia de Oracle Database
Hay algunas consideraciones al usar instancias de base de datos en instancias de Amazon EC2 junto con DataSunrise. Dado que configura estas instancias, puede por alguna razón permitir conexiones locales (SSH, RDP, etc.) o conexiones remotas (TCP de base de datos) que pasen por alto la instancia de DataSunrise (o su Balanceador de Carga). Todas estas conexiones deben estar estrictamente limitadas para asegurar un máximo nivel de seguridad y gestión. En su VPC, recomendamos implementar reglas estrictas usando Grupos de Seguridad y ACL de Red. El objetivo de todas estas restricciones debería ser eliminar el acceso directo a su instancia de base de datos desde cualquier IP o red excepto DataSunrise en su instancia de EC2 solamente al puerto de la base de datos.
Los próximos pasos los puede ver en la sección “Configurando la configuración de DataSunrise” de este artículo. Y como probablemente todavía se está preguntando cómo auditar sus roles SYSDBA (y similares) posiblemente dañinos, también en esto exploraremos las capacidades de auditoría de DataSunrise para ayudar con eso.
A partir de DataSunrise 6.2, puede incluir parámetros de sesión en condiciones de Filtrar Sesiones. Por favor, vea a continuación nuestra Regla de Auditoría con la condición para auditar SYSDBA y privilegios similares además de “Oracle DBA Team” en Grupo de Usuarios de BD. Suponemos que hemos configurado nuestra instancia de DataSunrise para proteger Oracle Database ejecutándose en una instancia de EC2 y que no hay otra forma de conectar al servidor de base de datos sino a través de la instancia de DataSunrise solamente en modo proxy.

Dado que nuestro DAF protege Oracle Database en EC2, probaremos conectarnos a Oracle a través del proxy de DataSunrise. En las imágenes de abajo nos conectamos a la base de datos usando Oracle SQL Developer a través de la instancia de DataSunrise y usamos el nombre de usuario “sys” y el rol SYSDBA. Establecemos que esto está permitido en nuestra instancia de Oracle Database. Vea el resultado de la prueba de conexión en la siguiente imagen.

Si la prueba pasó con estado de Éxito, podemos intentar ejecutar algunas consultas de la misma manera que lo hicimos antes en la sección “Configurando DataSunrise para auditar al DBA” de este artículo. Oracle SQL Developer ejecutará consultas a través de la instancia de DataSunrise. Luego, en la consola web de DataSunrise, podemos revisar Auditoría → Seguimiento Transaccional o Seguimientos de Sesión para ver todas las consultas y sesiones del usuario “sys”. Nuestra Regla de Auditoría captura al usuario de base de datos “sys” a pesar de que ese usuario en particular no está en la lista de nuestro “Oracle DBA Team” que creamos anteriormente en la instancia de DataSunrise. Cuando abramos Auditoría → Seguimiento de Sesión y un ítem particular, veremos que la instancia de DataSunrise guarda detalles sobre roles de Oracle Database, así como otra información útil.

De esta manera, hemos configurado la instancia de DataSunrise para auditar cualquier actividad del DBA, incluyendo los privilegios del sistema SYSDBA y similares que tiene Oracle Database.
Conclusión
Hemos visto que Oracle RDS requiere menos esfuerzo para asegurar la instancia de Oracle Database y auditar la actividad del DBA. En las instancias EC2, se requiere arremangarse y configurar parámetros de Sesión y gracias a la versión 6.2 de DataSunrise, ahora puede auditar los roles integrados de Oracle Database. Para más información, por favor, vea la Guía del Usuario de DataSunrise y las referencias adjuntas.
Referencias
Visión general de Amazon RDS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html
DataSunrise Inc. y AWS
https://www.datasunrise.com/datasunrise-security-amazon-rds/
Visión general de los Archivos de Registro de Base de Datos de Amazon RDS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html
Servicio de recuperación en un punto de tiempo de AWS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
Mejores Prácticas de Seguridad de DataSunrise en AWS
https://www.datasunrise.com/documentation/ds-aws-security-best-practices/
DataSunrise admite AWS CloudFormation
https://www.datasunrise.com/professional-info/aws-market-commercial/
DataSunrise en el Marketplace de AWS
https://aws.amazon.com/marketplace/seller-profile?id=880a5857-74c1-44ea-a978-094093c08788
Manual de Oracle Database sobre los Privilegios del Sistema SYSDBA y SYSOPER
https://docs.oracle.com/database/121/ADMQS/GUID-2033E766-8FE6-4FBA-97E0-2607B083FA2C.htm#ADMQS12004
Guía del Usuario de DataSunrise
https://www.datasunrise.com/documentation/user-guide-download/