Auditar acciones administrativas en su 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 una capacidad ajustable y rentable para una base de datos relacional conforme a estándares de la industria y gestiona las tareas comunes de administración de bases de datos.
DataSunrise es un Socio de Tecnología Avanzada certificado por AWS en competencias de Seguridad en Protección de Datos y Cifrado, junto con otras cualificaciones validadas por AWS. DataSunrise puede ejecutarse en instalaciones locales o en una instancia EC2, o en un clúster en múltiples instancias EC2, en una máquina virtual o en hardware dedicado. La Suite de Seguridad de Datos y Bases de Datos de DataSunrise (DataSunrise) para todo tipo de Amazon RDS actúa como un firewall de aplicaciones de base de datos (DAF) y como un intermediario en todas las sesiones, consultas y comandos de cualquier cliente hacia la instancia de Amazon RDS. Y dado que DataSunrise es el software y no una solución SaaS, usted es responsable de configurar e instalar correctamente su instancia de DataSunrise.
El objetivo principal de este artículo es presentar el enfoque sobre cómo auditar la actividad de las 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.
Descripción general de Oracle RDS y requisitos previos
Probablemente sepa que Amazon RDS soporta el acceso a las bases de datos utilizando cualquier aplicación cliente SQL estándar y no permite el acceso directo al host mediante SSH, etc. Esta arquitectura no permite instalar 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 informática. Sin embargo, con Amazon RDS puede realizar sus tareas de una manera ligeramente diferente y unificada. Por ejemplo, el DBA puede acceder a los registros de la base de datos o realizar copias de seguridad de instancias de Amazon RDS mediante instantáneas utilizando la Consola de Gestión de AWS, AWS CLI o la API de RDS. Por otro lado, no es posible acceder a Amazon RDS utilizando conexiones SSH o RDP para actividades relacionadas con la base de datos o el sistema operativo (y probablemente perjudiciales). Así que tenga en cuenta que, teniendo el rol IAM requerido, puede modificar y gestionar su instancia de Amazon RDS para satisfacer los requisitos de su sistema sin conectarse a Amazon RDS vía SSH/RDP.
Un aspecto importante está relacionado con Oracle SYSDBA y privilegios/roles similares. El rol SYSDBA está designado únicamente para el usuario RDSADMIN (AWS usa el usuario OS “rdshm”) y la contraseña de RDSADMIN es desconocida. Además, con Oracle RDS no se conoce la contraseña del usuario SYS. Y todas estas cuestiones significan que:
- no puede conectarse a su Oracle RDS utilizando el usuario RDSADMIN o SYS;
- los usuarios de su base de datos no pueden obtener el rol SYSDBA u otro rol poderoso de Oracle Database;
- no se puede conectar de forma remota a la instancia Oracle RDS utilizando el rol 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 utilizando este usuario. Más adelante, puede crear otro usuario y este nuevo usuario no obtendrá más privilegios que los que tiene el usuario “admin”. Nuevamente, esto está relacionado con el modelo de responsabilidad compartida de la administración en AWS. El equipo de Amazon RDS ha establecido esta línea roja que no se 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 Oracle RDS en funcionamiento y esperamos que pueda iniciar una nueva instancia de Oracle RDS o que ya tenga acceso a una instancia Oracle RDS existente. Si desea conocer las mejores prácticas para ejecutar Oracle RDS, por favor consulte la documentación de AWS.
En la siguiente sección veremos qué opciones están disponibles para auditar la actividad del DBA.
Actividad de 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 de DBA como ALTER SYSTEM, CREATE USER, DROP DATABASE, etc. ¿Y cómo se puede auditar a usuarios internos de RDS como RDSADMIN? Bien, revisemos todas las opciones disponibles.
- Puede ver la actividad interna de RDS utilizando Archivos de registro de la base de datos de Amazon RDS. Puede ver, descargar y observar los registros de la base de datos utilizando la consola de Amazon RDS, la Interfaz de Línea de Comandos de AWS (AWS CLI) o la API de Amazon RDSAPI de Amazon RDS. Amazon proporciona el servicio de Recuperación a un Punto en el Tiempo y afirma que RDS sube los registros de transacciones de las instancias de base de datos a Amazon S3 cada 5 minutos. Así que tanto los Archivos de Registro de la Base de Datos como el servicio CloudTrail le ayudan a analizar la actividad del usuario RDSADMIN junto con información adicional sobre eventos en Oracle RDS. Todas estas opciones son buenas hasta que necesita un monitoreo y alerta de transacciones en tiempo real.
- Con instancias DAF ejecutándose en máquinas virtuales EC2 separadas, puede auditar todas las sesiones y consultas que se ejecuten hacia su instancia de Amazon RDS. El propósito de las instancias DAF es actuar como su guardián 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 son capaces de monitorear y asegurar la actividad de red hacia Amazon RDS.
Descripción general de DataSunrise en AWS y requisitos previos
Configurar e instalar instancias seguras de DataSunrise implica varios pasos importantes. Para preparar su instancia segura de DataSunrise en el entorno AWS, siga los pasos descritos en nuestro documento de Mejores Prácticas de Seguridad de DataSunrise en AWS. Para mencionar algunos, los pasos son los siguientes:
- asignar los roles IAM adecuados a sus instancias EC2 que cuenten con instancias de DataSunrise;
- crear y asignar Grupo(s) de Seguridad VPC a su instancia de Amazon RDS y a las instancias EC2 que tengan 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 instancia EC2) detrás de DAF, una base de datos de Almacenamiento de Auditoría separada (RDS o en instancia EC2) y una instancia de DataSunrise que sirve como servidor proxy para las conexiones de usuario.

