Seguridad en SQL Server 2005 para Desarrolladores.

Slides:



Advertisements
Presentaciones similares
Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Advertisements

Girish Chander Administrador del Programa, Seguridad SQL Server
Rocío Contreras Aguila Primer Semestre 2010
Diseño de Bases de Datos
Algunos tips en Seguridad ASP.NET 2.0
TNT4-05 <SLIDETITLE>Entry Slide</SLIDETITLE>
TNT4-05 <SLIDETITLE>Entry Slide</SLIDETITLE>
Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
Seguridad en SQL Server 2005
Implementación de SQL Server 2000 Reporting Services
Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.
Fernando Punzón Ortiz Código: HOL-SQL 08 Administración y seguridad Fernando Punzón Ortiz
Amenazas o vulnerabilidades de procesos Directivas de seguridad Principio de Privilegios mínimos Boletines de Seguridad Amenazas o vulnerabilidades.
Microsoft® SQL Server 2008 Usuarios, Roles, Encriptación y Back Up de la base de datos.
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
Rocío Contreras Águila Primer Semestre 2010
Primer Semestre 2010 Rocío Contreras Aguila
Procedimientos de Almacenado
Administración del estado
Administración de transacciones y bloqueos
Implementación de la integridad de datos
Administración de archivos de bases de datos
Copia de seguridad de bases de datos
Tema 2 Redes de ordenadores.
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
¿QUÉ SON LAS BASES DE DATOS?
Controlando el Acceso a los Usuarios
JURISWEB DPESLP.
HOL-SQL 23 Microsoft SQL Server 2008 Administración y seguridad
Windows Vista: User Account Control
Montevideo 14 de Diciembre Gustavo Larriera Alejandro Ponicke El nuevo día a día con SQL Server 2005.
Implementación de seguridad en aplicaciones y datos
Reporting Services: Report Builder Server Mode Enhacements
SQL Server Comunidad TechNet Regístrate en:
4.3. Privilegios de usuarios
TALLER DE DESARROLLO WEB PÁGINAS DINÁMICAS CON PHP.
Escritorio Remoto de Windows 2003 Server 3. C liente Conectar Utilizar programa remoto Sesión y ventanas Rendimiento Recursos compartidos Programa de inicio.
J.C.Cano, J. Sahuquillo, J.L. Posadas 1 Juan Carlos Julio Juan Luis
JOSE FERNANDO MORA CARDONA Administración de redes - CTMA SENA 2012 FALLAS DE RESTRICCIÓN DE ACCESO A URL.
SQL SERVER Reporting Services
Administración de Bases de Datos
tipo de datos uniqueidentifier
Creación y administración de cuentas de usuario locales
Creación de un dominio Windows  Descripción general Introducción a la creación de un dominio de Windows 2000 Instalación de Active Directory Proceso.
Auditoría del Sistema ¿Qué es una Auditoría de una BD? Controlar y registrar las acciones de determinados usuarios de la BD. A nivel SO vs a nivel del.
Instalación y Configuración Inicial del Sistema
Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón Mentor y SQL Server MVP Solid Quality Mentors DEV305.
Control de acceso en Java EE
Cuentas de usuarios y grupos en windows 2008 server
Creación y administración de cuentas de usuario de dominio
Administración de políticas de seguridad. -Seguro por diseño - Seguro por defecto - Seguro en implementación - Seguro en comunicaciones Iniciativa Trustworthy.
UNIVERSIDAD LATINA BASES DE DATOS ADMINISTRACIÓN.
La administración de dominios
Prof. Daniel Obando Fuentes
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
Cuentas de usuarios y grupos en windows 2008 server
Francis Ariel Jiménez Zapata
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Unidad 4. Servicios de acceso remoto
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
Sustentante: Francis Ariel Jiménez Zapata Matricula: Grupo: 2 Profesora: Jose Doñe Asignatura: Sistema Operativo 2.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
Usuarios, grupos y unidades organizativas de active directory Integrante: Saúl curitomay cruz Profesor: Waldir Cruz Ramos.
Usuarios. Colocar el servidor en el modo de autenticación Windows/SqlServer. En SQL Server Management Studio, click derecho, Propiedades en la Instancia.
Gestión de usuarios básica SQL Server. Primero configuramos el SQLServer para que se pueda gestionar usuarios propios del SQLServer. Vamos a las propiedades.
SQL Server Compact Edition
Módulo 2: Administrar cuentas de usuario y de equipo.
Módulo 4: Administrar el acceso a recursos
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Transcripción de la presentación:

Seguridad en SQL Server 2005 para Desarrolladores

© 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

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

© 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

© 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

© 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

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

© 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)

© 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

© 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

© 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

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

© 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

© 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)

© 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

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

© 2006 Solid Quality Learning Jerarquía de Cifrado

© 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

© 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

© 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

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

© 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

© 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

© 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