[ Modulo 9. Seguridad En Bases De Datos ] La Seguridad En Una Base De .

Transcription

Módulo 9.Seguridad en Bases de DatosLa seguridad en una base de datosFrancisco Medina López

Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos2

[ Introducción ] ¿Por qué es importante?Una base de datos con un bajo nivel deseguridad compromete no solamente a la basede datos misma, sino también al sistemaoperativo y a otros sistema relacionados.Para proteger el acceso a la informaciónsensible y a los activos digitales de unaorganización.Modulo 9. Seguridad en Bases de Datos3

[ Introducción ] ¿Por qué es importante?Los sistemas de bases de datos son sistemasextremadamente complejos y con grandificultad para configurar y asegurar.La protección del sistema operativo y de losservicios de red en un servidor de bases dedatos tiene una importancia crítica. Las bases de datos son la base de los nuevosnegocios electrónicos, de los sistemas deplaneación empresarial de recursos(ERP) y deotros sistemas críticos de negocios.Modulo 9. Seguridad en Bases de Datos4

[ Introducción ]Aspectos de seguridad Secrecía y confidencialidad Precisión, integridad y autenticidad Disponibilidad y recuperabilidadModulo 9. Seguridad en Bases de Datos5

[ Introducción ] Aspectos de seguridad Secrecía y confidencialidad– Los datos deben ser protegidos de liberación no autorizada Mediante recuperación directa o inferencia lógica Mediante lectura de usuarios no autorizadosPrecisión, integridad y autenticidad–Los datos deben ser protegidos de modificación accidental omaliciosa (considerando incluso la inserción de datos falsoso la destrucción de los mismos)–El origen de los datos debe ser verificableModulo 9. Seguridad en Bases de Datos6

[ Introducción ] Aspectos de seguridad Disponibilidad y recuperabilidad–Los sistemas de bases de datos deben mantenerseoperando y recuperarse en caso de pérdida dedatos.Modulo 9. Seguridad en Bases de Datos7

[ Introducción ] Problemas de seguridad La seguridad en bases de datos comprendemedidas para evitar:–Liberación inapropiada de información (pérdida desecrecía o confidencialidad)–Modificación inapropiada de datos (pérdida deintegridad)–Negación de servicio (pérdida de disponibilidad)–Robo o fraudeModulo 9. Seguridad en Bases de Datos8

[ Introducción ]Alcance de un dbaModulo 9. Seguridad en Bases de Datos9

[ Introducción ]Alcance de un dbaModulo 9. Seguridad en Bases de Datos10

[ Seguridad en Bases de Datos ] Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos11

[ Problemas de seguridad ] AmenazasUn manejador de base de datos debe protegersus datos de:–Accidentes, por ejemplo errores de captura o deprogramación.–Uso malicioso de la base de datos.–Fallas de hardware o software que corrompendatos.Modulo 9. Seguridad en Bases de Datos12

[ Problemas de seguridad ] AmenazasTipos de Amenazas- Accidentales o no fraudulentas (sin voluntad decausar daño):– Accidentes o desastres naturales Errores o bugs en hardware o software Errores humanosIntencionales o fraudulentas (con voluntadexplicita de causar daño) Involucran a dos tipos de usuarios:–Usuarios autorizados que abusan de sus privilegios y autoridad.–Agentes hostilesModulo 9. Seguridad en Bases de Datos13

[ Problemas de seguridad ] Consecuencias Liberación inapropiada de información Modificación inapropiada de datos Negación de servicioModulo 9. Seguridad en Bases de Datos14

[ Problemas de seguridad ] Requerimientos Los requerimientos mínimos necesarios quedebe cumplir cualquier programa que se digaRDBM son:–Autenticación de usuarios–Protección de acceso impropio–Integridad de la base de datos–Administración y protección de datos sensibles–Registro de eventos y auditoríaModulo 9. Seguridad en Bases de Datos15

