Upload
yuzel-sederap
View
166
Download
0
Embed Size (px)
Citation preview
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
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
Aislamiento entre la red empresarial e internet
Configurar el enrutador
Emplear un firewall
Aseguramiento del acceso a una red inalámbrica
Instalar un mínimo de software del S.O
Aplicar los parches de seguridad
Cambiar todas las contraseñas predeterminadas
Autentificación de usuarios
Es la verificación de la identidad
del usuario
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
Es el medio por el que se implementan las autorizaciones.
Al planear el acceso . El ABD puede usar la matriz de control de Acceso
Es el conjunto de objetos de una BD que pertenecen a un usuario especifico.
“Cuentas de propietario de esquema”.
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.
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.
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.
CREATE USER vistante @localhostIDENTIFIED BY ‘PASSWORD’;
GRANT ALL ON BaseDatos.* TO user@localhost;
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;
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´;
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;
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}
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;
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
•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
El comando revoke permite eliminar privilegiosotorgados con grant a los usuarios. Veamos unejemplo representativo:
revoke allon *.*
from visitante@localhost;
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 .
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;
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.
SELECT total(salario)
FROM empleados
WHERE Turno=‘’nocturno’;
SELECT salario
FROM empleado
WHERE empleado=‘E101’;
SELECT suma(salario)
FROM empleado
WHERE departamento=10 ANDpuesto=‘programador’ AND fecha > ‘01-febrero-2004’;