Supervisión de acceso y uso de bases de datos
Familiarízate con soluciones para la gestión de información y eventos de seguridad:
SIEM (Security Information and Events Management)
La monitorización de equipos y servicios que se realiza habitualmente es una vigilancia que está relacionada con la seguridad y la disponibilidad. La supervisión puede aportar mucho a la protección de las infraestructuras TI y las bases de datos es una de estas infraestructuras que resultan imprescindibles que sean supervisadas.
Hoy por hoy, los datos se han convertido en el activo más importante para cualquier organización, sea cual sea su objetivo de negocio. Disponer del dato adecuado y su acceso, son la ventaja competitiva que hoy marcan la diferencia entre las compañías exitosas. Son muchos los ejemplos de éxito de minúsculas start-ups que compiten sin complejos con grandes multinacionales y sus imponentes infraestructuras.
Y si de datos se trata, uno de los principales depósitos que se pueden encontrar en las infraestructuras de TI son las bases de datos. Depósitos de información interesantes, no sólo porque guardan el dato sino también porque hay que considerar que se encuentra “estructurado”, y esta es una circunstancia que le confiere un valor añadido. Las bases de datos valen lo que valen no porque contienen datos, si no por como los contienen.
Por ello, no es de extrañar que las bases de datos se hayan convertido en uno de los aspectos más preocupantes para cualquier responsable de la ciberseguridad y en el blanco preferido de todo tipo de sabotajes. Las amenazas que acechan a la base de datos son incontables y todas tienen una misma finalidad: extraer la información que contienen, introducir información que no contienen y/o evitar que su legítimo propietario pueda hacer uso de su información.
Existen multitud de mecanismos de protección de diferentes niveles para evitar incidentes con la información. Desde la fase de diseño, utilizando técnicas de programación segura, a la fase de producción mediante el filtrado de peticiones contra la base de datos a modo de firewall y sin olvidar el cifrado de la información contenida en las bases de datos. Controles y medidas que tienen como objetivo evitar la intrusión y acceder a datos. Por ello, tenemos que tomar las siguientes precauciones: identificar intrusiones y detenerlas.
No sucede lo mismo con aquellos usuarios que tienen habilitado un acceso lícito a la base de datos. Para éstos, hay que considerar que no violentan ningún control contra intrusos y su acceso pasa desapercibido. Sin embargo, para cualquier administrador de bases de datos o propietario de la información, ¿cómo puede estar seguro de que están accediendo los usuarios que deben, cómo y cuándo deben?.
Con la monitorización convencional de red, los responsables tienen información de disponibilidad cuando el motor de las bases de datos está funcionando correctamente y cuando no. En este último caso, tendríamos que responder rápidamente en consecuencia. Esto corresponde a una monitorización, como se ha dicho antes, que aporta poco a la supervisión del acceso y uso de las bases de datos, puesto que sólo controla la disponibilidad del servicio y la capacidad. Es decir, no cubre los otros aspectos de la seguridad: integridad, confidencialidad y trazabilidad. Si la disponibilidad del dato es importante, también lo es saber quién lo genera, quién accede a él, cuándo y para qué. Y es aquí, donde las herramientas de monitorización de red, salvo honrosas excepciones, se quedan cortas. Además, en cualquier entorno, suele ser necesario hacer una supervisión selectiva con requerimientos de supervisión distintos para cada una de ellas. Esto es porque no se requiere el mismo nivel de supervisión para la base de clientes que para la de distritos postales.
El software de monitorización de red no suele ocuparse de la transacción o de las instrucciones que se lanzan sobre las bases de datos. Tampoco suelen contar con capacidades para detectar las credenciales utilizadas en esa ejecución, así como no puede hacer esta supervisión con la granularidad requerida según exigen determinados entornos.
La limitación del software de monitorización de red viene a que normalmente sólo se le requiere para comprobar si el servicio o aplicativo está cargado a la escucha y si éste responde a las peticiones de red. Por ello, verifica si está vivo o muerto. Tampoco se le pide otra cosa desde el punto de vista de gestión del servicio. Se produce un cambio radical cuando en la gestión del servicio hay que justificar la integridad, confidencialidad y la trazabilidad del uso de las bases de datos. Circunstancia dada frecuentemente y por cumplimientos de ISOS y otras normativas de seguridad y buen gobierno. Se puede requerir por algo tan prosaico como el licenciamiento del servicio y/o programa.
No obstante, supervisar el acceso y uso de las bases de datos no es nada complicado como bien sabe cualquier administrador DBA. El software del motor de bases de datos incluye habitualmente funcionalidades con las que poder registrar la actividad que se produce sobre las bases de datos que mueve. Actividad que, con mayor o menor detalle, no se refiere únicamente al “login”, sino que también deja rastro de las instrucciones que se realizan sobre ellas.
Lo realmente difícil en la monitorización de la actividad de las bases de datos es formatear esos datos y darles sentido. Si se trata de un número reducido de bases de datos, de manera manual o añadiendo algún script, se puede formatear los logs para que aporten información de lo que realmente está ocurriendo en el acceso a las bases de datos y servidor. Siempre y cuando se cuente con los medios suficientes para poder hacerlo y adaptado a entornos pequeños. A poco que se complique el sistema con varios servidores, multitud de bases de datos y/o distintas ubicaciones geográficas se revelan para atender esa necesidad.
A poco que se quiera tener una idea lo más aproximada posible de lo que pasa en las bases de datos, la mejor opción es recurrir a un software que permita recopilar los datos, formatearlos y presentarlos. Presentarlos de forma que, quienes tengan que analizar esa información, lleguen a entenderla perfectamente. La problemática en la supervisión de las bases de datos no está en la generación de eventos relacionados con su acceso y uso, sino en la recopilación de esos eventos, su formateo y presentación.
Recurrir a programas tipo syslog (de recopilación de logs según estándares) suelen ser una solución incompleta por la propia definición del software: sólo recopila datos. Eso sí, con un formato “normalizado” y sobre los que se pueden articular algunas acciones que, sin duda, pueden ser una ayuda a la gestión del servicio. Para que realmente los datos recopilados puedan ser manejados de manera sencilla y cómoda y puedan resultar significativos en la gestión del servicio, conviene recurrir a otro tipo de software: programas de análisis y gestión de eventos o si se prefiere, correlador de eventos.
Este tipo de programa es un software no muy aceptado por los técnicos por sus funcionalidades y coste. Por sus funcionalidades, porque resultan algo complicados de comprender y manejar. Para que la correlación de eventos sea realmente eficaz, el operador tiene que conocer muy bien la herramienta y aplicar complicados algoritmos de relación entre los logs recopilados. Es un tipo de programas que exige mucha dedicación a los operadores y que tarda en ofrecer resultados. Si a esto se une que son programas que no suelen tener un licenciamiento barato, puede entenderse fácilmente el motivo de su limitado uso.
Registro forense
La recopilación de eventos y su posterior presentación en informes también es interesante como registro de evidencias forenses para determinar qué falló en los incidentes de seguridad. Además, es útil para corregir las vulnerabilidades que lo propiciaron y para perseguir a quien lo ha perpetrado. |
Una alternativa atractiva a estos programas complejos pueden ser los programas SIEM (Security Information and Events Management) que son para la Gestión de Información y Eventos de Seguridad. Aunque normalmente su leyenda les sitúa en la identificación y detección de intrusiones en tiempo real, lo cierto es que permiten un ámbito de aplicación mayor que la seguridad perimetral y pueden ser de mucha utilidad en la supervisión del control de acceso y uso de las bases de datos.
El programa SIEM permite realizar un análisis de logs que, sin llegar a la complejidad de los correladores de logs, puede ser más que suficiente para cubrir la mayoría de las necesidades de supervisión que se puede necesitar en la mayoría de los entornos con bases de datos. La arquitectura de estos programas suele contar con un sistema de recopilación de eventos diferentes que los almacena y normaliza para aplicarles un procesamiento con el que automatizar diferentes acciones que se pueden lanzar en consecuencia (como puede ser generar una alerta o ejecutar un script). Esta facilidad en la gestión de eventos se complementa con funcionalidades para la generación y presentación de informes consecuentes.
La “gracia” de este software son las “reglas de procesamiento”, es decir la inteligencia del programa. Con estas reglas los programas SIEM analizan los eventos cuando se registran, sirviendo como punto de decisión para llevar a cabo las acciones que se hayan determinado. Los programas de SIEM suelen incorporar reglas predefinidas de procesamiento de eventos que son muy habituales en la supervisión de los distintos servicios, como pueden ser los servidores de fichero, web y, por supuesto, las bases de datos.
Esta configuración inicial hay que valorarla con mucho detalle porque supone un buen punto de inicio para implantar este tipo de solución. Estas reglas predefinidas pueden ser aplicadas o modificadas directamente para adaptarlas a cada entorno en particular . Por supuesto, se pueden crear aquellas otras reglas que no están incluidas de serie recurriendo a un asistente que facilita al operador enunciar los aspectos que se deben considerar de los eventos y las acciones que se han de realizar. Análisis que al principio puede ser sencillo, pero en poco tiempo el operador cogerá confianza y podrá implementar reglas complejas que posibiliten una gestión cada vez más eficaz del servicio.
SIEM posibilita realizar un análisis de logs sin la complejidad de los correladores de logs que, en muchos casoss puede ser más que suficiente para cubrir la mayoría de las necesidades de supervisión en bases de datos y otros servicios. |
En el caso de las bases de datos, todas las reglas de procesamiento de serie bienvenidas deben de ser por el DBA. Es importante fijarse en el número y calidad de las ya incluidas, así como de los motores de base de datos contemplados. Estos aspectos darán una idea clara de la potencia y posibilidades para que el programa pueda convertirse en la plataforma de supervisión del motor de bases de datos de la organización.
Hay que valuar las reglas que incluye el programa para el acceso y uso de las bases de datos en lo que se refiere a su contenido y estructura. Los metadatos asociados a las bases de datos también son importantes y no se deben descuidar su monitorización. Del mismo modo, los eventos tienen que contemplar operaciones que se realizan por fuera de la base de datos y que tienen que ver más con el motor de base de datos que con las propias BBDD. Altas, bajas y modificaciones en las credenciales de usuario, asignaciones de permisos y un largo etcétera, son los sucesos que también afectan a las bases de datos.
La generación de informes también es otro de los puntos fuertes que deben tener estos programas. En la evaluación de los programas conviene mirar si tienen informes específicos según normativas. Esto simplifica mucho la gestión del servicio y permite hacer un seguimiento de cumplimiento cómodo. No obstante, conviene advertir las facilidades que pueda tener para generar informes propios, puesto que representarán las posibilidades para presentar reportes de todo tipo a distintas instancias.
Otro de los aspectos importantes a considerar en este tipo de programa son las opciones de configuración y su interfaz. Conviene que posibilites la definición de todos los aspectos de funcionamiento del programa de manera sencilla y fácil de entender. Parece una perogrullada pero, en la práctica, los fabricantes dejan esto a los iniciados y la configuración de los programas se convierte en una pequeña odisea. A esto contribuye mucho su interfaz, cuanto más sencillo y amigable resulte, mejor para todos. Si bien es cierto que la gestión y configuración de los servicios por línea de comandos proporciona mejores y mayores posibilidades que un entorno gráfico, no deja de ser igual de cierto que para la mayoría de las necesidades: el interfaz gráfico proporciona las funcionalidades requeridas para sacar el servicio adelante.
En conclusión, una supervisión de bases de datos adecuada no debe conformarse con verificar que el servidor de bases de datos se encuentre vivito y coleando. Es necesario supervisar el acceso y uso de las distintas bases de datos, registrando quién y cómo accede y qué operaciones lleva a cabo durante su acceso.
Las herramientas de monitorización de red convencionales normalmente no tienen esa capacidad y los programas de correlación de eventos la tienen pero son poco asequibles económicamente y complejos de manejar. Una alternativa coherente para esta supervisión, atractiva económicamente y fácil de implementar/operar es recurrir a SIEM.
Dejar un comentario
¿Quieres unirte a la conversación?¡Siéntete libre de contribuir!