Colaborativo 1 Grupo 9
Short Description
Descripción: Seguridad en Bases de Datos (Posgrado) Colaborativo 1...
Description
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
TRABAJO COLABORATIVO 1
Elizabeth Gama Martínez Cód. Jaime Prada Gómez Cód. 91212877 Luz Amanda Medina Cód. 1069262796 Francisco Javier Hilarion Novoa. Cód. Yon Iván Márquez Buitrago Cód. 82391374
Grupo 233009-9
Director MANUEL ANTONIO SIERRA RODRIGUEZ
Universidad Nacional Abierta y a Distancia UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado) Septiembre 2016.
1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
TABLA DE CONTENIDO
INTRODUCCIÓN 3 CAPÍTULO 1: ACTIVIDADES A DESARROLLAR 4 Planteamiento del Problema 4 Actividad 1 4 Actividad 2 7 Actividad 3 9 Actividad 4 14 Actividad 5 17 Actividad 6 18 Actividad 7 24 CONCLUSIONES. 29 BIBLIOGRAFIA 30
2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
INTRODUCCIÓN Comprender los conceptos Básicos en Seguridad en Bases de Datos es muy importante en nuestra profesión, por ello en este trabajo se ahonda en esta temática que en muchas ocasiones las empresas dejen pasar sin dar importancia a lo significativa que es la seguridad de la información. La seguridad en las bases de datos es un mecanismo fundamental para toda empresa, las bases de datos almacenan información extremadamente valiosa y confidencial. Una cantidad creciente de regulaciones de conformidad obligan a las organizaciones a hacer auditorías del acceso a dicha información restringida y a protegerla de los ataques y del mal uso. Dado que los datos pueden estar en diferentes formatos, uno de esos son las bases de datos. Estas contienen la información de los negocios de las empresas y juegan un papel muy importante en la producción de las mismas, es necesario revisar la seguridad en los sistemas de información, en este caso las bases de datos, conocer los mecanismos de cifrado, controles de seguridad implementados en las últimas versiones Cuando hablamos de información de datos confidenciales o simplemente cualquier tipo de datos decimos que La gran mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y atacar una bases de datos es uno de los objetivos favoritos para los criminales.
3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
CAPÍTULO 1: ACTIVIDADES A DESARROLLAR Planteamiento del Problema En los escenarios productivos se realizan procesos operativos y de negocio, teniendo como resultado información, la cual es necesaria para la continuidad del negocio. Teniendo en cuenta que los datos pueden estar en diferentes formatos, uno de esos son las bases de datos. Estas contienen la información de los negocios de las empresas y juegan un papel muy importante en la producción de las mismas, es necesario revisar la seguridad en los sistemas de información, en este caso las bases de datos, conocer los mecanismos de cifrado, controles de seguridad implementados en las últimas versiones Actividad 1 Se plantea seleccionar 5 diferentes motores de bases de datos comerciales y de libre distribución, para: Describir los mecanismos de autenticación para usuarios en las bases de datos lógicos y de hardware. Nombre Firebird www.firebirdsql.or g
Descripción Es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. Es multiplataforma. Ejecutable pequeño, con requerimientos de hardware bajos. Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded). Soporte de transacciones ACID y claves foráneas. Es medianamente escalable.
Mecanismos de autenticación para usuarios en las bases de datos. Lógicos Hardware No viene con ninguna utilidad para encriptar y desencriptar datos (salvo para las contraseñas de usuario) por lo que esta operación la tiene que hacer el cliente La instalación de servidor de Firebird incluye una base de datos de autentificación de usuario (fichero security.fdb) para almacenar las definiciones de todos los usuarios que tienen acceso al servidor. Para cada usuario se establece un nombre y una contraseña sensible al contexto Por defecto, viene con un usuario administrador SYSDBA con contraseña MASTERKEY, aconsejándose como primera operación cambiar la contraseña. Este usuario tiene permiso para hacer cualquier operación sobre cualquier objeto de la base de datos.
Nombre IBM DB2 www.ibm.com/db2
Se aconseja instalar el servidor en máquinas dedicadas en las que se pueda establecer un buen nivel de seguridad: sistema operativo seguro (mejor linux que windows), sistema de ficheros apropiado (ext o ntfs), establecer limitaciones de acceso por parte de usuarios a los ficheros (definición de permisos de acceso a las carpetas y/o ficheros, no compartir las carpetas en red), configuración de un cortafuegos (habilitar sólo lo más imprescindible como el acceso al servidor a través del puerto 3050), trabajo sobre líneas seguras y aplicar configuraciones de seguridad a Firebird (directorios en los que pueden estar los ficheros de bases de datos, etc)
Descripción Es una marca comercial, propiedad de IBM, además es el servidor de datos de nivel de entrada perfecto, adecuado para procesar transacciones o consultas de complejas cargas de trabajo en servidores con un máximo de dos procesadores. Está optimizado para utilizar hasta 4 núcleos de procesador y 4 GB de memoria. Se instala de forma fácil y rápida. Se puede integrar de forma transparente con otras aplicaciones. Incluye características de gestión remota.
Mecanismos de autenticación para usuarios en las bases de datos.
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Lógicos
Hardware
Existen tres mecanismos principales dentro de DB2 que permiten a un DBA implementar un plan de seguridad de base de datos: autenticación,autoridad y privilegios. La autenticación es el primer recurso de seguridad que usted encontrará cuando intente acceder a una instancia o base de datos DB2. La autenticación DB2 funciona muy de cerca con los recursos de seguridad del sistema operativo subyacente para verificar los ID y contraseñas de usuario. DB2 también puede trabajar con protocolos de seguridad como Kerberos para autenticar usuarios. La autoridad involucra determinar las operaciones que los usuarios y/o grupos pueden efectuar y los objetos de datos a los que pueden acceder. La capacidad de un usuario para efectuar operaciones de alto nivel de administración de base de datos y de instancia, está determinada por las autoridades que se le hayan asignado. Existen cinco niveles de seguridad diferentes dentro de DB2 que son SYSADM, SYSCTRL, SYSMAINT, DBADM y LOAD. Los privilegios son un poco más granulares que las autoridades, y pueden asignarse a usuarios y/o grupos. Los privilegios ayudan a definir los objetos que un usuario puede crear o descartar. Estos también definen los comandos que un usuario puede usar para acceder a objetos como tablas, vistas índices y paquetes. En el DB2 9 es nuevo el concepto de control de acceso basado en etiquetas (LBAC), el cual permite un control más granular sobre quién puede acceder a filas y/o columnas individuales.
Tipos de autenticación DB2 son usados por DB2 para determinar dónde tendrá lugar la autenticación Tipo
Descripción
SERVER
La autenticación se lleva a cabo en el servidor.
SERVER_ENCRYP T
La autenticación se lleva a cabo en el servidor. Las contraseñas son cifradas en la máquina cliente antes de ser enviadas al servidor.
CLIENT
La autenticación se lleva a cabo en la máquina cliente (vea Manejando clientes no confiables para excepciones).
*KERBEROS
La autenticación es llevada a cabo por el software de seguridad Kerberos.
*KRB_SERVER_E NCRYPT
La autenticación es llevada a cabo por el software de seguridad Kerberos si la configuración de cliente es KERBEROS. En caso contrario, se utiliza SERVER_ENCRYPT.
DATA_ENCRYPT
La autenticación se lleva a cabo en el servidor. El servidor acepta el ID y las contraseñas cifradas del usuario y descifra los datos. Esto funciona de la misma forma que SERVER_ENCRYPT, excepto que los datos también son cifrados.
DATA_ENCRYPT_ CMP
La autenticación es la misma que para DATA_ENCRYPT, excepto que este esquema permite que clientes antiguos que el esquema DATA_ENCRYPT no permite, se conecten usando autenticación SERVER_ENCRYPT. En este caso los datos no serán cifrados. Si el cliente que se está conectando soporta DATA_ENCRYPT, es forzado a cifrar los datos y no puede pasarse a autenticación SERVER_ENCRYPT. Esta autenticación solo es válida en el archivo de configuración de gestor de base de datos del servidor y no es válido cuando se usa con el comando CATALOG DATABASE en una instancia de cliente o de gateway.
GSSPLUGIN
La autenticación es controlada por un plug-in GSSAPI externo.
GSS_SERVER_EN CRYPT
La autenticación es controlada por un plug-in GSSAPI externo. en el caso que el cliente no soporte alguno de los plug-in GSS-API del servidor, se utiliza autenticación SERVER_ENCRYPT.
*Estas configuraciones solo son válidas para sistemas operativos Windows 2000®, AIX®, Solaris y Linux® .
Nombre IBM Informix www.ibm.com/software/data/informix
Descripción Es una familia de productos RDBMS de IBM. Durante parte de los años 1990 fue el segundo sistema de bases de datos más popular después de Oracle.
Mecanismos de autenticación para usuarios en las bases de datos. Lógicos Hardware Puede desarrollar módulos y configurar un servidor para tener un mecanismo de autenticación definido automáticamente para conexiones locales y remotas. Un mecanismo de capa de autenticación puede funcionar de manera que no sea necesario que el usuario deba realizar cambios en la aplicación. El
5
Un cliente de Informix puede ser un usuario local o remoto. Para los modelos empresariales basados en la red, el servidor de bases de datos utiliza el mecanismo de autenticación de red que ha proporcionado el sistema operativo, pero requiere que el DBSA para configure información de hosts de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
servidor de bases de datos da soporte a estas capas de autenticación: Pluggable Authentication Modules (PAM) para sistemas IBM® Informix que se ejecuten en UNIX o Linux. La infraestructura PAM proporciona un conjunto de API para la gestión de autenticaciones, cuentas, sesiones y contraseñas. Soporte de autenticación Lightweight Directory Access Protocol (LDAP) para Windows. Utilice el módulo de soporte de autenticación LDAP cuando desee utilizar un servidor LDAP para autenticar a los usuarios. Nombre FileMaker www.filemaker.com/es
confianza o información de usuarios de confianza. La información de hosts de confianza está establecida en el archivo hosts.equiv o en el archivo especificado por el parámetro de configuración REMOTE_SERVER_CFG. La información de usuarios de confianza está establecida en el archivo rhosts de cada usuario o en el archivo especificado por el parámetro de configuración REMOTE_USERS_CFG. Puede modificar las opciones de búsqueda en el archivo sqlhosts.
Descripción Pro es una aplicación multiplataforma (Windows y Mac) de base de datos relacional de FileMaker 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, botones…) a las pantallas o formas que provee la interfaz.
Mecanismos de autenticación para usuarios en las bases de datos. Lógicos Hardware Mediante la definición de cuentas y conjuntos Gestiona el acceso de los usuarios mediante la de privilegios, es posible restringir lo que los autenticación externa a través de Active Directory/Open usuarios pueden ver y hacer en los archivos de Directory. Proteje la transferencia de los datos con el cifrado base de datos. Las cuentas autentican a los SSL. Con Apple Open Directory o un dominio de Windows, usuarios que intentan abrir archivos protegidos. puede configurar cuentas que autentiquen a los usuarios en Cada cuenta especifica un nombre de cuenta y función del servidor de autenticación (normalmente) una contraseña. Los usuarios Privilegios ampliados Los privilegios ampliados determinan que no puedan especificar la información de las opciones de uso compartido de datos permitidas por un cuenta válida no podrán abrir ningún archivo conjunto de privilegios, como, por ejemplo, si un conjunto de protegido. Los conjuntos de privilegios privilegios permite a los usuarios abrir un archivo compartido especifican el nivel de acceso a los archivos de o ver una base de datos en un navegador Web. La siguiente base de datos. Cada cuenta tiene asignado un tabla enumera los privilegios ampliados predeterminados conjunto de privilegios, que determina el nivel disponibles. (FileMaker, así como otros desarrolladores, de acceso cuando una persona abre un archivo pueden definir privilegios ampliados adicionales para con esta cuenta gestionar el acceso a otros productos de software diseñados para trabajar con FileMaker Pro o FileMaker Server).
Nombre
6
Descripción
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Microsoft SQL Server http://www.microsoft.com/latam/s qlserver/
Es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebirdo MySQL.
Mecanismos de autenticación para usuarios en las bases de datos. Lógicos Hardware Por lo general la autenticación de Windows es la SQL Server admite dos modos de autenticación, el mejor opción en las siguientes situaciones: modo de autenticación de Windows y el modo mixto. La autenticación de Windows es el modo 1. Existe un controlador de dominio. 2. La aplicación y la base de datos se predeterminado, y a menudo se denomina encuentran en el mismo equipo. seguridad integrada debido a que este modelo de 3. Está usando una instancia de SQL Server seguridad de SQL Server está integrado Express o LocalDB. estrechamente en Windows. Para iniciar sesión en Los inicios de sesión de SQL se usan habitualmente SQL Server, se confía en las cuentas de usuario y en las siguientes situaciones: grupo específicas de Windows. Los usuarios de Si se tiene un grupo de trabajo. Windows que ya hayan sido autenticados no tienen Los usuarios se conectan desde diferentes que presentar credenciales adicionales. El modo mixto admite la autenticación tanto de dominios que no son de confianza. Aplicaciones de Internet, como ASP.NET. Windows como de SQL Server. Los pares de nombre de usuario y contraseña se mantienen en SQL Server.
Actividad 2 Identificar las posibles causas que generan las fallas de seguridad en las bases de datos. Existen diversas causas por las que el sistema de bases de datos puede fallar: Físicas: Son causadas por fallos del hardware, como por ejemplo del disco o de la CPU. De Diseño: son agujeros en el software, ya sea en el SO o en el SGBD. De Funcionamiento: Son causadas por la intervención humana, debidos a fallos del DBA, configuraciones inapropiadas o mal planteamiento de los procedimientos de backup. Del entorno: Como por ejemplo desastres naturales, fallos de corriente, temperatura excesiva. Causa
Descripción
Errores locales previstos por la aplicación (rollback explícito o programado) Tipo: De Diseño o de Funcionamiento
Durante la ejecución de una transacción pueden presentarse condiciones que requieran la cancelación de la misma (por ejemplo, un saldo insuficiente en una cuenta bancaria implica la cancelación de una transacción de reintegro sobre dicha cuenta).
Errores locales no previstos
Un fallo local sólo afecta a la transacción que se está
7
Frecuencia y Recuperación En muchas Ocasiones y su recuperación es medianamente sencilla
En muchas Ocasiones y su
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
(overflow, división por cero...) Errores lógicos de programación (bugs), o interrupciones provocadas (ctrl-C en entornos Unix...). Tipo: De Diseño o de Funcionamiento Fallos por imposición del control de concurrencia Tipo: De Diseño o de Funcionamiento Fallos del sistema (caídas suaves) Tipo: Físicas
Fallos de disco (caídas duras) Tipo: Físicas
Fallos catastróficos o físicos Tipo: Físicas o del Entorno
ejecutando donde ha ocurrido el fallo. Normalmente supone la pérdida de los datos en memoria principal y en los búferes de entrada/salida.
recuperación es medianamente sencilla
El Subsistema de Control de Concurrencia puede decidir abortar una transacción T (para reiniciarla posteriormente) bien porque viola la seriabilidad o porque varias transacciones están en un estado de bloqueo mortal y se ha seleccionado T como víctima. Consisten en un mal funcionamiento del hardware, errores software (del SGBD o del SO) o de red, que afectan a todas las transacciones en progreso de ejecución en el sistema de BD. No da- ñan físicamente el disco (el contenido de la BD permanece intacto y no se corrompe), pero se pierden los datos en la memoria principal y en los búferes de entrada/salida. Son fallos en los dispositivos de almacenamiento (por ejemplo, si ocurre una rotura o un aterrizaje de alguna cabeza lectora-escritora en el disco, si funciona mal la lectura o la escritura, o si ocurre un fallo durante una transferencia de datos). Afectan a todas las transacciones en curso y suponen la pérdida de información en disco (es decir, algunos bloques del disco pueden perder sus datos). Algunos ejemplos son el corte del suministro eléctrico, robo del disco, incendio, sabotaje, sobreescritura en discos o cintas por error, etc.
En muchas Ocasiones y su recuperación es medianamente sencilla En muchas Ocasiones y su recuperación es medianamente sencilla
Pocas Veces, Recuperación Complicada
Pocas Veces, Recuperación Complicada
Actividad 3 Describir los tipos y mecanismos de respaldo de las Bases de datos que ofrece Oracle, PostgreSQL, Microsoft SQL server, Mysql. Nombre BD Tipos de Respaldo Físicos: son aquellos que copian físicamente los ficheros de la BD. Existen dos opciones: en frío y en caliente. Se dice que el Respaldo es en frio cuando los ficheros se copian con la BD esta parada. En caliente es cuando se copian los ficheros con la BD abierta
8
Oracle Mecanismos de Respaldo Respaldo en Frío El primer paso es parar la BD con el comando shutdown normal. Si la BD se tiene que parar con inmediate o abort debe rearrancarse con el modo RESTRICT y vuelta a parar en modo normal. Después se copian los ficheros de datos, los de redo log y los de control, además de los archivados y aún no copiados. Una buena idea es automatizar todo este proceso con los scripts correspondientes, de modo que no nos olvidemos de copiar ningún fichero. Como este tipo de Respaldo es una copia de los ficheros de la BD, si estos contienen algún tipo de corrupción, la traspasaremos a la copia de seguridad sin detectarla. Por esto es importante comprobar las copias de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
y funcionando.
seguridad. Respaldo en Caliente Si la implantación de BD requiere disponibilidad de la misma 24h. al día, 7 dias a la semana no se pueden realizar Respaldos en frio. Para efectuar un Respaldo en caliente debemos trabajar con la BD en modo ARCHIVELOG. El procedimiento de Respaldo en caliente es bastante parecido al frio. Existen dos comandos adicionales: begin backup antes de comenzar y end backup al finalizar el Respaldo. Por ejemplo, antes y después de efectuar un Respaldo del tablespace users se deberían ejecutar las sentencias: SVRMGR> alter tablespace users begin backup; SVRMGR> alter tablespace users end backup; Así como el Respaldo en frio permitía realizar una copia de toda la BD al tiempo, en los Respaldos en caliente la unidad de tratamiento es el tablespace. El Respaldo en caliente consiste en la copia de los ficheros de datos (por tablespaces), el actual fichero de control y todos los ficheros redo log archivados creados durante el periodo de Respaldo. También se necesitarán todos los ficheros redo log archivados después del Respaldo en caliente para conseguir una recuperación total. Reglas que determinan la situación de los ficheros y otras consideraciones que afectarán al esquema del respaldo: Es recomendable archivar los ficheros redo log en disco, y luego copiarlos a cinta, pero siempre en un disco diferente del que soporta los ficheros de datos y de redo log activos. Los ficheros copias no deben estar en el mismo dispositivo que los originales. No siempre hay que pasar las copias a cinta, ya que si se dejan en disco se acelera la recuperación. Además, si se copian las copias a cinta y se mantienen en el disco, se puede sobrevivir a diversos fallos de dispositivo. Se deberían mantener diferentes copias de los ficheros de control, colocadas en diferentes discos con diferentes controladores. Los ficheros redo log en línea deben estar multiplexados, con un mínimo de 2 miembros por grupo, residiendo cada miembro en un disco distinto. Siempre que la estructura de la BD cambie debido a la inclusión, borrado o renombrado de un fichero de datos o de redo log, se debe copiar el fichero de control, ya que almacenan la estructura de la BD. Además, cada fichero añadido también debe ser copiado. El fichero de control puede ser copiado mientras la BD está abierta con el siguiente comando:
Lógicos Copian el contenido de la BD pero sin almacenar la posición física de los datos. Se realizan con la herramienta export que copia los datos y la definición de la BD en un fichero en un formato interno de Oracle. Para realizar un export la BD debe estár abierta. Export asegura la consistencia en la tabla, aunque no entre tablas. Si se requiere consistencia entre todas las tablas de la BD entonces no se debe realizar ninguna transacción durante el proceso de export. Esto se puede conseguir si se abre la BD en modo SVRMGR> alter database Respaldo controlfile to 'destino'; RESTRICT.
Teniendo en cuenta las reglas anteriores, los siguientes puntos pueden considerarse un ejemplo de mecanismo de respaldo: 1. Activar el modo ARCHIVELOG. 2. Realizar un respaldo al menos una vez a la semana si la BD se
9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
puede parar. En otro caso, realizar respaldos en caliente cada día. 3. Copiar todos los ficheros redo log archivados cada cuatro horas. El tamaño y el número de ellos dependerá de la tasa de transacciones. 4. Efectuar un export de la BD semanalmente en modo RESTRICT. Nombre BD Tipos de Respaldo Volcando a fichero las sentencias SQL necesarias para recrear las bases de datos. Lo cual vuelca una base de datos como una secuencia de instrucciones SQL en formato de texto plano (al igual que la herramienta mysqldump de MySQL).
PostgreSQL Mecanismos de Respaldo Disponemos de la utilidad pg_dump, que realiza un volcado de la base de datos solicitada de la siguiente manera: $ pg_dump demo > fichero_salida.sql pg_dump es un programa cliente de la base de datos (como psql), lo que significa que podemos utilizarlo para hacer copias de bases de datos remotas, siempre que tengamos privilegios para acceder a todas sus tablas. En la práctica, esto significa que debemos ser el usuario administrador de la base de datos para hacerlo. Si nuestra base de datos usa los OID para referencias entre tablas, debemos indicárselo a pg_dump para que los vuelque también (pg_dump -o) en lugar de volver a crearlos cuando inserte los datos en el proceso de recuperación. Asimismo, si tenemos BLOB en alguna de nuestras tablas, también debemos indicárselo con el parámetro correspondiente (pg_dump -b) para que los incluya en el volcado. Para restaurar un volcado realizado con pg_dump, podemos utilizar directamente el cliente psql: $ psql demo < fichero_salida.sql Una vez recuperada una base de datos de este modo, se recomienda ejecutar la sentencia analyze para que el optimizador interno de consultas de PostgreSQL vuelva a calcular los índices, la densidad de las claves, etc. Las facilidades del sistema operativo Unix, permiten copiar una base de datos a otra en otro servidor de la siguiente manera: $ pg_dump -h host1 demo | psql -h host2 demo
Haciendo copia a nivel de Para hacer la copia de seguridad a nivel de fichero, simplemente fichero de la base de datos. copiamos los ficheros binarios donde PostgreSQL almacena la base de datos (especificado en tiempo de compilación, o en paquetes binarios, suele ser /var/lib/postgres/data), o bien hacemos un archivo comprimido con ellos: $ tar -cvzf copia_bd.tar.gz /var/lib/postgres/data El servicio PostgreSQL debe estar parado antes de realizar la copia.
10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
A menudo, en bases de datos grandes, este tipo de volcados origina ficheros que pueden exceder los límites del sistema operativo. En estos casos tendremos que utilizar técnicas de creación de volúmenes de tamaño fijo en los comandos tar u otros con los que estemos familiarizados. Nombre BD Microsoft SQL server Tipos de Respaldo Mecanismos de Respaldo Usar SSMS (SQL Server Management Studio) o Usar T-SQL (Transact-SQL). soportan tres modelos de recuperación: Full, Bulk-Logged y Simple y cada uno de estos modelos tiene una influencia muy particular sobre el tamaño del Transaction Log y el grado de pérdida de datos en caso de falla. Completo. Crear una El tipo más sencillo de copia de seguridad es una copia de seguridad copia de seguridad completa de la base de datos. completa de base de hace lo siguiente: datos 1. Forzar un punto de control de base de datos y tome nota del número de secuencia de registro en este momento. Esto vacía todas las páginas actualizado en la memoria en el disco antes de lee la copia de seguridad para reducir la cantidad de trabajo en que la parte de recuperación de restauración tiene que hacer nada. 2. Iniciar la lectura desde los archivos de datos de la base de datos. 3. Dejar de leer los archivos de datos y hacer que una nota del número de secuencia de registro de inicio de la transacción activa más antigua en ese momento (consulte mi artículo "Descripción registro y recuperación en SQL Server" para obtener una explicación de estas condiciones). 4. Leer tanta registro de transacciones cuando sea necesario. son posibles en el modelo recuperación SIMPLE Bitácora de El respaldo de la Bitácora de Transacciones o Transaction Log Transacciones. Realizar solamente puede hacerse cuando el modelo de recuperación de la base una copia de seguridad de datos es FULL o Bulk-logged y se realiza principalmente con el fin de de un registro de reducir la cantidad de datos que pudieran perderse en caso de una falla transacciones y reducir el tamaño del archivo que almacena la bitácora. Cuando realizas un respaldo de la bitácora, SQL Server respalda todas la páginas nuevas desde el último respaldo completo, diferencial, o desde el último respaldo de la bitácora. Esto significa que cada respaldo de la Bitácora de Transacciones captura todas las transacciones asociadas con un punto en el tiempo. contiene todos los registros de transacciones generados desde la última copia de seguridad del registro (o copia de seguridad completa que inicia una cadena de copia de seguridad del registro) y se utiliza para permitir que la base de datos pueda recuperarse a un punto específico en el tiempo (normalmente el tiempo que derecho antes de que produce un desastre). Esto significa que son incrementales, a diferencia de las copias diferenciales, que son acumulativas. Puesto que estos son incrementales, si desea restaurar la base de datos a un punto determinado en tiempo, necesitará tener todas las transacciones entradas del Registro necesarias para reproducir los cambios en la base de datos hasta que apuntan en tiempo. Estos se incluyen en la cadena de copia de seguridad del registro.
11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Filegroup. Realizar copias de seguridad de archivos y grupos de archivos
Diferencial. Crear una copia de seguridad diferencial de una base de datos
Nombre BD Tipos de Respaldo Lógico.
El respaldo tipo filegroup consiste en respaldar todos los archivos que pertenecen a un filegroup en particular. Es importante señalar que aunque es posible respaldar un archivo en específico, dicha granularidad no es recomendable ya que el proceso de recuperación requiere que todos los archivos pertenecientes al filegroup siendo recuperado se encuentren en el mismo punto o estado. Este tipo de respaldos se usan en combinación con los respaldos de la bitácora de transacciones para recuperar secciones de la base de datos. El respaldo diferencial consiste en respaldar todas las páginas que han sufrido cambios desde el último respaldo completo y para poder que funcione tienes que haber tomado un respaldo completo anteriormente. Dado que se respaldan solamente las páginas que han cambiado desde el último respaldo completo, los respaldos diferenciales generalmente son más rápidos que los completos. realiza las mismas operaciones que copia de seguridad completa, pero sólo contiene todos los datos que ha cambiado o ha agregado desde la anterior copia de seguridad completa. Frecuente aquí es que las copias de seguridad diferenciales son incrementales. Son realmente acumulativas y sucesivos diferenciales después de una copia de seguridad completa y se aumentan de tamaño cuando se cambia o agrega más datos. En cada 4 GB sección (denominado un intervalo de GAM) de cada archivo de datos existe es una página de base de datos especial denominada un mapa de bits diferencial que realiza el seguimiento de las partes (denominadas extensiones) de esa sección de 4 GB han cambiado desde la copia de seguridad completa última, que indica datos que ha cambiado o ha agregado a la base de datos. son posibles en el modelo recuperación SIMPLE Mysql Mecanismos de Respaldo Se realiza con la BD online. Se realiza con la utilidad mysqldump. Permite “transportar” bases de datos entre servidores Permite hacer restauraciones parciales (p.ej.: recuperar una tabla) Más costoso (tiempo y espacio) que backup físico Puede configurarse restauración “en tiempo” utilizando logs. Como se hace? Se ha definido el fichero /home/backup/backup_mysql.sh. Inicialmente este fichero es: MYSQL_BACKUP_DIR=/home/backup/sql echo "Comienza Backup" date MYSQL_BACKUP_DIR=/root/backup/sql mysqldump --opt --single-transaction -u paea --password=paea --alldatabases > $MYSQL_BACKUP_DIR/AllDB_$(date +%d%m%y).sql mysqldump --opt --single-transaction -u paea --password=paea
12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
mediawikidb > $MYSQL_BACKUP_DIR/mediawikidb_$(date +%d%m %y).sql mysqldump --opt --single-transaction -u paea --password=paea mantisdb > $MYSQL_BACKUP_DIR/mantisdb_$(date +%d%m%y).sql mysqldump --opt --single-transaction -u paea --password=paea sonardb > $MYSQL_BACKUP_DIR/sonardb$(date +%d%m%y).sql echo "Fin de Backup" date find $MYSQL_BACKUP_DIR -type f -mtime +7 -exec rm {} \; echo "fin ejecucion" date Físico
Es necesario detener el servidor de Bases de Datos Se trata de una copia física de ficheros Mas fácil para recuperar Bases de Datos complejas Menos costoso que backup lógico No se permite restaurar “en tiempo” Como se hace? Se ha definido el fichero /home/backup/backup_mysql_fich.sh. Inicialmente este fichero es: /backup # vi backup_mysql_fich.sh # Copia Fisica de ficheros de BD echo "Comienza Backup" date MYSQL_BACKUP_DIR=/root/backup/FicherosBD/$(date +%d%m%y) mkdir $MYSQL_BACKUP_DIR sudo /etc/init.d/mysql stop cp -R /var/lib/mysql $MYSQL_BACKUP_DIR sudo /etc/init.d/mysql start echo "Fin Backup" date find /root/backup/FicherosBD -type d -mtime +7 -name "*201*" -exec rm -R {} \; echo "Fin ejecucion" date
Para hacer una copia de seguridad de una base de datos MySQL, usando mysqldump, conecta al servidor y escribe: mysqldump --add-drop-table -h localhost -u nombre_usuario --password=c Planificación: Se planifican mediante el cron de linux (usuario root) que ejecuta unos ficheros .sh previamente creados que contienen las sentencias de backup los scripts de backup, tanto físico como lógico, al finalizar su ejecución borran los ficheros de backup antiguos (más de 7 días) La planificación se realiza mediante el crontab: /backup # crontab -e 00 01 * * * /root/backup/backup_mysql.sh >> /root/backup/LogBackup
13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
30 01 * * * /root/backup/backup_mysql_fich.sh >> /root/backup/LogBackupFich
Actividad 4 Describir la arquitectura y las principales características de seguridad de la base de datos, Oracle DataBase 12c reléase 1: http://docs.oracle.com/en/database/database.html y http://docs.oracle.com/database/121/index.htm . ¿Qué nuevas características de seguridad implementa esta versión con respecto a las anteriores? Oracle DataBase 12c reléase Es la nueva versión de manejador de base de datos de Oracle Corporation. RAC ( Real Application Clusters ) nació y emergió en el mercado como producto en la versión de BBDD ( base de datos ) Oracle 9i, representando un producto estable y de altas funcionalidades para el área de Alta Disponibilidad. En versión “Oracle 10g”, RAC representó una de las soluciones clave para la filosofía “Grid Computing” ofreciendo consigo una escalabilidad horizontal. En liberaciones 11g & 11gR2 obtuvo mejoras de alta relevancia y en versión 12c trae consigo mejoras en sus componentes, arquitecturas basadas en “Cloud Computing”. La última versión de Oracle Corporation, pero primera versión de base de datos diseñada para Cloud Computing, la cual tiene como objetivos facilitar los esfuerzos de las empresas para estandarizar, consolidar y automatizar los servicios de las bases de datos en la nube. Las mejoras y nuevas características de RAC12c están clasificadas en 4 grandes aéreas: Continuidad de Negocio & Alta Disponibilidad Flexibilidad & Agilidad Despliegue estandarizado & “Patching” Integración y administración en “Data Centers” Arquitectura “Oracle Multitenant” es la nueva opción para “Oracle Database 12c Enterprise Edition” la cual ayuda a los clientes a reducir costos en el área de “IT” a través de la simplificación, consolidación, aprovisionamiento, “Upgrades” y mas. La nueva arquitectura esta basada en una base de datos “Container” la cual puede albergar muchas BBDDs ( Bases de Datos ) denominadas “Plugaggable Databases”. La arquitectura “Oracle Multitenant” es escalable y aplicable de forma total a soluciones ya conocidas como “RAC ( Oracle Real Application Clusters )” & “Oracle Data Guard”. Una simple BBDD no “Pluggable Database” o bien llamada “Non-CDB” ( “Non Container Database” ) puede ser convertida fácilmente a una BBDD “Pluggable Database” sin afectar su contenido, operación y manejo para las aplicaciones relacionadas con la misma. Características Particulares de Oracle “Multitenant” o En arquitectura “Multitenant” el diccionario de datos es virtualizado o En “Oracle 12.1’ puede haber un máximo de 252 BBDD por “Container” o Posterior a un “Upgrade” las nuevas BBDDs 12c pueden ser “Pluggable Databases” o “Non-Pluggable Databases” o Reconocimiento total entre BBDDs “Pluggable Databases” y no “NonPluggable Databases”, el funcionamiento para las aplicaciones es Descripción
14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Mejoras en seguridad con respecto a las versiones anteriores
Mejoras en otros
15
exactamente igual para “Pluggable Databases” y no “Non-Pluggable Databases” o La conexión y desconexión ( “Plug/Unplug” ) de “PDBs” de o a los “Containers” representanta internamente una combinación de “Transportable “Tablespaces” en conjunto con una 3ra generación de “Data Pump” o El “Unplug/Plug” se podrá realizar entre sistemas operativos de diferentes “endian formats”. Las capacidades de “Oracle Database 12c” de operar BBDDs entre sistemas operativos mixtos escala a técnicas como: Transporte de Tablespaces, “Restore/Recover” y mas o Las conexiones “Oracle NET” hacia las “PDB” siguen siendo iguales o “SQL Developer” & “Enterprise Manager” han sido extendidos para exponer y manejar todo lo relacionado con la arquitectura “Multitenant” o Las operaciones de “Oracle Active Data Guard” son conducidas a nivel de la “CDB” o La desconexión y conexión a “CDBs” puede ser llevado a cabo entre “CDBs” de diversas versiones o La nueva arquitectura “Multitenant” esta disponible en versiones “Standard”, “Standard Edition One” & “Enterprise Edition”. Sin la licencia de opción “Multitenant” se tendrá derecho a solo una “PDB” Bases de datos 'conectables'. Oracle Multitenant . La arquitectura multitenant permite que las bases de datos se consoliden en un único servidor a la vez que se mantienen separadas entre ellas. Esta nueva arquitectura permite compartir la SGA, la CPU y otros recursos, reduciendo ampliamente la cantidad requerida de memoria y de CPU, en comparación con la que sería necesaria para mantener las bases de datos por separado. Seguridad a nivel de PL/SQL: Ahora los DBA podemos asignar roles a bloques de código PL/SQL. Parece sencillo pero es impresionante. Oracle se está asegurando de que la seguridad se puede otorgar incluso a nivel de cada bloque. Encriptación mejorada: La encriptación mejorada permite la creación y gestión de 'wallets' por SQL, en lugar de hacerlo a través utilidades de linea de comandos. También permite la gestión remota de una manera sencilla. La función de encriptación se ha incorporado también en los wallets/claves de exports e imports entre bases de datos conectables. El almacenamiento de loss wallets es en ASM, para mayor seguridad. Separación de Tareas SYSDBA – Super usuario SYSOPER – Menos privilegios que SYSDBA, pero con bastante poder. SYSBACKUP – Puede utilizarse específicamente para realizar operaciones de backup y restauración. SYSDG – Disponible para administración de data guard. SYSKM – Habilitado para realizar tareas básicas de mantenimiento. En la arquitectura “Multitenant” los “foreground processes” envían una solicitud al sistema de almacenamiento para copiar los “Datafiles” de la “PDB” utilizando un protocolo de seguridad dedicado. La principal diferencia entre la versión Oracle Database 12c y la versión anterior Oracle Database 11g se resume en la implementación de la arquitectura de Multitenant y los conceptos de Container Database (CDB) y Plugabble Database (PDB). Heatmaps de bases de datos: Oracle database 12c monitoriza la actividad de cada columna de las tablas, determina qué tipo de compresión se adapta mejor a cada una,
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
aspectos
y puede realizar la compresión. Índices duplicados: Esta característica permite crear índices duplicados sobre el mismo conjunto de columnas. Esto puede ser muy útil en entornos de Data Warehouse en los que se puede mejorar el rendimiento implementando a la vez índices de tipo Bitmap y de tipo B-tree sobre las mismas columnas. Result sets implícitos: Una de las principales utilidades de los tipos de PL/SQL es para devolver result sets desde una función o un procedimiento almacenado. Ahora, con la release 12c, ya no va a ser necesario proceder de esta manera, ya que se podrá devolver por referencia el mismo cursor desde las mismas funciones y procedures. Columnas de Identidad: Esta mejora ha sido tomada otras bases de datos como MySQL y MS SQLServer. Estos gestores de bases de datos ya permiten utilizar desde hace tiempo para las claves primarias columnas de tipo 'identity', que tienen la habilidad de autoincrementar por defecto el valor del campo de clave. Mejoras en los valores por defecto de las columnas: Hay bastantes nuevas formas de definir valores por defecto para una columna. Ahora se pueden utilizar las funciones NextVal y CurrVal de las secuencias. También se pueden especificar valores por defecto para Nulos explícitos proporcionados en sentencias Insert para asegurarse de que determinadas columnas siempre contienen un valor. También ahora se pueden definir valores por defecto de sólo metadatos para campos de columna tanto opcionales como obligatorios. Opciones para limitar filas: Las nuevas cláusulas de limitación de filas, Offset y Fetch, permiten crear consultas de tipo Top N sin saber absolutamente nada de las funciones analíticas. Además estas cláusulas permiten paginar a través de los datos para selecionar ciertos subconjuntos de datos. Tipos de datos extendidos: Los tamaños máximos de Varchar2 y NVarchar2 se han incrementado de 4K a 32K. El tamaño del tipo de dato RAW también se ha ampliado de 2K a hasta 32K. Todos estos tamaños están disponibles con la opción Extended Data Types que puede activarse por medio de un parámetro de inicialización y ejecutando un script. Características de Oracle 12c no soportadas en Bases de datos contenedoras: Estas son algunas de las características de bases de datos Oracle 12c que no están soportadas en la base de datos contenedora de una arquitectura multitenant: Continuous Query Notification Flashback Data Archive Heat Maps Automatic Data Optimization
Actividad 5 ¿Qué responsabilidades deben tener los desarrolladores de aplicaciones y los Administradores de bases de datos para proteger la información? Aquí solo se definen las funciones y obligaciones de seguridad de la información: Desarrollador De Aplicaciones ¿Cuáles son a) Se encarga del desarrollo y mantenimiento de las aplicaciones de la las funciones organización. Requiere acceso a los ficheros para resolución de problemas, de seguridad pruebas de los desarrollos y modificaciones del entorno de producción que realiza un b) Introducir en las aplicaciones los controles necesarios tanto preventivos como de
16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Desarrollador De Aplicaciones ?
detección, según el tipo de datos a tratar y su nivel. c) Modificar sólo los programas para los que existe autorización previa, para introducir o adaptar exclusivamente la funcionalidad aprobada, todo ello de acuerdo con la normativa y estándares, y sin perjuicio de los controles que existan respecto al paso de los programas al entorno de aceptación o de explotación. DBA (Administrador de Base de Datos) ¿Cuáles son Auditoria: Una de las tareas de un DBA es identificar qué usuarios tienen acceso a las funciones insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO sólo podría ser de seguridad necesaria por un tiempo limitado, para usuarios específicos o datos específicos. que realiza un También puede ser requerida 24/7 para todos los datos que se introduzcan en el DBA? DBMS. Regularmente, para realizar las funciones de autorías los DBAs tienen que trabajar en combinación con los auditores internos y externos de la empresa. Resguardo y recuperación de datos: Uno de los aspectos más fundamentales del trabajo del DBA es proteger los datos de la organización. Esto incluye hacer copias de seguridad periódicas de los datos y mantenerlos a salvo de la destrucción accidental o intencional. Además, diseñar, implementar y probar un plan de recuperación para que cuando se presenten los problemas, los datos se pueden restaurar rápidamente. Desarrollo de aplicaciones: Muchos administradores de base datos deben de desarrollar aplicaciones y scripts con el objetivo de automatizar tareas relacionadas con la inserción, sustracción o borrado de información dentro del manejador de base de datos. En general, éste debe de colaborar a nivel de integración de sistema con los desarrolladores de aplicaciones, por lo que a veces se ve en la obligación de desarrollar código para casos específicos. Obligaciones de seguridad de los desarrolladores de aplicaciones y los Administradores de bases de datos a) No realizar pruebas con datos reales que puedan identificar a personas físicas en los casos en que por su clasificación así lo determine la normativa interna. b) Conocer la normativa interna en materia de seguridad, y especialmente la referente a la protección de datos de carácter personal. c) Cumplir lo dispuesto en la normativa interna vigente en cada momento. d) Conocer las consecuencias que se pudieran derivar y las responsabilidades en que se pudiera incurrir en caso de incumplimiento de la normativa, que podrían derivar en sanciones. e) Utilizar los controles y medidas que se hayan establecido para proteger tanto los datos de carácter personal como los propios sistemas de información y sus componentes: los ficheros automatizados, los programas, los soportes y los equipos empleados para el almacenamiento y tratamiento de datos de carácter personal. f) No intentar vulnerar los mecanismos y dispositivos de seguridad, evitar cualquier intento de acceso no autorizado a datos o recursos, informar de posibles debilidades en los controles, y no poner en peligro la disponibilidad de los datos ni la confidencialidad o integridad de los mismos. g) Guardar secreto sobre los datos que pueda conocer, así como sobre controles y posibles debilidades, incluso después de haber causado baja en la entidad. Actividad 6 Documentar como se cifra las conexiones y la totalidad de cada Base de Datos, para Oracle 12 C (tanto en versión Express como en versión Enterprise), MYSQL, Microsoft SQL server en sus últimas versiones.
17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Aquí no se da la definición, la cual ya han hecho mis compañeros, sino que nos enfocamos en los pasos a realizar dicho cifrado. Configuración manual del Cifrado Transparente de Datos TDE para Oracle 12 C (tanto en versión Express como en versión Enterprise) 1. Crear el directorio keystore.
mkdir $ORACLE_HOME/admin/$ORACLE_SID/wallet 2. Modificar el archivo SQLNET.ORA si desea administrar la cartera de cifrado. La ubicación
predeterminada de la cartera de cifrado es $ORACLE_BASE/admin//wallet. Si desea permitir que Oracle administre una cartera en la ubicación predeterminada, no necesita establecer el parámetro ENCRYPTION_WALLET_LOCATION en el archivo sqlnet.ora. 3.
Para Windows
ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=C:/oracle/admin/%ORACLE_SID%/wallet/)))
Para Linux
ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= $ORACLE_SID/wallet/)))
(DIRECTORY=/app/oracle/admin/
4. Comprobar el parámetro de inicialización COMPATIBLE para el número correcto de versión.
Debería ser 12.x.1 ORA> sqlplus /nolog SQL> connect /as sysdba Connected. SQL> select instance_name,status,database_status from v$instance; INSTANCE_NAME STATUS DATABASE_STATUS ---------------- ------------ ----------------mcs1 OPEN ACTIVE SQL> show parameter compatible NAME TYPE VALUE ------------------------------------ ----------- -----------------------------compatible string 12.1.0.0.0 5. Crear el keystore.
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin"; --the ewallet.p12 file, which contains the keystore, appears in the keystore location. 6. Abrir el keystore basado en contraseña.
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "mcs1$admin" CONTAINER=ALL; -- check the status 1
Nota: Utilizar SQL*Plus, no utilice Oracle SQL Developer. 18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; 7. Hacer una copia de seguridad de un software keystore basado en contraseña.
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'keystore_bkp' IDENTIFIED BY "mcs1$admin"; SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; 8. Crear la clave principal de cifrado. Cree una clave principal para la CBD y todas las PDB.
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_all_bkp' CONTAINER=ALL; SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; Exportar la clave principal. ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin"; 9. Si se desea, crear la contraseña principal para el contenedor actual. Puede omitir este paso si
ha completado el paso 7. Base de datos de contenedor (CDB): ALTER SESSION SET CONTAINER = CDB$ROOT; SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual; ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_cdb_backup' CONTAINER=CURRENT; SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; --export master key ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin"; Base de datos conectable (PDB): revpdb ALTER SESSION SET CONTAINER = revpdb; SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual; ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_revpdb_backup' CONTAINER=CURRENT; SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; --export master key ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_revpdb_exp.bkp' IDENTIFIED BY
19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
"mcs1$admin"; Comprobar estado SELECT * FROM V$ENCRYPTION_WALLET; SELECT * FROM V$ENCRYPTION_KEYS; SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; 10. Establecer el keystore local de inicio de sesión automático. ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin"; SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; --the cwallet.sso file appears in the keystore location. The ewallet.p12 file is the password-based wallet. --Note: --Do not remove the PKCS#12 wallet (ewallet.p12 file) after you create the auto login keystore (.sso file). --You must have the PKCS#12 wallet to regenerate or rekey the TDE master encryption key in the future. --By default, this file is located in the $ORACLE_HOME/admin/ORACLE_SID/wallet directory. 11. Abrir el keystore de inicio de sesión automático.
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL; -- check the status SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; Sugerencia: Para cerrarlo, puede usar la siguiente instrucción. ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "mcs1$admin" CONTAINER=ALL; 12. Se recomienda que se verifique el estado de la configuración TDE utilizando las instrucciones
SQL siguientes. SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT
* FROM V$ENCRYPTION_WALLET; * FROM V$ENCRYPTION_KEYS; WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET; KEY_ID,KEYSTORE_TYPE FROM V$ENCRYPTION_KEYS; KEY_ID FROM V$ENCRYPTION_KEYS; KEYSTORE_TYPE FROM V$ENCRYPTION_KEYS; WRL_PARAMETER FROM V$ENCRYPTION_WALLET; STATUS FROM V$ENCRYPTION_WALLET; * FROM V$ENCRYPTED_TABLESPACES; TABLESPACE_NAME, ENCRYPTED FROM DBA_TABLESPACES; * FROM DBA_ENCRYPTED_COLUMNS;
Cifrar las conexiones y la totalidad de cada Bases de Datos MySQL con encriptación SSL y
20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
remotamente con SSH (Version Estable 5.7.12) Por defecto, MySQL utiliza conexiones sin cifrar entre el cliente y el servidor. Esto significa que cualquiera con acceso a la red podría ver el tráfico y mirar los datos que están siendo enviados o recibidos. Incluso podría cambiar los datos mientras están aún en tránsito entre el cliente y el servidor. Para mejor la seguridad un poco, puede comprimir el tráfico entre el cliente y el servidor utilizando la opción --compress cuando ejecute programas cliente. El protocolo SSL utiliza diferentes algoritmos de cifrado para asegurarse de que los datos recibidos a través de una red pública son seguros. Tiene mecanismos para detectar cambios de datos, pérdidas, o reenvíos. SSL también incorpora algoritmos que proveen de verificación de identidad, utilizando el X509. X509 hace posible identificar a alguien en Internet. Es utilizado comúnmente en aplicaciones de comercio electrónico. Requisitos (OpenSSL) Para utilizar conexiones SSL entre el servidor MySQL y los programas cliente, su sistema debe tener la capacidad de ejecutar OpenSSL y su versión de MySQL debe ser la 4.0.0 o superior. Para conseguir que las conexiones seguras funcionen con MySQL, debe hacer lo siguiente: 1.
Instale la librería OpenSSL. MySQL ha sido comprobado con OpenSSL 0.9.6.
2.
Cuando configure MySQL, ejecute el script configure con las opciones --with-vio y --withopenssl.
3.
Asegúrese de que ha actualizado sus tablas grant para que las columnas relacionadas con SSL de la tabla mysql.user se hayan agregado. Esto es necesario si las tablas grant provienen de una versión de MySQL anterior a la 4.0.0..
4.
Para comprobar si un servidor mysqld que se está ejecutando tiene soporte para OpenSSL, examine el valor de la variable de sistema have_openssl: mysql> SHOW VARIABLES LIKE 'have_openssl'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_openssl | YES | +---------------+-------+
Si el valor es YES, el servidor tiene soporte para conexiones OpenSSL. Montar certificados SSL para MySQL Aquí se tiene un ejemplo para configurar certificados http://mysql.localhost.net.ar/doc/refman/5.0/es/secure-create-certs.html
SSL
para
MySQL:
Conectarse desde Windows a MySQL remotamente con SSH Aquí hay una nota sobre como conectar para obtener una conexión segura a un servidor MySQL remoto mediante SSH 1.
21
Instale un cliente SSH en su máquina Windows. Como usuario, el mejor cliente no-libre que he encontrado es elSecureCRT de http://www.vandyke.com/. Otra opción es f-secure de http://www.f-secure.com/. También puede encontrar algunos libres mediante Google enhttp://directory.google.com/Top/Computers/Security/Products_and_Tools/Cryptography/SSH/Cli
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
2.
ents/Windows/. Ejecute su cliente SSH Windows. Establezca Host_Name = URL_o_IP_suservidormysql. Establezcauserid=su_id_usuario para entrar al servidor. Este nombre de usuario podría no ser el mismo que el de su cuenta MySQL.
3.
Establezca la redirección de puertos. Ya sea una redirección remota (Estableciendo local_port: 3306,remote_host: yourmysqlservername_or_ip, remote_port: 3306 ) o una redirección local (Estableciendo port: 3306, host: localhost, remote port: 3306).
4.
Guarde todo, si no es así, tendrá que rehacerlo la próxima vez.
5.
Entre en su servidor con la sesión SSH que acaba de crear.
6.
En su máquina Windows, ejecute alguna aplicación ODBC (como Access).
7.
Cree un nuevo archivo en Windows y enlácelo a MySQL utilizando el driver ODBC de la misma manera que lo haría normalmente, excepto que debe escribir localhost para el nombre de servidor MySQL, noyourmysqlservername.
Debería tener una conexión ODBC a MySQL, cifrada utilizando SSH. Cifrar las conexiones y la totalidad de cada Bases de Datos Microsoft SQL server (Version 2016) SQL Server usa claves de cifrado para proteger los datos, las credenciales y la información de conexión que se almacena en una base de datos servidor. SQL Server tiene dos tipos de claves: simétricas y asimétricas. Las claves simétricas utilizan la misma contraseña para cifrar y descifrar los datos. Las claves asimétricas usan una contraseña para cifrar los datos (denominada clave pública) y otra para descifrar los datos (denominada clave privada). En SQL Server, las claves de cifrado incluyen una combinación de claves públicas, privadas y simétricas que se utilizan para proteger la información confidencial. La clave simétrica se crea durante la inicialización de SQL Server al iniciar por primera vez la instancia de SQL Server . SQL Server utiliza la clave para cifrar los datos confidenciales que se almacenan en SQL Server. El sistema operativo crea las claves públicas y privadas, y éstas se utilizan para proteger la clave simétrica. Para cada instancia de SQL Server que almacena datos confidenciales en una base de datos se crea un par de claves pública y privada. Jerarquía de cifrado: SQL Server cifra los datos con una infraestructura de cifrado jerárquico y administración de claves. Cada capa cifra la capa inferior utilizando una combinación de certificados, claves asimétricas y claves simétricas. Las claves asimétricas y las claves simétricas pueden estar almacenadas fuera de SQL Server en un módulo de Administración extensible de claves (EKM). Mecanismos de cifrado: SQL Server ofrece los mecanismos siguientes para el cifrado: 1. 2.
22
Funciones de Transact-SQL: Los elementos individuales se pueden cifrar a medida que se insertan o actualizan utilizando las funciones de Transact-SQL . Para obtener más información, vea ENCRYPTBYPASSPHRASE (Transact-SQL) y DECRYPTBYPASSPHRASE (Transact-SQL). Certificados: Un certificado de clave pública, normalmente denominado solo certificado, es una instrucción firmada digitalmente que enlaza el valor de una clave pública con la identidad de la
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
persona, dispositivo o servicio que tiene la clave privada correspondiente. Las entidades certificadoras son las encargadas de emitir y firmar los certificados. La entidad que recibe un certificado de una CA es el sujeto de ese certificado. Por lo general, los certificados contienen la siguiente información.
La clave pública del sujeto.
La información que identifica al sujeto, como el nombre y la dirección de correo electrónico.
El periodo de validez. Es decir, el periodo de tiempo durante el que el certificado se considera válido. Un certificado solo es válido durante el periodo de tiempo que se especifica en el mismo; todos los certificados contienen una fecha Válido desde y otra Válido hasta . Estas fechas establecen los límites del periodo de validez. Cuando el periodo de validez de un certificado ha transcurrido, es necesario que el sujeto del certificado expirado solicite uno nuevo.
Información de identificador del emisor.
La firma digital del emisor. Esta firma da fe de la validez de las obligaciones entre la clave pública y la información de identificador del sujeto. (El proceso de firmar digitalmente la información conlleva transformar la información, así como cierta información privada que conserva el remitente, en una etiqueta denominada firma.)
3.
Claves asimétricas: Una clave asimétrica se compone de una clave privada y su correspondiente clave pública. Cada clave puede descifrar los datos que cifra la otra. El cifrado y descifrado asimétricos consumen una cantidad de recursos relativamente elevada, pero proporcionan un nivel de seguridad superior al del cifrado simétrico. Una clave asimétrica se puede utilizar para cifrar una clave simétrica para almacenar en una base de datos.
4.
Claves simétricas: Una clave simétrica es una clave que se utiliza para el cifrado y el descifrado. El cifrado y el descifrado con una clave simétrica son más rápidos y adecuados para usarlos de forma rutinaria con datos confidenciales de una base de datos.
5.
Cifrado de datos transparente: El Cifrado de datos transparente (TDE) es un caso especial de cifrado que usa una clave simétrica. TDE cifra una base de datos completa utilizando la clave simétrica denominada clave de cifrado de base de datos. Otras claves o certificados que se protegen bien mediante la clave maestra de base de datos o bien mediante una clave asimétrica almacenadas en un módulo EKM protegen la clave de cifrado de base de datos.
Actividad 7 Se solicita crear un plan de respaldo diario, semanal y mensual para las bases de datos, y presentar otras estrategias que se puedan aplicar e implementar para mantener la disponibilidad de los servicios de bases de datos 7x24 y a su vez cumplan con la contingencia y continuidad del negocio para las bases de datos desarrollado en el punto 2. Propuesta para el respaldo de bases de datos.
23
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Para respaldar las bases de datos de nivel crítico es necesario en primer lugar capacitar al administrador de bases de datos en aspectos como contraseñas seguras, leyes de protección de la información y manejo de esquemas físicos y virtuales de seguridad informática. Plan de respaldo diario. Para generar el respaldo diario completo se hace necesario identificar un horario específico para realizar el procedimiento, por lo generar se deben identificar horarios en los cuales se encuentre el pico más bajo de uso de la red, usualmente este procedimiento se realiza entre las 1:00am y 3:00am ya que en este horario el 98% y casi el 100% muestra ausencia de usuarios en la red. Con relación al respaldo diario se planeta realizar un Backus Completo diario en el horario establecido, una vez realizado este trabajo se plantea realizar un Backus incremental diario entre las 9:00am y 10:00am, otro ente las 4:00pm y 6:00pm todos los días Plan de respaldo semanal. Para generar el respaldo semanal completo se hace necesario identificar un día especifico que para esta propuesta se ha establecido el domingo entre las 3:00am y las 6:00am ya que en este horario la empresa cuenta con ausencia de usuario entre un 98% a 100%, adicionalmente los domingos todo el personal tiene descanso y en caso de tener que usar la red en este horario no lo harán. Alternativamente, la realización de un backup completo semanal combinado con la ejecución de Backus incrementales diarios ofrece la mayor rapidez de realización de los backups en días laborables y utiliza la menor cantidad de espacio de almacenamiento, por lo que se plantea realizar los Backus de manera semanal combinado con un incremental diario en el horario d 10:00pm a 11:59pm cerrando con un Backus completo semanal los domingo en el horario establecido Plan de respaldo mensual. Para generar el respaldo completo mensual se hace necesario identificar un día especifico que para esta propuesta se ha establecido el último domingo de cada mes entre las 2:00am y las 8:00am ya que en este horario la empresa cuenta con ausencia de usuario entre un 98% a 100%, adicionalmente los domingos todo el personal tiene descanso y en caso de tener que usar la red en este horario no lo harán. Alternativamente, la realización de un backup completo semanal combinado con la ejecución de Backus incrementales diarios se adiciona para el cierre de cada mes una copia semanal incremental que se realizara todos los domingos entre las 6:00pm y 10:00pm finalizando con un backup completo mensual en el horario establecido. Nombre BD Plan de
24
Oracle con DATADEC ONLINE Realtimedb es una plataforma tecnológica de alto rendimiento creada por
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Contingencia
Estrategias
Nombre BD Plan de Contingencia
Datadec Online que permite la replicación en tiempo real de las transacciones que se generan en las bases de datos (heterogéneas), es una plataforma de sincronización bidireccional. todo ello, sin comprometer la disponibilidad y el rendimiento, asegurando el respaldo de los sistemas de información ante cualquier incidencia o catástrofe que ponga en riesgo la continuidad de la empresa. Asegura la actividad del negocio garantizando la disponibilidad de los datos en tiempo real control y monitorización 24 forever Esta herramienta permite que el respaldo sea continuo y por ello no se define un horario específico para el respaldo diario, semanal y mensual. Para entornos ORACLE, DATADEC ONLINE ofrece el servicio de respaldo de datos OFF-LINE, en donde un data center actuará como el destino de las copias de seguridad de las bases de datos corporativas. Tiene 2 modalidades de respaldo: CUSTODIA DEL EXPORT DE LA BASE DE DATOS Esta opción de respaldo offline consiste en el envío diario del export de la base de datos del cliente, comprimido y cifrado, para su custodia en las instalaciones de DATADEC ONLINE. SINCRONIZACIÓN CON ORACLE RECOVERY MANAGER (RMAN) Estrategia de sincronización off-line de la base de datos del cliente mediante la tecnología ORACLE RECOVERY MANAGER (RMAN). Esta arquitectura se basa en el envío a un data center de los archive logs que se generan en la base de datos del cliente de manera continua. Los archive logs recibidos se aplican en la base de datos alojada, aunque no está abierta para poder ser accedida. Garantía de recuperación de los datos desde los últimos archive logs sincronizados Disminución del tiempo de recuperación, que dependerá del volumen de archive logs a aplicar Servidor Base de Datos El servicio RECOVERY AS A SERVICE (RaaS) es un nuevo concepto de replicación y recuperación ante periodos de inactividad basado en el modelo de Cloud Computing, que permitirá a las empresas disponer de una réplica exacta de los sistemas y aplicaciones en el data center remoto PostgreSQL Diario: 05:00 am. Ejecución de copia de seguridad de cada base de datos % pg_dump nombredb > nombredb.pgdump Semanal: : 04:00 am del día Viernes. Ejecución de copia de seguridad de todas las bases de datos % pg_dumpall > db.out O también # pg_dumpall > backup_server.sql Mensual: : 03:00 am del día 15. Ejecución de copia de seguridad de todas las bases de datos % pg_dumpall > db.out Backup a nivel de ficheros Este método implica copiar directamente los ficheros de la base de datos o comprimirlos a modo de copia de seguridad. El mayor inconveniente de este método es que obligatoriamente el servidor PostgreSQL debe estar apagado. Si quisiéramos hacer un backup comprimido de todas las bases de datos del
25
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Estrategias
Nombre BD Plan de Contingencia
servidor, suponiendo que se encuentran en /var/pgsql/data sería así # tar -czvf backup.tar.gz /var/pgsql/data Deben realizarse copias de seguridad de las bases de datos regularmente. Dado que Postgres gestiona sus propios ficheros en el sistema, no se recomienda confiar en los sistemas de copia de seguridad del sistema para las copias de respaldo de las bases de datos; no hay garantía de que los ficheros estén en un estado consistente que permita su uso después de la restauración. Postgres proporciona dos utilidades para realizar las copias de seguridad de su sistema: pg_dump para copias de seguridad de bases de datos individuales y pg_dumpall para realizar copias de seguridad de toda la instalación de una sola vez. La copia de seguridad de una sola base de datos puede realizarse usando la siguiente orden: % pg_dump nombredb > nombredb.pgdump y puede ser restaurada usando cat nombredb.pgdump | psql nombredb Esta técnica puede usarse para mover bases de datos a una nueva localización y para renombrar bases de datos existentes
Microsoft SQL server2 Diario: 05:00 am. Ejecución de copia de seguridad de cada base de datos crear una copia de seguridad de solo copia Usar Transact-SQL La sintaxis de Transact-SQL necesaria es la siguiente: Para una copia de seguridad completa de solo copia: BACKUP DATABASE nombre_baseDeDatos TO … WITH COPY_ONLY … Para una copia de seguridad de registros de solo copia: BACKUP LOG nombre_baseDeDatos TO … WITH COPY_ONLY … Usar PowerShell Use el cmdlet Backup-SqlDatabase con el parámetro -CopyOnly. Semanal: : 04:00 am del día Viernes. Copias de seguridad de la base de datos en el modelo de recuperación simple El siguiente ejemplo muestra cómo crear una copia de seguridad completa de la base de datos mediante WITH FORMAT para sobrescribir cualquier copia de seguridad existente y crear un nuevo conjunto de medios. -- Back up the AdventureWorks2012 database to new media set. BACKUP DATABASE AdventureWorks2012 TO DISK = 'Z:\SQLServerBackups\AdventureWorksSimpleRM.bak' WITH FORMAT; GO
Mensual: : 03:00 am del día 15. Ejecución de copia de seguridad de todas las bases de datos Copias de seguridad de la base de datos en el modelo de recuperación completa USE master; ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL; GO 2
AdventureWorks2012 es un ejemplo del nombre de la BD
26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
-- Back up the AdventureWorks2012 database to new media set (backup set 1). BACKUP DATABASE AdventureWorks2012 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak' WITH FORMAT; GO
--Create a routine log backup (backup set 2). BACKUP LOG AdventureWorks2012 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak'; GO
Estrategias
Una estrategia de copia de seguridad y restauración contiene una parte de copia de seguridad y una parte de restauración. La parte de copia de seguridad de la estrategia define el tipo y la frecuencia de las copias de seguridad, la naturaleza y la velocidad del hardware necesario, cómo se prueban las copias de seguridad, y dónde y cómo se almacenan los medios de copia de seguridad La estrategia de copias de seguridad óptima depende de distintos factores, de entre los cuales destacan los siguientes: ¿Cuántas horas al día requieren las aplicaciones acceso a la base de datos? Si prevé un período de poca actividad, se recomienda programar las copias de seguridad de bases de datos completas en dicho período. ¿Cuál es la probabilidad de que se produzcan cambios y actualizaciones? Si se realizan cambios frecuentes, tenga en cuenta los siguientes aspectos: o Con el modelo de recuperación simple, considere la posibilidad de programar copias de seguridad diferenciales entre copias de seguridad de bases de datos completas. Una copia de seguridad diferencial sólo incluye los cambios desde la última copia de seguridad de base de datos completa. o Con el modelo de recuperación completa, debe programar copias de seguridad de registros frecuentes. La programación de copias de seguridad diferenciales entre copias de seguridad completas puede reducir el tiempo de restauración al disminuir el número de copias de seguridad de registros que se deben restaurar después de restaurar los datos. ¿Es probable que los cambios tengan lugar sólo en una pequeña parte de la base de datos o en una grande? Para una base de datos grande en la que los cambios se concentran en una parte de los archivos o grupos de archivos, las copias de seguridad parciales o de archivos pueden ser útiles. ¿Cuánto espacio en disco necesitará una copia de seguridad completa de la base de datos?
Nombre BD Plan de Contingencia
Mysql Diario: 05:00 am. Backup de una base de datos completa mysqldump –h localhost –u user –ppassword bbdd > backup.sql Semanal: : 04:00 am del día Viernes. Backup de dos o mas bases de datos completas mysqldump –h localhost –u user –ppassword --databases bbdd1 bbdd2 > backup.sql
27
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Estrategias
Mensual: : 03:00 am del día 15 Backup de todas las bases de datos mysqldump –h localhost –u user –ppassword –all-databases > backup.sql URANIUM BACKUP PRO Se pueden programar copias de seguridad múltiples y paralelas de servidores de bases de datos locales, en red y remotos, sin ninguna interrupción de los servicios (copia de seguridad en caliente). Uranium Backup también dispone de características extendidas y avanzadas de copia de seguridad, como la compresión zip, el cifrado AES 256 bits, la posibilidad de crear nombres de archivos de copia de seguridad personalizados (con marca de fecha y hora) y diversas comprobaciones precisas. Puede copiar los archivos de copia de seguridad de SQL Server en varios destinos: puede guardarlos en cinta o discos DVD o Blu-Ray, puede transferirlos a través de FTP o copiarlos en cualquier dispositivo de almacenamiento masivo (NAS, REV, RDX, unidades de disco duro externas, etc.). Copia de seguridad en caliente: La copia de seguridad se realiza incluso si la base de datos o el servidor Exchange se están ejecutando. El programa no afecta al rendimiento del servidor o el cliente, ya que hace un uso mínimo de recursos. Archivos de copia de seguridad totalmente compatibles: Uranium crea archivos de copia de seguridad en un formato compatible con SQL Server, de manera que también puede restaurar estos archivos con herramientas de Microsoft como Enterprise Manager/Management Studio y PowerShell. No hay ningún formato propietario y, por lo tanto, tiene la seguridad de que sus copias de seguridad son siempre compatibles. Compresión zip integrada: Uranium Backup dispone de un motor de compresión zip integrado y potente para comprimir los archivos de copia de seguridad. Para SQL Server 2008 Enterprise y versiones posteriores, también está disponible la compresión nativa "al vuelo". Cifrado seguro AES de 256 bits: Puede proteger los datos confidenciales almacenados en los archivos de copia de seguridad usando el cifrado más potente que existe hoy en día. De este modo, puede cumplir las normativas y las leyes, y garantizar que los datos privados y confidenciales estén bien protegidos. Programación de copias de seguridad automáticas: En Uranium Backup se incluye una herramienta de planificación flexible y automática para que pueda crear planes de copia de seguridad completos para sus bases de datos. Es posible efectuar múltiples copias de seguridad paralelas de varios servidores de bases de datos, sin ningún consumo importante de los recursos del sistema. Copia de seguridad y restauración eficaces por FTP: Almacene y descargue sus datos en servidores FTP repartidos a través de Internet. Una solución sencilla para proteger sus datos empresariales en una ubicación diferente con poco esfuerzo. Copia de seguridad en la nube en espacio de almacenamiento de Microsoft Windows Azure: Aproveche la escalabilidad y flexibilidad de las copias de seguridad en la nube con Uranium. Realice copias de seguridad de sus datos en
28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
Microsoft Windows Azure
29
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
CONCLUSIONES.
El aspecto que consideran los especialistas en administración de bases de datos (DBAs) como principal beneficio de la última versión de Oracle Database en comparación a las versiones anteriores se sintetiza en poder gestionar las labores de administración y mantenimiento de hasta 256 bases de datos individuales como si fuera una única, lo que reduce en gran medida el esfuerzo y tiempo. La arquitectura de una base de datos y la seguridad que requiere, entendiendo además que las bases de datos se encuentran altamente influenciadas por los sistemas informáticos que soporta la instalación del SGBD, uno de los principales objetivos de este tipo de arquitectura es en escala de tres niveles es el de separar los programas de la aplicación, este tipo de esquema se realizó y especifico mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como cualquier método que se encuentre asociado. Algunos de los aspectos aprendidos y que de gran peso es la base de datos su definición, requerimiento, ventajas y características donde podemos decir que la base de datos: Es una colección de datos o información usados para dar servicios a muchas aplicaciones al mismo tiempo. En cuanto al requerimiento podemos decir que cumple loas mismas tareas de análisis que del software y tiene como característica relacionar la información como vía organización y asociación donde la base de datos tiene una ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicación en las organizaciones.
30
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado)
BIBLIOGRAFIA ¿Por qué MySQL? Disponible en: http://www.oracle.com/es/products/mysql/index.html 35 motores de bases de datos Open source. Disponible en:http://www.muylinux.com/2010/03/04/35motores-de-bases-de-datos-open-source Administrador apache, Disponible en: http://myslide.es/documents/configuracion-apache.html Administrador de Base de Datos Disponible en:: http://blog.capacityacademy.com/2013/02/18/cuales-sonlas-funciones-de-un-administrador-de-base-de-datos-parte-1-de-2/ Alerta-de-seguridad-del-arcert Disponible en: http://www.psi.unc.edu.ar/seguridad/alerta-de-seguridad-delarcert/alerta-de-seguridad-arcert2009091401-postgresql Auditoria y seguridad Oracle released 12c. Disponible en:http://www.oracle.com/technetwork/es/articles/idm/auditoria-unificada-database-12c-2538967esa.html Capa de sockets seguros Disponible en:: https://technet.microsoft.com/eses/library/ms189067(v=sql.105).aspx Carlos Brassfield, Ronald Rodríguez y Marcos Rojas. AMENAZAS A LA SEGURIDAD INFORMÁTICA Disponible en: http://es.slideshare.net/brassfield26/amenazas-a-la-seguridad-informtica Cifrado transparente de datos (TDE) Disponible en:: Copias de Seguridad y Recuperación en PostgreSQL. Disponible en:http://sparcki.blogspot.com.co/2010/11/copias-de-seguridad-y-recuperacion-en.html Dávila Arias , Karen M. Un estudio de caso en ULACIT ULACIT, San José, Costa Rica Disponible en: http://bb9.ulacit.ac.cr/tesinas/publicaciones/043474.pdf Documentación Postgresql Disponible en: http://www.postgresql.org.es/documentacion Dos graves vulnerabilidades en MySQL y PHP . Disponible en: http://www.vsantivirus.com/vul-mysqlphp.htm Ediciones de SQL Server. Disponible en:http://www.microsoft.com/es-es/server-cloud/products/sql-servereditions/sql-server-express.aspx Falla en sql Disponible en: http://cioperu.pe/articulo/352/falla-en-sql/ Farías , Jared. Cuadro Comparativo de Gestores de Base de Datos. 28 de Jul, 2013 Disponible en: https://es.scribd.com/doc/156575582/Cuadro-Comparativo-de-Gestores-de-Base-de-Datos Firerbird. Administración y seguridad. Disponible en: http://www.firebird.com.mx/descargas/documentos/tema_5-administracion_y_seguridad.pdf Guía de seguridad de Oracle® VM Server for SPARC 3.1 . Disponible en: https://docs.oracle.com/cd/E49213_01/html/E40604/operationalenvironment.html#scrolltoc Habilitar la autenticación y crear un superusuario en MongoDB. Disponible en: http://neuronadicta.com/post/habilitar-la-autenticacion-y-crear-un-superusuario-en-MongoDB/ HSQLDB-Hyper-SQL-Database. Disponible en: https://slidebean.com/p/cJBds9bRzG/HSQLDB-HyperSQL-Database Iniciación a DB2 para Linux, UNIX y Windows. Disponible en: http://www.ibm.com/developerworks/ssa/data/newto/db2luw-getstarted.html Los mejores motores de bases de datos Disponible en: http://www.gestiondeti.com/sistemas-deinformacion/los-mejores-motores-de-bases-de-datos Microsoft. Matriz de amenazas y vulnerabilidad (motor de base de datos). Disponible en: https://technet.microsoft.com/es-es/library/bb895180(v=sql.105).aspx Oracle Continuidad de Negocio. Disponible en: . http://es.slideshare.net/DatadecGroup/oracle-continuidadde-negocio Oracle Database 12c: RAC 12c “Nuevas Características”. Disponible en:http://www.oracle.com/technetwork/es/articles/database-performance/rac12c-nuevascaracteristicas-part1-2100320-esa.html PostgreSQL 9.6 RC 1. Publicado el 09/01/2016 Disponible en: https://www.postgresql.org/about/news/1693/ PostgreSQL: cómo crear y restaurar backups de bases de datos. Disponible en:http://rm-rf.es/postgresqlcomo-crear-y-restaurar-backups-de-bases-de-datos/ Raul F. Chong, DB2 on Campus program manager, IBM. 07-07-2010. Disponible en: http://www.ibm.com/developerworks/ssa/data/library/techarticle/dm-1006db2expressc972/ Realizar copias de seguridad y restaurar bases de datos de SQL Server. Disponible en: https://msdn.microsoft.com/es-es/library/ms187048(v=sql.120).aspx Sistemas de bases de datos disponibles Disponible en: https://dinahosting.com/hosting/bases-de-datos Syllabus y Agenda integrada de actividades del curso Seguridad en Bases de Datos.
31
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD Escuela de Ciencias Básicas, Tecnología e Ingeniería ECBTI Seguridad en Bases de Datos (Posgrado) TicBeat. Las 10 grandes amenazas de seguridad en las bases de datos. 17 abril, 2013. Disponible en: http://www.ticbeat.com/tecnologias/10-grandes-amenazas-seguridad-bases-datos/ Tipos de bases de datos y las mejores bases de datos del 2016. November 18, 2015. Disponible en: http://blog.pandorafms.org/es/tipos-de-bases-de-datos-y-las-mejores-bases-de-datos-del-2016/ Vulnerabilidades Disponible en: http://www.seguridad.unam.mx/vulnerabilidadesDB/?vulne=5691
32
View more...
Comments