nota
Seguridad
Marta Zorrilla
Tabla de contenidos
Modelo de Seguridad en SQL Server
Inicios de Sesión y Roles de servidor
Seguridad de bases de datos
Usuarios
Roles de base de datos
Roles definidos por el usuario
Esquemas de Base de Datos
Permisos
Contexto de Ejecución
Encriptación de datos
Auditoría
Inyección SQL
Buenas prácticas
2
Marta Zorrilla -UC11/21/2010
11/21/2010
Modelo de Seguridad en SQL Server
Solicitud de conexión de Red
Conexión con el Servidor de SQL Server
Solicitud de Inicio de Sesión en SQL Server
Establecer Credenciales de Inicio de Sesión
Cambio a una BBDD y autorización de acceso
Establecer un Contexto de Base de Datos
Intento de realizar alguna acción
Verificar Permisos para las acciones
3
Marta Zorrilla -UC11/21/2010
Jerarquía de Seguridad
Principals: entidades de seguridad:
Usuarios windows, usuarios sql server,
Usuarios de BD
Asegurables: recursos que pueden
ser protegidos
4
Marta Zorrilla -UC
11/21/2010
Inicios de sesión - Usuarios
Modo de autentificación (acceso al servidor)
(Inicio de sesión: Login)
Windows (S.O.)
Servidor SQL Server
Acceso y gestión de una BD(autorización: User)
Permisos a
objetos de BD
ejecución de sentencias
Permisos a través de roles:
del servidor o de BD
definidos por el usuario
5
Marta Zorrilla -UC
11/21/2010
Inicios de sesión preestablecidos
Al instalarse SQL Server se crean 2 inicios de sesión:
la cuenta de servicio que se utiliza para iniciar el servicio SQL
Server. Puede cambiarse sus privilegios.
el usuariosa. Este no puede eliminarse ni modificarse. No
estará disponible si solo está configurada la autentificación de
Windows.
Pueden realizar cualquier tarea en SQL Server
(pertenecen al rol de servidor sysadmin)
6
Marta Zorrilla -UC
11/21/2010
Tipos de Inicios de sesión
Windows
Usuario
Grupo de usuarios
SQL Server
Certificado
Clave Asimétrica
Asociados a Credenciales
Paraacceso a recursos externos
7
Marta Zorrilla -UC
11/21/2010
Tipos de Inicios de sesión (y 2)
Opciones de Administración
Podemos forzar el cambio de contraseña en el primer
inicio de sesión: MUST_CHANGE
Exigir directivas de contraseña
Desbloquear Cuentas: UNLOCK
Deshabilitar un inicio de sesión: DISABLE
Establecer una BD de conexión predeterminada
8
Marta Zorrilla -UC11/21/2010
Crear Inicios de sesión (y 3)
Gráficamente SSMS
CREATE LOGIN
CREATE LOGIN Pepe WITH PASSWORD = ‘Passwd' MUST_CHANGE
CREATE LOGIN [UNICAN\pepe] FROM WINDOWS
DROP LOGIN / ALTER LOGIN
La información se almacena en
sys.server_principals: Contiene una fila por cada entidad de
seguridad del servidor.
sys.sql_logins: Devuelve una fila por cada inicio de sesión de SQL.
9Marta Zorrilla -UC
11/21/2010
Roles fijos de Servidor
Cada rol agrupa un conjunto de permisos
Facilitan la admón. de seguridad
Se definen a nivel de servidor. Independiente, por tanto, de
las bases de datos
Un inicio de sesión puede pertenecer a cero o más roles de
servidor
Un inicio de sesión que pertenezca a un rol de servidor
adquiere los permisos de ese rol
Son fijos:
No sepueden modificar sus permisos
No pueden eliminarse
No pueden añadirse nuevos roles de servidor
10
Marta Zorrilla -UC
11/21/2010
Roles fijos de Servidor ( y 2)
sp_addsrvrolemember /sp_dropsrvrolemember
sys.server_role_members
sp_srvrolepermission
sys.server_permissions
11
Marta Zorrilla -UC
11/21/2010
Seguridad de base de datos
Los siguientes inicios de sesión puedenconectarse a una BD:
sysadmin
Propietario de la BD
Usuarios de la BD
Cualquier inicio de sesión si existe el usuario guest y tiene permiso
Usuario de BD
Definido a nivel de BD
Corresponde con un inicio de sesión
12
Marta Zorrilla -UC
11/21/2010
Conceder acceso a una BD
Pueden conceder permisos:
sysadmin
Propietario de la BD
Usuario con rol db_owner
Usuario con rol...
Regístrate para leer el documento completo.