Como opción, DataSunrise provee scripts de CloudFormation para desplegar en AWS soluciones de seguridad de bases de datos seguras y rentables. Tras la creación de la instancia de Amazon RDS, estos scripts automatizan todas las tareas requeridas para desplegar instancias EC2, instalar DataSunrise en estas instancias EC2, configurar el Balanceador de Carga de Amazon, así como la creación de todos los demás recursos AWS necesarios. Omitiremos la opción de CloudFormation y continuaremos con un escenario de una sola instancia EC2. Hemos preparado videos sobre cómo instalar una instancia de DataSunrise, por favor vea uno de los videos y siga los pasos requeridos:
- Instalando DataSunrise en Linux Instalando DataSunrise en Linux — YouTube
- Instalando DataSunrise en Windows Instalando DataSunrise en Windows — YouTube
Al final del proceso de instalación, su instancia de DataSunrise debería estar accesible desde su navegador web. Necesitará que la instancia de DataSunrise esté en funcionamiento para poder acceder a la Consola Web 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. Por favor, consulte la Guía del Usuario de DataSunrise, sección “3.1 Creación de un Perfil de Base de Datos 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 el DataSunrise en modo proxy actúa como un intermediario interceptando todos los paquetes TCP no-AWS hacia la instancia de Amazon RDS, puede utilizar el mismo puerto estándar de Oracle Database, el 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 que no sea a través de la instancia de DataSunrise. Todos estos pasos garantizarán que todas sus aplicaciones cliente puedan acceder a su instancia de Oracle RDS únicamente a través de la instancia de DataSunrise.
Configuración de DataSunrise para auditar al DBA
Como hemos mencionado anteriormente, al crear su Oracle RDS se le proporciona una cuenta DBA limitada y su contraseña; por defecto, Oracle RDS ofrece el usuario “admin” para acceder a su instancia. Y, como recordará, Amazon RDS deshabilita el privilegio SYSDBA para usted. Esto restringe el posible ámbito de amenazas potenciales sobre 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 esto es cierto; vea un ejemplo a continuación.

Verá que no están disponibles privilegios SYSDBA, SYSOPER u otros relacionados con SYS en Oracle RDS, ya sea mediante TCP o SSH.
Por lo tanto, debe encargarse de auditar las conexiones de red: conexiones remotas utilizando la herramienta adecuada, como el DAF de DataSunrise. Configuraremos la instancia de DataSunrise para capturar cualquier tipo de acción que su DBA pueda realizar de forma remota sobre la instancia de Amazon RDS.
Resumen de los siguientes pasos
Para auditar las acciones del DBA, realizaremos los siguientes pasos:
- Identificar los nombres/cuentas de usuario DBA. DataSunrise mantiene los Usuarios de Base de Datos en su menú de Configuración. Si tiene más de un DBA, 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.
- Utilizando Configuración → Grupos de Objetos, cree una nueva entrada y agregue un único ítem con la expresión regular “.*”.
- Crear una nueva Regla de Auditoría para incluir el Grupo de Usuario de Base de Datos y el Grupo de Consulta para auditar la actividad del DBA.
- Verificar la actividad del DBA en la instancia de DataSunrise.
1. Identificar y configurar sus usuarios DBA en DataSunrise
Procedamos con todos estos pasos. En primer lugar, en Configuración → Usuarios de Base de Datos, verifique que el usuario “admin” sea reconocido por su instancia de DataSunrise. Si DataSunrise no lo tiene, cree el usuario “admin” manualmente. Si tiene varias instancias de Oracle RDS y se utiliza el mismo nombre de usuario DBA “admin”, puede elegir la opción <Any> (Cualquiera). No olvide hacer clic en el botón Guardar para salvar su configuración en cada página.

