1 / 24

Seguridad en SQL Server 2005 para Desarrolladores

Seguridad en SQL Server 2005 para Desarrolladores. Agenda. SQL y la Seguridad Separación de Usuarios y Esquemas Contexto de Ejecución Cifrado de Datos Integración de CLR. SQL y la Seguridad. Seguridad por Defecto Principio de Menor privilegio. Seguridad por defecto.

Download Presentation

Seguridad en SQL Server 2005 para Desarrolladores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seguridad en SQL Server 2005 para Desarrolladores

  2. Agenda • SQL y la Seguridad • Separación de Usuarios y Esquemas • Contexto de Ejecución • Cifrado de Datos • Integración de CLR

  3. SQL y la Seguridad • Seguridad por Defecto • Principio de Menor privilegio

  4. 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. 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. Agenda • SQL y la Seguridad • Separación de Usuarios y Esquemas • Contexto de Ejecución • Cifrado de Datos • Integración de CLR

  7. Separación de Usuarios y Esquemas • ¿Qué son los esquemas? • Beneficios de los esquemas • Esquema Predeterminado

  8. ¿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. 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. Fernando (no default schema) Antonio (Default schema = ventas) Esquema Predeterminado Resolución de Nombres dbo SELECT * FROM Pedidos Productos SELECT * FROM Productos ventas SELECT * FROM Pedidos SELECT * FROM Productos Pedidos

  11. Agenda • SQL y la Seguridad • Separación de Usuarios y Esquemas • Contexto de Ejecución • Cifrado de Datos • Integración de CLR

  12. Contexto de Ejecución • ¿Qué es el Contexto de Ejecución? • Cambios de Contexto

  13. ¿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. 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. Agenda • SQL y la Seguridad • Separación de Usuarios y Esquemas • Contexto de Ejecución • Cifrado de Datos • Integración de CLR

  16. Cifrado de Datos • Jerarquía de Cifrado • Claves Maestras • Escenarios

  17. Jerarquía de Cifrado

  18. 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. 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 Escenarios

  20. Agenda • SQL y la Seguridad • Separación de Usuarios y Esquemas • Contexto de Ejecución • Cifrado de Datos • Integración de CLR

  21. Integración de CLR • ¿Será mi base de datos menos segura? • Seguridad de Acceso a Código • Buenas Prácticas

  22. ¿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. Seguridad de Acceso a Código (CAS)

  24. 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

More Related