La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en SQL Server 2005

Presentaciones similares


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

1 Seguridad en SQL Server 2005
Hector Minaya, MCSD, MCT

2 Autenticación & Autorización
Usuarios & Schemas Seguridad para Desarrolladores

3 Terminología de Seguridad
Principal: individuos, grupos y procesos que pueden solicitar recursos de un servidor SQL. Securable (asegurable): los recursos a los cuales el sistema de autorización de SQL Server le regula el acceso.

4 SQL Server define 4 conceptos básicos de Principals
Login de SQL Server Usuario de la Base de datos Role de la BD Role de una aplicación

5 Login de SQL Server Un login es la habilidad de utilizar una instancia del Servidor SQL Esta asociado con un usuario de Windows o con un usuario de SQL Son autenticados contra SQL Server Por defecto tienen acceso a la base de datos “default” Algunos grupos de Windows tienen logins preestablecidos.

6 Usuarios & Roles Un usuario es un principal de una base de datos en particular. Los Logins son asignados a los usuarios Los grants se le hacen a los usuarios. A los usuarios se le asignan sus propios schemas . Los usuarios pueden pertenecer a Roles. Todos los usuarios son miembros del Role “Public” El login “sa” esta asignado al usuario dbo en todas las base de datos.

7 Roles A nivel de Instancia A nivel de Base de Datos
Los Roles pueden existir a nivel de instancia o base de datos. A nivel de Instancia Los logins pueden ser otorgados roles llamados “server roles”. No se pueden crear Roles nuevos A nivel de Base de Datos Los usuarios de base de datos pueden ser otorgados roles. Se pueden crear roles nuevos.

8 Role de una Aplicación Un role de aplicación sirve para asignarle permisos a una aplicación: Tiene un password No contiene usuarios

9 Ejemplos de Securables (asegurables)
En el Servidor & BD Servidor Login de SQL Server Usuario de SQL Server Roles de la BD Roles de Aplicaciones Assemblies Servicios Fulltext Catalog Eventos DDL Schema En un Schema Tablas Vistas Funciones Procedimientos Reglas Sinónimos Agregados

10

11 Autenticación Que es Autenticación?
Es básicamente el proceso de determinar que alguien es realmente quien dice ser. ¿Quien Soy? ¿Soy miembro de Grupos o Roles? ¿Quien me verifico? ID Primario ID(s) Secundarios Authenticator

12 Mejoras en la Autenticación sobre SQL2000
La información de Login no se envía como texto plano a través de la red. La nueva política para los passwords esta activada por default. Esta política incluye: Complejidad de passwords. No mas passwords como: “sa”, “password”, “Admin”, “Administrator”, “sysadmin” o “” Maneja el bloqueo de las cuentas en base a intentos fallidos Expiración de passwords

13 DEMO Create login MR2Solutions With Password = 'SA',
Check_Expiration = ON, Check_Policy = ON

14 Schemas Schemas son contenedores para objetos de base de datos.
Un esquema le puede pertenecer a un usuario, role o roleapp Si el usuario no tiene un schema asignado se utiliza el schema “DBO”. A diferencia de SQL 2000 (y anterior) múltiples usuarios pueden ser colocados en un schema. Un schema es un contenedor donde podemos colocar tablas, SP, funciones, etc. Los schemas son creados independientemente de los usuarios en la BD.

15 accounts es un schema, no existe un usuario que se llame ‘accounts’
Schemas accounts es un schema, no existe un usuario que se llame ‘accounts’ CREATE TABLE accounts.invoice (…) GO ALTER SCHEMA accounts2 TRANSFER accounts.invoice Transferir de un schema a otro

16 Seguridad hoy en día SQL Server ISA Firewall IPSec IIS ISA Firewall
Hoy en día con la creciente cantidad de información que las compañías almacenan en sus base de datos, desde números de tarjeta de crédito hasta direcciones & fechas de nacimiento, estas se han convertido en blancos para el robo de información. Existen numerosas barreras de hardware & software que podemos colocar en nuestra red para tratar de proteger esta información, cada una tiene sus propias debilidades. Cuando todas estas barreras caen, solo queda una barrera final, “La Encriptación”. Debemos proteger nuestra base de datos de modo que si un hacker logra tener acceso a la misma no le sea de utilidad. SSL

17 Encriptación SQL Server 2005 tiene la habilidad de utilizar múltiples algoritmos para la encriptación de la data: Llaves simétricas (RC4, RC2, DES Family, AES Family) Llaves asimétricas (Rivest-Shamir-Adelman Encryption (RSA)) Certificados (X.509 V1)

18 DEMO

19 Contexto En SQL2005 el código no tiene que ser ejecutado en el mismo contexto del usuario que esta haciendo el llamado. “Execute AS” Para Stored Procedures & Funciones. En versiones anteriores cuando hacemos un llamado a un procedimiento o a una función este llamado utiliza el contexto de seguridad del usuario que esta haciendo el llamado. Tenemos una nueva opcion con la cual podemos compilar nuestros procedimientos y funciones para que se ejecute en el contexto deseado SQL Server 2005 ‘Execute AS ‘Silvia’ ’ Jose Jose.SProc Silvia.Tabla Se verifican los permisos de ejecución de Jose Se verifican los permisos de Select para Silvia, no Jose.

20 Execute AS El código puede se ejecutado como:
CALLER (quien lo esta llamando) SELF (el usuario actual que esta creado o alterando el objeto) OWNER (el dueño del objeto) a specific user (un usuario en especifico) Si no colocamos esta opción nuestro código se ejecuta bajo el contexto del usuario que esta haciendo la llamada (CALLER).

21 Recursos en Línea MSDN: Información Adicional NetaWeb Contacto
Información Adicional NetaWeb Contacto

22 ?


Descargar ppt "Seguridad en SQL Server 2005"

Presentaciones similares


Anuncios Google