La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en bases de datos: SQL Server 2005 y Oracle 10g

Presentaciones similares


Presentación del tema: "Seguridad en bases de datos: SQL Server 2005 y Oracle 10g"— Transcripción de la presentación:

1 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g
Madrid, junio de 2009

2 Confidencialidad

3 Índice del curso Introducción a la seguridad de la información
Configuración de la plataforma Confidencialidad Integridad Disponibilidad Autenticación Autorización Auditoría Integración de bases de datos con otras aplicaciones Hacking de base de datos

4 Índice del capítulo Cifrado de datos en tránsito SSL Otros mecanismos de cifrado Cifrado de datos en reposo

5 Objetivos de la confidencialidad
Garantizar que los datos, objetos y recursos solamente pueden ser leídos por sus destinatarios legítimos

6 Ataques contra la confidencialidad
Los sniffers de red Acceso no autorizado a archivos Acceso remoto no autorizado a bases de datos Acceso no autorizado a equipos

7 Contramedidas para proteger la confidencialidad
Clasificación de datos Cifrado de datos Autenticación de usuarios Autorización de usuarios

8 Clasificación de datos
No todos los datos poseen los mismos niveles de privacidad, sensibilidad o confidencialidad Algunos datos requieren más seguridad que otros Debe destinarse una mayor inversión y esfuerzo a proteger los datos más importantes Con el fin de asegurar un grado de protección adecuado para todos los activos de información, ésta se clasifica en distintos grados y se definen unas medidas de seguridad necesarias para cada grado.

9 Ejemplos de clasificación de datos
Sector privado Confidencial: usada por personas no autorizadas podría causar importante daño a la organización Sensible o reservado: usada por personas no autorizadas iría contra los intereses de la organización o sus clientes Privado o de uso interno: ninguna protección para difusión interna Público: ninguna protección para difusión interna o externa

10 Concepto de Información Clasificada en Seguridad del Estado
MATERIAS CLASIFICADAS + MATERIAS OBJETO RESERVA INTERNA Materias Clasificadas: Asuntos, actos, documentos, informaciones, datos y objetos cuyo conocimiento por personas no autorizadas puedan dañar o poner en riesgo la seguridad y defensa del Estado. Materias Objeto de reserva interna: Asuntos, actos, documentos, informaciones, datos y objetos cuyo conocimiento por personas no autorizadas pudiera afectar a la seguridad del Ministerio de Defensa, amenazar sus intereses o dificultar el cumplimiento de su misión.

11 Grados de Información Clasificada
SECRETO (S): se aplicará a los asuntos, actos, documentos, informaciones, datos y objetos que precisen del más alto grado de protección por su excepcional importancia y cuya revelación no autorizada por autoridad competente para ello pudiera dar lugar a riesgos o perjuicios de la seguridad y defensa del Estado. RESERVADO (R): se aplicará a los asuntos, actos, documentos, informaciones, datos y objetos no comprendidos en el apartado anterior por su menor importancia, pero cuyo conocimiento o divulgación pudiera afectar a la seguridad y defensa del Estado.

12 Grados de Información Clasificada
CONFIDENCIAL (C): se aplicará a los asuntos, actos, documentos, informaciones, datos y objetos, no comprendidos en los apartados anteriores, cuya revelación no autorizada pudiera dañar la seguridad del Ministerio de Defensa, perjudicar sus intereses o dificultar el cumplimiento de su misión. DIFUSION LIMITADA (DL): se aplicará a los asuntos, actos, documentos, informaciones, datos y objetos, no comprendidos en los apartados anteriores, cuya revelación no autorizada pudiera ir en contra de los intereses y la misión del Ministerio de Defensa.

13 Grados de Información Clasificada
+ SECRETO RESERVADO CONFIDENCIAL DIFUSIÓN LIMITADA Nivel de gravedad del acceso no autorizado Grado de protección requerido SIN CLASIFICAR -

14 Criptografía de clave secreta
Misma clave para cifrado y descifrado Muy rápidos, adecuados para cifrar grandes volúmenes de datos Algoritmos de uso común: AES: Rijndael DES, Triple DES, DESX: aplicaciones bancarias, EFS IDEA: PGP RC4, RC5: SSL