[ Problemas de seguridad ] Requerimientos1. Autenticación de Usuarios–Necesidad de identificar de forma única a los usuarios de la basede datos.–Puede ser realizada por: Sistema operativo DBMS2. Protección de acceso impropio–Permitir acceso a los objetos de la BD solamente a usuariosautorizados–Problemática: Granularidad más fina que en el caso de lossistemas operativosModulo 9. Seguridad en Bases de Datos16

[ Problemas de seguridad ] Requerimientos3.Integridad fìsica–Sistema de respaldo y recuperación–Uso de un log o journal–Instrucciones especiales para aplicar operaciones ocancelarlas Con puntos de inicio y de control (commit)Modulo 9. Seguridad en Bases de Datos17

[ Problemas de seguridad ] Requerimientos4. Administración y protección de datos sensibles–Datos sensibles: –Datos que no deben ser hechos públicosFactores que pueden hacer sensibles a los datos: Inherentemente sensible El valor mismo debe protegerse (sea declarado sensible o no) Proviene de una fuente sensible Debe protegerse la fuente de la que procede Se ha declarado sensible Se derivan de un registro o un atributo sensibleModulo 9. Seguridad en Bases de Datos18

[ Problemas de seguridad ] Valor de la info. Puede haber bases de datos:–Solamente con datos sensibles–Solamente con datos públicos–Con ambos tipos de datosModulo 9. Seguridad en Bases de Datos19

[ Seguridad en Bases de Datos ] Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos20

[ Integridad de datos ] Expectativa de calidad de datos.– DefiniciónLos datos tienen integridad si su calidad alcanza osupera los requerimientos de calidad que losusuarios esperan de ellos.Protección contra la modificación impropia dedatos.Protección contra laautorizada de los datos.modificaciónModulo 9. Seguridad en Bases de Datosno21

[ Integridad de datos ] Tipos de integridadIntegridad de dominio–Requiere que un conjunto de valores sean válidospara una columna y especifica si se permitenvalores nulos.Se implementa mediante laverificación de validez y se puede forzarrestringiendo el tipo de datos, formato o rango devalores permitidos en una columna.Modulo 9. Seguridad en Bases de Datos22

[ Integridad de datos ] Tipos de integridadIntegridad de entidad–Requiere que todos los renglones de una tablatengan un identificador único, conocido como llaveprimaria. El valor de una llave primaria puedecambiarse dependiendo del nivel de integridadrequerido entre la llave primaria y otras tablas.Modulo 9. Seguridad en Bases de Datos23

[ Integridad de datos ] Tipos de integridadIntegridad referencial–Asegura que las relaciones entre la llave primaria(en una tabla referenciada) y las llaves foráneas(en una tabla referenciante) siempre se mantenga.–Un renglón en una tabla referenciada no puede serborrado y si un una llave foránea hace referencia aese renglón, tampoco la llave primaria puedemodificarse.Modulo 9. Seguridad en Bases de Datos24

[ Integridad de datos ]Tipos de integridadModulo 9. Seguridad en Bases de Datos25

[ Integridad de datos ]Tipos de integridadModulo 9. Seguridad en Bases de Datos26

[ Integridad de datos ]Forzando la integridad Integridad declarativa–Los criterios de integridad se declaran en lasdefiniciones de los objetos.–Se implementa mediante el uso de restriccionesdeclarativas que se definen directamente en tablasy columnas: Restricciones de llave Valores por omisión Valores de verificaciónModulo 9. Seguridad en Bases de Datos27

[ Integridad de datos ]Forzando la integridad Integridad procedimental–Criterios definidos en scripts.–Se implementa mediante el uso de procedimientosalmacenados y triggers.–Se puede implementar en el cliente o en elservidor.Modulo 9. Seguridad en Bases de Datos28

[ Seguridad en Bases de Datos ] Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos29

[ Control de Acceso ] DACControl de acceso discrecional (DAC)–Medio por el que se restringe el acceso a losobjetos a usuarios específicos o grupos deusuarios.–El propietario de un objeto puede otorgar privilegiosde acceso a otros usuarios sobre el mismo objeto,directamente o indirectamente.Modulo 9. Seguridad en Bases de Datos30

