Cómo Integrar DataSunrise con Streams de Actividad de Base de Datos de AWS para Obtener Resultados de Auditoría para AWS Aurora PostgreSQL
Resumen de los métodos de auditoría de actividad de bases de datos
Hoy en día, la auditoría de bases de datos se vuelve cada vez más importante debido a numerosas leyes y regulaciones dedicadas a la protección de datos sensibles como el GDPR, KVKK, etc.
Técnicamente, existen múltiples métodos de auditoría de bases de datos, los más populares son:
- Proxificación del tráfico de base de datos;
- Escucha pasiva del tráfico de base de datos;
- Lectura de registros recolectados por herramientas de auditoría nativas de la base de datos;
- Integración con servicios de auditoría dedicados como AWS DAS.
Cada enfoque tiene sus propios pros y contras, limitaciones y oportunidades. Los usuarios de Amazon pueden considerar los dos últimos enfoques como los más adecuados para sus necesidades. Estos métodos permiten a los usuarios de AWS notificar al personal de seguridad sobre eventos específicos de la base de datos, crear informes sobre la actividad en el clúster de Aurora PG, etc.
Los streams de actividad de base de datos de AWS (DAS) proporcionan un flujo de datos de la actividad en su clúster de base de datos casi en tiempo real y le ofrecen las siguientes ventajas sobre los mecanismos nativos de registro de bases de datos (funcionalidad de registros de auditoría de base de datos de DataSunrise):
- El proceso de configuración de DAS es mucho más simple que configurar el “trailing” regular basado en archivos de registro. Tampoco necesita espacio de almacenamiento adicional para guardar los registros;
- Aumento de la protección contra amenazas internas: los administradores de bases de datos no tienen acceso a la recopilación, transmisión, almacenamiento y procesamiento de los streams de actividad de bases de datos;
- DAS proporciona más flexibilidad que el “trailing” regular gracias a los modos Sincrónico y Asincrónico disponibles.
El principal inconveniente de DAS es la incompatibilidad con algunas clases de instancias RDS y versiones de Amazon Aurora.
El siguiente diagrama muestra un clúster de Aurora PG integrado con DataSunrise:
Aquí, un clúster de Aurora PG con DAS habilitado. Aurora envía datos de actividad de la base de datos a AWS Kinesis. Los streams de actividad se encriptan utilizando una clave de encriptación de AWS KMS. Kinesis, a su vez, pasa los streams de actividad de base de datos a DataSunrise, que se utiliza como herramienta de monitoreo de bases de datos. DataSunrise consume los streams y guarda los resultados de auditoría en su almacenamiento de auditoría. Luego, los eventos de la base de datos capturados se muestran en la sección de trails transaccionales de la Consola Web de DataSunrise.
Requisitos previos para el clúster de Aurora PG
Antes de configurar DAS, asegúrese de que su entorno de AWS cumpla con los requisitos detallados a continuación.
Versiones soportadas de la base de datos de Aurora PostgreSQL:
- Todas las versiones 13
- Todas las versiones 12
- Versión 11.6 y versiones superiores de la 11
- Versión 10.11 y versiones superiores de la 10
Clases de instancias AWS RDS soportadas:
- db.r6g
- db.r5
- db.r4
- db.x2g
Los streams de actividad de base de datos son soportados en todas las regiones de AWS excepto en las siguientes:
- Región China (Beijing), cn-north-1
- Región China (Ningxia), cn-northwest-1
- AWS GovCloud (US-East), us-gov-east-1
- AWS GovCloud (US-West), us-gov-west-1
Miscelánea:
- DAS requiere el uso de AWS Key Management Service (AWS KMS). AWS KMS es necesario porque los streams de actividad siempre están encriptados
- Los streams de actividad de base de datos requieren el uso de Amazon Kinesis
Creación de una clave de AWS KMS
Dado que los streams de actividad siempre están encriptados, necesita utilizar una clave de encriptación. Aurora utiliza la clave de KMS para encriptar la clave que a su vez encripta la actividad de la base de datos. Si no tiene una clave de KMS, créela.
Navegue al Key Management System (KMS) de AWS, haga clic en Crear una clave. Configure las siguientes opciones para su clave:
- Tipo de clave: Simétrica
- Origen del material de la clave: KMS
- Regionalidad: Clave de una sola región
- Política de clave: predeterminada
Leer más: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html
Iniciando DAS para su clúster de Aurora PG
Habiendo preparado su entorno RDS Aurora PG, puede iniciar los streams de actividad de la base de datos.
Navegue al Servicio de Bases de Datos Relacionales Administradas (RDS), seleccione Bases de Datos, elija el clúster de base de datos para habilitar un stream de actividad, haga clic en Acciones -> Iniciar stream de actividad de base de datos:
Configure DAS de la siguiente manera:
- Clave maestra: su clave de KMS
- Modo de stream de actividad de base de datos: Asincrónico o Sincrónico. Recomendamos usar el modo Sincrónico porque favorece la precisión del stream de actividad sobre el rendimiento de la base de datos. La diferencia entre estos dos modos puede encontrarla aquí.
- Aplicar inmediatamente: si desea aplicar los cambios de forma inmediata o programada.
- Puede acceder al stream en la sección de Configuración de los ajustes de su clúster (Stream de actividad de base de datos -> Stream de Kinesis): Leer más: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Enabling.html
Configuración de auditoría basada en DAS en DataSunrise
Habiendo iniciado DAS para su clúster de Aurora, puede proceder a configurar DataSunrise para consumir los streams de actividad de base de datos.
Para habilitar que DataSunrise trabaje con DAS, su usuario de IAM necesita acceso a algunas funciones de Kinesis, KMS y RDS. Para otorgar los permisos necesarios, navegue a Identity and Access Management (IAM) -> Usuarios, y adjunte la siguiente política a su Usuario:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "Kinesis:DescribeStreamSummary", "Kinesis:ListShards", "Kinesis:GetShardIterator", "Kinesis:GetRecords", "Kinesis:DescribeStreamSummary", "KMS:Decrypt", "RDS:DescribeDBClusters"], "Resource": ["<ARN de su stream de Kinesis>","<ARN de su clave de KMS>","<ARN de su RDS DB>"] } ] }
Crear una nueva Instancia de Base de Datos Aurora PG o usar una existente. Abra la Consola Web de DataSunrise y navegue a Configuración -> Bases de Datos.
- Proporcione los detalles de conexión para su base de datos Aurora PG. Especifique el punto final de su clúster de Aurora PG en el campo Host;
- En la sección Modo de Captura de la página de la Instancia, seleccione Trailing de los Registros de Auditoría de la DB desde la lista desplegable Modo;
- En la lista desplegable Tipo de Formato, seleccione Stream de actividad de base de datos;
- Rellene todos los campos requeridos. Guarde la Instancia.
Crear una Regla de auditoría de datos para su Instancia de Aurora PG: navegue a Auditoría -> Reglas y cree una Regla
Para los resultados de auditoría, navegue a Auditoría -> Trails Transaccionales. Tenga en cuenta que los resultados pueden aparecer con un retardo de aproximadamente 5-10 minutos.
También puede ajustar la auditoría basada en DAS de DataSunrise cambiando los siguientes parámetros (Configuraciones del Sistema -> Parámetros Adicionales):
- TrailDASIntervalTime: período de tiempo para obtener una lista de eventos (por ejemplo, los últimos 5 minutos a partir del último registro);
- TrailDASOffsetTime: retardo de tiempo para obtener eventos (necesario para sincronización, en segundos).