Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGuilermo Fontanilla Modificado hace 10 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.