Auditoría de Bases de Datos e IDS: Una guía completa para la protección de datos
Aprenda por qué es importante la auditoría de bases de datos y los IDS, cómo combatir los ataques y las infracciones, herramientas y tecnologías, buenas prácticas y mucho más.
Introducción
Las empresas modernas funcionan con datos. Desde los datos de los clientes hasta la información financiera, las bases de datos almacenan gran cantidad de información confidencial. Estos datos facilitan las operaciones de la empresa e impulsan la toma de decisiones. Sin embargo, esta dependencia de los datos expone a las organizaciones a riesgos significativos. Los ciberataques y las filtraciones de datos pueden poner en peligro la información confidencial, provocando pérdidas económicas, sanciones normativas, demandas judiciales y daños irreparables a la reputación de la marca. Para mitigar estos riesgos, las organizaciones deben tomar medidas para proteger sus datos. Esto significa proteger el acceso a las bases de datos que los almacenan.
Que es la auditoría de bases de datos
La auditoría de bases de datos, o Database Activity Monitoring (DAM), es un sistema de detección de intrusiones en bases de datos (IDS). Supervisa las conexiones a las bases de datos y los SQL ejecutados en esas conexiones. Aunque pueda parecer un ejercicio sin sentido, cuando se hace bien, es la defensa de bases de datos más crítica y una de las medidas de seguridad más importantes para proteger tus datos.
El reto de la auditoría de bases de datos es el volumen de actividad. Hay miles de millones de SQL al mes, y nadie puede revisarlo todo manualmente. En realidad, el reto empieza antes de procesar los datos, ya que capturar esta cantidad de actividad es difícil sin crear una sobrecarga de rendimiento y ralentizar la base de datos.
Para que la auditoría de bases de datos esté a la altura de su potencial y proporcione una defensa sólida, requiere un potente mecanismo de captura que pueda verlo todo sin sobrecarga y potentes capacidades de procesamiento que le permitan obtener valor de todos estos datos. Eso es mucha tecnología y saber cómo utilizarla, y de eso trata este artículo.
Auditoría de bases de datos: Un viejo término equivocado
La auditoría de bases de datos suele traer a la mente métodos tradicionales y declarativos para supervisar la actividad de las bases de datos. Normalmente, se trata de activar funciones de auditoría en la base de datos, registrar la actividad y elaborar informes. Aunque estos métodos tienen su lugar, no abordan los retos de seguridad de los entornos de bases de datos modernos. Hoy en día, la atención se centra en sistemas de detección de intrusiones en bases de datos (IDS) más completos, el componente principal de una solución de seguridad de bases de datos moderna y avanzada. Con una visibilidad y un control superiores sobre la actividad de las bases de datos, permiten a las organizaciones detectar y responder a las amenazas actuales.
El poder de IDS de bases de datos
Aunque los sistemas de prevención de intrusiones (IPS) pueden desempeñar un papel en la seguridad de las bases de datos, los IDS son más eficaces debido a la naturaleza única del acceso a las bases de datos y a la forma en que se realizan los ataques a las mismas.
Las bases de datos suelen tener un número limitado de cuentas. Conectarse a una base de datos sin credenciales válidas o un método de acceso aprobado (como una conexión local) es casi imposible. El reto es, por tanto, controlar la actividad que llega a través de estos canales aprobados. El problema es el enorme volumen de actividad. Con miles de millones de SQL válidos al mes, resulta extremadamente difícil identificar el puñado de SQL maliciosos que podrían constituir un ataque.
Los sistemas preventivos deben tener un bajo índice de falsos positivos. Cuanto menor sea la tasa de falsos positivos, mayor será la tasa de falsos negativos. En las bases de datos, bloquear un SQL válido a mitad de una transacción puede tener consecuencias catastróficas, por lo que los IPS de bases de datos tienen una tolerancia especialmente baja a los falsos positivos (y, por tanto, a muchos eventos no prevenidos). El otro problema en las bases de datos es distinguir la actividad buena de la maliciosa. Así que, cuando se combina con las limitaciones inherentes de IPS, la prevención sólo es eficaz para un pequeño número de vectores de ataque.
Por el contrario, los sistemas detectives tienen una mayor tolerancia a los falsos positivos. Una solución IDS de bases de datos moderna puede ayudar a las organizaciones a obtener visibilidad de la actividad de sus bases de datos e identificar la mayoría de los ataques con un número razonable de falsos positivos.
Visibilidad: Una condición previa
Tanto si pretende desplegar un IPS como un IDS, primero debe obtener visibilidad de la actividad de su base de datos. No se puede proteger lo que no se ve. Es imposible diseñar políticas, reglas o informes eficaces sin un conocimiento sólido de la actividad que se intenta controlar.
By gaining visibility into your database activity, you could:
- Controles de diseño: Comprender el perfil de la actividad te ayudará a determinar cómo controlarla. Debes identificar, por ejemplo, las cosas que ocurren, y debes estar atento a ellas. Otras cosas ocurren raramente, y deberías alertarlas o bloquearlas. Establecer la seguridad basándose en una suposición teórica de la actividad es ineficaz. Es imposible asegurar lo que no se puede ver.
- Identificar prácticas riesgosas: En muchos entornos, los usuarios y administradores han adoptado prácticas que son inseguras. Cosas como compartir cuentas, utilizar cuentas de administrador por la aplicación, exportar datos sensibles fuera de la base de datos, etc.
- Identificar actividades sospechosas: Una revisión humana ocasional de la actividad de la base de datos puede detectar actividades sospechosas que han pasado desapercibidas por otros medios.
- Identificar brechas: Identifique actividades o posibles actividades no controladas por sus medidas actuales y con potencial para comprometer los datos.
La visibilidad es una característica clave de una solución de seguridad de bases de datos. En Core Audit, la llamamos análisis forense proactivo. Pero independientemente del nombre, debería permitirle responder a preguntas como quién se conecta a la base de datos, utilizando qué programas, desde qué máquinas/IPs, y qué están haciendo dentro. Deberías tener respuestas a preguntas como quién accede a tu información sensible, cuándo, desde qué programas y utilizando qué SQLs. Pero esto son sólo ejemplos. Las preguntas dependen del perfil de actividad de la base de datos, y eso es lo que hay que entender para poder controlar.
Aspectos de la seguridad de las bases de datos
Las soluciones de seguridad de bases de datos, las capacidades integradas de bases de datos, la auditoría de bases de datos, IDS, IPS y otras capacidades necesarias están todas interrelacionadas. Así pues, echemos un vistazo a la seguridad de las bases de datos para comprender qué es importante, qué necesitamos y cómo protegemos una base de datos.
Seguridad Básica
La seguridad básica de las bases de datos está integrada en ellas e incluye la autenticación (usuarios, contraseñas, etc.) y la autorización (privilegios, permisos, etc.). También puede incluir el cifrado de la red (datos en tránsito) y el cifrado de archivos o discos (datos en reposo). Además, puede haber parámetros de configuración relacionados con la seguridad que deban controlarse.
Todos estos elementos requieren una configuración adecuada y una revisión periódica. Un proceso de control de cambios es crucial para mantener el control sobre las configuraciones básicas de seguridad, y una solución de seguridad de bases de datos debe permitirte supervisarlas.
Control de Cambios
El control de cambios se basa en el principio de que el control de los cambios en la base de datos (incluida la seguridad básica) garantiza un entorno seguro permanente. El control de cambios de la base de datos tiene por objeto controlar la configuración, los objetos, los usuarios, los privilegios y los permisos.
El control se ejerce mediante dos mecanismos: un proceso de aprobación de las solicitudes de cambio antes de realizar los cambios y un proceso de auditoría que identifica todos los cambios para verificar su aprobación. Puedes implementar el proceso de auditoría a través de instantáneas de metadatos o utilizando el control de actividades. Éstos deben formar parte de una solución de seguridad de bases de datos.
Vulnerabilidades y Parches
Las vulnerabilidades desempeñan un papel menor en la seguridad de las bases de datos. La mayoría de las bases de datos son sistemas maduros con pocas vulnerabilidades por descubrir. Aunque los proveedores publican parches con regularidad, éstos suelen abordar vulnerabilidades difíciles de explotar y que rara vez son remotas. Casi todas las violaciones se producen por medios distintos a las vulnerabilidades no parcheadas o de día cero.
La exploración de vulnerabilidades no suele formar parte de las soluciones de seguridad de bases de datos, sino de soluciones que buscan vulnerabilidades en muchos tipos de sistemas, no sólo en bases de datos.
Cumplimiento de la Normativa
El cumplimiento se refiere a la adhesión a leyes y normativas diseñadas para proteger datos específicos, como información personal, tarjetas de crédito, datos financieros, información sanitaria y médica, etc. Para evitar la divulgación o manipulación no autorizadas, la ley (y los reglamentos derivados) exige a las empresas que protejan este tipo de información.
En última instancia, las normas de cumplimiento exigen aplicar una estrategia de seguridad. Más allá de centrarse en tipos específicos de información, los requisitos de cumplimiento difieren de la seguridad habitual en que exigen una estructura formal con documentación. La documentación sirve como prueba de las medidas adoptadas por la organización para proteger los datos, y los auditores pueden revisarla. La conformidad suele abarcar todos los demás tipos de seguridad, pero hace hincapié en el cumplimiento de un proceso y el mantenimiento de registros.
Dado que la conformidad es, esencialmente, seguridad, es algo que proporcionan la mayoría de las soluciones de seguridad para bases de datos. El cumplimiento no es una característica de una solución de seguridad, pero ciertas características son importantes para el cumplimiento. Por ejemplo, la elaboración de informes, el seguimiento de los cambios en las políticas y los informes, un repositorio a prueba de manipulaciones (un repositorio en el que los registros no se pueden actualizar ni eliminar), un largo periodo de conservación con una huella de almacenamiento mínima, etc.
Control de actividad y auditoría de bases de datos
El control de la actividad de la base de datos consiste principalmente en la auditoría (supervisión), pero también puede incluir la prevención avanzada (IPS). El control de actividad y la auditoría son cruciales para la seguridad de las bases de datos porque la mayoría de los ataques utilizan cuentas legítimas. Como control principal de las cuentas reales, el control de actividad es la defensa principal contra la mayoría de las violaciones de datos. Por ejemplo, el abuso de privilegios, el robo de credenciales y la inyección SQL son ejemplos de ataques que sólo el control de actividad puede abordar.
El control de la actividad incluye cuatro medidas principales:
- Visibilidad – Comprender el perfil de actividad de la base de datos utilizando análisis forenses proactivos y reactivos. Se trata de un control importante en sí mismo, pero también es esencial para diseñar el resto de los controles.
- Auditoría tradicional – Establecer políticas, reglas e informes sobre subconjuntos de la actividad de la base de datos que son de alto riesgo y bajo volumen. También se conoce como auditoría declarativa, y es un control central en el cumplimiento normativo.
- Análisis de anomalías – Identificar cambios en los perfiles de comportamiento de usuarios, aplicaciones, etc. Se trata de un control crítico para subconjuntos de gran volumen de la actividad, así como para reducir su inversión de tiempo.
- Preventivo (IPS) – Aplicar restricciones bloqueando la actividad de SQL. Por ejemplo, impedir que usuarios con privilegios accedan a datos confidenciales, aplicar la separación de funciones, etc.
Auditoría de cambios en los datos
Algunas normativas obligan a llevar un registro de todos los cambios realizados en determinados tipos de datos sensibles. Esto va más allá del seguimiento de quién hizo el cambio, cuándo y cómo… y se extiende al registro de los valores exactos que cambiaron. A veces se denomina imágenes antes y después. Por ejemplo, cuando una sentencia SQL cambia un salario de 1.000 a 2.000, la auditoría de cambio de datos registra tanto el valor original o la «imagen antes» (1.000) como el nuevo valor o la «imagen después» (2.000).
Este tipo de auditoría puede requerir un almacenamiento significativo en función de los datos que necesite auditar, la frecuencia con la que cambian y el periodo de retención. Hay diferentes maneras de implementar este requisito, incluidos los cambios en el código de la aplicación, los disparadores de la base de datos, los registros de rehacer y las tecnologías de auditoría avanzadas. Cada método conlleva un coste, una complejidad y una sobrecarga de rendimiento diferentes que debe tener en cuenta.
Aunque auditar los cambios en los datos es algo que se puede hacer utilizando el código de la aplicación o las funciones de la base de datos, utilizar las capacidades incluidas en una solución de seguridad de la base de datos es más fácil, más completo y tiene una menor sobrecarga.
Tecnologías
- Capacidades de la base de datos: Todas las bases de datos contienen algún tipo de funcionalidad de auditoría. La ventaja es que es gratuita. Los inconvenientes son la falta de informes, la retención a largo plazo, los elevados gastos generales y las limitadas capacidades de captura. En sí misma, es una función de apoyo, no una solución.
- Herramientas que utilizan la auditoría nativa: Existen soluciones baratas basadas en las capacidades integradas de las bases de datos. Su único valor es ofrecer la funcionalidad de elaboración de informes y retención que falta en las capacidades integradas de la base de datos. Sin embargo, adolecen de la misma sobrecarga y limitaciones de captura. Pueden ser aceptables para simples necesidades de cumplimiento, pero no ofrecen casi ninguna seguridad o protección contra amenazas realistas.
- Soluciones basadas en la red: Estas herramientas de gama alta infieren la actividad de la base de datos a partir de la captura del tráfico de red. Suelen utilizar controladores locales del kernel para capturar la actividad local, pero su captura es incompleta, por lo que siguen siendo fáciles de eludir. La captura local también crea una alta carga de red al transmitir el tráfico local a su servidor. Su objetivo principal suele ser el cumplimiento, por lo que tienden a tener una visibilidad y unas capacidades de análisis limitadas. En otras palabras, tienen capacidades limitadas contra amenazas realistas (abuso de privilegios, inyección SQL, etc.).
- Soluciones basadas en agentes: Las soluciones de gama alta como Core Audit se conectan directamente al motor de la base de datos y ven todo lo que ocurre en la base de datos con poca sobrecarga (conexiones cifradas, actividad local y actividad interna de la base de datos). Core Audit también incluye una visibilidad en profundidad, potentes repositorios y sólidas capacidades de análisis, lo que se traduce en una seguridad superior frente a cualquier amenaza.
- Rendimiento, APM y otras soluciones: Se trata de soluciones pensadas para el rendimiento y otros fines que, en ocasiones, se reutilizan para la seguridad. Son inadecuadas porque están diseñadas para centrarse en actividades que generan carga en la base de datos en lugar de en actividades que suponen un riesgo para la seguridad. Los SQL maliciosos no suelen generar casi ninguna carga en la base de datos, rara vez son captados por la tecnología subyacente y, aunque se capten, es probable que las soluciones los ignoren.
Buenas prácticas de auditoría de bases de datos e IDS
Estas mejores prácticas para IDS de bases de datos y soluciones de auditoría le ayudarán a lograr una postura de seguridad fuerte. Es importante tener en cuenta que, si bien Core Audit puede cumplir fácilmente todas estas recomendaciones, otras soluciones podrían carecer de algunas de las capacidades.
- Clasificar los riesgos por tipo de cuenta: Las bases de datos tienen diferentes tipos de cuentas como DBAs, cuentas de aplicaciones, cuentas de analistas, cuentas para herramientas y más. Cada tipo de cuenta tiene un perfil de actividad diferente y está sujeta a vectores de ataque distintos. Eso significa que para conseguir una seguridad eficaz, cada tipo de cuenta requerirá informes, anomalías, medidas preventivas, etc. diferentes.
- Comience con Forense Proactiva: Antes de diseñar controles, utilice Proactive Forensics para comprender el perfil de actividad de su base de datos y el perfil de actividad de cada tipo de cuenta.
- Implemente controles superpuestos y compensatorios: Siempre que sea posible, utilice varios controles de distintos tipos para aprovechar sus puntos fuertes y mitigar sus puntos débiles. Por ejemplo, los informes de cumplimiento proporcionan un tipo de seguridad diferente del análisis de anomalías, que difiere de las revisiones forenses ocasionales. Utilizar los tres tipos contra una amenaza dará como resultado una mejor protección.
- Proteger las cuentas DBA y de usuarios con privilegios: Estas cuentas presentan una amenaza significativa debido a su poder ilimitado. Están sujetas a amenazas internas (abuso de privilegios) y externas (credenciales robadas). Implemente controles de sesión para detectar cuentas comprometidas y controles de actividad para supervisar los DDL, los DML, el acceso a datos confidenciales y la hora del día de actividad. Considerar medidas preventivas (IPS) para limitar el acceso de los DBA al esquema de datos y aplicar la separación de funciones.
- Cuentas de aplicación seguras: Las cuentas de aplicaciones tienen acceso a todos los datos y son difíciles de supervisar debido al alto volumen de actividad. Utilice controles de sesión para detectar el uso no autorizado y controles de actividad como el análisis de anomalías para identificar la actividad sospechosa. Considere la supervisión del control de cambios para validar la aprobación de cambios y medidas preventivas para limitar las fuentes de actividad.
- Abordar los riesgos de acceso local: Mitigar los riesgos asociados al acceso local al servidor de base de datos. Se trata de un vector de ataque popular en el robo de datos y los ataques de ransomware. Implemente controles de sesión para supervisar las conexiones locales y controles de actividad para identificar actividades sospechosas.
- Controle otras cuentas: Identifique y evalúe los riesgos que plantean las cuentas utilizadas por analistas, gestores, etc. Implemente controles de sesión, controles de actividad y otros en función de los permisos de la cuenta y el perfil de actividad.
- Mitigar las cuentas nuevas, no aprobadas e inactivas: Detecte y controle la creación y el uso de cuentas nuevas, los cambios de privilegios y, en general, la actividad de cuentas que antes no se veían (como las cuentas inactivas). El control tiene dos vertientes: En primer lugar, utilizando controles de sesión para supervisar las conexiones desde cuentas poco frecuentes y cualquier actividad que realicen. En segundo lugar, informando sobre los DDL relacionados con cuentas y privilegios.
- Copias y extracciones de datos seguras: Es difícil, si no imposible, asegurar los datos una vez que salen de la base de datos. Gestione los riesgos asociados a los datos sensibles copiados fuera de la base de datos. Las operaciones de producción, como las réplicas y las copias de seguridad, requieren defensas equivalentes a las de todas las bases de datos sensibles. Las copias que no son de producción, como los datos para pruebas y desarrollo, requieren enmascaramiento de datos. Sin embargo, la extracción de datos para análisis externos en Excel y otras herramientas es motivo de preocupación. Si es posible, intente evitarlos. Si no, los datos deben enmascararse o protegerse de otra forma. Implemente controles de actividad para identificar los accesos a datos de gran volumen y una revisión forense ocasional para identificar las prácticas de riesgo.
- Mejorar la eficacia de los controles: Realice un análisis de las deficiencias en la eficacia de los controles. Eso incluye estimar los falsos negativos (eventos no detectados) y el potencial de ataque desconocido (como el día cero). Hay tres métodos para el análisis de brechas: (a) basarse en los eventos marcados por una medida de seguridad y no por otra (ver controles compensatorios). (b) utilizar el análisis del perfil de actividad en la medicina forense proactiva para identificar posibles puntos débiles de los controles. (c) con un equipo rojo (o equipo DBA) que intente penetrar las defensas.
Estas prácticas garantizarán una postura de seguridad sólida. Pero tenga en cuenta que las organizaciones suelen seguir un camino de madurez, y adoptar un enfoque gradual suele ser más realista. Si desea más información, póngase en contacto con nosotros para obtener la Guía de Controles completa. La guía incluye muchos más detalles y recomendaciones.