35
Las bases de datos conectadas a internet o cualquier otra red, son vulnerables a hackers y otros delincuentes que buscan dañar, robar o alterar datos. Entre ellos están los siguientes: Espías Hackers Empleados descontentos Personas con desequilibrio emocional Sobornadores

Seguridad 2° exp_ooo

Embed Size (px)

Citation preview

Page 1: Seguridad 2° exp_ooo

Las bases de datos conectadas a internet o cualquier otra red, son vulnerables a hackers y otros delincuentes que buscan dañar, robar o alterar datos. Entre ellos están los siguientes:

Espías

Hackers

Empleados descontentos

Personas con desequilibrio emocional

Sobornadores

Page 2: Seguridad 2° exp_ooo
Page 3: Seguridad 2° exp_ooo
Page 4: Seguridad 2° exp_ooo

El servidor debe estar en un lugar cerrado

Se puede instalar un sistema de video vigilancia

Emplear dispositivos de seguridad como:

Tarjetas con llavesUsuario y contraseñaDispositivos biométricosPolíticas de la empresa

Page 5: Seguridad 2° exp_ooo

Aislamiento entre la red empresarial e internet

Configurar el enrutador

Emplear un firewall

Aseguramiento del acceso a una red inalámbrica

Page 6: Seguridad 2° exp_ooo
Page 7: Seguridad 2° exp_ooo

Instalar un mínimo de software del S.O

Aplicar los parches de seguridad

Cambiar todas las contraseñas predeterminadas

Page 8: Seguridad 2° exp_ooo
Page 9: Seguridad 2° exp_ooo

Autentificación de usuarios

Es la verificación de la identidad

del usuario

Page 10: Seguridad 2° exp_ooo

Autorizaciónde usuarios

Método que se le asigna a los usuarios

derechos para usar

Objetos de la BD

Esta diseñado

para proteger la

BD

Page 11: Seguridad 2° exp_ooo

Es el medio por el que se implementan las autorizaciones.

Al planear el acceso . El ABD puede usar la matriz de control de Acceso

Page 12: Seguridad 2° exp_ooo
Page 13: Seguridad 2° exp_ooo
Page 14: Seguridad 2° exp_ooo

Es el conjunto de objetos de una BD que pertenecen a un usuario especifico.

“Cuentas de propietario de esquema”.

Page 15: Seguridad 2° exp_ooo
Page 16: Seguridad 2° exp_ooo

Como principal objetivo es que en las bases de datos debe tratarse de no otorgar a los usuarios mas privilegios de los que necesitan para hacer su trabajo.

Se le llama denominacion o DBO al conjunto de privilegios y se analizan en una seccion venidera.

Page 17: Seguridad 2° exp_ooo

Las personas no cometan errores y se conviertan en desastres de datos.

Refuerza la honestidad de personas.

Crear inicios de sesiones en la BD que tenga privilegios mínimos requeridos.

Page 18: Seguridad 2° exp_ooo

Si se permite a un usuario conectarse mediante unusuario como Empleados o Productosautomáticamente tendría privilegios completos encada Objeto del esquema como:inserción, eliminación y actualización de cualquiertabla por consiguiente alterar cualquier tabla.

Page 19: Seguridad 2° exp_ooo
Page 20: Seguridad 2° exp_ooo

CREATE USER vistante @localhostIDENTIFIED BY ‘PASSWORD’;

GRANT ALL ON BaseDatos.* TO user@localhost;

Page 21: Seguridad 2° exp_ooo

La sentencia GRANT

La sintaxis simplificada de grant consta de tres secciones. No puede omitirse ninguna, y es importante el orden de las mismas:

• grant lista de privilegios• on base de datos.tabla• to usuario

Ejemplo

Creación de un nuevo usuario al que se otorga algunos privilegios

mysql> grant update, insert, select-> on demo.precios

-> to visitante@localhost;

Page 22: Seguridad 2° exp_ooo

El comando CREATE USER, este comando crea nuevascuentas.

El comando DROP USER , borra una o mas cuentas queno tienen permisos.

Puede borrar una cuenta y sus permisos como sigue:

DROP USER user;

Es posible asignar una contraseña a la cuenta al mismotiempo que se crea y se le otorgan privilegios:

mysql> grant update, insert, select-> on demo.precios

-> to visitante@localhost identified by ´nuevapasswd´;