15 Criptografía de clave secreta
Cifrar Clave Descifrar Texto claro Texto cifrado

16 Criptografía de clave pública
Clave pública para cifrar Clave privada para descifrar A partir del conocimiento de la clave pública no es posible determinar la clave privada ni descifrar el texto con ella cifrado Más lentos, adecuados para: Autenticación Distribución de claves de sesión Firmas digitales

17 Criptografía de clave pública
Cifrar Clave púb Descifrar Texto claro Texto cifrado priv

18 Distribución segura de claves de sesión
púb Clave priv Cifrar Descifrar Ks EKpub(Ks) Ks

19 Firma digital de mensajes
Hash Cifra Hash KPub H = H2 H1 Cifra KPriv EKPriv(H) Firma

20 Cifrado de datos en tránsito
Con acceso a la red y las herramientas adecuadas, puede interceptarse todo el tráfico: Consultas enviadas a la bbdd Respuestas con los datos Las comunicaciones de bbdd por defecto viajan en claro (o casi) Pueden obtenerse sin demasiado esfuerzo Solución: cifrado de las comunicaciones de extremo a extremo (los datos están en claro en la bbdd) Antes de utilizar cifrado en tránsito debe analizarse si realmente es necesario ya que supone un impacto en el rendimiento

21 Práctica: sniffers Para “sniffar” las comunicaciones debe ocurrir: 1. El hacker debe poder pinchar físicamente el enlace de comunicaciones entre cliente y servidor Ejecutar el sniffer en el cliente Ejecutar el sniffer en el servidor Ejecutarlo en otros nodos de la red 2. El hacker debe entender el flujo de datos para extraer información relevante

22 Opciones de cifrado de datos en tránsito
Características específicas de la bbdd: Oracle Advanced Security Métodos basados en la conexión: SSL Túneles seguros: SSH Delegar en el sistema operativo: IPSec

23 Oracle Advanced Security (OAS)
Proporciona una suite de seguridad para proteger redes de servidores Oracle Proporciona: Cifrado de datos Integridad de datos Autenticación SSL Configuración a través de Oracle Net Manager Disponible sólo para la versión Enterprise Coste extra Nunca ha gozado de gran aceptación

24 Cifrado de datos en tránsito con OAS
Algoritmos de cifrado: RC4: 40, 56, 128, 256 DES: 40, 56 Triple DES: 112, 168 AES: 128, 192, 256 Se puede seleccionar uno o más Se utiliza el primero en común entre cliente y servidor Protege frente a intercepción de tráfico

25 Cifrado de datos en tránsito con SSL
Servicios de SSL: Cifrado e integridad de datos Autenticación de servidores Autenticación de clientes Pueden utilizarse solos o separados Componentes: Autoridad de certificación Certificados digitales Carteras (Wallets)

26 Práctica: Cifrado del canal con SSL en SQL Server 2005
Obtener un certificado digital de servidor Instalarlo en el servidor a través de una consola MMC Instalarlo en los clientes que vayan a conectarse al servidor Configuración del acceso con SSL Exigir SSL en el servidor: Se cifran todas las comunicaciones, vengan de donde vengan Exigir SSL en los clientes: Se cifran las comunicaciones procedentes de ese cliente Exigir SSL en las aplicaciones: Se cifran las comunicaciones procedentes de esa aplicación

27 Cifrado de datos en reposo
Cifrar los datos almacenados en las tablas de la bbdd Capa de seguridad adicional Útil para datos especialmente sensibles que necesitan mayor protección que los normales: datos personales, datos clasificados, información financiera, etc.

28 Escenarios de riesgo Proteger los datos de usuarios legítimos de la bbdd por ejemplo, para que el DBA no vea datos a los que por otro lado necesita tener acceso Robo de archivos o discos duros Fallo de seguridad física, de manera que un hacker roba (o copia) el disco con los archivos de sistema usados por la bbdd

29 Opciones de cifrado de datos en reposo
¿En qué capa se cifran los datos? A nivel de aplicación A nivel de sistema de archivos A nivel de bbdd En todos los casos los datos permanecen cifrados dentro de la bbdd

