Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Monitoreo y Auditoría de Bases de Datos: Seguridad y Rendimiento - Prof. Aldair Castañeda, Apuntes de Sistemas de Gestión de Bases de Datos

El proceso de monitoreo y auditoría de bases de datos, su importancia para mantener la seguridad y rendimiento de las bases de datos, y cómo utilizar herramientas como el PGA y SGA de Oracle, el servidor de auditoría y las vistas de auditoría para realizar esta tarea. Además, se presentan ejemplos de cómo activar la auditoría en Oracle y SQL Server.

Qué aprenderás

  • ¿Cómo se activa la auditoría en Oracle y SQL Server?
  • ¿Qué herramientas se utilizan para el monitoreo y administración automática de bases de datos?
  • ¿Qué es el monitoreo de una base de datos y por qué es importante?

Tipo: Apuntes

2021/2022

Subido el 30/06/2022

qwerty12329
qwerty12329 🇲🇽

1 documento

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Administración de Bases de Datos - Unidad VI
M@lonso © 2014
1
Administración de Bases de Datos
Unidad VI - Monitoreo y auditoría.
Competencia específica a desarrollar:
1. Implementa la auditoría de base de datos para controlar la seguridad de la información.
2. Implementa el monitoreo del rendimiento de un SGBD para verificar su funcionamiento.
6.1 - Monitoreo
Que es el monitoreo de una base de datos
Es el proceso sistemático de recolectar, analizar y utilizar información importante de la base de datos que
nos ayudan a vigilar el rendimiento de los procesos que se llevan a cabo para mantener una base de datos
segura, tener un control en las mismas y que se desempeñe eficazmente.
El monitoreo de bases de datos es una necesidad prioritaria en un entorno que las usa. Debe tomarse en
cuenta que las bases de datos tienen una relación profunda con el rendimiento general de aplicaciones y
servidores, por lo que la recolección y análisis de datos estadísticos del funcionamiento de las bases de
datos y su relación con los recursos disponibles (CPU, memoria, etc.) deben ser claros y fáciles a los ojos
del administrador del entorno.
Desafortunadamente, es muy común que estos datos sean muy difíciles de manejar con las herramientas
estándar de las bases de datos. Es decir, sería complicado configurar todas las herramientas disponibles
para monitorear una base de datos de tal manera que se pueda ver fácilmente el uso de recursos por parte
de la misma, aislando las demás funciones de un servidor. Otro problema puede presentarse al utilizar
máquinas virtuales (lo cual es cada vez más común hoy en día), y monitorear éstas máquinas con sus
matices específicos.
Para solucionar estos problemas y otros, el mercado ofrece una cantidad considerable de herramientas,
cada una con sus características particulares.
6.1.1 - Monitoreo general de un DBMS
La elección de un buen manejador de base de datos es de vital importancia ya que puede llegar a ser una
inversión tanto en hardware como en software muy cuantioso, pero no solo eso, además va a determinar el
centro de información de la empresa. Los sistemas orientados a los datos se caracterizan porque los datos
no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones,
se diferencian las estructuras lógicas y físicas. El concepto de relación cobra importancia.
DAP un término que Gartner desarrolló para remplazar el anterior concepto de DAM se refiere a las
suites de herramientas que se utilizan para apoyar la identificación y reportar comportamiento inapropiado,
ilegal o de otra forma indeseable en las RDBMSs, con mínimo impacto en las operaciones y la
productividad del usuario. Estas suites han evolucionado de herramientas DAM que ofrecían análisis de
la actividad del usuario en las RDBMSs y alrededor de ellas para abarcar un conjunto más integral de
capacidades, que incluyen:
Descubrimiento y clasificación.
Gestión de vulnerabilidades.
Análisis al nivel de aplicación.
Prevención de intrusión.
Soporte de seguridad de datos no estructurados.
Integración de gestión de identidad y acceso.
Soporte de gestión de riesgos.
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Monitoreo y Auditoría de Bases de Datos: Seguridad y Rendimiento - Prof. Aldair Castañeda y más Apuntes en PDF de Sistemas de Gestión de Bases de Datos solo en Docsity!

Administración de Bases de Datos

Unidad VI - Monitoreo y auditoría.

Competencia específica a desarrollar :

  1. Implementa la auditoría de base de datos para controlar la seguridad de la información.
  2. Implementa el monitoreo del rendimiento de un SGBD para verificar su funcionamiento.

6.1 - Monitoreo

