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

Slides:



Advertisements
Presentaciones similares
Diseño de Bases de Datos
Advertisements

Seguridad en SQL Server 2005 para Desarrolladores.
Seguridad en SQL Server 2005
Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.
integridad referencial
Facultad de Ingeniería Mecánica y Eléctrica
Microsoft® SQL Server 2008 Usuarios, Roles, Encriptación y Back Up de la base de datos.
Primer Semestre 2010 Rocío Contreras Aguila
Introducción a LAS Bases de Datos
Base de Datos Orientada a Objetos (OODBMS)
Administración de transacciones y bloqueos
Administración de la seguridad
USUARIOS DE JOOMLA! Usuarios de Joomla Introducción
1 ESTRATEGIA DE IMPLEMENTACION DE MEDIDAS DE GOBIERNO DE LAS TECNOLOGIAS DE LA INFORMACION La Antigua, Guatemala 23 de Septiembre de 2008.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
¿QUÉ SON LAS BASES DE DATOS?
Bases de Datos y Modelos de Seguridad
PRIVILEGIOS DE ACCESO EN INFORMIX
4.3. Privilegios de usuarios
BASE DE DATOS DISTRIBUIDAS
Creación y administración de objetos de Active Directory
Control del Acceso de los Usuarios
UNIDAD I Conceptos Básicos.
Creación y administración de grupos locales
Bases de Datos Relacionales
Subconsultas Avanzadas
Administración de Bases de Datos
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
1 Microcomputación II Unidad II Administración de datos con MS-SQL Server y Visual Basic Introducción a Transact – SQL: Select, Delete, Update. Tema:
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
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.
J.C.Cano, J. Sahuquillo, J.L. Posadas 1 Juan Carlos Julio Juan Luis
SISTEMA DE AUTENTICACIÓN Y AUTORIZACIÓN. Esquema general El sistema desarrollado se despliega en 3 diferentes localidades: 1.Oficinas en ABC Plus: Lugares.
ASIGNACION DE PRIVILEGIOS DE USUARIO Grupo:403 Escuela:Conalep Coacalco 184 Profesor: Roberto Carlos Muñoz Celaya Integrantes: Álvarez González Mónica.
Cuentas de usuarios y grupos en windows 2008 server
LENGUAJE SQL.
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.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
INTERFAS DE ACCES DISEÑO DE UNA BASE DE DATOS NOMBRE: OLIVARES MORALES ROGELIO DANIEL BAUTISTA CRUZ GRUPO: 307 EQUIPO: 05.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
Configuración de cuentas de
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.
UNIVERSIDAD LATINA II. FUNCIONES DEL ADMINISTRADOR.
Cuentas de usuarios y grupos en windows 2008 server
MySQL LENGUAJE SQL.
Gestión de sistemas operativos de red
Lenguaje SQL. Permite la definición de la base de datos mediante el lenguaje de definición de datos (DDL, Data Definition Lenguaje) Permite a los usuarios.
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
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.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
Usuarios. Colocar el servidor en el modo de autenticación Windows/SqlServer. En SQL Server Management Studio, click derecho, Propiedades en la Instancia.
UNIVERSIDAD LATINA V. ADMINISTRACIÓN EN BASES DE DATOS RELACIONALES. E.I. L.E. Prof. Ramón Castro Liceaga.
ORACLE SQL - DCL.
Módulo 2: Administrar cuentas de usuario y de equipo.
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
Módulo 4: Administrar el acceso a recursos
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Transcripción de la presentación:

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

Autorización

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

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

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

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

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

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

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

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

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

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

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

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

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)

Á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

Á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

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

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)

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

Jerarquía de permisos

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

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

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

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

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

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

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

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

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

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