30 Cifrado a nivel de aplicación
Los desarrolladores de la aplicación utilizan bibliotecas criptográficas para cifrar/descifrar los datos: JCA en Java, CryptoAPI en C++, Security en .NET, CAPICOM, etc. Los datos en la bbdd están siempre cifrados Totalmente transparente para la bbdd: no hay nada que hacer a este nivel

31 Desventajas del cifrado a nivel de aplicación
Si varias aplicaciones acceden a los datos, es necesario reproducir el código, posiblemente en distintos lenguajes, con distintas bibliotecas y para distintas plataformas, volviendo la solución difícil de implantar y mantener Los datos sólo pueden utilizarse dentro de la aplicación (lo cual puede ser la ventaja buscada) No simplifica nada: le pasa la responsabilidad a la aplicación

32 Cifrado a nivel de sistema de archivos
Se descarga la responsabilidad en el sistema operativo Se utilizan las capacidades avanzadas de algunos sistemas operativos para almacenar datos de forma cifrada: EFS de Windows

33 Problemas con el cifrado a nivel de sistema de archivos
Penalización en el rendimiento porque se cifra/descifra absolutamente todo Este enfoque sólo resuelve el problema del robo de archivos/discos duros No resuelve el problema del acceso selectivo de usuarios legítimos, ya que desde el punto de vista del SO quien accede es el proceso de la bbdd y no puede distinguirse entre distintos usuarios de la bbdd

34 Sistema de archivos cifrado de Windows: EFS
Permite cifrar el contenido de cualquier carpeta o archivo Presente en el SO desde Windows 2000 Solución altamente segura, integrada con el sistema de archivos, totalmente transparente para el usuario y con la capacidad de recuperar datos cifrados Se basa en el uso de criptografía de clave pública y de algoritmos de cifrado simétrico

35 Funcionamiento de EFS Cada archivo tiene una clave de cifrado de archivo única (FEK), utilizada más adelante para descifrar los datos del archivo La FEK cifrada por la clave pública del usuario La FEK también está protegida por la clave pública de cada usuario autorizado para descifrar el archivo y por cada agente de recuperación La clave privada está protegida por la clave maestra del usuario La clave maestra está cifrada con DPAPI

36 Funcionamiento de DPAPI
DPAPI proporciona dos funciones: Cifrar y Descifrar La clave utilizada para esta operación se genera a partir de: La propia clave maestra de usuario El SID de usuario Su contraseña de inicio de sesión Conclusión: la robustez de EFS descansa sobre la contraseña de inicio de sesión del usuario

37 Recuperación de claves
¿Qué pasaría si se pierde y olvida la contraseña de usuario? Los datos se perderían irremisiblemente. EFS incorpora directivas de recuperación que permiten designar a uno o varios agentes de recuperación de claves Cada agente tiene su propia pareja de claves pública y privada Cada archivo cifrado almacenará en el atributo $EFS un campo de recuperación de datos (Data Recovery Field o DRF), que contiene la clave FEK utilizada para cifrar el archivo, cifrada a su vez con la clave pública del agente Si se han creado varios agentes, se añadirán tantos campos DRF como agentes distintos Cada uno de ellos podrá descifrar los contenidos del archivo

38 Práctica: cifrado de archivos con EFS
Detener el servicio Iniciar sesión con las credenciales de la cuenta de SQL Server Cifrar la carpeta o archivos deseados Reiniciar el servicio Borrar archivos temporales con una herramienta de borrado seguro Cuando se transmiten archivos cifrados a través de la red, EFS los descifra antes

39 Cifrado a nivel de bbdd La opción más práctica: usar la propia bbdd para cifrar/descifrar datos Las bbdd más sofisticadas incluyen: Rutinas de cifrado incorporadas Compatibilidad con productos criptográficos de terceros Elementos de un buen esquema de cifrado: Acceso a funciones criptográficas Buena gestión de claves Manejo transparente de los datos cifrados

40 Principios del cifrado de datos en reposo
1. El cifrado no soluciona problemas de control de acceso 2. El cifrado no protege contra el DBA malintencionado 3. Cifrarlo todo no hace que los datos estén más seguros

