La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en SQL Server 2005 para Desarrolladores.

Presentaciones similares


Presentación del tema: "Seguridad en SQL Server 2005 para Desarrolladores."— Transcripción de la presentación:

1 Seguridad en SQL Server 2005 para Desarrolladores

2 © 2006 Solid Quality Learning Agenda SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR

3 © 2006 Solid Quality Learning SQL y la Seguridad Seguridad por Defecto Principio de Menor privilegio

4 © 2006 Solid Quality Learning Seguridad por defecto Parte de la iniciativa Trustworthy Servicios y Características deshabilitados de forma predeterminada Nueva herramienta para gestionarlo –Surface Area Configuration Tool

5 © 2006 Solid Quality Learning Principio del Menor Privilegio Por defecto: Sin acceso, sin derechos, sin permisos Mayor Granularidad de Permisos en SQL Server 2005 –Ej: CREATE TRACE, ALTER TRACE Seguridad en Metadatos –Solo veo los objetos a los que puedo acceder

6 © 2006 Solid Quality Learning Agenda SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR

7 © 2006 Solid Quality Learning Separación de Usuarios y Esquemas ¿Qué son los esquemas? Beneficios de los esquemas Esquema Predeterminado

8 © 2006 Solid Quality Learning ¿Qué son los esquemas? Espacio de Nombres para objetos de Base de Datos Maestros Productos (Server1.AdventureWorks.maestros.Productos) Ventas Pedidos (Server1.AdventureWorks.SalesData.Orders)

9 © 2006 Solid Quality Learning Beneficios de los Esquemas Los objetos están agrupados en el esquema Podemos administrar usuarios (borrar, cambiar nombre) sin modificar el esquema de nombres Podemos asignar permisos a nivel de esquema

10 © 2006 Solid Quality Learning Esquema Predeterminado Productos Pedidos SELECT * FROM Productos SELECT * FROM Pedidos SELECT * FROM Productos SELECT * FROM Pedidos Fernando (no default schema) Antonio (Default schema = ventas) Resolución de Nombres ventas dbo

11 © 2006 Solid Quality Learning Agenda SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR

12 © 2006 Solid Quality Learning Contexto de Ejecución ¿Qué es el Contexto de Ejecución? Cambios de Contexto

13 © 2006 Solid Quality Learning ¿Qué es el Contexto de Ejecución? Representado por dos testigos de seguridad: –Inicio de Sesión y Usuario –Existirán tantos testigos de usuario como bases de datos acceda el usuario sys.login_token / sys.user_token

14 © 2006 Solid Quality Learning Cambios de Contexto Podemos impersonalizar al usuario con EXECUTE AS –Nivel LOGIN USER –Tipo CALLER SELF OWNER Usuario Duración –Se borra la sesión –Se completa el batch –Se cambia el contexto –Se revierte el contexto (REVERT)

15 © 2006 Solid Quality Learning Agenda SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR

16 © 2006 Solid Quality Learning Cifrado de Datos Jerarquía de Cifrado Claves Maestras Escenarios

17 © 2006 Solid Quality Learning Jerarquía de Cifrado

18 © 2006 Solid Quality Learning Claves Maestras Servicio –Clave Simétrica creada para el Servicio de SQL Server –Utilizada para cifrar: Contraseñas de servidores vinculados Cadenas de Conexión Credenciales de cuentas Todas las claves de Base de Datos Base de Datos –Clave Simétrica –Propósito: Cifrar Certificados y Claves dentro de la BBDD si no especificamos un mecanismo –Cifrada con la Clave de Servicio y almacenada en la master (para abrir automáticamente la clave) –Se almacena en la propia BBDD cifrada con contraseña

19 © 2006 Solid Quality Learning Escenarios Buenas Prácticas –Cifrar datos utilizando claves simétricas –Utilizar certificados de orígenes de confianza –Utilizar certificados para asegurar comunicaciones Service Broker Database Mirroring HTTP Endpoints Intentar Evitar –Cifrar utilizando claves asimétricas y certificados (Rendimiento) –Cifrar todos los datos No se pueden indexar No se pueden utilizar en joins

20 © 2006 Solid Quality Learning Agenda SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR

21 © 2006 Solid Quality Learning Integración de CLR ¿Será mi base de datos menos segura? Seguridad de Acceso a Código Buenas Prácticas

22 © 2006 Solid Quality Learning ¿Será mi Base de Datos menos segura? Integración de CLR deshabilitada por defecto Podemos asignar tres niveles de seguridad en CREATE ASSEMBLY –SAFE –EXTERNAL ACCESS –UNSAFE Para External Access y Unsafe es necesario habilitar la propiedad de BBDD Trusworthy y asignar el permiso al Inicio de Sesión Podemos asignar permisos a CREATE ASSEMBLY El propietario puede asignar permiso de REFERENCE a un ensamblado

23 © 2006 Solid Quality Learning Seguridad de Acceso a Código (CAS) SAFEEXTERNAL_ACCESSUNSAFE Permisos CAS EjecuciónEjecución + acceso a recursos externos Sin restricciones (P/Invoke) Acceso datos locales Si Restricciones modelo programación Si No Comprobación requerida Si No Garantiza Seguridad / Fiabilidad Fiabilidad & Seguridad Fiabilidad Ninguno

24 © 2006 Solid Quality Learning Buenas Prácticas Utilizar el menor permiso necesario EXTERNAL ACCESS utiliza la cuenta de servicio de SQL Server –Solo para inicios de sesión de confianza –Utilizar impersonalización Aplicar técnicas de revisión de código para ensamblados EXTERNAL_ACCESS y UNSAFE Si se necesitan estos permisos intentar separar el código en un ensamblado separado Exponer solo los ensamblados necesarios


Descargar ppt "Seguridad en SQL Server 2005 para Desarrolladores."

Presentaciones similares


Anuncios Google