Вы находитесь на странице: 1из 13

UNIDAD 5

JORGE ROLANDO CABRERA PECH

ADMINISTRACIN DE BASE DE DATOS


Unidad 5 SEGURIDAD

Alumno:

JORGE ROLANDO CABRERA PECH

Grupo: 6A

ING. SISTEMAS COMPUTACIONALES

Ing. Paola del Castillo Tello

UNIDAD 5 Seguridad en base de datos

JORGE ROLANDO CABRERA PECH

Considerando que las bases de datos pueden tener fallos, estos deben tener medidas de seguridad para poder trabajar de la mejor manera, para esto la misma base de datos debe tener herramientas que nos sirvan para estos casos y uno de estos es el respaldo y recuperacin de datos, cada base de datos tiene su respectiva configuracin y caractersticas operativas, hay que considerar que los servicios de respaldo y recuperacin pueden ser muy limitadas o extensas, todo es de acuerdo a nuestras necesidades, ya sea personal, para un negocio o empresa. El respaldo y recuperacin consiste en evaluar la situacin de la base de datos y propone un esquema de respaldo, que garantice la mayor disponibilidad y menor perdida de informacin ante un desastre, todo esto siempre segn las posibilidades de cada empresa. La recuperacin Un concepto simple que podemos usar es regresar la Base de Datos a un estado consistente esto es que si se da algn error en los datos, debe existir un el programa, hardware donde el Administrador pueda regresar la base a un momento tiempo y estado en que se encontraba en estado funcional antes de que se produjera el dao o la falla. El respaldo de la informacin puede incluirse en la recuperacin, ya que sin este, la recuperacin seria ms complicada o en cierto momento simplemente imposible, es por esto que el respaldo minimiza el riesgo de daos o prdidas; se deben hacer diversas copias en medios de almacenamiento, como removibles y almacenarlos fuera del rea donde se produjo el problema. El proceso es la restauracin consiste en informacin y estampas de tiempo junto con bitcoras, sin embargo es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitcoras, la diferencia reside en que el Administrador de la base de datos debe sacar de lnea la base de datos en caso de llevar a cabo una recuperacin. Si el administrador de la base de datos intenta implementar un plan de recuperacin de bases de datos sin pruebas de recuperacin, no existe la certeza de que los respaldos sean del todo vlidos. El respaldo El respaldo es copiar los datos a cierta unidad, donde estarn disponibles para ser usados cuando sea necesario como por ejemplo para restaurar el sistema justo antes que se dae o en el momento deseado. Es por ello que es muy necesario hacer respaldos constantes y de manera adecuada, ya que para hacerlo hay que seguir ciertos parmetros que nos pueden ayudar a no hacer respaldos de informacin innecesarios y redundantes, o caso contrario el perder tiempo por hacer respaldos en momentos inadecuados. Tambin se pueden hacer malos respaldos, un ejemplo de esto es que estos, estn incompletos, y punto muy importante es que solo el personal autorizado debe hacerlo como el administrador de la base de datos certificado, si es que se cuenta con l, por motivo de evitar los puntos recin mencionados y por cuestiones de confiabilidad que va de la mano con la seguridad, pero esto es dependiendo a la configuracin de la empresa o lugar donde se est usando esta base de datos.

UNIDAD 5 Espejeo (mirroring)

JORGE ROLANDO CABRERA PECH

Consiste en que se mantenga la informacin desde dos discos duros conectados por ejemplo, y este segundo que ser el espejo o secundario se actualizara al mismo tiempo que el principal, es decir que si se ingresa, elimina o modifica algn dato, esta informacin se guardara en el disco duro principal y en este segundo que como se mencion previamente es un espejo, para poder hacer esto se debe tener una configuracin previa. Es una configuracin donde dos o tres servidores de dase de datos, ejecutndose en equipos independientes, cooperan para mantener copias de la base de datos y archivo de registro de transacciones. Tanto el servidor primario como el servidor espejo mantienen una copia de la base de datos y el registro de transacciones, mientras que el tercer servidor, llamado el servidor rbitro, es usado cuando es necesario determinar cul de los otros dos servidores puede tomar la propiedad de la base de datos. El rbitro no mantiene una copia de la base de datos. La configuracin de los tres servidores de base de datos (el primario, el espejo y el rbitro) es llamado Sistema Espejo y el servidor primario y espejo juntos son llamados Servidores Operacionales o Compaeros.