En la imagen anterior hemos creado el usuario ADMIN e incluido a este en el grupo de Equipo DBA. Si ha creado múltiples usuarios DBA, agréguelo al Grupo de Usuarios “Equipo DBA de Oracle” en la instancia de DataSunrise.
2. Configurar un nuevo Grupo de Consulta
Segundo paso: crearemos nuestro nuevo Grupo de Consulta “AnyQuery” y añadiremos un solo ítem “.*” en el campo de Consulta. Por favor, vea la configuración en la imagen a continuación.

Cuando cree una nueva Consulta para el Grupo de Consulta (vea el botón “Agregar” en la imagen), asegúrese de marcar la casilla “Expresión Regular”.
En esta etapa tenemos al usuario de base de datos “ADMIN”, el Grupo de Usuarios “Equipo DBA de Oracle” registrado en la instancia de DataSunrise y nuestro Grupo de Consulta “AnyQuery” con una Consulta que tiene el patrón de expresión regular “.*” para coincidir con cualquier consulta. Estamos a medio camino.
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” utilizando lo que hemos configurado en la instancia de DataSunrise. Por favor, abra la Consola Web e ingrese a Auditoría → Reglas. Haga clic en Crear para establecer las nuevas reglas. Vea los detalles en las imágenes a continuación.

Utilizaremos las pestañas Filtrar Declaraciones y Grupo de Consulta en la página para vincular nuestra regla con la configuración correspondiente que realizamos anteriormente; vea los detalles en las siguientes imágenes.

Cuando seleccione el grupo de usuarios “Equipo DBA de Oracle” para el parámetro de sesión Grupo de Usuario de Base de Datos, hace que DataSunrise capture cualquier sesión desde cualquier IP/host que tenga un nombre de usuario en la lista “Equipo DBA de Oracle”. Cuando agregue otro usuario de la base de datos al grupo “Equipo DBA de Oracle”, esta regla incluirá automáticamente al nuevo usuario. Y como utiliza la pestaña Grupo de Consulta en la página de la Regla de Auditoría y ha seleccionado “AnyQuery”, entonces DataSunrise verificará cualquier expresión o consulta que su equipo DBA ejecute a través de la instancia de DataSunrise. Más adelante verá estos eventos en Auditoría → Rastreos Transaccionales.
Adicionalmente y de forma opcional, puede enviar los detalles del evento de auditoría a un SIEM externo utilizando el protocolo Syslog o enviar alertas a otros sistemas externos (SMTP/email, Jira, ZenDesk, mensajería instantánea). Para configurar la conexión a un servidor compatible con Syslog, por favor diríjase a Configuración → Opciones de Syslog y configure los ajustes requeridos en esa página. Consulte “7.7 Opciones de Syslog (Grupos CEF)” y “10.6 Configuración de Integración Syslog” en nuestra Guía del Usuario para más detalles. Para enviar alertas a destinatarios distintos a Syslog, añada nuevos ítems en Suscriptores (Consola web: Configuración → Suscriptores → Agregar Servidor… Agregar ítems del menú Suscriptor). 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, podrá utilizar los ajustes de Syslog y/o Suscriptores en sus reglas de DataSunrise (vea la primera imagen anterior); por favor, consulte las secciones correspondientes en las Guías del Usuario y Administrativas de DataSunrise. Cuando se haya configurado, puede seleccionar los ítems Syslog y Suscriptor en su Regla de Auditoría. No olvide hacer clic en el botón Guardar en la página de la Regla de Auditoría para salvar la nueva configuración.
De esta forma, seleccionamos los tipos de consulta que necesitamos auditar (y probablemente notificar a algunas personas mediante alertas) para una instancia concreta de Amazon RDS o varias instancias si elige el ítem “<ANY>” en el menú desplegable Instancia en 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, consulte la sección “6.4.2 Filtro del Grupo de Consulta” en la Guía del Usuario de DataSunrise en relación con el parámetro Grupo de Omisión de Consulta de las reglas.
4. Verificar la actividad del DBA en la instancia de DataSunrise
Para comprobar que nuestra nueva Regla de Auditoría captura las consultas, ejecutaremos las consultas CREATE USER y DROP USER utilizando la herramienta Oracle SQL Developer. Nos conectaremos a la instancia de Oracle RDS a través de la instancia de DataSunrise.

