Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
1
SEGURIDAD
© O. Díaz, A. Illarramendi UPV/EHU 2
Bibliografía
n Fundamentos de Sistemas de Bases de Datos (3. edición)Elmasri, NavatheAddisson Wesley 2002
© O. Díaz, A. Illarramendi UPV/EHU 3
Índicen Aspectos generalesn Gestión de usuarios
n creaciónn modificación
n Gestión de perfilesn creaciónn modificación
n Gestión de privilegiosn otorgarn revocar
n Gestión de rolesn creaciónn asignación
© O. Díaz, A. Illarramendi UPV/EHU 4
Seguridad
n Técnicas empleadas para proteger la BD contra personas que no estén autorizadas para acceder a una parte de la BD o a toda.
n Comprende también la protección de datos personales
© O. Díaz, A. Illarramendi UPV/EHU 5
Temas que abarca la Seguridadn Cuestiones éticas y legales relativas al derecho a
tener acceso a cierta información.n Cuestiones de política en el nivel gubernamental,
institucional o corporativo relacionadas con la información que no debe estar disponible para el público
n Cuestiones relacionadas con el sisteman Necesidad en algunas organizaciones de identificar
múltiples niveles de seguridad y de clasificar los datos y los usuarios según estos niveles
© O. Díaz, A. Illarramendi UPV/EHU 6
SeguridadLEGALES
ORGANIZATIVOS
FISICO
COMUNICACIONES
SGBD
SO
HW
© O. Díaz, A. Illarramendi UPV/EHU 7
Aspectos de Seguridadn CONTROL DE ACCESO (Gestión de usuarios)
n Crear cuentas de usuario y contraseñas
n SUBSISTEMA DE SEGURIDAD Y AUTORIZACION DE LA BDn Gestión de perfiles n Gestión de privilegiosn Gestión de roles
n CIFRADO DE DATOSn CONTROLAR EL ACCESO A UNA BD
ESTADISTICA
© O. Díaz, A. Illarramendi UPV/EHU 8
Administrador de la Base de Datos
n EL ABD tiene una cuenta de ABD en el SGBD (cuenta del sistema).
n Obligaciones:n Conceder privilegios a los usuariosn Clasificar los usuarios y los datos
© O. Díaz, A. Illarramendi UPV/EHU 9
Administrador de la Base de Datos
n EL ABD puede ejecutar los siguientes tipos de acciones:n Creación de cuentasn Concesión de privilegiosn Revocación de privilegiosn Asignación de niveles de seguridad
© O. Díaz, A. Illarramendi UPV/EHU 10
Control de Acceso. Gestión de Usuariosn El ABD creará un nuevo nombre de
cuenta y contraseña para cada persona que necesite tener acceso a la BD
n EL SGBD verificara el nombre de cuenta y contraseña. Si son correctos permite al usuario utilizar el SGBD y tener acceso a la BD
© O. Díaz, A. Illarramendi UPV/EHU 11
Control de Acceso. Gestión de Usuariosn Para el control de cuentas y contraseñas se
crea una tabla con dos campos: Nombre de cuenta y contraseña
n La tabla la mantiene el SGBDn También se controlan las operaciones que un
usuario determinado aplica a la BD durante cada sesión de trabajo (se anotan en el diario)
© O. Díaz, A. Illarramendi UPV/EHU 12
Control de Acceso. Gestión de Usuariosn Elección de
n nombre de usuario (“username”)n mecanismo de identificación (el SGBD, el SO)n su zona de trabajo donde guardar sus objetos (“tablespace”)n los límite o cuotasn posibles perfiles
n Al crear un usuario el sistema le asigna un “database schema”con el mismo nombre que el del usuario
n Un “database schema” es un cjto. nominado de elementos (p.ej. tablas, índices, vistas, restricciones,etc)
n El nombre de los elementos aparece calificado por su esquema
© O. Díaz, A. Illarramendi UPV/EHU 13
Control de Acceso. Gestión de Usuarios
n Sentencia CREATE USER
© O. Díaz, A. Illarramendi UPV/EHU 14
Control de Acceso. Gestión de Usuarios
n Sentencia ALTER USER
Usos:
• reponer el password cuando al usuario se le olvida
• bloquear/desbloquear la cuenta
• obligar a reponer el password con cada conexión
• modificar los límites en el espacio
© O. Díaz, A. Illarramendi UPV/EHU 15
Control de Acceso. Gestión de Usuarios
n Sentencia DROP USER
La opción CASCADE propaga el borrado a los objetos
del esquema de este usuario
© O. Díaz, A. Illarramendi UPV/EHU 16
Control de Acceso. Gestión de Usuarios
n Diccionario Datos sobre usuarios
© O. Díaz, A. Illarramendi UPV/EHU 17
Autorización de la BD. Mecanismos
n Gestión de perfilesn creaciónn modificación
n Gestión de privilegiosn otorgarn revocar
n Gestión de rolesn creaciónn asignación
© O. Díaz, A. Illarramendi UPV/EHU 18
Autorización. Gestión de perfilesn Perfil: cjto. nominado de límites en los recursosn La limitación se puede aplicar:
n a la sesiónn a la instrucción
n Se asigna al crear el usuario (create user) o durante la vida de éstos (alter user)
n Perfil por defecto: DEFAULTn Se pueden activar y desactivar
© O. Díaz, A. Illarramendi UPV/EHU 19
Autorización. Gestión de perfiles
n Sentencia CREATE PROFILE
© O. Díaz, A. Illarramendi UPV/EHU 20
Autorización. Gestión de perfiles
n Límites de sesión
© O. Díaz, A. Illarramendi UPV/EHU 21
Autorización. Gestión de perfiles
n Límites para una sentencia SQL
© O. Díaz, A. Illarramendi UPV/EHU 22
Autorización. Gestión de perfiles
n Asignación de perfiles
© O. Díaz, A. Illarramendi UPV/EHU 23
Autorización. Gestión de perfiles
n Sentencia ALTER PROFILE
© O. Díaz, A. Illarramendi UPV/EHU 24
Autorización. Gestión de perfiles
n Sentencia DROP PROFILE
© O. Díaz, A. Illarramendi UPV/EHU 25
Autorización. Gestión de perfiles
n Diccionario. Datos sobre Perfiles
© O. Díaz, A. Illarramendi UPV/EHU 26
Autorización. Gestión de Privilegios
n El método más habitual para imponer el control de acceso discrecional en un SBD se basa en conceder y revocar privilegios.
n Existen dos niveles de asignación de privilegios:n Nivel de cuenta (sistema): privilegios que tiene la
cuenta, independientemente de las relaciones de la BD. Ej. CREATE TABLE
n Nivel de relación (objeto): privilegios para tener acceso a cada relación o vista de la BD. (definidos en SQL) Ej. MODIFY para la relación R
© O. Díaz, A. Illarramendi UPV/EHU 27
Privilegios. Nivel Cuentan Para ejecutar acciones sobre la BD
n CREATE- crearn ALTER- aplicar cambiosn DROP- eliminarPara conceder los privilegios se debe tener la opción WITH ADMIN OPTION.
© O. Díaz, A. Illarramendi UPV/EHU 28
Privilegios. Nivel Cuenta
n Sentencias GRANT y REVOKE
La revocación del privilegio a “user1” NO conlleva la revocación
a aquellos otros usuarios que obtuvieran su privilegio a través de “user1”
© O. Díaz, A. Illarramendi UPV/EHU 29
Privilegios. Nivel de Relación
n Para acceder y manipular objetos específicos
n Especifican para cada usuario, las relaciones individuales a las que se puede aplicar cada tipo de instrucción
© O. Díaz, A. Illarramendi UPV/EHU 30
Privilegios. Nivel de Relación
• El usuario que crea una tabla tiene TODOS los privilegios sobre esta tabla(identificador: usuario.nombreTabla)
• REFERENCES: restringe la capacidad de un usuario para declarar claves externas al crear relaciones. Se concede sobre atributos concretos. Ej. GRANT REFERENCES (Nombre) ON Sucursal to U1.
© O. Díaz, A. Illarramendi UPV/EHU 31
Autorización. Gestión de Privilegiosn El acceso a la información esta restringidan Ejemplo.
n Privilegios requeridos para ejecutar la instrucción anterior:n INSERT sobre Veteranosn SELECT sobre Estudianten SELECT sobre Ingeniero
n Los privilegios se verifican contra el “username” facilitado al conectarse al SGBD
© O. Díaz, A. Illarramendi UPV/EHU 32
Privilegios. Nivel de Relaciónn Siempre que el propietario A de una relación R
concede un privilegio de R a otra cuenta B, el privilegio puede darse a B con opción de concesión o sin ella
GRANT OPTIONn Si se da con esta opción significa que B también
podrá conceder este privilegio de R a otras cuentas. Los privilegios se pueden propagar
n Existen técnicas para limitar la propagación de privilegios
© O. Díaz, A. Illarramendi UPV/EHU 33
Privilegios. Nivel de Relación
n Sentencias GRANT y REVOKE
GRANT UPDATE y INSERT pueden especificar una lista de atributos.Para el caso de la propagación, REVOKE puede añadir:
• CASCADE: propaga la revocación a los privilegios propagados. En la mayoría de los SGBD, la retirada en Cascada es el comportamiento predeterminado.
• RESTRICT: evita la revocación, si ocasiona que se revoque el privilegio también a otros usuarios. Ej. REVOKE SELECT ON Sucursal From U1, U2 RESTRICT
© O. Díaz, A. Illarramendi UPV/EHU 34
Sentencia GRANT
n Para conceder privilegios se emplea la sentencia de concesión:
GRANT <lista de privilegios>ON <nombre de objeto>TO <lista de usuarios> [WITH GRANT OPTION]
Nota: SQL No soporta autorizaciones a nivel de tuplas
© O. Díaz, A. Illarramendi UPV/EHU 35
Sentencia GRANT (ORACLE)
© O. Díaz, A. Illarramendi UPV/EHU 36
Sentencia REVOKE
n Para revocar los privilegios se emplea la sentencia:
REVOKE <lista de privilegios> ON <nombre de objeto>FROM<lista de usuarios> [restrict/cascade]
© O. Díaz, A. Illarramendi UPV/EHU 37
Sentencia REVOKE (ORACLE)
© O. Díaz, A. Illarramendi UPV/EHU 38
Privilegios. Nivel de Relación
n Diccionario. Datos sobre privilegios
© O. Díaz, A. Illarramendi UPV/EHU 39
Especificación de límites para la propagación de privilegios
n Propagación Horizontal a un número i significa que una cuenta B que posee la opción GRANT OPTION puede conceder el privilegio como máximo a otras i cuentas.
n Propagación Vertical limita la profundidad de concesión de privilegios.
© O. Díaz, A. Illarramendi UPV/EHU 40
Propagación Verticaln Si una cuenta A concede un privilegio a una
cuenta B con una propagación vertical limitada a un número entero j> 0, significa que la cuenta B tendrá GRANT OPTION para ese privilegio, pero B sólo podrá conceder el privilegio a otras cuentas con una propagación vertical menor que j.
© O. Díaz, A. Illarramendi UPV/EHU 41
Control de Acceso Obligatorio
n Además de las técnicas de control de acceso discrecional (para conceder y revocar privilegios), muchas veces es necesario una política de seguridad adicional que clasifique los datos y los usuarios de cuerdo con ciertas clases de seguridad (control de acceso obligatorio)
© O. Díaz, A. Illarramendi UPV/EHU 42
Control de Acceso Obligatorion No lo ofrecen los SGBD comerciales.n Clases de seguridad:
n TS (Top Secret) nivel más alton S (Secret)n C (Confidential)n U (Unclassified) nivel más bajoSe asigna a cada usuario y a cada objeto
una de las clases de seguridad
© O. Díaz, A. Illarramendi UPV/EHU 43
Gestión de Privilegios. ¿Por qué surge el ROL (papel)?n Ej. Cada vez que se introduce un nuevo
alumno hay que darle todas los privilegios.n Esquema mejor:
Especificar los privilegios que deben tener los alumnos e identificar a los usuarios que son alumnos.
Los Roles capturan este esquema.
© O. Díaz, A. Illarramendi UPV/EHU 44
Trabajando con Roles
n 1. Se crean los roles y se les conceden los privilegios.
n 2. Al crear los usuarios se les asignan los roles
Los roles requieren que los usuarios se conecten con su propio identificador.
© O. Díaz, A. Illarramendi UPV/EHU 45
Gestión de Roles. Objetivos
n Agilizar la asignación/revocación de
privilegios
n Estructurar la asignación de privilegios
© O. Díaz, A. Illarramendi UPV/EHU 46
Creación y asignación de roles
© O. Díaz, A. Illarramendi UPV/EHU 47
Jerarquías de Roles
Usuarios
Roles de usuario
Roles de aplicación
© O. Díaz, A. Illarramendi UPV/EHU 48
Trazas de auditoria
n Registro histórico de todos los cambios (inserciones, borrados o actualizaciones) de la BD junto con información sobre el usuario que realizó el cambio y en qué momento.
n Los SGBD proporcionan mecanismos para crear trazas de auditoria (varían de un SGBD a otro). Ej. ORACLE AUDIT