[ Control de Acceso ] DACPrivilegios–Medio por el que SQL implementa el DAC.–Se conceden privilegios por medio de unainstrucción GRANT y se usan para especificar unaacción permitida sobre un objeto específicoModulo 9. Seguridad en Bases de Datos31

[ Control de Acceso ] VistasLos usuarios tienen acceso a la vista, pero no ala tabla base.Apropiadas para restricciones de columnaSoportan herramientas de acceso y consultasad-hocEstán especificadas enindependientes del DBMSSQL-SonSe soporta la actualizaciónModulo 9. Seguridad en Bases de Datos32

[ Seguridad en Bases de Datos ] Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos33

[ Seguridad en Bases de Datos ] Contenido1.Introducción2.Problemas de seguridad en bases de datos3.Integridad de datos4.Control de acceso5.Arquitecturas de seguridad6.Mejores prácticasModulo 9. Seguridad en Bases de Datos34

[ Mejores prácticas ] RecomendacionesUsar un sistema de detección de intrusos,especialmente en servidores de bases de datos enlínea y de alto riesgo.Cambiar las contraseñas de las cuentas creadas poromisión durante la instalación. Asignar contraseñasfuertes a las mismas.Deshabilitar las cuentas de invitado y las cuentas dedemostración o ejemplo definidas durante lainstalación. Eliminar estas cuentas en las bases dedatos de producción.Modulo 9. Seguridad en Bases de Datos35

[ Mejores prácticas ] RecomendacionesMantener actualizado el DBMS con lasversiones más recientes del software y de losparches de seguridad liberados por elfabricante del software.No permitir que las aplicaciones consulten omanipulen directamente la base de datosmediante instrucciones SELECT, INSERT,UPDATE o DELETE. Usar procedimientosalmacenados en su lugar.Modulo 9. Seguridad en Bases de Datos36

[ Mejores prácticas ] RecomendacionesEn las aplicaciones, restringir la ejecución deinstrucciones de SQL dinámico.Impedir que las aplicaciones acepteninstrucciones de SQL de los usuarios y lasejecuten sobre la base de datos.Hacer que los usuarios consulten los datosmediante vistas en lugar de otorgarles acceso alas tablas base.Modulo 9. Seguridad en Bases de Datos37

[ Mejores prácticas ] RecomendacionesHabilitar la auditoría de acceso al sistema operativo yal servidor de base de datos. Revisar el registro deauditoría buscando los eventos fallidos de acceso ybuscar tendencias con la finalidad de detectarposibles intrusos.Monitorear cuidadosamente los registros (logs) deerror y de eventos y disparar automáticamente alertasrelacionadas con la seguridad y con errores. Protegerlos archivos de registro (log) mediante permisosapropiados de sistema operativo.Modulo 9. Seguridad en Bases de Datos38

[ Mejores prácticas ] RecomendacionesEn ambiente de bases de datos distribuidas,eliminar el acceso a los servidores que no seutilicen.Utilizar cuentas de acceso conmínimos privilegios para los servidoresrelacionados.Almacenar los archivos utilizados para cargamasiva de datos o por lotes (batch) en undirectorio con los permisos apropiados.Eliminar los archivos una vez que hayan sidoutilizados.Modulo 9. Seguridad en Bases de Datos39

[ Mejores prácticas ] RecomendacionesPara asegurar la replicación de datos sobreinternet o sobre una red de área amplia (WAN),implementar una red privada virtual (VPN).Definir y aplicar una política de respaldoperiódico. Almacenar los medios de respaldoen un lugar seguro. Realizar regularmenterestauraciones de la base de datos a partir delos respaldos.Modulo 9. Seguridad en Bases de Datos40

Una base de datos con un bajo nivel de seguridad compromete no solamente a la base de datos misma, sino también al sistema operativo y a otros sistema relacionados. Para proteger el acceso a la información sensible y a los activos digitales de una organización. Modulo 9. Seguridad en Bases de Datos 4 [ Introducción ] ¿Por qué es importante? Los sistemas de bases de datos son sistemas .