La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.

Presentaciones similares


Presentación del tema: "Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g."— Transcripción de la presentación:

1 Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g

2 Autorización

3 Introducción a la seguridad de la información Configuración de la plataforma Confidencialidad Integridad Disponibilidad Autenticación Autorización Auditoría Integración de bases de datos con otras aplicaciones Hacking de base de datos Índice del curso

4 Índice del capítulo Gestión de privilegios Gestión de roles Control de acceso granular

5 Objetivos de la autorización Garantizar permisos para que los usuarios puedan realizar diferentes tareas en función de su perfil

6 Gestión de privilegios Privilegio Derecho de ejecutar una determinada sentencia SQL o acceder a un determinado objeto Rol Conjunto de privilegios y roles Objetos Tablas Índices Vistas Secuencias Sinónimos Procedimientos, funciones, paquetes, triggers Agrupamientos Enlaces

7 Roles Semejante a los grupos de Windows Método sencillo de asignar permisos a grupos de usuarios Pueden tener permisos: Predefinidos por la bbdd: de servidor o de bbdd Definidos por el usuario: estándar o de aplicación Pueden existir a nivel de Servidor: tareas administrativas del servidor Bbdd: Administración de la bbdd Garantizar permisos dentro de la bbdd Pueden crearse roles dentro de roles

8 Roles definidos por el usuario: estándar Roles estándar Agrupan permisos de manera que no haga falta asignarlos individualmente a cada usuario Son creados por el administrador de la bbdd

9 Roles definidos por el usuario: aplicación Roles de aplicación Iguales a los anteriores, pero protegidos por contraseña y asignados a aplicaciones Permiten restringir el acceso a los datos en función de la aplicación que accede a la bbdd Son instanciados por la aplicación que se conecta al servidor La aplicación hereda los permisos del rol al conectarse a la bbdd utilizando un usuario interno o externo y tras ejecutar el procedimiento almacenado sp_setapprole con una contraseña conocida solamente por la aplicación El rol se desactiva con el procedimiento sp_unsetapprole

10 Roles predefinidos por la bbdd Todas las bbdd vienen con una serie de roles predefinidos En general, se usan para definir privilegios administrativos La mayoría no pueden cambiarse excepto el rol público ni pueden eliminarse El rol público es el predeterminado para todos los usuarios de la bbdd y se hereda al conectarse Puede utilizarse para modificar los permisos de todos los usuarios de una bbdd Se garantizan mediante sp_addrolemember Se comprueban mediante sp_helprolemember Se eliminan mediante sp_droprolemember

11 Roles predefinidos por la bbdd en SQL Server 2005 db_accessadmin: permite añadir y quitar usuarios db_backupoperator: capacidad de hacer copias de respaldo db_datareader, db_datawriter, db_denydatareader, and db_denydatawriter: lectura/escritura en la bbdd db_ddladmin: tareas de DDL db_securityadmin: aspectos de seguridad: roles, permisos y propiedad de objetos db_owner: control completo sobre la bbdd

12 Principales (entidades de seguridad) en SQL Server 2005 Las entidades de seguridad son entidades que pueden solicitar recursos de SQL Server Se pueden organizar en jerarquías Su ámbito de influencia depende del ámbito de su definición (Windows, servidor o base de datos) y de si la entidad de seguridad es indivisible o es una colección. Un Inicio de sesión de Windows es un ejemplo de entidad de seguridad indivisible y un Grupo de Windows es un ejemplo de una del tipo colección. Toda entidad de seguridad tiene un identificador de seguridad (SID).

13 Principales (entidades de seguridad) en SQL Server 2005 Entidades de seguridad a nivel de Windows Inicio de sesión del dominio de Windows Inicio de sesión local de Windows Entidades de seguridad a nivel de SQL Server Inicio de sesión de SQL Server Entidades de seguridad a nivel de bases de datos Usuario de base de datos Función de base de datos Función de aplicación

14 Principales (entidades de seguridad) en SQL Server 2005 Es un inicio de sesión de servidor, un usuario de bbdd o un rol Principales de servidor Inicio de sesión de servidor: Usuarios de Windows, grupos de seguridad de Windows, o inicios de sesión de la bbdd Roles de servidor Principales de bbdd Usuarios de bbdd Roles de bbdd Son el quién cuando se garantiza el acceso