Page 23: Seguridad 2° exp_ooo

El comando SET PASSWORD asigna unacontraseña.

--Set password for root@localhost=password(‘laurosoto’);

--grant all privileges on *.* to usuario1@localhostidentified by 'passwordusuario' with grant option;

Page 24: Seguridad 2° exp_ooo

Privilegio es una acción como leer, actualizar o eliminar, que permite ejecutar a un usuario sobre la información de una base de datos.

La sintaxis para otorgar privilegios es la siguiente:

GRANT{ALL PRIVILEGES|LISA DE PRIVILEGIOS}

ON {nombre_tabla|nombre_vista

To{public|lista_usuarios|lista_roles}

Page 25: Seguridad 2° exp_ooo

Ejemplo donde se especifican las columnas sobre lasque se otorgan privilegios con el comando grant:

mysql> grant update(precio,empresa)-> on demo.precios

-> to visitante@localhost;

Podemos especificar privilegios diferentes para cada columna o grupos de columnas:

mysql> grant update(precio), select (precio, empresa)-> on demo.precios

-> to visitante@localhost;

Page 26: Seguridad 2° exp_ooo

ALL [PRIVILEGES] Da todos los permisos simples excepto GRANTOPTION

ALTER Permite el uso de ALTER TABLE

ALTER ROUTINE Modifica o borra rutinas almacenadas

CREATE Permite el uso de CREATE TABLE

CREATE ROUTINE Crea rutinas almacenadas

CREATE USER Permite el uso de CREATE USER, DROPUSER, RENAME USER, y REVOKE ALL PRIVILEGES.

CREATE VIEW Permite el uso de CREATE

DELETE Permite el uso de DELETE

DROP Permite el uso de DROP TABLEVIEW

UPDATE Permite el uso de UPDATE

USAGE Sinónimo de “no privileges”

GRANT OPTION Permite dar permisos

Page 27: Seguridad 2° exp_ooo

•EXECUTE Permite al usuario ejecutar rutinas almacenadas

•FILE Permite el uso de SELECT ... INTO OUTFILE y LOAD DATA INFILE

• INDEX Permite el uso de CREATE INDEX y DROP INDEX

•INSERT Permite el uso de INSERT

•LOCK TABLES Permite el uso de LOCK TABLES en tablas para las que tenga el permiso SELECT

•PROCESS Permite el uso de SHOW FULL PROCESSLIST

•REFERENCES No implementado

•RELOAD Permite el uso de FLUSH

•REPLICATION CLIENT Permite al usuario preguntar dónde están los servidores maestro o esclavo

•REPLICATION SLAVE Necesario para los esclavos de replicación (para leer eventos del log binario desde el maestro)

SUPER Permite el uso de comandos CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL , el comando mysqladmin debug le permite conectar (una vez) incluso si se llega a max_connections

Page 28: Seguridad 2° exp_ooo
Page 29: Seguridad 2° exp_ooo

El comando revoke permite eliminar privilegiosotorgados con grant a los usuarios. Veamos unejemplo representativo:

revoke allon *.*

from visitante@localhost;

Page 30: Seguridad 2° exp_ooo

La vista es un método muy utilizado paraimplementar el control del acceso.

•Es una medida de seguridad ya que ocultaestructuras y datos que el usuario no deberíaver .

Page 31: Seguridad 2° exp_ooo

CREATE VIEW datos AS

SELECT nombre, apellido, créditos

FROM estudiantes

WHERE carrera=‘ISC’;

CREATE VIEW vista estudiante AS

SELECT nombre, apellido, carrera

FROM estudiante;

Page 32: Seguridad 2° exp_ooo

Están diseñadas para proveer datos de apoyo alanálisis estadístico de poblaciones.

Se garantiza a los usuarios permiso para accedera información estadística como totales, cuentaso promedios, pero no a información sobre unindividuo en particular.

Page 33: Seguridad 2° exp_ooo

SELECT total(salario)

FROM empleados

WHERE Turno=‘’nocturno’;

Page 34: Seguridad 2° exp_ooo

SELECT salario

FROM empleado

WHERE empleado=‘E101’;

Page 35: Seguridad 2° exp_ooo

SELECT suma(salario)

FROM empleado

WHERE departamento=10 ANDpuesto=‘programador’ AND fecha > ‘01-febrero-2004’;