UNIDAD 5

JORGE ROLANDO CABRERA PECH

El beneficio de realizar el espejeo es que cuando la informacin se dae en el servidor principal y la informacin que esta tenia, se pueda recuperar con base al segundo servidor, el que llamamos espejo o secundario, esta segunda informacin es una copia exacta a la principal y por lo tanto la informacin permanecer integra a la que se ha daado previamente. En resumen se puede decir que los beneficios serian: Incrementar la disponibilidad de una base de datos Aumentar la proteccin de los datos Mejora la disponibilidad de la base de datos Tener la certeza de la recuperacin de informacin y no preocuparse tanto por daos de la informacin

Entre otros. Creacin de un espejeo Para la configuracin de un mirroring o espejeo necesitaremos 3 equipos. Uno que actuara como el servidor principal que guardara la base de datos principal Uno que actuara como nuestro espejo, que es quien tendr la copia de la base de datos principal Y el ltimo que ser nuestro testigo o rbitro que se encarga de monitorear el estado del servidor principal y del servidor espejo, este ltimo es necesario solamente si deseamos tener un failover (tolerancia a fallos) automtico.

Hay que tener en cuenta que este ltimo no es meramente necesario, ya que solo nos servir si no queremos la interaccin humana, por decirlo de algn modo, pero si queremos que sea automtico, entonces debe considerarse importante ya que la funcin de esta es que cuando la base principal caiga esta secundaria o espejo se monte inmediatamente. Hacer el espejo son dos pasos principales, primero se debe copiar y restaurar la base de datos de la que queremos hacer el espejo desde una instancia a la otra y segundo es configurar el asistente de configuracin del espejo. Usaremos un ejemplo usando SQL server Lo primero que tenemos que hacer es hacer un reflejo de nuestra base de datos en otra instancia En este ejemplo esta base se va a llamar prueba. Debemos hacer copia de seguridad de la base de datos y del log (Ojo, la base de datos debe estar en modo Full) con las siguientes sentencias:

UNIDAD 5 Backup Database Prueba Backup Log Prueba to Disk=D:\logprueba.bak; to

JORGE ROLANDO CABRERA PECH Disk=D:\:prueba.bak;

Una vez hecha la copia de seguridad, copiamos los ficheros y los restauramos otra instancia donde queremos hacer el reflejo con las siguientes sentencias: Restore Database Prueba from Disk=D:\prueba.bak Restore Log Prueba from Disk=D:\logprueba.bak with NORECOVERY; with NORECOVERY;

Fijmonos que tanto la restauracin del fichero de datos como el del log, son con el parmetro NORECOVERY. Esto es muy importante porque estamos diciendo al SQL Server que restauramos la base de datos pero que no la ponga en marcha y que la deje lista para poder aplicar ms logs, osea los logs que vendrn de la otra base de datos cuando comience el mirror.

Una vez hecha la restauracin de la base de datos que queremos reflejar en la otra instancia, ya podemos configurar el espejo. Para ello, pulsamos en la primera instancia con el botn derecho del ratn sobre la base de datos y seleccionamos propiedades en el cuadro de dialogo de las propiedades de la base de datos seleccionamos el espejo.

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Vemos que aparece un cuadro de dialogo con las opciones de configuracin de espejo para comenzar a configurarlo, seleccionamos el botn Configure security.

Vemos que aparece el asistente de configuracin del espejo. Lo primero que nos pregunta es si queremos utilizar un servidor testigo (witness server). Indicamos que s. Despus debemos indicarle que queremos configurar las 3 instancias para poder hacer el failover automticamente.

Seguidamente indicamos la instancia que contendr la base de datos en s. Fijmonos que por defecto, el asistente abre el puerto 5022 para comunicarse con el resto de instancias. Dicho puerto y el resto que se configura en el asistente, deben estar abiertos en los firewalls de Windows. Fijmonos tambin que hemos quitado la opcin de cifrado, ya que en esta configuracin, no tenemos habilitado el cifrado de la base de datos.

