La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


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

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

2 Autenticación

3 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 Índice del curso

4 Índice del capítulo Tipos de usuarios Mecanismos de autenticación Gestión de contraseñas Autenticación fuerte

5 Objetivos de la autenticación Identificar a los usuarios que acceden a la bbdd con un grado razonable de confianza

6 Métodos de autenticación Algo que el usuario conoce Usuario/contraseña, PIN, frase de paso Algo que el usuario posee Certificado digital, token, tarjeta Algo que el usuario es Biometría: iris, huella dactilar El lugar en el que el usuario está Sistemas de localización en interiores (ILS), geolocalización IP

7 Tipos de autenticación en bbdd Internos Autenticación por la propia bbdd Los usuarios sólo existen dentro de la bbdd Externos Los usuarios de bbdd pueden asociarse a usuarios o grupos del SO Autenticación por el SO El SO resuelve el problema de la gestión de contraseñas

8 Autenticación en SQL Server 2005 Dos modos de autenticación Windows (predeterminada y recomendada): El SO se encarga de la autenticación Mixta: Los usuarios pueden autenticarse a través del SO o de la bbdd

9 Mejores prácticas según Microsoft Utilice autenticación Windows siempre que sea posible Utilice el modo mixto sólo con aplicaciones que no soportan la autenticación Windows o para usuarios de entornos no Windows Asegure siempre la cuenta sa con una contraseña robusta (jamás la deje en blanco) Aunque active el modo mixto, utilice usuarios de Windows para tareas administrativas Renombre la cuenta sa para prevenir ataques de diccionario/fuerza bruta contra ella

10 Autenticación en Oracle 10g Autenticación nativa de Oracle: usuarios internos a la bbdd Autenticación por el SO: usuarios externos a la bbdd Cuando se cambian las contraseñas de usuarios internos viajan en claro por la red, no así con los externos

11 Práctica: Creación de usuarios Crear usuarios internos y externos utilizando las herramientas gráficas de administración de Oracle 10g y de SQL Server 2005

12 Opciones de implementación No utilice contraseñas en blanco No deje contraseñas predeterminadas Audite sus contraseñas Utilice las mejores prácticas para contraseñas Utilice una herramienta de cracking de contraseñas Monitorice los inicios de sesión fallidos en busca de ataques contra la autenticación

13 Buenas prácticas para contraseñas Utilice contraseñas con mezcla de mayúsculas y minúsculas Utilice números en sus contraseñas Utilice signos de puntuación Se recomienda un mínimo de ocho caracteres

14 Malas prácticas para contraseñas Utilizar la misma contraseña en todas las máquinas y servicios Utilizar como contraseña el nombre de usuario o variaciones del mismo (p.e. hacia atrás) Utilizar palabras sencillas, recogidas en diccionarios Utilizar información fácilmente vinculable Utilizar fechas Utilizar contraseñas tan difíciles de recordar que es necesario apuntarlas en un post-it

15 Gusano Spida o SQL Snake Objetivo del ataque: servidores SQL Server con la contraseña de sa en blanco Funcionamiento: Escaneo de IP en busca del puerto 1433 a la escucha Intento de conexión utilizando sa con contraseña en blanco o una lista de contraseñas sencillas Si tiene éxito: se copia y se propaga a otros sistemas SQL Server antes venía con la contraseña de sa en blanco En Oracle también se utilizaban contraseñas predeterminadas

16 Práctica: Cracking de contraseñas Capaces de realizar ataques contra la autenticación: Diccionario: se prueban palabras habituales Fuerza bruta: se prueban todas las combinaciones posibles de letras Herramientas SQLdict: ntsecurity.nu/toolbox/sqldict ForceSQL: Checkpwd: security.com/software/checkpwd.html SQLPat:

17 Herramientas de verificación de contraseñas Se ejecutan en la propia bbdd, no en remoto Tienen acceso a la tabla donde se almacenan las contraseñas SQL Server: NGSSQLCrack: Oracle: Oracle Auditing Tools (OAT): Oracle Password Cracker: Sólo funcionan para usuarios internos a la bbdd, no para el SO (para el SO existen otras herramientas)

18 Monitorización de inicios de sesión fallidos Siempre deberían monitorizarse los inicios de sesión fallidos: Los usuarios legítimos fallan una o dos veces Las aplicaciones no fallan jamás El cracking falla muchas veces por segundo o por minuto Una vez con estos registros: Pueden revisarse periódicamente Pueden generarse alertas automáticas al superarse un umbral La monitorización de estos registros puede hacerse: Dentro de la bbdd con herramientas nativas Utilizando una herramienta externa de monitorización

19 Bloqueo de cuentas Puede bloquearse la cuenta cuando se supera un umbral de intentos fallidos de inicio de sesión Puede implantarse tanto para usuarios internos como externos

20 Práctica de bloqueo de cuentas Oracle El atributo FAILED_LOGIN_ATTEMPTS de los perfiles de seguridad SQL Server Utilizar el administrador

21 Ataque de denegación de servicio El bloqueo de cuentas es un arma de doble filo Podría ser utilizado por un atacante para DoS Posible solución: Bloquear la dirección IP en lugar de la cuenta Se asume que el atacante utiliza una IP distinta a la de los usuarios legítimos Implementación con un cortafuegos o herramienta externa

22 Gestión de contraseñas Bloqueo de cuentas Número de intentos de inicio de sesión fallidos Caducidad de contraseñas Tiempo máximo de validez Períodos de gracia Historial de contraseñas Prohibido reutilizar contraseñas antiguas Complejidad de contraseñas Longitud mínima, tipos de caracteres, etc.

23 Perfiles en Oracle Bloqueo de cuentas FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME Caducidad de contraseñas PASSWORD_LIFE_TIME PASSWORD_GRACE_TIME Historial de contraseñas PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX Complejidad de contraseñas PASSWORD_VERIFY_FUNCTION

24 Práctica: Creación de perfiles de usuario en Oracle Crear el siguiente perfil de usuario: \rdbms\admin\utlpwdmg.sql Máximo número de intentos fallidos: 3 Tiempo de bloqueo de contraseña: 1 hora Caducidad de contraseñas: 60 días Período de gracia: 7 días Reutilización de contraseñas: 6 cambios Complejidad: mínimo 8 caracteres alfanuméricos con signos de puntuación Asignar el perfil a un usuario y probarlo

25 Directivas de contraseñas en SQL Server 2005 Dos tipos de reglas: Directivas de contraseñas Directivas de bloqueo de contraseñas Se utiliza la Consola de Directivas de Grupo Objeto Directiva de Grupo Local Al crear nuevos usuarios debe activarse esta opción

26 Directivas de contraseñas Historial de contraseñas Mínima edad de contraseñas Máxima edad de contraseñas Longitud mínima de contraseñas Complejidad de contraseñas

27 Directivas de bloqueo de contraseñas Umbral de bloqueo de cuenta Duración del bloqueo Reiniciar el contador de bloqueo tras n minutos


Descargar ppt "Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g."

Presentaciones similares


Anuncios Google