Que es el monitoreo de una base de datos Es el proceso sistemático de recolectar, analizar y utilizar información importante de la base de datos que nos ayudan a vigilar el rendimiento de los procesos que se llevan a cabo para mantener una base de datos segura, tener un control en las mismas y que se desempeñe eficazmente. El monitoreo de bases de datos es una necesidad prioritaria en un entorno que las usa. Debe tomarse en cuenta que las bases de datos tienen una relación profunda con el rendimiento general de aplicaciones y servidores, por lo que la recolección y análisis de datos estadísticos del funcionamiento de las bases de datos y su relación con los recursos disponibles (CPU, memoria, etc.) deben ser claros y fáciles a los ojos del administrador del entorno. Desafortunadamente, es muy común que estos datos sean muy difíciles de manejar con las herramientas estándar de las bases de datos. Es decir, sería complicado configurar todas las herramientas disponibles para monitorear una base de datos de tal manera que se pueda ver fácilmente el uso de recursos por parte de la misma, aislando las demás funciones de un servidor. Otro problema puede presentarse al utilizar máquinas virtuales (lo cual es cada vez más común hoy en día), y monitorear éstas máquinas con sus matices específicos. Para solucionar estos problemas y otros, el mercado ofrece una cantidad considerable de herramientas, cada una con sus características particulares. 6 .1.1 - Monitoreo general de un DBMS La elección de un buen manejador de base de datos es de vital importancia ya que puede llegar a ser una inversión tanto en hardware como en software muy cuantioso, pero no solo eso, además va a determinar el centro de información de la empresa. Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones, se diferencian las estructuras lógicas y físicas. El concepto de relación cobra importancia. DAP— un término que Gartner desarrolló para remplazar el anterior concepto de DAM —se refiere a las suites de herramientas que se utilizan para apoyar la identificación y reportar comportamiento inapropiado, ilegal o de otra forma indeseable en las RDBMSs, con mínimo impacto en las operaciones y la productividad del usuario. Estas suites han evolucionado de herramientas DAM — que ofrecían análisis de la actividad del usuario en las RDBMSs y alrededor de ellas— para abarcar un conjunto más integral de capacidades, que incluyen: ▪ Descubrimiento y clasificación. ▪ Gestión de vulnerabilidades. ▪ Análisis al nivel de aplicación. ▪ Prevención de intrusión. ▪ Soporte de seguridad de datos no estructurados. ▪ Integración de gestión de identidad y acceso. ▪ Soporte de gestión de riesgos.

Ventajas del monitoreo de un sistema manejador de base de datos:Incrementa la Disponibilidad de una Base de Datos : Si se produce un desastre en el modo de alta seguridad con conmutación automática por error, la conmutación por error pone en línea rápidamente la copia en espera de la base de datos, sin pérdida de datos. En los demás modos operativos, el administrador de bases de datos tiene la alternativa del servicio forzado (con una posible pérdida de datos) para la copia en espera de la base de datos. ▪ Aumenta la Protección de los Datos : La creación de un espejo (mirror) de la base de datos proporciona una redundancia completa o casi completa de los datos, en función de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento. ▪ Mejora la Disponibilidad de la Base de Datos de Producción Durante las Actualizaciones : Para minimizar el tiempo de inactividad para una base de datos reflejada, puede actualizar secuencialmente las instancias de base de datos que hospedan los asociados de creación del espejo de la base de datos. Esto incurrirá en el tiempo de inactividad de solo una conmutación por error única. Esta forma de actualización se denomina actualización gradual. 6 .1.2 - Monitoreo de espacio en disco. Uno de los principales indicadores que se tiene que tomar en cuenta como DBA es el espacio disponible en disco. No es problema cuando se tiene un server o 2 para monitorear, sin embargo, cuando hay una cantidad considerable de servidores, automatizar un proceso que lo haga periódicamente es lo mejor para revisar la cantidad de espacio libre. Algunas tareas del DBA donde la información del espacio libre puede ser útil: ▪ La primera que se alerte al DBA cuando el espacio libre cae por debajo de un umbral específico en cualquier unidad de base de datos. ▪ La segunda sería la de realizar un seguimiento de la historia del espacio libre para la gestión de la capacidad de espacio en disco. El abaratamiento de los discos ha reducido considerablemente la incidencia del espacio ocupado por los usuarios. No obstante, los discos requieren administración: hay que instalarlos, darles formato, montarlos en otras máquinas, respaldarlos, monitorearlos. Aunque el espacio en disco sea suficiente, es preciso insistir ante los usuarios para hacer un uso racional del recurso. 6 .1.3 - Monitoreo de logs. Monitorear el log de transacciones es una de las actividades más importantes para los administradores de bases de datos (DBA), ya que en caso de que este llegara a llenarse, no podrían llevarse a cabo más transacciones sobre esta base de datos quedando fuera de servicio. Monitorear el log regularmente puede ayudarnos a resolver varios problemas dentro de los sistemas, ya que esto puede indicar si existen demasiadas transacciones realizadas por una sola aplicación, que podría resultar en un mal diseño o simplemente la necesidad de planear mejor los recursos de log en el servidor de base de datos. Monitoreo de LOG en Oracle. - Las revisiones deben realizarse sobre el archivo de alerta de ORACLE (alert.log) y sobre los archivos de rastreo de procesos de background y de usuarios para identificar errores que se presenten a nivel de base de datos o de sistema operativo. Monitoreo de LOG en SQL Server. - Desde el analizador de consultas ejecutar el comando: DBCC SQLPERF(LOGSPACE).

  • Revisión de los Índices. - Que no se encuentren particionados y que el estado sea válido.
  • Revisión de los Tablespaces en Almacenamiento. - Verificar el estado sea ONLINE y que el espacio usado no sobre pase el 85%, si no debe asignársele más espacio en disco.