Seguidamente configuramos la segunda instancia que ser la que contendr el reflejo de la base de datos. Fijmonos que por defecto configura el puerto 5023

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Por ltimo nos queda configurar el witness server que estar en una tercera instancia. Fijmonos que por defecto configura el puerto 5024.

Y por ltimo paso en el asistente es configurar la seguridad. Aqu debemos indicar una cuenta con permisos para acceder al SQL Server. Por ejemplo, podemos indicar la cuenta con la que arrancan los servicios de las instancias.

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Para acabar con el asistente pulsamos en FINISH. El asistente se podr configurar los puertos (Endpoints) en cada instancia y acabar.

Restricciones Solamente se pueden reflejar las bases de datos de usuario. No se puede reflejar las bases de datos master, msdb, tempdb o model. No se puede cambiar el nombre de una base de datos reflejada durante una sesin de creacin de reflejo de la base de datos. La creacin de reflejo de la base de datos no es compatible con Filestream. No se puede crear un grupo de archivos FILESTREAM en el servidor principal. La creacin de reflejo de la base de datos no puede configurarse para una base de datos que contiene grupos de archivos FILESTREAM. En un sistema de 32 bits, la creacin de reflejo de la base de datos puede admitir un mximo de 10 bases de datos por instancia de servidor debido a los nmeros de subproceso de trabajo consumidos por cada sesin de creacin de reflejo de la base de datos. La creacin de reflejo de la base de datos no est admitida con transacciones entre bases de datos o transacciones distribuidas.

UNIDAD 5 Replica

JORGE ROLANDO CABRERA PECH

Para empezar hay que decir para que nos sirve una rplica, y esta sirve nicamente en un duplicado de las bases de datos del servidor en el disco duro de su computadora, es decir, en el servidor local. Estas bases contienen un identificador que sirve para que se actualicen. Un beneficio claro es que es muy til cuando se trabaja en la base de datos y esta no est conectada a la red de donde se encuentra el servidor en que se encuentre, esta rplica se realiza una sola vez, que es la primera, Ya despus es una replicacin lo que hace de los documentos cada vez que se considere necesario. Para poder trabajar desde distintos equipos en una base de datos es necesario crear una o varias rplicas de la base de datos que estemos usando que despus, debern ser sincronizadas. Cada rplica es miembro de un conjunto de rplicas que se pueden sincronizar con otras rplicas del mismo grupo, es decir, los cambios realizados en una rplica se aplican a las otras rplicas y al diseo principal. Mtodos de respaldo Existen diferentes tipos de respaldo Respaldos completos Respaldos incrementales Respaldos diferenciales

Respaldos completos.Un respaldo completo consta de respaldar la informacin tal cual, es decir, este mtodo no verifica que se modific y que no, por lo tanto copia todo tal cual. Como no existe una verificacin del ltimo respaldo podemos decir que es una copia a ciegas. Un ejemplo es que si tenemos 50GB de informacin y solo se han modificado 3GB en el momento de hacer mi respaldo completo se copiaran de nuevo los 50GB. Esto puede ser innecesario y es una prdida de tiempo, pero es cmo funciona el respaldo completo.

Respaldos incrementales.Este tipo de respaldo funciona de tal manera que primero revisan para ver si la fecha de modificacin de un archivo es ms reciente que la fecha de su ltimo respaldo, esto es para verificar si ha sido modificado desde su ltimo respaldo, de lo contrario significara que ha sido modificado y se debera copiar. Este tipo de respaldo es muy buena por motivo de que podemos hacer un respaldo general cada mes por decir algo y los respaldos incrementales semanalmente o hasta diario, esto ya depender del ABD por las necesidades de la empresa.

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Respaldos diferenciales.Los respaldos diferenciales son similares a los respaldos incrementales en que ambos solamente copian archivos que han sido modificados. Sin embargo, los respaldos diferenciales son acumulativos es decir, con un respaldo diferencial, una vez que un archivo ha sido modificado continua siendo incluido en todos los respaldos diferenciales subsecuentes (hasta el prximo respaldo completo). Esto significa que cada respaldo diferencial contiene todos los archivos modificados desde el ltimo respaldo completo, haciendo posible realizar una restauracin completa solamente con el ltimo respaldo completo y el ltimo respaldo diferencial

