Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porEugenio Lara Chávez Modificado hace 7 años
1
Banco de Dados II IMPLEMENTAÇÃO E OPTIMIZAÇÃO DE BANCOS DE DADOS
Elementos de seguridad del servidor de Bases de Datos MsC. Leoder Alemañy Socarrás
2
Segurança
3
Segurança La Seguridad tiene que ver con la protección de los datos contra accesos ilegales, alteraciones malintencionadas, o destrucción. La Integridad se ocupa de la consistencia o validación de los datos. Valores legales
4
Segurança
5
Segurança La Seguridad controla que los usuarios estén autorizados a realizar las acciones que ellos tratan de hacer. La Integridad controla que las acciones que ellos logren realizar, usen valores correctos.
6
Segurança 1.-Legal, Social y Ético. Protección contra accesos ilegales. 2.-Físico. Proteger locales contra la entrada de intrusos. 3.-Política de seguridad. Cuidados al dar autorización. (Peligros de soborno, etc.). 4.-S.O. Impedir el acceso no autorizado a la BD vía Red. 5.-SGBD. Restringir el acceso de los usuarios (por grupos) tanto a los datos, como a los procesos que pueden ejecutar. Se estudiará sólo este. 6.-Hardware. Si la CPU ofrece o no mecanismos de seguridad.
7
Identificar los elementos de seguridad del servidor de Bases de Datos
Objetivos: Identificar los elementos de seguridad del servidor de Bases de Datos
8
Seguridad de acceso al sistema. Seguridad de los datos.
Contenido: Seguridad de acceso al sistema. Seguridad de los datos.
9
Bibliografía:
10
Los datos deben ser reconstruibles.
Introducción La Base de datos debe estar protegida contra el fuego, el robo y otras formas de destrucción. Los datos deben ser reconstruibles. Los datos deben poder ser sometidos a procesos de auditoría. Los datos deben ser reconstruibles. Porque por muchas precauciones que se tomen, siempre pueden ocurrir accidentes. La falta de auditorías en los sistemas de computación ha permitido la comisión de grandes delitos.
11
El sistema debe diseñarse a prueba de intromisiones.
Introducción El sistema debe diseñarse a prueba de intromisiones. El sistema debe tener capacidad para verificar que sus acciones han sido autorizadas Ningún sistema puede evitar de manera absoluta las intromisiones malintencionadas, pero es posible hacer que resulte muy difícil eludir los controles. Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda descubrirse cualquier acción indebida o errónea.
12
Seguridad de acceso al sistema en Postgres
La configuración de este nivel de seguridad se realiza en los ficheros pg_hba.conf (Host Based Authentication) pg_ident.conf postgresql.conf Es importante poder definir desde qué equipos se pueden conectar los usuarios a nuestras bases de datos, así como poder definir qué usuarios y a qué bases de datos se pueden conectar.
13
Seguridad de acceso al sistema en Postgres
14
Parámetros fundamentales de configuración de las conexiones
postgresql.conf listen_addresses (string) port (integer) max_connections (integer) listen_addresses = 'localhost, , ' port = 5432 max_connections = 100 Especifica las direcciones TCP / IP por las cuáles el servidor va a escuchar las conexiones desde aplicaciones cliente. El valor toma la forma de una lista separada por comas de nombres de host y/o direcciones IP numéricas. La entrada especial * corresponde a todas las interfaces disponibles. Especifica el puerto TCP por el cual escucha el servidor, por defecto es el 5432. Determina el número máximo permitido de conexiones simultáneas al servidor de base de datos.
15
Parámetros fundamentales de configuración del proceso de autenticación
postgresql.conf authentication_timeout (integer) SSL (boolean) password_encryption (boolean) authentication_timeout = 1min ssl = off password_encryption = on Establece el tiempo máximo para completar la autenticación del cliente, en cuestión de segundos. Si un posible cliente no ha completado el protocolo de autenticación en ese tiempo, el servidor cierra la conexión. Especifica si se permiten conexiones SSL. El valor predeterminado es off. Comunicación SSL sólo es posible con conexiones TCP / IP. Cuando se especifica una contraseña en CREATE USER o ALTER USER sin escribir: cifrado o no cifrado, este parámetro determina si la contraseña debe ser encriptada. El valor predeterminado es on (cifrar la contraseña).
16
Parámetros fundamentales de configuración del proceso de autenticación
pg_hba.conf TYPE LOCAL | HOST | HOSTSSL |HOSTNOSSL DATABASE ALL | SAMEUSER | SAMEROLE USER ALL |role1, [+] role2 LOCAL: Se define para las conexiones que se realizarán desde el propio servidor. HOST: Se utilizará para conexiones remotas no-SSL y SSL. HOSTSSL: Sólo se utilizarán para conexiones remotas SSL. HOSTNOSSL: Sólo se utilizarán para las conexiones remotas no-SSL DATABASE ALL: se permite la conexión a cualquier base de datos. SAMEUSER: solo a bases de datos que su nombre sea el mismo que el usuario que se conecta. SAMEROLE: solo a bases de datos que su nombre sea el mismo que el rol que se conecta. nombd1, nombd2,…: se permite la conexión a cualquiera de las bases de datos de la se permite la conexión a las bases de datos incluidas en el fichero, que debe estar en el mismo directorio que pg_hba.conf USER: ALL: se permite la conexión de cualquier rol. role1, [+] role2,…: se permite la conexión de los roles de la lista y además se permite la conexión de cualquier rol que sea miembro de se permite la conexión de los roles incluidos en el fichero, que debe estar en el mismo directorio que pg_hba.conf.
17
Parámetros fundamentales de configuración del proceso de autenticación
pg_hba.conf CIDR-ADREESS CIDR |dirección_IP máscara_IP METHOD TRUST |REJECT | PASSWORD | MD5 | ident TRUST: deja todos los accesos sin necesidad de autenticarse (sólo recomendable para conexiones desde el equipo local). REJECT: conexión rechazada sin condiciones. PASSWORD: se solicita palabra de paso sin encriptar, las palabras de paso se almacenan en la tabla pg_authid y pueden estar cifradas o no según como se creara el rol. MD5: palabra de paso con el método de encriptación md5, y se almacena también con este método. Es el método recomendado por PostgreSQL. En versiones de PostgresSQL anteriores a la 7.2 a este método se le conoce como crypt. krb5: se utiliza el protocolo Kerberos versión 5 para autentificar al usuario. Este método se puede utilizar sólo para conexiones con TCP/IP. ident: utiliza el usuario del sistema desde el que se está intentado conectar.
18
Parámetros fundamentales de configuración del proceso de autenticación
pg_hba.conf Ejemplos: # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all / ident sameuser # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all / ident omicron
19
Parámetros fundamentales de configuración del proceso de autenticación
pg_ident.conf # MAPNAME IDENT-USERNAME PG-USERNAME Ejemplo: # MAPNAME IDENT-USERNAME PG-USERNAME omicron usuarioso mauricio MAPNAME se coloca el “nombre” de la identidad con la que en el archivo pg_hba.conf se identifica al usuario IDENTUSERNAME se coloca el nombre del usuario que se tiene en el sistema PG-USERNAME se pone el nombre del usuario de PostgreSQL correspondiente.
20
Seguridad de los datos Cada vez que los usuarios del SGBD hacen una operación se registra a su nombre . El SGBD debe permitir la operación dependiendo de cuál usuario está efectuando esta operación. La seguridad se aplica a los objetos (tablas y vistas), pero en dependencia del SGBD pueden ser protegidos otros objetos (disparadores, formularios, etc). Los privilegios, son las acciones que un usuario tiene permitido efectuar o no sobre los objetos de una BD. Las acciones más comunes que realiza un usuario sobre un objeto son las de SELECT, INSERT, DELETE y UPDATE.
21
Seguridad de los datos Identificadores de usuario. Usuarios y grupos de usuarios CREATE ROLE name [ [ WITH ] option [ ... ] ] SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password‘ | VALID UNTIL 'timestamp‘ | IN ROLE rolename [, ...] | IN GROUP rolename [, ...] | ROLE rolename [, ...] | ADMIN rolename [, ...] | USER rolename [, ...] | SYSID uid
22
Seguridad de los datos SUPERUSER / NOSUPERUSER CREATEDB / NOCREATEDB
Principales parámetros SUPERUSER / NOSUPERUSER CREATEDB / NOCREATEDB CREATEROLE / NOCREATEROLE y CREATEUSER / NOCREATEUSER INHERIT / NOINHERIT LOGIN / NOLOGIN CONNECTION LIMIT [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password‘ IN ROLE
23
Seguridad de los datos Asignar o retirar usuarios de un grupo. GRANT y REVOKE GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... Crear usuarios CREATE ROLE jonathan LOGIN; CREATE USER lilian WITH PASSWORD 'jw8s0F4 CREATE ROLE miriam WITH LOGIN PASSWORD 'jw8s0F4' VALID UNTIL ' '; CREATE ROLE admin WITH CREATEDB CREATEROLE;
24
Seguridad de los datos Privilegios
Se le llama privilegio al conjunto de acciones que al usuario le fueron otorgadas por el administrador o propietario de la BD, para que efectúe sobre los objetos que existan en su BD. Los privilegios más comunes son los de realizar las acciones de: SELECT, que permite recuperar datos de una tabla o vista. INSERT, que permite insertar nuevas filas en una tabla o vista. DELETE, que permite eliminar filas dentro de una tabla o vista. UPDATE, que permite modificar filas de datos en una tabla o vista.
25
Seguridad de los datos Concesión de privilegios la sentencia GRANT incluye los privilegios que se otorgan, a cuál tabla se otorga y por último a cuál usuario se otorgan esos privilegios.
26
Seguridad de los datos
27
Seguridad de los datos Proporcionar al usuario usuariopp el acceso completo a la tabla pedidos. GRANT SELECT, INSERT, DELETE, UPDATE ON pedidos TO usuariopp GRANT ALL PRIVILEGES ON pedidos TO usuariopp Dar a todos los usuarios acceso SELECT a la tabla oficinas GRANT SELECT ON oficinas TO PUBLIC
28
Seguridad de los datos Permitir al usuario usuariopp modificar los nombres de empresa y las asignaciones a vendedores en la tabla clientes. GRANT UPDATE (empresa, vend_cliente) ON clientes TO usuariopp
29
GRANT SELECT ON vendeste TO sue
Seguridad de los datos Traspaso de privilegios Supongamos que el usuario sam crea la vista vendeste. GRANT SELECT ON vendeste TO larry WITH GRANT OPTION Permiso al usuario larry de solo lectura y además le está dando la potestad. GRANT SELECT ON vendeste TO sue
30
Seguridad de los datos Revocación de privilegios
Revoca los privilegios concedidos larry, de SELECT y UPDATE y además revoca todos los privilegios que larry pudo haber concedido. REVOKE SELECT, UPDATE ON pedidos FROM larry CASCADE Usuario larry perderá la capacidad de otorgar privilegios a otros usuarios, pero no pederá sus privilegios. REVOKE GRANT OPTION SELECT, UPDATE ON pedidos FROM larry CASCAD
31
Seguridad de los datos Catálogo del sistema
Minibase de datos que constituye el núcleo del SGBD. Almacenar los esquemas o descripciones de las BD que el SGBD mantiene. A los datos almacenados en el catálogo se les conoce como metadato
32
Contenido del Catálogo
Seguridad de los datos Contenido del Catálogo Tablas Columnas Usuarios Vistas Privilegios …..
33
Seguridad de los datos
34
Seguridad de los datos Políticas de seguridad
¿Quién tiene permiso para usar los recursos? ¿Quién esta autorizado a conceder acceso y a aprobar los usos? ¿Quién tiene privilegios de administración del sistema? ¿Qué hacer con la información confidencial? ¿Cuáles son los derechos y responsabilidades de los usuarios?
35
Conclusiones
36
Estudio Independiente
Utilizando las relaciones estudiadas en clases de la base de datos BD_TV Cree un grupo de usuarios llamado “usuarios_lectura” con privilegios de consultar la información almacenada en las tablas reporte_sintonia y canal_tv. Cree el usuario “editor” con contraseña “1erTCP”, con posibilidades de conectarse a la base de datos y además pertenezca al grupo anteriormente creado “usuarios_lectura”.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.