6.2 - Auditoría

Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las bases de datos incluyendo la capacidad de determinar: ▪ Quién accede a los datos. ▪ Cuándo se accedió a los datos. ▪ Desde qué tipo de dispositivo/aplicación. ▪ Desde que ubicación en la Red. ▪ Cuál fue la sentencia SQL ejecutada. ▪ Cuál fue el efecto del acceso a la base de datos. Objetivos Generales de la Auditoría de BD. Disponer de mecanismos que permitan tener trazas de auditoría completas y automáticas relacionadas con el acceso a las bases de datos incluyendo la capacidad de generar alertas con el objetivo de: ▪ Mitigar los riesgos asociados con el manejo inadecuado de los datos. ▪ Apoyar el cumplimiento regulatorio. ▪ Satisfacer los requerimientos de los auditores. ▪ Evitar acciones criminales. ▪ Evitar multas por incumplimiento. 6 .2.1 - Habilitación y deshabilitar el modo de auditoría Oracle

  1. La activación de la auditoría en Oracle viene definida por el valor del parámetro: audit_trail. Para comprobar si la auditoría de la base de datos está activada ejecutaremos el siguiente comando SQL: SQL> select name , value from v$parameter where name like 'audit_trail'; audit_trail NONE Posibles valores del parámetro AUDIT_TRAIL: - NONE: desactiva la auditoría de la base de datos. - OS: activa la auditoría de la base de datos. Los sucesos auditados se escribirán en la pista de auditoría del sistema operativo, no se auditará en Oracle sino en el sistema operativo anfitrión. Esta opción funcionará dependiendo del sistema operativo. - DB: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle. - XML: activa la auditoría de la base de datos, los sucesos serán escritos en archivos XML del sistema operativo.
  2. Se activa la auditoría de la base de datos SQL> alter system set audit_trail = DB scope = spfile;
  3. Se reinicia la base de datos ( shutdown immediate, startup ) y se comprueba que la auditoría se ha activado. SQL> select name , value from v$parameter where name like 'audit_trail'; audit_trail DB
  1. Se activa la auditoría para ver la conexión y desconexión de los usuarios a la base de datos, se hace con la siguiente sentencia SQL> audit connect; Se puede activar la auditoría sobre la modificación de las tablas sobre el usuario Scott, de esta forma cualquier modificación realizada en una tabla que pertenezca a este usuario será registrada en las tablas y se podra ver quien ha realizado esa modifiación. SQL>audit insert,update on scott. bonus BY access; SQL>audit insert,update on scott. emp BY access; SQL>audit insert,update on scott .dept BY access; SQL>audit insert,update on scott. salgrade BY access; SQL Server
  2. Habilitar el seguimiento cambios en la base de datos USE master ALTER DATABASE [Libreria] SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)
  3. Habilitar el seguimiento a una tabla en específico. USE Libreria ALTER TABLE Estudiante ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON) Nota : Requiere que la tabla tenga una llave primaria creada
  4. Listar los cambios en general SELECT * FROM CHANGETABLE (CHANGES [Estudiante],0) as CT ORDER BY SYS_CHANGE_VERSION
  5. Listar el detalle de los cambios SELECT CT.SYS_CHANGE_VERSION, CT.SYS_CHANGE_OPERATION, EM.* FROM CHANGETABLE (CHANGES [Estudiante],0) as CT JOIN [dbo].[Estudiante] EM ON CT.Id_Lector = EM.Id_Lector ORDER BY SYS_CHANGE_VERSION