Respaldo y Restauracin MySQL de Manera Local. Para el respaldo de una base de datos usaremos un ejemplo de MySQL se podr usar el comando mysqldump Comando: mysqldump -u "usuario" -p"contrasea" nombre-de-la-base-de-datos > nombre-delrespaldo.sql Las comillas deben omitirse tanto en el usuario como en la contrasea. Para restaurar un respaldo de una base de datos MySQL usamos el siguiente comando Comando: mysql -u "usuario" -p"contrasea" nombre-de-la-base-de-datos < nombre-delrespaldo.sql

Respaldo y Restauracin MySQL de Manera Remota. Para Respaldar o Restaurar una Base de datos remota usamos los mismos comandos que de manera local, con la nica diferencia de agregar la opcin "-h" con la cual especificaremos el nombre o direccin del host en donde se encuentra nuestra base. Para hacer una copia de respaldo de una base de datos se recomienda crear un dump.

Para hacer un dump de todas las bases de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** -A /Ruta/Hacia/archivo_dump.SQL

Para hacer un dump de slo algunas bases de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** db_1 db_2 db_n> /Ruta/Hacia/archivo_dump.SQL

Para hacer un dump de todas las tablas de una base de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** db > /Ruta/Hacia/archivo_dump.SQL

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Para hacer un dump de slo ciertas tablas de una base de datos es necesario ejecutar el comando: --password=****** db --tablas tab1 tab2 >

mysqldump --user=****** /Ruta/Hacia/archivo_dump.SQL

Para cada uno de estos comandos es necesario indicar un usuario (user) y la contrasea (password) con derechos de administrador en la base de datos Para restaurar usamos:
Para restaurar un dump tan slo hay que ejecutar el comando:

mysql --user=****** --password=****** db_nom < /Ruta/Hacia/archivo_dump.SQL

Migracin de la base de datos Como sabemos, la migracin de base de datos consiste en convertir los datos desde un sistema de base de datos a otro. Cuando tenemos nuestra informacin en cierto formato pero de pronto necesitamos un SGBD y necesitamos llevarlo o traspasarlo a una base de datos distinta, entonces aplicamos la migracin de base de datos. Esto trata de cambiar algunos tipos de datos, crea tablas o modifica las existentes por decir algo. Tambin reescribe sentencias SQL o incluso procedimientos de lgica de negocio. Actualmente prcticamente todos o la mayora de SGBD incluyen herramientas de ayuda a la migracin ms o menos fiable. Algunos de los pasos para llevar a cabo una Migracin de datos son: Limpieza de las tablas de la Base de Datos. Consolidacin de las tablas de la Base de Datos. Mapeado de las tablas de Origen y Destino. Definicin de Formato de Origen y Destino. Ruta de Saltos de Formato en la Migracin. Definicin del Set de Caracteres de Origen y Destino. Comprobacin de los delimitadores de campos. Migracin de Prueba. Evaluacin y Comprobacin de Errores. Depuracin Final.

Formato de migracin ms comunes son el formato .CSV (Comma-separated values) este es considerado uno de los formatos de exportacin ms sencillos que se hayan diseado nunca. Formato .TAB, toma su nombre de tabulacin, es un formato de texto, pero difiere en la forma de delimitar los campos de datos ya que utilizan las tabulaciones o espacios para separar cada columna de datos.

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Formato .XML, considerado uno de los mejores formatos para la exportacin de la informacin de un catlogo bibliogrfico. Formato ISO 2709 Unimarc se considera un formato de exportacin fundamental, necesario en cualquier sistema de gestin de bibliotecas. Cada registro en formato ISO2709 se caracteriza por tener cuatro apartados principales a saber.

