INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y
ADMINISTRATIVAS
“MODELO DE MONITOREO DE PROCESOS EN LÍNEA DE UNA BASE DE DATOS”
T E S I N A
Q U E P A R A O B T E N E R E L T Í T U L O D E : L I C E N C I A D O E N C I E N C I A S D E L A I N F O R M ÁT I C A
P R E S E N T A N :
R O S A C R I S T I N A Á L C A L A M A R T Í N E Z S A N D R A B E T S Y M O L E R É S V A L E N C I A N O R M A A N G É L I C A O L V E R A V A L L E A L F R E D O O R T E G A L Ó P E Z L I L I A N A R O S A S R E N D Ó N
MÉXICO, D.F. 2009 2009
Í N D I C E
Resumen I
Introducción IV
Capítulo I: Marco Metodológico
1.1 Planteamiento del problema 1
1.2 Objetivo (s) 2
1.3 Técnicas e instrumentos de medición 3
1.4 Universo y/o muestra 3
1.5 Justificación 3
Capítulo II: Conceptos Generales sobre monitoreo de procesos en línea de una Base de Datos
2.1 Base de Datos 6
2.1.1 Acceso a la Base de Datos 6
2.1.2 Tipos de accesos 7
2.1.3 Tipos de usuarios 8
2.1.4 Administrador de la Base de Datos 9
2.1.5 Sistema manejador de la Base de Datos 10 2.1.6 Diferentes manejadores de Bases de Datos 10
2.2 Monitoreo 17
2.2.1 Elementos del plan de monitoreo 17
2.2.2 Tipos de monitoreo 19
2.2.3 Monitoreo a Base de Datos 20
2.3 Proceso de transacciones en línea 21
2.3.1 Tipos de transacciones en línea 23
2.3.2 Transacciones en línea en una Base de Datos 24 Capítulo III: “Principales riesgos en las Bases de Datos”
3.1 Riesgos 26
3.2 Breve descripción de los riesgos que afectan las Bases de Datos 27
3.2.1 Accesos no autorizados 29
3.2.2 Suplantación de identidad 30
3.2.3 Robo 31
3.2.4 Desastres naturales 31
3.2.5 Fraude 32
3.3 Situación Actual de riesgos en Bases de Datos 33
Capítulo IV: “Controles, Políticas y Tecnologías existentes en el mercado para disminuir los riesgos actuales en Bases de Datos”
4.1 Legislación Informática 40
4.1.2 Leyes de protección a Bases de Datos a Nivel Nacional 43
4.1.3 Mejores Prácticas 55
4.2 Controles Existentes para minimizar riesgos de accesos no autorizados a Base de Datos
60
4.2.1 Firma Digital y Hashing 62
4.2.2 Permisos o privilegios de usuarios a Base de Datos 65
4.2.3 Firewall 67
4.2.4 Administrador para monitoreo 67
4.2.5 Políticas de resguardo de Bases de Datos 67
4.3 Tecnología existente de monitoreo a Bases de Datos 69 4.3.1 Software de Monitoreo a Bases de Datos 69 Capítulo V: “Modelo de monitoreo de procesos en línea de una Base de Datos”
5.1 Descripción de la propuesta del Modelo 72
5.1.1 Tecnología 74
5.1.2 Mejores Prácticas 75
5.1.3 Políticas 75
5.1.4 Procedimientos 75
5.1.5 Difusión y Concientización 76
Capítulo VI: “Aplicación del modelo de monitoreo de procesos en línea de una Base de Datos en la empresa Corsidian S.A de C.V”
6.1 Generalidades de la Empresa 77
6.2 Aplicación del modelo de monitoreo de procesos en línea de una base datos en la empresa Corsidian S.A de C.V
80
6.2.1 Sección Tecnología 82
6.2.2 Sección Mejores Prácticas 82
6.2.3 Sección Políticas 83
6.2.4 Sección Procedimientos 83
6.2.5 Sección Difusión y Concientización 84 6.2.6 Diagrama de Flujo del Modelo Aplicado a Corsidian 85
6.3 Resultados obtenidos de la aplicación del modelo 86
6.4 Ventajas y desventajas de la aplicación del modelo 98
Conclusiones 100
Bibliografía 103
Glosario 107
RESUMEN
Debido al creciente impacto del uso de la información sobre las organizaciones y el cumplimiento de sus objetivos, es de primordial importancia salvaguardar los datos de carácter esencial para el óptimo y continuo funcionamiento de las organizaciones, por lo que es necesario empezar a tomar en cuenta los factores que pueden causar daño a los datos y tomar medidas preventivas contra los ataques de los cuales puede ser victima la información de la empresa.
La presente investigación propone un modelo de monitoreo a las Bases de Datos con la finalidad de reducir los riesgos que ocasionan los accesos no autorizados, entre otros factores que llegan a ser perjudiciales para la Base de Datos o para los sistemas que hacen uso de las mismas y por consecuencia esto se ve reflejado en una problemática económica y de fuga de información para la empresa u organización en la cual se presente un caso de acceso no autorizado a la Base de Datos.
Para esto, se hace un análisis de la problemática en cuestiones de seguridad de los datos dentro de la base, mostrando los diferentes riesgos que pueden afectar o dañar una Base Datos.
Al realizar la investigación sobre el tema de legislación en cuestiones de seguridad de los datos y las aplicaciones que se utilizan, se nota que es poca la legislación en el tema, no significa que no existe tal, solo que la que se ha desarrollado en el país es poca en relación a otros países. Tal es el caso de los delitos informáticos, los cuales no se encuentran tipificados como tal. Un claro ejemplo de lo anterior se observa claramente en el robo de Bases de Datos, el cual es castigado en caso de ser descubierto solo como robo de una obra intelectual, mas no como delito informático, esto con base en la ley federal de derechos de autor.
Por lo anterior se considera que se deben de mejorar muchos aspectos que se relacionan con las leyes en nuestro país, que ayuden a castigar delitos de esta índole, ya que no hay leyes que garanticen de manera específica la protección de la información, por lo que se exhorta a las personas interesadas en el tema a investigar en este sentido y con eso lograr que se tenga mayor conciencia de la importancia de la legislación informática así como de la auditoría informática.
Tomando en cuenta la problemática que existe en nuestro país, es que se propone un modelo que permita a las empresas tomar medidas para resguardar los datos y la información que estos generan, como lo es el “Modelo de monitoreo de procesos en línea de una Base de Datos”
que contiene como principales rubros:
El uso de la tecnología, que dentro de este modelo como principal herramienta, ayuda conocer el status de los dispositivos físicos donde se encuentra almacenada la base. Esta tecnología contiene características como: la autenticación, confidencialidad y disponibilidad de los datos.
La aplicación de estándares, como son las mejores prácticas que proveen de un marco a seguir para la ejecución de las acciones que se realizan sobre la Base de Datos, dichos estándares están establecidos por diferentes organizaciones que pueden evaluar o solo proponer mejores formas de resguardar a la información.
Los procedimientos como puntos de revisión del cumplimiento de las mejores prácticas, y políticas, permiten la opción de la corrección de los detalles encontrados al haberse revisado las etapas del monitoreo. En esta etapa se describe básicamente el modo de ejecución que lleva a cabo el modelo para lograr su principal función: monitorear.
El establecimiento de políticas que permiten un mejor control y administración sobre las actividades que se llevan a cabo sobre la Base de Datos, un ejemplo es la consulta o la modificación de los datos de la misma.
Difusión y concientización: esta etapa ayuda a dar a conocer y hace hincapié en la importancia de conocer el funcionamiento del modelo de monitoreo, con el fin de hacer conciencia y de lograr que los usuarios, tanto del modelo, como de la información que se encuentra en la Base de Datos, logren el optimo funcionamiento del mismo y así se logre el objetivo para el que fue creado.
Las etapas anteriores han sido descritas con el fin de establecer la base del modelo conceptual, que ayude a describir las áreas que son propicias para el buen funcionamiento de dicho modelo.
Para poder comprobar el buen funcionamiento de este modelo, se realiza una prueba dentro de una empresa en donde se desarrolla una aplicación que se ejecuta sobre un sistema operativo Linux y una Base de Datos de Sybase, estos elementos no son un standard para que arroje la información que se desea, en este caso se obtiene un reporte que describe desde las características de hardware de los equipos, los usuarios que se conectan al servidor, la mac - address del equipo en donde se realiza el movimiento en la Base de Datos, que movimiento realiza y a hora se llevo a cabo de dicho movimiento.
La información anterior ayuda a tomar ciertas medidas que mejoren la seguridad de los datos de la base.
Se presenta además un apartado de las cualidades que debe cumplir un monitoreo para su efectiva aplicación y así permitir su optimo funcionamiento, y en este caso cumplir con el principal objetivo de esta medida de seguridad, que es poder observar y por lo tanto prevenir incidentes que pongan en juego la integridad de los datos almacenados en las Bases de Datos y los sistemas manejadores que las alojan.
INTRODUCCIÓN
En la actualidad, las empresas resguardan la mayor parte de su información en una Base de Datos la cual se encuentra expuesta a una serie de riesgos, entre los cuales se encuentran:
accesos no autorizados, alteración de registros por personal autorizado y no autorizado, robo de información, venta ilegal de la Base de Datos, perdida y uso indebido de la información. Estos riesgos tienen impacto operativo sobre la Empresa y en algunas ocasiones éste llega a ser económico. Algunas consecuencias son modificaciones indebidas causadas principalmente por usuarios de la misma Base de Datos, ocasionadas por el descuido de los usuarios finales de la Base de Datos, o por la falta de controles establecidos para la seguridad de la misma.
Con la información anterior y con base en la conferencia organizada por NeoSecure sobre Protección de Base de Datos donde participó como orador principal el Dr. Ron Natan, especialista en el tema, reconocido a nivel internacional por su experiencia y publicaciones. El evento se llevó a cabo el pasado 13 de septiembre en el Palacio Duhau del Park Hyatt, la cual describe lo siguiente:
Al observar el desarrollo informático es notorio que ha sufrido cambios en un periodo corto; hoy en día se debe dar una mayor importancia a la seguridad de la Base de Datos ya que debido, a dicho avance la vulnerabilidad se incrementa, como consecuencia las empresas deben de reestructurar sus niveles de seguridad con el fin de resguardar la información puesto que esto representa una ventaja competitiva, que permite el crecimiento de la misma y su estabilidad.
Por lo anterior, ésta investigación tiene como objetivo proponer un modelo de monitoreo para los procesos en línea que se realizan sobre una Base de Datos para minimizar el riesgo del acceso no autorizado.
Esta investigación consta de seis capítulos que a continuación se describen brevemente. En el capítulo I se expone de forma precisa la problemática que se requiere examinar para el logro de los objetivos de la investigación, así como la descripción de los distintos métodos y las técnicas que posibilitarán obtener la información necesaria para el proceso de investigación y todo aquello que lleva a una mejor comprensión del problema de accesos indebidos que afectan a las Bases de Datos.
En el capítulo II se establece un marco teórico para especificar los conceptos básicos que permitan delimitar los fundamentos teóricos que sustentan nuestra concepción de la terminología y su objeto
de estudio. Analiza los aspectos concretos que corresponden a la investigación para dar un mejor enfoque de la problemática a analizar.
En el capítulo III se analiza la problemática actual, provocada por el avance de la tecnología, a la que se encuentran expuestas las empresas que emplean Bases de Datos, resaltando los principales riesgos a los que se enfrentan constantemente en su operación diaria, así como las causas que propician la existencia de éstos.
En el capítulo IV se analizan algunos de los controles, políticas y tecnologías existentes, y diversas aplicaciones que se encuentran disponibles en el mercado, las más comúnmente empleadas en algunas empresas para tener un mejor control del acceso a sus Bases de Datos, así como los diversos modelos de monitoreo ya existentes.
En el capítulo V se describe el funcionamiento del modelo propuesto, que cumpla los controles, políticas, estándares y parámetros establecidos, según la comparación de los diversos modelos y software existentes en el mercado para el monitoreo de las Bases de Datos haciendo referencia al más idóneo.
En el capítulo VI se describen los aspectos generales de la empresa y se aplica el Modelo de Monitoreo de Procesos en Línea de una Base de Datos, analizando las ventajas y desventajas de la aplicación del modelo con el fin de demostrar que los riesgos en el acceso no autorizados a la Base de Datos se puede reducir.
De esta manera, con el monitoreo de procesos en línea de una Base de Datos, se permite conocer los procesos que se realizan dentro de la Base de Datos de una empresa, lo cual permite establecer controles más estrictos para disminuir los riesgos ocasionados en mayor medida por el personal.
CAPÍTULO I
“MARCO METODOLÓGICO”
Este capítulo proporciona un panorama general de la situación actual a la que se encuentran expuestas las Bases de Datos, esto implica la descripción de los riesgos y las consecuencias provocadas por la falta de seguridad hacia las Bases de Datos. Así como la definición de objetivos que se buscan con la investigación, y las herramientas a utilizar para el logro de los mismos.
CAPÍTULO I MARCO METODOLÓGICO
1.1 Planteamiento del problema
En la mayoría de las empresas se maneja información que se encuentra organizada en una Base de Datos, a la que tiene acceso el personal o en el mejor de los casos hay un administrador de la misma, que contiene información propia de la empresa, ya sea de clientes, proveedores, contactos o empresas, lo cual nos inspira a saber el control que se lleva para poder conocer cada movimiento que se realiza de la información contenida en dicha base. Esta información es de vital importancia para el buen funcionamiento de la empresa, por lo que es necesario tener un control sobre el manejo de la Base de Datos.
El mal manejo de la Base de Datos es provocado por el acceso no autorizado a la misma o de la utilización de algún otro método para aumentar privilegios, con el fin de hacer mal uso de ella.
Además de las amenazas que pueden afectar a los datos, las cuales son a menudo imprevisibles o inevitables.
Con base en la siguiente información:
“Accesos no autorizados: El 71% de los encuestados descubrieron acceso desautorizado por personas dentro de la empresa. Pero por tercer año consecutivo, la mayoría de encuestados (59%) mencionó su conexión de Internet como un punto frecuente de ataque, los que citaron sus sistemas interiores como un punto frecuente de ataque fue un 38%.
Basado en contestaciones de 643 practicantes de seguridad de computadoras en corporaciones americanas, agencias gubernamentales, instituciones financieras, instituciones médicas y universidades, los hallazgos del «Estudio de Seguridad y Delitos Informáticos 2000» confirman que la amenaza del crimen por computadoras y otras violaciones de seguridad de información continúan constantes y que el fraude financiero está ascendiendo.”1
La figura 1.1 representa de manera gráfica los ataques y abusos detectados por los encuestados.
Figura 1.1 Representación gráfica de los principales delitos informáticos.
Con lo anterior se puede comentar que:
El usuario es uno de los principales problemas ligados a la seguridad de la Base de Datos.
Virus: programas destinados a perjudicar o a hacer un uso ilícito de los recursos del sistema.
Un intruso: persona que consigue acceder a los datos o programas de los cuales no tiene acceso permitido.
Un robo: una mala manipulación o una mal intención derivan a la pérdida de la Base de Datos.
Por lo antes mencionado se propone un modelo de monitoreo, con el cual se registraría cada movimiento que se lleve a cabo dentro de la Base de Datos. Este modelo realizará el monitoreo de cada proceso que se realice en línea, sobre la misma.
1.2 Objetivo (s)
Objetivo General:
Proponer un modelo de monitoreo de Base de Datos que permita establecer un control para mitigar riesgos causados por el acceso no autorizado a la misma.
Objetivos Específicos:
Analizar los procesos que se realizan en una Base de Datos.
Determinar políticas de acceso a la Base de Datos
Determinar controles para el acceso no autorizado a la Base de Datos.
1.3 Técnicas e instrumentos de medición
La observación, como herramienta, se utiliza en distintas etapas de la investigación: en la etapa inicial se usa en la identificación del problema y es de gran utilidad en el diseño de la investigación.
La observación es la técnica que permite conocer las características principales de los procesos que se realizan en una Base de Datos.
El observador debe tener un conocimiento cabal del proceso, fenómeno u objeto a observar, para que sea capaz, dentro del conjunto de características de éste, seleccionar aquellos aspectos que son susceptibles a ser observados y que contribuyen a la demostración de la hipótesis.
1.4 Universo y/o muestra
Con base en lo que establecen varios autores se puede definir como universo a toda una colección de elementos finita o infinita que posee diversas características, derivada de esta definición se puede mencionar a la población, la cual es la descripción de alguna unidad medible que poseen ciertos elementos propios del universo.
Ejemplos de las definiciones anteriores son:
El universo son todos los alumnos que estudian en UPIICSA.
La población es: Los alumnos de la carrera de Ciencias de la informática que estudian en UPIICSA.
Al aplicar la información obtenida anteriormente, se describe el universo a tomar como referencia para nuestra investigación, se encuentra compuesto por 40 empleados de la Empresa Corsidian S.A de C.V.
1.5 Justificación
En base al gran aumento de accesos no autorizados y delitos informáticos realizados por medio de estos, es necesario conocer que a nivel mundial esto es muy frecuente, y por tanto es necesario establecer controles y medidas de seguridad que permitan la disminución de estos daños, según informa comunicaciones World, en su artículo del 20/07/2006):
‘Los asaltos SQL (Structured Query Language) a Bases de Datos están alcanzando números record. En ellos, los atacantes intentan conseguir información de índole personal y financiera almacenada en ellas’, según el suministrador de servicios gestionados de seguridad SecureWorks.
“Esta compañía, con sede en Atlanta, está detectando una media de 8.000 ataques por día a las Bases de Datos de sus clientes, frente a los entre 100 y 200 ataques diarios que de media que se produjeron durante los tres primeros meses de este año.”2
“Las estadísticas están extraídas del análisis de sus 1.300 clientes, entre los que se incluyen instituciones financieras y empresas utilities, la mayoría de las cuales están localizadas en Estados Unidos. Muchos de los hackers trabajan desde ordenadores ubicados en Rusia, China, Brasil, Hungría y Corea y utilizan un método conocido como ataque de inyección SQL (SQL injection attack). Comienzan utilizando el motor de búsqueda de Google para encontrar páginas Web con formularios que incluyan contenido activo, indicio de que transmiten información a una Base de Datos. Una cantidad importante de aplicaciones Web no validan la información en los formularios, permitiendo al atacante “inyectar” comandos SQL maliciosos que se ejecutan en la Base de Datos.
A continuación el hacker puede utilizar herramientas automatizadas para recopilar información de determinadas tablas y columnas dentro de la Base de Datos. El siguiente paso consiste en comprometer al servidor de Base de Datos mediante la introducción de más código, llegando potencialmente a provocar que el servidor descargue otros programas de Internet que darán al hacker un mayor control.”3
“Este tipo de ataques SQL se dirigen a objetivos muy específicos y no es probable que lleguen a atraer la atención general, como ocurre con los virus o gusanos capaces de auto-replicarse. Sin embargo, pueden producirse en una página Web con un simple formulario como un simulador/calculador de cuotas hipotecarias, según indica Jon Ramsey, CTO de Secureworks.”4
“Ataques de nueva generación: ‘ya no estamos en la era de los gusanos, ni volveremos a ella.
Estamos en la era de los ataques de día cero, y, muy especialmente, de aquellos dirigidos a instituciones muy específicas’, asegura Ramsey.”5
De hecho, las empresas están comenzando a prestar una mayor atención a asegurar sus Bases de Datos. “Visa International y MasterCard, por ejemplo, están redefiniendo sus reglas de seguridad para comercios que aceptan pagos por tarjeta de crédito para proteger mejor sus datos de ataques del tipo de los descritos. Los bancos reportaron ventas fraudulentas por valor de millones de dólares como resultado. Se cree que el hacker tuvo acceso a los números de 40 millones de tarjetas de crédito.”6
2 http://www.linkses.com/articulos/articulo.asp?id=411
3 Ibid
4 Ibid
5 Ibid
6 Ibid
CAPÍTULO II
“CONCEPTOS GENERALES SOBRE MONITOREO DE PROCESOS EN LÍNEA DE UNA BASE DE DATOS”
En este capítulo se detallan las ideas básicas que se involucran en la investigación además de las definiciones que son necesarias para establecer una visión general del tema; con el fin de proporcionar bases teóricas que permitan sustentar la información que se maneja a lo largo de la investigación logrando homologar el conocimiento.
CAPÍTULO II CONCEPTOS GENERALES SOBRE MONITOREO DE PROCESOS EN LÍNEA DE UNA BASE DE DATOS
2.1 Base de Datos
Después de consultar varias definiciones en distintos portales de internet se considera que el siguiente concepto es el más completo: “es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo."7
Al tomar en cuenta lo anterior se decide que algunas ventajas de las Bases de Datos podrían ser:
Que los datos son independientes: Debido a que a pesar de que se cambie el programa en donde se utilizan los mismos, no hay necesidad de modificarlos.
Relación entre los resultados: Ya que con la ayuda de la independencia propia de los datos, se evita que haya alguna flexibilidad que ponga en riesgo la credibilidad de los mismos.
“Cumplimiento de ciertas normas: La Base de Datos posee restricciones de seguridad tales como:
Accesos (Usuarios a datos).
Operaciones (Operaciones sobre datos).”8
Esta última ventaja se considera parte del documento ya que cumple con un segmento importante del objetivo que persigue nuestra tesis, que es: mitigar los riesgos a la Base de Datos.
2.1.1 Acceso a la Base de Datos
Después de revisar varias descripciones de este concepto se determina que el siguiente es el que más se asemeja a las necesidades de la investigación: “la secuencia conceptual de operaciones que ocurren para accesar cierta información que contiene una Base de Datos es la siguiente:
El usuario solicita cierta información contenida en la Base de Datos.
El DBMS intercepta este requerimiento y lo interpreta.
7 http://boards5.melodysoft.com/app?ID=GM005N&msg=4&DOC=21
8 http://fundamentosinformaticosjl.wordpress.com/category/base-de-datos/
DBMS realiza las operaciones necesarias para accesar y/o actualizar la información solicitada.”9
Ya que para poder tener acceso a una Base de Datos se deben de seguir ciertos pasos bien establecidos lógicamente, lo cual conlleva a un acceso que puede ser autorizado o no por el área correspondiente.
2.1.2 Tipos de accesos
Después de analizar los diversos conceptos en diferentes páginas de internet, se toman como referencia los siguientes:
Acceso autorizado: “es el resultado de una autentificación correcta, un ejemplo es el ingreso de usuario y contraseña:”10
Este tipo de acceso se toma como base para poder describir lo que sería un acceso autorizado desde el punto lógico de la máquina, ya que se comparan los datos ingresados, en donde el servidor verifica que el nombre del usuario se encuentre dentro de la Base de Datos, coincida con la contraseña asignada y así poder permitir modificar o consultar la información, esto varía según los privilegios asignados a dicho usuario.
Acceso no autorizado: “es producto de la explotación de una vulnerabilidad en el sistema del servidor o en alguna de sus aplicaciones o la utilización de algún otro método para subir privilegios como fuerza bruta, malware, sniffers o ingeniería social, entre otros.”11
Esta definición es de gran interés debido a que el mayor problema que se puede observar en el manejo de los datos de una base es la información corrupta que se encuentra en la misma, es decir, la modificación de los datos sin autorización propia del administrador e incluso el solo hecho de poder accesar a la misma sin ser el personal autorizado. Lo anterior debe ser monitoreado con el fin de asegurar que la información sea segura y verídica.
9http://www.geocities.com/siliconvalley/pines/7894/introduccion/dss.html
10 http://es.wikipedia.org/wiki/Acceso
11 Ibid
Usuario: Nombre_de_Usuario Contraseña: ********
2.1.3 Tipos de usuarios
Para describir los tipos de usuario es necesario definir que es un usuario, por lo que se dice que es: toda persona que tenga todo tipo de contacto con el sistema de Base de Datos desde que este se diseña, elabora, termina y se usa. Por lo anterior se ha decidido tomar como referencia la clasificación que maneja la Universidad Autónoma de Tampico, en su sección de documentos y de conceptos de una Base de Datos, la cual describe que: Los usuarios que ingresan a una Base de Datos pueden clasificarse como:
Programadores de aplicaciones: Los cuales se consideran que son los especialistas o profesionales que trabajan y se relacionan con el sistema a través de la programación que permite la manipulación de la información.
Usuarios sofisticados: Se entiende que son los encargados de modificar la información directamente de la Base de Datos, es decir, no crean el programa o sistema, sino solo lo modifican o consultan.
Usuarios especializados: Se concluye que son un poco mas conocedores que los sofisticados ya que no realizan modificaciones solo a la Base de Datos, sino que tienen más armas que los colocan fuera del área propia del procesamiento de los datos.
Usuarios ingenuos: Se define como los usuarios finales, los cuales no conocen nada de la estructura propia de la base, es decir, del diseño interno y por tanto que solo pueden modificar información que tenga permitida dicho usuario, a través de los privilegios otorgados al mismo.
En la figura 2.1 se muestra una forma gráfica de representar a los tipos de usuarios que acceden a una Base de Datos de acuerdo a lo mencionado anteriormente:
Figura 2.1 Tipificación de usuarios que accesan a las Bases de Datos.
Cada uno conoce cierta parte de la estructura propia de Base de Datos y por tanto el acceso al cual se le es permitido llegar. Todo con el fin de poder mantener a salvo la información que se guarda en dicha base.
2.1.4 Administrador de la Base de Datos
De los diversos conceptos que se consultan en las páginas web se considera el concepto más adecuado: “Es la persona encargada de definir y controlar las Bases de Datos, además proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la requieran. Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de Base de Datos, generalmente tiene experiencia en DBMS, diseño de Bases de Datos, Sistemas operativos, comunicación de datos, hardware y programación.”12
Se considera este concepto como básico para la comprensión del objetivo final de nuestra tesis, ya que el administrador es el encargado de asignar o restringir los permisos para la modificación de la información que se maneja en dicha Base de Datos y por tanto lograr el control y una mayor seguridad de la misma.
12 http://es.geocities.com/mescala79/basededatos.htm
DBMS
USUARIOS INGENUOS
USUARIOS SOFISTICADOS
ADMINISTRADOR DE LA BASE DE DATOS PROGRAMADOR DE
APLICACIONES
CODIGO
OBJETO PROCESADOR
DE CONSULTAS
LENGUAJE DE DEFINICION DE
DATOS PRECOMPILADOR
DE LENGUAJE
GESTOR DE ARCHIVOS
ALMACENAMIENTO DE DISCO
ARCHIVO DE
DATOS DICCIONARIO DE DATOS
2.1.5 Sistema Manejador de la Base de Datos
Después de revisar una gama de conceptos en diversas fuentes se elige el siguiente: “El sistema manejador de Bases de Datos, es la porción más importante del software de un sistema de Base de Datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica. El DBMS es conocido también como Gestor de Base de Datos”.13 En sí, un sistema manejador de Base de Datos es el corazón de la Base de Datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.
La figura 2.2 describe cómo funciona el Sistema Manejador de la Base de Datos, el cual interactúa entre las solicitudes del usuario y la Base de Datos. El DBMS manda al Sistema Operativo las peticiones del usuario para transferirlas a las unidades de memoria.
Figura 2.2 Representación del funcionamiento de un SMBD.
2.1.6 Diferentes manejadores de Bases de Datos
Como se menciono anteriormente, el DBMS es la principal unidad en cuanto a software que ayuda al optimo funcionamiento de los datos que se almacenan en la Base de Datos, por lo que se considera que es importante conocer los principales y por tanto un poco más de las características propias de los mismos a fin de poder establecer un conocimiento más amplio y general del software que se encarga de organizar lap información de una organización.
Entre los principales sistemas manejadores de Bases de Datos se mencionan los siguientes:
“Borland Paradox: es una Base de Datos relacional para entorno MS Windows, anteriormente disponible para MS-DOS y Linux, desarrollada actualmente por Corel e incluida en la suite ofimática WordPerfect Office. En los tiempos del MS-DOS, era una Base de Datos de bastante
13 http://www.mitecnologico.com/Main/IntroduccionAlSistemaManejadorDeBaseDeDatos PETICION DEL
USUARIO INDAGACIONES
DBMS S.O. B.D.
BASE DE DATOS FISICA
SISTEMAS DE MANEJO DE
ARCHIVOS
éxito, compitiendo con dBase, Clipper y FoxBase. Pasó al control de Borland después de la compra de Ansa Software en 1987. Aunque Borland la portó a Windows, su cuota de mercado es mucho menor que la de Microsoft Access, pero su lenguaje de programación (ObjectPAL) es Pascal, lo que le hace más potente que Access, que usa Visual Basic y esto limita bastante sus prestaciones si se compara con otras Bases de Datos que usan lenguajes más avanzados.
Con su Runtime se puede desarrollar una aplicación usando una sola licencia sin limitación de puestos.”14
“Filemaker: Es una aplicación multi-plataforma (Windows y Mac) de Base de Datos relacional de FileMaker Inc. (una subsidiaria de Apple Inc). FileMaker integra el motor de la Base de Datos con la interfaz, lo que permite a los usuarios modificar la Base de Datos al arrastrar elementos (campos, pestañas, botonoes) a los layouts/pantallas/formas que provee la interfaz.
FileMaker evolucionó de una aplicación de DOS, que se desarrolló primariamente para la Apple Macintosh. Desde 1992 está disponible para Microsoft Windows, y se puede utilizar como un ambiente heterogéneo. FileMaker está disponible para desktop, servidor y configuraciones web.”15
“IBM DB2 : Permite el manejo de objetos grandes (hasta 2 GB), la definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline. Además cuenta con un monitor gráfico de performance el cual posibilita observar el tiempo de ejecución de una sentencia SQL y corregir detalles para aumentar el rendimiento. Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplo si tengo un donde tengo almacenados los curriculums de varias personas, mediante este puedo realizar búsquedas documentos con los datos que me interesen sin tener que ver los CV uno por uno. Esta capacidad se utiliza en sistemas de búsqueda de personas por huellas digitales, en sistemas información geográfica.”16
“Interbase: Es un Sistema de Administración de Base de Datos Relacionales (RDBMS) desarrollada y comercializada por la compañía Borland Software Corporation y actualmente desarrollada por su filial CodeGear. Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi- generacional. InterBase corre en plataformas Linux, Microsoft Windows y Sistemas Operativos Solaris.”17
14 http://es.wikipedia.org/wiki/Paradox_(base_de_datos)
15 http://www.filemarker.com
16 http://harbinter-soluciones.com/pagina.php?seccion=ibmdb
17 http://www.economia.gob.mx/pics/p/p2758/EstdigALADI.pdf
“Microsoft SQL server: Es una solución de datos global, integrada y de extremo a extremo que habilita a los usuarios en toda su organización mediante una plataforma más segura, confiable y productiva para datos empresariales y aplicaciones de BI. SQL Server 2005 provee herramientas sólidas y conocidas a los profesionales de IT, así como también a trabajadores de la información, reduciendo la complejidad de la creación, despliegue, administración y uso de aplicaciones analíticas y de datos empresariales en plataformas que van desde los dispositivos móviles hasta los sistemas de datos empresariales. A través de un conjunto global de características, la interoperabilidad con sistemas existentes y la automatización de tareas rutinarias.”18
“Microsoft Access: Es un sistema de gestión de Base de Datos relacional creado y modificado por Microsoft para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete "básico". Una posibilidad adicional es la de crear ficheros con Bases de Datos que pueden ser consultados por otros programas. Dentro de un sistema de información entraría dentro de la categoría de Gestión y no en la de Ofimática como algunos creen. Es un software de gran difusión entre pequeñas empresas (PYMES) cuyas Bases de Datos no requieren de excesiva potencia, ya que se integra perfectamente con el resto de aplicaciones de Microsoft y permite crear pequeñas aplicaciones con unos pocos conocimientos del Programa. Microsoft Access permite crear formularios para insertar y modificar datos fácilmente. También tiene un entorno gráfico para ver las relaciones entra las diferentes tablas de la Base de Datos. Tiene un sistema de seguridad de cifrado bastante primitivo y puede ser la respuesta a proyectos de programación de pequeños y medianos tamaños.”19
“Microsoft FoxPro: Es un lenguaje de programación orientado a objetos y procedural, un sistema gestor de Bases de Datos o Database Management System (DBMS), y desde la versión 7.0, un sistema administrador de Bases de Datos relacionales, producido por Microsoft.
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de Bases de Datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.”20
“Oracle: Es un manejador de Base de Datos relacional extremadamente potente y flexible.
Provee una plataforma completa para desarrollar aplicaciones que utilicen el recurso dato.
Algunas de las herramientas que provee son las siguientes:
18 http://itzamna.bnct.ipn.mx:8080/dspace/bitstream/123456789/2897/1/C7.1369.pdf
19 http://www.emagister.com.mx/cursos_microsoft_office_access_basico-tpsmx-365314_3.htm
20 http://www.uaem.mx/posgrado/mcruz/cursos/miic/visualfoxpro3.ppt
• Un servidor de datos llamado ORACLE que permite almacenar y manipular datos de diferente índole (imágenes, sonidos, texto, caracteres, números, etc.).
• Un lenguaje procedimental que permite utilizar estructuras de control y variables para elaborar programas que accedan a la Base de Datos donde se pueda utilizar comandos SQL, conocido como PL/SQL (Procedural Language for SQL). Este lenguaje es reconocido y procesado también por SQL*PLUS. Una serie de bibliotecas para la programación utilizando otros lenguajes. Esta biblioteca conocida como OCI (Oracle Call Interfaces) fue la solución inicial al problema de desarrollar sistemas cliente/servidor. Hoy en día ORACLE provee una biblioteca propietaria de funciones para realizar comunicación con servidores de datos utilizando Java, la cual es conocida como JDBC (Java Database Connection).”21
“Sybase: Sybase Adaptive Server Anywhere (ASA) Es un sistema administrador de Bases de Datos relacionales (RDBMS) de alto rendimiento, que dentro de su funcionalidad incluye gestión de transacciones, un optimizador de consultas auto-afinable, integridad referencial, procedimientos almacenados Java y SQL, triggers, bloqueo a nivel de registro, programación de eventos y recuperación automática. ASA es desarrollado por iAnywhere, subsidiaria de Sybase.”22
“MySQL: Es un sistema de gestión de Base de Datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.”23
“PostgreSQL: Es un sistema de gestión de Base de Datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD. Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su
21 http://www.cs.buap.mx/~mmartin/notas/BD_CS2004_v3.pdf
22 http://sunsite.unam.mx/servidores/docs/bd/sybase/configuracion_para_NT.pdf
23 http://turing.izt.uam.mx/talleres/
desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).”24
Los conceptos descritos anteriormente son importantes ya que proporcionan una visión general y así permiten una mejor comprensión de cuál es la función que tiene en la organización, con lo que se logra una mejor interpretación de un Sistema Manejador de Base de Datos, cabe aclarar que cada uno de ellos tiene ventajas y desventajas al ser aplicados, además de que las organizaciones elijen el DBMS de acuerdo a sus necesidades.
Linux: “uno de los tantos derivados de Unix, es un sistema operativo de 32 bits de libre distribución, desarrollado originalmente por Linus Torvald el cual se abocó a la tarea de reemplazar a Minix, un clon de Unix, de pequeñas proporciones y finalidad académica desarrollado años antes por Andrew Tannenbaun.”25
Una parte importante es el sistema operativo en donde se desarrolla la aplicación del modelo. Por lo que se comenta brevemente que Linux atrajo una gran cantidad de desarrolladores desde un principio, porque se considera que el mayor atractivo que ha ayudado para que los desarrolladores se acerquen es el Movimiento para la Liberación de los Programas Fuente.
Cada una de las siguientes de características que a continuación se mencionan se encuentran en la página de Linux en España:
Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.
Es una característica que ayuda al buen funcionamiento del modelo, ya que este se encarga de monitorear las actividades y al mismo tiempo de mandar una alerta en caso de que la seguridad de los datos haya sido infringida, por lo que la multitarea en el sistema operativo ayuda al buen funcionamiento del modelo.
Multiusuario: Muchos usuarios usando la misma máquina al mismo tiempo.
24 http:// www.adaptivez.org.mx/GISAA/curso/tutorial_linux_final.pdf
25 http://www.linux-es.org/sobre_linux
Es la característica que ayuda a que sin importar cuantos usuarios se encuentren modificando o consultando los datos de la base, no haya concurrencia en la misma.
Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386 486. Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambien existen versiones para su utilización en otras plataformas, como amd64, Alpha, ARM, MIPS, PowerPC y SPARC.
Es importante que abarque una amplia gama de plataformas en donde trabaje y se pueda desarrollar el proceso para el que es instalada, por lo que nos ayuda a que sin importar que plataforma se use pueda funcionar y no dejar de aprovechar sus propias características.
Multiprocesador: Soporte para sistemas con más de un procesador está disponible para Intel, AMD y SPARC.
Para que se lleve a cabo de manera optima el proceso para el que es creado el modelo de monitoreo en línea de una Base de Datos, esta característica es muy importante ya que no es necesario contar con algún procesador en especifico, por lo que ayuda al buen funcionamiento del mismo.
Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.
La protección de la memoria en los procesos ayuda a que a pesar de que uno de ellos no funcione, no se interrumpan los procesos que se llevan a cabo, por lo que no hay perdida de datos y sobre todo hay un buen funcionamiento del modelo de monitoreo.
Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente.
Lo anterior ayuda a que no se usen recursos extras para llevar a cabo cada uno de los procesos que se realizan dentro del modelo de monitoreo, con lo que se logra el optimo funcionamiento del mismo y por ende que no afecte el resto de los procesos que se llevan a cabo dentro de la organización.
Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.
Esta característica con ayuda de la anterior mejora el funcionamiento del sistema en el que trabaja el modelo, es importante comentar que esta política permite ejecutar varios procesos al mismo tiempo, lo que ayuda a que no se interfiera con los procesos propios del área.
Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición en el sistema de archivos, con la posibilidad de añadir más áreas de intercambio sobre la marcha.
Esta característica nos permite al igual que las características anteriores a optimizar el tiempo de ejecución de cada uno de los procesos que son llevados a cabo en este sistema operativo.
La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas.
En cuestiones de memoria, Linux tiene una amplia funcionalidad ya que permite que la memoria libre pueda ser usada como cache.
Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo.
Esta característica nos ayuda a poder mantener un óptimo nivel de funcionamiento, es decir, que como bien se menciona, los programas que no son utilizados pueden ser depurados con el fin de que no utilicen memoria para llevarlos a cabo nuevamente.
2.2 Monitoreo
Este concepto se elije después de realizar la consulta de diversas páginas web: “la teoría de la planificación del desarrollo define el seguimiento o monitoreo como un ejercicio destinado a identificar de manera sistemática la calidad del desempeño de un sistema, subsistema o proceso a efecto de introducir los ajustes o cambios pertinentes y oportunos para el logro de sus resultados y efectos en el entorno.” 26
El concepto anterior nos parece el más completo ya que se busca poder describir la forma en que cada uno de nosotros define a la acción que puede generar como resultado un buen o mal manejo
26 http://www.oei.es/idie/mONITOREOEINDICADORES.pdf
de la información, es decir, que cada usuario pueda modificar o no la información que se tiene en la Base de Datos, por lo que se opina que esta acción debe de ser pertinente y oportuna.
2.2.1 Elementos del plan de monitoreo
Este concepto se elije después de realizar la consulta de diversas páginas web: “un plan de monitoreo está compuesto por una secuencia de acciones necesarias para la medición y el análisis del desempeño, dichas acciones incluyen el desarrollo de un plan o enunciado, un esquema de indicadores y un esquema de metas.”27
Dichos elementos se interpretan de la siguiente manera:
Plan o enunciado: Para nosotros es un segmento que nos permite mostrar la razón por la cual se desea modificar alguna sección en específico de la información.
Esquema de indicadores: Son a nuestro parecer la forma en que se mide la función de cada rutina que realiza el responsable del manejo de los datos, sobre los mismos.
Esquema de metas durante el período: Cada meta varia tomando en cuenta el periodo de tiempo, es decir, cada indicador varía según el tiempo para el que se establece la meta.
El proceso de monitoreo es cíclico, es decir, rota continuamente en torno a diferentes énfasis funcionales; desde la toma de datos hasta las intervenciones de énfasis o reorientación. Lo anterior se representa en la figura 2.3 donde se muestran los elementos del ciclo de monitoreo, y las relaciones que guardan entre sí:
Figura 2.3 Representación del ciclo de monitoreo
27 http://www.oei.es/idie/monitoreoeindicadores.pdf Atracción de la
información Colocación de nivel de ocupación
esperado
Implementación de las acciones
Retroalimentación
El modelo anterior se comprende como:
La atracción de la información: toda la información o datos que se obtienen, durante y después del registro de las herramientas utilizadas para el monitoreo.
La colocación de nivel de ocupación esperado: se relaciona con la función básica del modelo:
monitorear, es decir, con base en la meta establecida previa al monitoreo es como se espera que funcione el desempeño.
Decisión sobre las acciones correctivas o de retroalimentación: Son las decisiones que se toman como base en los resultados que se obtengan.
Implementación de acciones correctivas o de retroalimentación: Este punto es importante, ya que con base en el resultado obtenido es que se realizan las mejoras de la acción de monitorear con el fin de lograr nuestro objetivo de manera más optima.
2.2.2 Tipos de monitoreo
Monitoreo a usuarios: “en este tipo de monitoreo se registra el acceso de cada usuario a la Base de Datos mediante eventos de activación y desactivación, discriminando el usuario que lo está realizando y la forma de activación, si es por teclado o activación remota donde cada evento de acceso respalda la dirección del establecimiento y la hora, por lo que se actualizara el registro e historial de accesos de cada usuario.”28
A este tipo de monitoreo se le considera muy útil, ya que cualquier tipo de usuario, puede ocasionar daños en la Base de Datos.
Monitoreo a procesos y rendimiento: “este tipo de monitoreo permite la conexión en tiempo real con equipos de planta, monitorear los parámetros críticos del proceso, recibir alarmas de productividad, máxima demanda, incidencia de fallos e índices de confiabilidad de equipos y de esta manera mejorar continuamente el rendimiento de sus operaciones.”29
Se toma este concepto ya que no solo el usuario final puede causar daños a la información, sino que también puede haber problemas en los equipos mismos y por ende en las operaciones que son llevadas a cabo.
Monitoreo de aplicaciones: “actualmente una aplicación está compuesta por una serie de servicios de red que interactúan en una cadena de entrega de un proceso transaccional entre el cliente
28 http://www.dric.com.mx/opmanager/monitoreo-de-ms-sql.html
29 http://www.dric.com.mx/opmanager/monitoreo-de-ms-sql.html
(usuario o aplicación remota) y el aplicativo por lo que, bajo ciertas circunstancias, puede dificultarse la supervisión proactiva de las mismas o el rastreo del origen del incumplimiento de niveles de servicio comprometidos con los clientes. Es necesario montar un ambiente de supervisión que permita determinar tiempos de respuesta de una petición de servicio y ayuden a determinar la existencia de situaciones de carga extrema o saturación de los servicios.”30
Este tipo de monitoreo es importante también, ya que el mal manejo de la información puede ser causada no solo por el equipo de cómputo ni el usuario final, sino por ambos, es decir, este ultimo hace uso del equipo a través de una aplicación para poder manejar los datos, no solo de manera correcta o permitida sino también de forma no autorizada.
Monitoreo de servidor: “uno de los ámbitos más desafiantes en seguridad informática es la detección en tiempo real de ataques a los activos de información. Esta es una lucha permanente entre el ingenio del atacante que no quiere ser detectado, y los profesionales de la seguridad que recolectan y relacionan información para determinar qué podría ser un ataque dentro de tráficos de cientos de millones de bits por segundo. La continua aparición de nuevas vulnerabilidades, y el crecimiento en diversidad de las redes, no hacen sino aumentar el problema en complejidad.”31 Se está totalmente de acuerdo con este concepto, ya que se considera que el mayor daño a una Base de Datos se realiza en tiempo real, por lo que es de vital importancia poner más atención al monitoreo del servidor, claro, sin restarle importancia a la parte de los elementos que ayudan al buen funcionamiento de la Base de Datos.
Monitoreo de los servicios: “la Base de Datos depende de determinados servicios críticos para realizar sus operaciones. El primer paso para garantizar la disponibilidad es vigilar estos servicios críticos dependiendo el manejador de Base de Datos que se esté ejecutando.”32
Se considera importante indicar este concepto; ya que va ligado a la disponibilidad que se tiene en la organización, este tipo de monitoreo ayuda a conocer cuál es la calidad de servicio que tiene la organización.
2.2.3 Monitoreo a Base de Datos
De acuerdo a la investigación realizada por los integrantes del equipo se determina que el concepto que mejor se adapta es el siguiente: “una Base de Datos es comúnmente utilizada por las
30 http://www.dric.com.mx/opmanager/monitoreo-de-ms-sql.html
31 Ibid
32 Ibid
empresas, es absolutamente necesario monitorear todo el tiempo para asegurarse que las aplicaciones críticas de su negocio se desempeñan eficazmente.”33
Lo anterior con el fin de poder considerar totalmente segura y verídica cada parte de información o datos que se está tomando de esa Base de Datos, ya sea para un reporte o simplemente una consulta.
Beneficios del Monitoreo
* Tener el menor tiempo de inactividad de la Base de Datos.
* Conocer el tiempo exacto del mal uso de los datos o en su defecto de alguna falla.
* Estar al tanto de cualquier falla que afecte el rendimiento de la Base de Datos, con el fin de poder corregirla y no afectar el desempeño de los usuarios finales.
* Contar con un informe que muestre el funcionamiento de la Base de Datos: modificaciones, transacciones, los datos más utilizados o no.
2.3 Proceso de transacciones en línea
De acuerdo a la investigación realizada por el equipo de trabajo se determina que: “las aplicaciones de Base de Datos de proceso de transacciones en línea son perfectas para administrar datos que cambian con frecuencia. Estas aplicaciones cuentan normalmente con muchos usuarios que realizan transacciones al mismo tiempo que cambian datos en tiempo real. Aunque las solicitudes de datos realizadas individualmente por los usuarios tienden a hacer referencia a pocos registros, muchas de estas peticiones se producen al mismo tiempo.34 De acuerdo con la definición anterior, se dice que los datos de una Base que es utilizada con mayor frecuencia por diversos usuarios finales se encuentra expuesta a un mayor riesgo, según nuestra opinión, de poder ser alterada de alguna forma, claro, sin previa autorización con diversos fines. El monitoreo que se desea llevar a cabo a una Base de Datos, se planea que sea en línea, ya que es el momento en que se considera que pueden ocurrir diferentes tipos de acciones no autorizadas, llámese modificación o consulta de datos.
“Transacciones cortas para reducir los bloqueos de larga duración y mejorar la simultaneidad:
Evite la interacción con los usuarios en las transacciones. Siempre que sea posible, ejecute un solo procedimiento almacenado para procesar toda la transacción. El orden en el que haga referencia a las tablas en las transacciones puede afectar a la simultaneidad. Coloque
33 http://www.dric.com.mx/opmanager/monitoreo-de-ms-sql.html
34 http://msdn.microsoft.com/es-es/library/ms187669.aspx
referencias a las tablas de acceso más frecuente al final de la transacción para reducir al mínimo la duración de los bloqueos.
Copia de seguridad en línea: Los sistemas OLTP se suelen caracterizar por la ejecución continua de operaciones en las que el tiempo de inactividad es mínimo. Es decir, funcionan 24 horas al día los 7 días de la semana. Aunque SQL Server Database Engine (Motor de Base de Datos de SQL Server) puede realizar una copia de seguridad de una Base de Datos mientras se utiliza, es recomendable planear el proceso de copia de seguridad de manera que se realice en los momentos de menor actividad para que no se vean afectadas las operaciones de los usuarios.
Alto grado de normalización de la Base de Datos: Reduzca la información redundante con el fin de acelerar las actualizaciones y, por lo tanto, mejorar la simultaneidad. La reducción de los datos también agiliza la realización de copias de seguridad, ya que es menor la cantidad de datos que es necesario copiar.
Pocos (o ningún) dato histórico o agregado: Los datos a los que raramente se hace referencia pueden archivarse en Bases de Datos independientes o bien desplazarse desde las tablas que se actualizan a menudo a las que sólo contienen datos históricos. De este modo, el tamaño de las tablas se mantiene reducido, con lo que mejoran los tiempos de copia de seguridad y el rendimiento de las consultas.
Dosificar los índices: Deben actualizarse cada vez que se agrega o se modifica una fila. Para evitar una indización excesiva de tablas con un gran número de actualizaciones, limite el alcance de los índices.
Configuración de hardware: óptima para controlar el gran número de usuarios con acceso simultáneo y ofrecer la rapidez en los tiempos de respuesta que necesita un sistema OLTP.”35
Cada concepto tomado de la fuente anterior se ha considerado parte de la investigación por que se cree que son pasos importantes para la mejor seguridad de una Base de Datos, es decir, con cada uno de los elementos previamente mencionados, se espera poder mejorar la seguridad de la Base de Datos y por tanto que el monitoreo a la misma sea más limpio y que cumpla mejor con su objetivo: seguridad.
35 http://msdn.microsoft.com/es-es/library/ms187669.aspx
2.3.1 Tipos de transacciones en línea
De acuerdo a la investigación realizada por los integrantes del equipo se determina que la mejor descripción es la siguiente: “Las transacciones pueden pertenecer a varias clases. Aun cuando los problemas fundamentales son los mismos para las diferentes clases, los algoritmos y técnicas que se usan para tratarlas pueden ser considerablemente diferentes. Las transacciones pueden ser agrupadas a lo largo de las siguientes dimensiones:
1. Áreas de aplicación: en primer lugar, las transacciones se pueden ejecutar en aplicaciones no distribuidas. Las transacciones que operan en datos distribuidos se les conoce como transacciones distribuidas. Por otro lado, dado que los resultados de una transacción que realiza un commit son durables, la única forma de deshacer los efectos de una transacción con commit es mediante otra transacción. A este tipo de transacciones se les conoce como transacciones compensatorias. Finalmente, en ambientes heterogéneos se presentan transacciones heterogéneas sobre los datos.
2. Tiempo de duración: tomando en cuenta el tiempo que transcurre desde que se inicia una transacción hasta que se realiza un commit o se aborta, las transacciones pueden ser de tipo batch o en línea. Estas pueden dividirse como transacciones de corta y larga vida. Las transacciones en línea se caracterizan por tiempos de respuesta muy cortos y por accesar solo a una porción relativamente pequeña de la Base de Datos. Por otro lado, las transacciones de tipo batch toman tiempos relativamente largos y se accesa grandes porciones de la Base de Datos.
3. Estructura: considerando la estructura que puede tener una transacción se examinan dos aspectos: si una transacción puede contener a su vez subtransacciones o el orden de las acciones de lectura y escritura dentro de una transacción.”36
Estos tipos de transacciones pueden variar según nuestro criterio, por lo que se toman en cuenta los tres tipos: las de área de aplicación, el tiempo de duración y la de estructura. Se toma en cuenta cada una de ellas, ya que para poder monitorear un proceso es necesario saber que tipos de transacciones hay y cómo funcionan, así se logra poner mayor atención a cada una y por tanto dar mayor seguridad a la información.
36 http://www.mipagina.cantv.net/continuacion/grupo2.htm#_Toc532184458
2.3.2 Transacciones en línea en una Base de Datos
Este concepto se elije después de realizar la consulta de diversas páginas web: “Una transacción es un conjunto de acciones que hacen transformaciones consistentes de los estados de un sistema (Base de Datos) preservando la consistencia del sistema, son llevadas a cabo por un usuario o un programa de aplicación. Una transacción lleva a la Base de Datos de un estado consistente a un punto inconsistente en el cual se ejecuta la transacción y la lleva nuevamente a un estado consistente.”37 Esto se muestra gráficamente en la figura 2.4 donde se describe la ejecución de una transacción con base en la interpretación, se plasma de la siguiente manera:
Figura 2.4 Pasos de la ejecución de una transacción sobre una BD.
Con esta figura se describe lo siguiente: el Sistema Manejador de Base de Datos mantiene la seguridad y confiabilidad de los datos, esto de concluye al observar el inicio y fin de la transacción, en donde el DBMS garantiza el cambio permanente llevado a cabo sobre los datos. En caso de que la transacción que se realice no llegue a su fin, esta transacción no será guardada y por tanto no modificará en dato en cuestión.
Para poder comprobar que el sistema es capaz de llevar a cabo diferentes tipos de transacciones, se debe tomar en cuenta que la transacción como tal debe poseer ciertas características como:
El tipo de datos que se utiliza.
La función propia de la transacción (entiéndase como el tipo de transacción, previamente mencionada).
El resultado de la transacción.
Los tipos de usuarios que pueden realizar la transacción.
El tiempo o frecuencia con la que se lleva a cabo dicha transacción.
37 http://www.cs.cinvestav.mx/SC/prof_personal/adiaz/Disdb/Cap_5.html BASE DE DATOS
CONSISTENTE
INICIO DE UNA TRANSACCION
BASE DE DATOS INCONSISTENTE POR
TRANSACCION BASE DE DATOS
CONSISTENTE
EJECUCION DE UNA TRANSACCION
FIN DE UNA TRANSACCION
CAPÍTULO III
“PRINCIPALES RIESGOS EN LAS BASES DE DATOS”
A lo largo de este capítulo se engloban los principales riesgos que cohabitan continuamente en las Bases de Datos. Además de una breve descripción de éstos y la afectación que provoca sobre las Bases de Datos.