También deben modificarse los parámetros de configuración “audit queue size” y “suspend audit when device full”. Deben de adecuarse a sus necesidades especificas.

  1. Configurar el manejo del log de transacciones para la base de datos sybsecurity. Es conveniente encender la opcion “tunc log on chkpt” en la base de datos sybsecurity o bien crear el sp_thresholdaction para poder truncar o respaldar el log de trransacciones y con esto evitar que se llene el log de transacciones y se interrumpa el servicio del server por un llenado del log en esta base de datos.
  2. Configurar los eventos a auditar. El SSO (oficial de seguridad) debe de utilizar el stored procedure sp_audit para configurar los eventos a auditor. La sintaxis es: sp_audit option, login_name, object_name [,setting] Algunas opciones a auditar se pueden encontrar en la siguiente tabla: Opción Descripción all Audita todas las acciones de auditoria realizadas por un usuario en particular o por usuarios con un role especifico. Puede usarse esta opcion para especificar roles de sistema. alter Audita la ejecución de alter table o alter database. bcp Audita the ejecución de la utilería bcp in. create Audita la creación de objetos de base de datos. delete Audita el borrado de renglones de una tabla o vista. drop Audita el borrado de objetos de la base de datos. insert Audita la inserción de renglones en una tabla o vista. load Audita the ejecución de load database o load transaction. login Audita todos los intentos de conexión a Adaptive Server. update Audita actualizaciones a renglones a una tabla o vista.
  3. Habilitar la auditoria Para comenzar el proceso de auditoría, se debe de modificar el parámetro de configuracion “auditing” mediante: sp_configure “auditing”, 6 .2.2 - Consultas de las tablas vistas con información de la auditoría Oracle Las principales vistas para obtener resultados de la auditoría, son las siguientes:
  • DBA_AUDIT_TRAIL: Muestra la auditoría estándar (de la tabla AUD$) relativa al usuario actual. Es una lista de todas las entradas en la tabla SYS.AUD$ colectada por el comando audit.
  • DBA_AUDIT_OBJECT: Lista las opciones de entrada de auditorías para auditar objetos de la base de datos.
  • DBA_AUDIT_EXISTS: Es una lista de entradas de auditoría generadas por la opción EXISTS en el comando AUDIT.
  • DBA_AUDIT_SESSION: Muestra las entradas de auditoría generadas por conexiones o desconexiones de sesiones.
  • DBA_AUDIT_STATEMENT: Es una lista de entradas de auditorías, con la información recolectada de las opciones de sentencias en el comando audit. SQL Server Para listar los cambios de los datos se usa la función del sistema CHANGETABLE(CHANGES ...) que consulta la información de las tablas internas de seguimiento. Sybase La información se almacena en la tabla SYSAUDIT correspondiente select spid, loginname, dbname + "." + objowner + "." + objname, extrainfo, eventtime from sybsecurity..sysaudits_ where dbname = "" order by eventtime desc Para limpiar el contenido de la tabla auditora truncate table sybsecurity..sysaudits_ Para activar/desactivar un evento de auditoria sp_audit , , ,<on|off> ; Despliega el estado de las opciones de auditoria sp_displayaudit

6.3 - Herramientas de software y hardware para monitoreo y administración automática

Herramientas de Microsoft SQL Server Estas herramientas son el Profiler y el Performance monitor.

  • Permiten ver los procesos en ejecución del servidor
  • Ayudan a ver como está el rendimiento del sistema 0 PROFILER
  • Permite crear trace para dar seguimiento a las ejecuciones y consultas que se ejecutan en el servidor
  • Podemos tener acceso en la dirección Start>Program Files > Microsoft SQL Server >Profiler.
  • Se pueden filtrar traces especificando el nombre de la aplicación a la que se le quiere dar seguimiento. PERFORMANCE MONITOR
  • Con esta herramienta se visualiza como se está comportando el disco duro
  • A demás de como la base de datos utiliza la memoria y el procesador del servidor los cuales deberían mantenerse por debajo de un 20% Herramientas de MySql MySQL-Proxy.- es una herramienta para monitorear y optimizar consultas y búsquedas.
  1. Hacer un Log de todas las consultas que recibe el Servidor
  2. Denegar consultas peligrosas que puedan dañar nuestra base de datos
  3. Generar Alias de comandos comunes por ejemplo SLE se podría convertir en SELECT