Después de ello, podemos revisar los Rastreos Transaccionales en la instancia de DataSunrise.
Debido a que configuramos la opción de Registrar Evento en Almacenamiento en nuestra Regla de Auditoría, podemos encontrar estos eventos en

la página Auditoría → Rastreos Transaccionales en la Consola Web de nuestra instancia de DataSunrise.
Notas sobre instancias EC2 con Oracle Database
Existen algunas consideraciones sobre el uso de instancias de base de datos en instancias EC2 de Amazon junto con DataSunrise. Dado que configura y gestiona estas instancias, es posible que por algún motivo permita conexiones locales (SSH, RDP, etc.) o conexiones remotas (TCP de la base de datos) que eviten la instancia de DataSunrise (o su Balanceador de Carga). Todas estas conexiones deben limitarse estrictamente para garantizar el máximo nivel de seguridad y gestión. En su VPC recomendamos implementar reglas estrictas utilizando Grupos de Seguridad y ACLs de red. El objetivo de todas estas restricciones debe ser eliminar el acceso directo a su instancia de base de datos desde cualquier IP o red, permitiendo únicamente el acceso al puerto de la base de datos a través de la instancia de DataSunrise en EC2.
Los siguientes pasos se pueden ver en la sección “Configuración de ajustes de DataSunrise” de este artículo. Y, como probablemente todavía se pregunte cómo auditar los roles SYSDBA (y similares) potencialmente dañinos, exploraremos las capacidades de auditoría de DataSunrise para ayudar con ello.
A partir de DataSunrise 6.2, puede incluir parámetros de sesión en las condiciones de Filtrar Sesiones. Por favor, vea a continuación nuestra Regla de Auditoría con la condición de auditar SYSDBA y privilegios similares, además del “Equipo DBA de Oracle” en el Grupo de Usuario de Base de Datos. Asumimos que hemos configurado nuestra instancia de DataSunrise para proteger la base de datos Oracle que se ejecuta en una instancia EC2 y que no existe otra forma de conectarse al servidor de base de datos, salvo a través de la instancia de DataSunrise en modo proxy.

Dado que nuestro DAF protege la base de datos Oracle en EC2, intentaremos conectarnos a Oracle a través del proxy de DataSunrise. En las imágenes a continuación, nos conectamos a la base de datos utilizando Oracle SQL Developer vía la instancia de DataSunrise y usamos el nombre de usuario “sys” y el rol SYSDBA. Configuramos 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 fue exitosa, podemos intentar ejecutar algunas consultas de la misma forma que hicimos anteriormente en la sección “Configuración de DataSunrise para auditar al DBA” de este artículo. Oracle SQL Developer ejecutará las consultas a través de la instancia de DataSunrise. Luego, en la Consola Web de DataSunrise podremos revisar Auditoría → Rastro de Sesiones o Rastro Transaccional para ver todas las consultas y sesiones del usuario “sys”. Nuestra Regla de Auditoría captura las consultas del usuario de la base de datos “sys”, a pesar de que dicho usuario no figura en la lista de nuestro “Equipo DBA de Oracle” creado anteriormente en la instancia de DataSunrise. Cuando abramos Auditoría → Rastro de Sesiones y un ítem en particular, veremos que la instancia de DataSunrise guarda detalles sobre los roles de Oracle Database, así como otra información útil.

De este modo, hemos configurado la instancia de DataSunrise para auditar cualquier actividad de DBA, incluidos SYSDBA y otros privilegios del sistema que tenga 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, se pueden auditar los roles incorporados en Oracle Database. Para más información, consulte la Guía del Usuario de DataSunrise y las referencias adjuntas.
Referencias
Descripción general de Amazon RDS
AWS RDS – Descripción general de la instancia de base de datos
DataSunrise Inc. y AWS
DataSunrise Security para Amazon RDS
Descripción general de los Archivos de Registro de la Base de Datos de Amazon RDS
AWS RDS – Descripción general de los Archivos de Registro de la Base de Datos
Servicio de Recuperación a un Punto en el Tiempo de AWS
AWS RDS – Recuperación a un Punto en el Tiempo
Mejores Prácticas de Seguridad en AWS de DataSunrise
DataSunrise – Mejores Prácticas de Seguridad en AWS
DataSunrise soporta AWS CloudFormation
DataSunrise – Soporte para AWS CloudFormation
DataSunrise en AWS Marketplace
DataSunrise – Perfil en AWS Marketplace
Manual de Oracle Database sobre privilegios de SYSDBA y SYSOPER
Oracle Database – Privilegios SYSDBA y SYSOPER
Guía del Usuario de DataSunrise