41 Cifrado de datos en reposo con Oracle 10g
Utilizar el paquete DBMS_CRYPTO Soporta los siguientes algoritmos: DES, 3DES AES SHA-1 MAC SHA-1 Soporta modos de encadenamiento de cifrado en bloque Soporta el cifrado de tipos de datos como RAW, BLOB y CLOB Pensado para reemplazar a DBMS_OBFUSCATION_TOOLKIT La gestión de claves es programática

42 Práctica: cifrado de datos en Oracle con DBMS_CRYPTO

43 Gestión de claves en Oracle
Generación Puede utilizarse la función RANDOMBYTES de DBMS_CRYPTO Nunca utilizar el paquete DBMS_RANDOM Transmisión Siempre cifradas Puede utilizarse OAS para el cifrado de la red Cambio periódico de claves Almacenamiento Uno de los aspectos más difíciles Debe estar accesible a los usuarios autorizados, pero no al resto

44 Opciones de almacenamiento de claves en Oracle
Almacenamiento en la bbdd Almacenamiento en el SO Los usuarios gestionan sus propias claves Utilizar cifrado transparente de la bbdd

45 Cifrado transparente de datos
Permite el cifrado de datos sensibles en columnas sin requerir que el usuario o la aplicación gestionen las claves Los datos se descifran automáticamente cuando el usuario ha pasado unos controles de acceso Cuando una tabla contiene columnas cifradas, se utiliza la misma clave para todas ellas Las claves de todas las tablas están cifradas con una clave maestra de la bbdd y se almacenan en una tabla diccionario, de manera que ninguna clave está en claro La clave maestra se almacena en un módulo de seguridad externo a la bbdd gestionado por Oracle Wallet, accesible únicamente por el administrador Se separan las tareas de administración y de seguridad

46 Cifrado de datos en reposo con SQL Server 2005
Utiliza un modelo jerárquico de cifrado y gestión de claves Cada nivel de la jerarquía cifra los datos del nivel inferior El cifrado de SQL Server 2005 reposa sobre DPAPI para crear las claves maestras de servicio y de bbdd Una vez creadas, se pueden crear claves de cifrado de bbdd, certificados y frases de paso, y utilizarlo para cifrar datos El cifrado se restringe al tipo de datos varbinary El cifrado puede realizarse al nivel de celda Dependiendo del tipo de datos, el cifrado podría exigir cambios de esquemas o conversiones de tipos de datos al tipo varbinary

47 Jerarquía de claves de cifrado de SQL Server 2005

48 Práctica: cifrado de datos con SQL Server 2005
Ejemplo de cifrado con claves simétricas Ejemplo de cifrado con certificados

49 Elementos a tener en cuenta al escoger una opción de cifrado
Gestión de claves Recuperación Integración con sistemas PKI Copias de seguridad y restauración Clustering Replicación Rendimiento Cifrar selectivamente Nunca cifrar columnas de claves primarias o índices Realizar pruebas Espacio de disco Rastros de auditoría

50 Mejores prácticas según Microsoft
Utilizar cifrado simétrico para cifrar los datos de la bbdd Utilizar cifrado asimétrico para cifrar las claves simétricas Para evitar pérdida de datos, crear y almacenar de forma segura copias de todas las claves Asegurarse de que las claves se protegen siempre con contraseñas seguras Cifrar exclusivamente la información crítica Los algoritmos RC2 y RC4 son débiles y no deberían utilizarse para cifrar datos críticos

51 Consejos Antes de implantar cifrado de la bbdd debe crearse una estrategia de cifrado de datos y de gestión de claves que cumple con los objetivos de la organización Cifrar datos sin una planificación previa, puede conducir a una falsa sensación de seguridad y a problemas de todo tipo, siendo el caso peor la pérdida irrecuperable de información Los siguientes pasos ayudan a identificar requisitos de cifrado: Clasificar los datos Determinar contra quién se quieren proteger Averiguar dónde están los datos en riesgo Determinar el nivel de cifrado requerido

52 Herramientas externas de cifrado
DbProtect Defiance Data Protection System SQL Shield


Descargar ppt "Seguridad en bases de datos: SQL Server 2005 y Oracle 10g"

Presentaciones similares


Anuncios Google