Seguridad, Grant y Revoke
Seguridad, Grant y Revoke
BARQUISIMETO
Prof: Ing. Magda Perozo Integrante: ngel Ramrez Gisbel Torres Leopoldo Torres Materia: Base de Datos BAQUISIMETO 2012
SEGURIDAD Es la capacidad del Sistema para proteger Datos, Servicios y Recursos de usuarios no autorizados. El fin de la seguridad es garantizar la proteccin o estar libre de todo peligro y/o dao, y que enBcierta manera es infalible. Confidencialidad: nos dice que los objetos de un sistema han de ser accedidos nicamente por elementos autorizados a ello, y que esos elementos autorizados no van a convertir esa informacin en disponible para otras entidades. Integridad: significa que los objetos slo pueden ser modificados por elementos autorizados, y de una manera controlada. Disponibilidad: indica que los objetos del sistema tienen que permanecer accesibles a elementos autorizados; es el contrario de la negacin de servicio. De qu nos queremos proteger A continuacin se presenta una relacin de los elementos que potencialmente pueden amenazar a nuestro sistema. Personas: Pasivos: aquellos que husmean por el sistema pero no lo modifican/ destruyen. Activos: aquellos que daan el objetivo atacado o lo modifican en su favor. Describiremos algunos de ataques que realizan las personas: o Personal. o Ex-empleados. o Curiosos. o Hackers. o Terroristas Amenazas Lgicas: Software incorrecto. Herramientas de seguridad. Puertas traseras. Canales cubiertos. Virus. Gusanos. Caballos de Troya.
GRANT Y REVOKE A continuacin le presentaremos los comandos GRANT y REVOKE que permiten a los administradores de sistemas crear cuentas de usuario MySQL, darles permisos y quitarlos de las cuentas. GRANT: Permite que un usuario pueda otorgar sus privilegios a otros usuarios, que pueden no ser tan fiables como el usuario original. REVOKE: Permite revocar privilegios otorgados a un usuario especfico.
Para usar GRANT o REVOKE, se debe tener el permiso GRANT OPTION, y debe tener los permisos que est dando o quitando. Para hacer fcil de quitar todos los permisos, MySQL 5.0 tiene la siguiente sintaxis, que borra todos los permisos globales, de nivel de base de datos y de nivel de tabla para los usuarios nombrados: REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] Para usar esta sintaxis REVOKE, se debe tener el permiso CREATE USER global o el permiso UPDATE para la base de datos mysql . Se pueden conceder varios privilegios en una nica sentencia. Por ejemplo: Mysql> GRANT SELECT, UPDATE ON prueba.gente TO anonimo IDENTIFIED BY 'clave'; Query OK, 0 rows affected (0.22 sec) Mysql>
Nivel global permisos se almacenan en la tabla mysql.user. GRANT ALL ON *.* y REVOKE ALL ON *.* otorgan y quitan slo permisos globales.
Los permisos globales se aplican a todas las bases de datos de un servidor dado. Estos
Nivel de base de datos dada. Estos permisos se almacenan en las tablas mysql.db y mysql.host. GRANT ALL ON nombre_BD.* y REVOKE ALL ON nombre_BD.* otorgan y quitan slo permisos de bases de datos.
Los permisos de base de datos se aplican a todos los objetos en una base de datos
Nivel de tabla permisos se almacenan en la tabla mysql.tables_priv . GRANT ALL ON nombre_BD.nombre_Tabla y REVOKE ALL ON nombre_BD.nombre_Tabla otorgan y quitan permisos slo de tabla.
Los permisos de tabla se aplican a todas las columnas en una tabla dada. Estos
Nivel de columna almacenan en la tabla mysql.columns_priv. Usando REVOKE, debe especificar las mismas columnas que se otorgaron los permisos.
Los permisos de columna se aplican a columnas en una tabla dada. Estos permisos se
Para garantizar los privilegios a un usuario especfico, tenemos la sentencia GRANT, que es precisamente la que le dice a MySQL si tal o cual usuario tiene o no tiene los privilegios para hacer algo con nuestras bases de datos. Ese algo podra ser la habilidad de hacer consultas (SELECT), la habilidad de actualizar o modificar (UPDATES), la habilidad de insertar informacin (INSERT) o la habilidad de borrar (DELETE). ALL: para conceder todos los privilegios. CREATE: permite crear nuevas tablas. DELETE: permite usar la sentencia. DROP: permite borrar tablas. INSERT: permite insertar datos en tablas. UPDATE: permite usar la sentencia. A continuacin el siguiente cuadro se ve ms especificamente los distintos comandos que se pueden usar para GRANT y REVOKE: Permiso ALL [PRIVILEGES] ALTER ALTER ROUTINE CREATE CREATE ROUTINE CREATE TEMPORARY TABLES CREATE USER Significado Da todos los permisos simples excepto GRANT OPTION Permite el uso de ALTER TABLE Modifica o borra rutinas almacenadas Permite el uso de CREATE TABLE Crea rutinas almacenadas
Permite el uso de CREATE TEMPORARY TABLE Permite el uso de CREATE USER, DROP USER, RENAME USER, y REVOKE ALL PRIVILEGES.
CREATE VIEW DELETE DROP EXECUTE FILE INDEX INSERT LOCK TABLES PROCESS REFERENCES RELOAD REPLICATION CLIENT REPLICATION SLAVE SELECT SHOW DATABASES SHOW VIEW SHUTDOWN
Permite el uso de CREATE VIEW Permite el uso de DELETE Permite el uso de DROP TABLE Permite al usuario ejecutar rutinas almacenadas Permite el uso de SELECT ... INTO OUTFILE y LOAD DATA INFILE Permite el uso de CREATE INDEX y DROP INDEX Permite el uso de INSERT Permite el uso de LOCK TABLES en tablas para las que tenga el permiso SELECT Permite el uso de SHOW FULL PROCESSLIST No implementado Permite el uso de FLUSH Permite al usuario preguntar dnde estn los servidores maestro o esclavo Necesario para los esclavos de replicacin (para leer eventos del log binario desde el maestro) Permite el uso de SELECT SHOW DATABASES muestra todas las bases de datos Permite el uso de SHOW CREATE VIEW Permite el uso de mysqladmin shutdown 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 Permite el uso de UPDATE Sinnimo de no privileges Permite dar permisos