seguridad - upv/ehuadimen.si.ehu.es/~rigau/teaching/ehu/abd/altres cursos...privilegios. nivel de...

48
1 SEGURIDAD

Upload: others

Post on 31-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

1

SEGURIDAD

Page 2: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 3: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 4: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 5: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 6: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 6

SeguridadLEGALES

ORGANIZATIVOS

FISICO

COMUNICACIONES

SGBD

SO

HW

Page 7: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 8: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 9: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 10: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 11: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 12: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 13: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 13

Control de Acceso. Gestión de Usuarios

n Sentencia CREATE USER

Page 14: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 15: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 16: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 16

Control de Acceso. Gestión de Usuarios

n Diccionario Datos sobre usuarios

Page 17: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 18: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 19: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 19

Autorización. Gestión de perfiles

n Sentencia CREATE PROFILE

Page 20: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 20

Autorización. Gestión de perfiles

n Límites de sesión

Page 21: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 21

Autorización. Gestión de perfiles

n Límites para una sentencia SQL

Page 22: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 22

Autorización. Gestión de perfiles

n Asignación de perfiles

Page 23: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 23

Autorización. Gestión de perfiles

n Sentencia ALTER PROFILE

Page 24: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 24

Autorización. Gestión de perfiles

n Sentencia DROP PROFILE

Page 25: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 25

Autorización. Gestión de perfiles

n Diccionario. Datos sobre Perfiles

Page 26: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 27: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 28: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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”

Page 29: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 30: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 31: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 32: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 33: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 34: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 35: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 35

Sentencia GRANT (ORACLE)

Page 36: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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]

Page 37: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 37

Sentencia REVOKE (ORACLE)

Page 38: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 38

Privilegios. Nivel de Relación

n Diccionario. Datos sobre privilegios

Page 39: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 40: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 41: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 42: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 43: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 44: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

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

Page 45: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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

Page 46: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 46

Creación y asignación de roles

Page 47: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© O. Díaz, A. Illarramendi UPV/EHU 47

Jerarquías de Roles

Usuarios

Roles de usuario

Roles de aplicación

Page 48: SEGURIDAD - UPV/EHUadimen.si.ehu.es/~rigau/teaching/EHU/ABD/Altres cursos...Privilegios. Nivel de Relación n Siempre que el propietario A de una relación R concede un privilegio

© 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