Monitoreo y auditoria de BD Es el proceso que permite asegurar, medir, demostrar y registrar los accesos a la informacin almacenada, verifica quien accede a los datos, cuando se accedi, desde que tipo de dispositivo, desde que ubicacin de la red en dado caso de acceder, cual fue la sentencia SQL ejecutada, cual fue el efecto del acceso a la base de datos etc., todo esto se hace en la auditoria es uno de los procesos fundamentales por cuestiones de seguridad. Sus objetivos claros son que si alguien ha hecho algn uso indebido en la base de datos nosotros podemos saber quin fue y que hizo, en dado caso de algn mal manejo dentro, igual nos puede servir para apoyar nuestro cumplimiento regulatorio, evita acciones criminales y si alguien ya las hizo como mencionamos podremos ayudarnos en saber mejor quien fue, tambin evita a la empresa multas por incumplimiento. Esta auditoria como podemos ver es muy importante por lo antes mencionado, sin embargo toda la informacin financiera de la organizacin reside en bases de datos y deben existir controles relacionados, se debe poder demostrar la integridad de la informacin almacenada en la base de datos, esto es la seguridad, los datos que tenemos en la base de datos es informacin importante por lo que significa que tiene un costo importante y por lo tanto representan un negocio, por lo que deben estar bien protegidas. En general debe monitorearse a fin de saber quin o qu sucedi con ms certeza, qu cundo y cmo. Hay que considerar que la auditoria debe tener cuidados al hacerse, o bien restricciones si se quisiera ser ms estrictos, por ejemplo, no se debe comprometer el desempeo de las bases de datos, proveerle valor a la operacin del negocio, hablando de la informacin almacenada, hay que estandarizar los reportes y reglas de auditoria. Se tiene que verificar la cantidad de espacio que tengamos en disco duro, no es mucho problema cuando no es tanto, es decir cuando se tenga un server o hasta dos, sin embargo cuando se tenga una cantidad considerable automatizarlo para que se haga sera mucho mejor. Dentro de SQL Server hay un procedimiento no documentado que nos puede ayudar a cumplir esto, el procedimiento es XP_FIXEDDRIVES, no lleva parmetros ni nada y nos regresa todos los discos a los que tiene acceso SQL server y su espacio disponible en Megabytes. Nosotros podremos activar o desactivar la auditoria de base de datos, hablemos de Oracle y veamos que audit_trail activa la auditoria y para desactivarla es un notaudit, el seguimiento de la auditoria es dba_audit_trail. Se pondrn varias sentencias sobre el tema de activacin de la auditoria para los usuarios,

UNIDAD 5

JORGE ROLANDO CABRERA PECH

Aqu la auditoria no estara activa Sql>select name, values from v$parameter where name like audit_trail; audit_trail NONE Ahora se procede a activarse la auditoria SQL> alter system set audit_trail = DB scope = spfile; Se reinicia la base de datos para que posteriormente podamos verificar que se haya activado la auditoria. SQL> select name, value from v$parameter where name like audit_trail; audit_trail DB

Se active la auditoria para ver la conexion y desconexion de los usuarios a al base de datos con la sentencia SQL> audit connect; Existen muchas ms sentencias cuando nos conectamos o intentamos conectarnos, ya que despus podemos hacer algunos chequeos como cuando no se conecta y hay un fallo, otra puede ser cuando visualizamos las tablas de auditoria para comprobar que se insertan datos cuando intentamos conectarnos sin lograrlo etc. Mostraremos este ltimo que se mencion de la visualizacin de las tablas de auditoria para ello nos conectamos con varios usuarios a la base de datos, usaremos un ejemplo donde vamos a realizar varias pruebas y mostrar donde se puede comprobar que los usuarios se han conectado a la base de datos, primero nos conectamos con varios usuarios a la base de datos (en nuestro caso con system y el user que ya este creado) SQL> connect user/user; SQL> connect system/system; Una vez conectados a la bse de datos visualizamos la table dba_audit_trail para ver qu datos contiene. SQL> select username, action_name, priv_used, returncode from dba_audit_trail; "SYSTEM" "LOGON" 1017 "SYSTEM" "LOGON" 1017 "USER" "LOGON" 1017 "USER" "LOGON" "CREATE SESSION" 0 "USER" "LOGON" 1017 "USER "LOGON" 1017 Aqu vemos que en esta tabla se registran los intentos de conexin de los usuarios, por lo tanto podemos saber quin se ha conectado a la base de datos.

Вам также может понравиться