15 Asegurables Cualquier recurso dentro de SQL Server, incluido el servidor, al que se puede conceder acceso Algunos asegurables son contenedores que pueden contener otro asegurables y se les llama ámbitos El conjunto completo de asegurables forma una estructura jerárquica que permite asignar permisos al nivel correcto para garantizar el acceso requerido y nada más (principio de mínimo privilegio)

16 Ámbitos asegurables en SQL Server 2005 Servidor Extremo Inicio de sesión Base de datos Los permisos asignados a nivel de servidor se heredan para las bbdd

17 Ámbitos asegurables en SQL Server 2005 Base de datos Usuario Función Función de aplicación Ensamblado Tipo del mensaje Ruta Servicio Enlace de servicio remoto Catálogo de texto Certificado Clave asimétrica Clave simétrica Contrato Esquema

18 Ámbitos asegurables en SQL Server 2005 Esquema Tipo Colección de esquemas XML Objeto

19 Permisos Todos los asegurables de SQL Server 2005 tienen permisos asociados que se pueden conceder a una entidad de seguridad Permisos nuevos - CONTROL - ALTER - ALTER ANY - TAKE OWNERSHIP - IMPERSONATE - CREATE - VIEW DEFINITION - BACKUP (or DUMP) - RESTORE (or LOAD)

20 Permisos Permisos antiguos - SELECT - INSERT - UPDATE - DELETE - REFERENCES - EXECUTE

21 Jerarquía de permisos

22 Permisos implícitos Debido a la naturaleza jerárquica de los asegurables, es posible olvidar a qué da acceso un permiso particular en un ámbito particular más abajo en la jerarquía La función dbo.ImplyingPermissions rastrea los permisos

23 Asignación de permisos Existen tres acciones: - GRANT - DENY - REVOKE Se asignan a un principal de seguridad por otro principal de seguridad El principal que los garantiza se registra con fines de auditoría, para saber quién asignó un permiso

24 Esquemas Son colecciones de objetos dentro de una bbdd Implementan dos reglas de SQL Server Todos los objetos dentro de un esquema deben tener un nombre único, formado en parte por el propio esquema Todos los objetos dentro de un esquema deben tener el mismo propietario Los esquemas contienen objetos y las bbdd contienen esquemas, mientras que un servidor contiene bbdd En conjunto estos contenedores crean un espacio de nombres donde el esquema constituye una de las fronteras

25 Roles de usuario Agrupan privilegios y otros roles: Predefinidos: Creados por Oracle CONNECT, RESOURCE, DBA, etc. Vista DBA_ROLES Definidos por el usuario Autorización: Automática al conectarse a la BD Protegidos por contraseña

26 Asignar/revocar privilegios y roles Privilegios de sistema y roles a usuarios y otros roles Privilegios de objeto a usuarios y roles Privilegios sobre columnas de tablas

27 Práctica: Creación de roles Utilizando Oracle Enterprise Manager: Crear roles de usuario (privilegio CREATE ROLE) Crear roles de usuario que requieran contraseña Anidar roles dentro de otros roles Modificar los roles y privilegios Acceder a los privilegios mediante SET ROLE Revocar los privilegios a un usuario

28 Vistas Presentación a medida de datos contenidos en una o varias tablas como resultado de una consulta: Tabla virtual Pueden utilizarse casi como una tabla Ventajas: Simplifican las consultas complejas Se limita el acceso a filas y columnas mediante la cláusula WHERE

29 Práctica: Vistas Crear una vista que limite las columnas visibles de una tabla Crear una vista conjunta de varias tablas limitando las filas visibles Vistas actualizables

30 Procedimientos almacenados, funciones Mejoran el rendimiento porque el código está compilado Pueden encadenar multitud de consultas Facilitan el mantenimiento Aumentan la seguridad: Sólo se accede a los datos a través del sp Se asegura que los usuarios tienen los mínimos privilegios posibles de acuerdo con las reglas de negocio

31 Práctica: Procedimientos almacenados Creación de procedimientos almacenados desde Oracle Llamada a procedimientos almacenados desde página web directamente (¿problemas?) Llamada a través de un objeto Parameter


Descargar ppt "Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g."

Presentaciones similares


Anuncios Google