Sie sind auf Seite 1von 4

Administración de Sistemas Informáticos en Red

ACTIVIDADES UNIDAD DIDÁCTICA 2: ACCESO A LA


INFORMACIÓN
1. Revisa la definición de la tabla user en tu servidor y explica los permisos shutdown,
process y file
• El privilegio SHUTDOWN puede utilizarse inadecuadamente para denegar el servicio a otros
usuarios de manera total, cerrando el servidor.
• El privilegio PROCESS puede utilizarse para ver el texto de las consultas que se estén
ejecutando actualmente, incluyendo consultas que establecen o modifican passwords.
• El privilegio FILE puede utilizarse inadecuadamente para introducir en una tabla de la base de
datos cualquier archivo que el servidor MySQL sea capaz de leer en la máquina del servidor.
Esto incluye todos los archivos que sean legibles para cualquiera, además de los archivos
almacenados en el directorio de datos del servidor. Esta tabla puede entonces ser accedida
utilizando una sentencia SELECT para transferir sus contenidos a la máquina cliente.
2. Explica los cuatro tipos de columnas en las tablas user y db
Las tablas user y host determinan los permisos en la primera fase de conexión en que se
comprueba si la cuenta puede acceder al servidor además de los permisos globales

Tipo de columnas Tabla user Tabla db


Columnas de alcance Host Host
User Db
Password User
Columnas deprivilegios Select_priv Select_priv
Insert_priv Insert_priv
Update_priv Update_priv
Delete_priv Delete_priv
Index_priv Index_priv
Alter_priv Alter_priv
Create_priv Create_priv
Drop_priv Drop_priv
Grant_priv Grant_priv
Create_view_priv Create_view_priv
Show_view_priv Show_view_priv
Create_routine_priv Create_routine_pirv
Alter_routine_priv Alter_routine_priv
References_priv References_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Show_db_priv
Super_priv
Create_tmp_table_priv Create_tmp_table_priv
Lock_tables_priv Lock_tables_priv
Execute_priv
Repl_slave_priv
Repl_client_priv
Columnas de seguridad ssl_type
ssl_cipher
x509_issuer
509_subject
Columnas recursos control max_questions
max_updates
max_connections
max_user_connections

FLORIDA Centro de Formación. Unidad TICs 1


Administración de Sistemas Informáticos en Red

Las columnas de alcance de la tabla user determinan si se rechazan o permiten conexiones


entrantes. Para conexiones permitidas, cualquier privilegio otorgado en la tabla user indica los privilegios
globales del usuario (superusuario). Estos privilegios se aplican a todas las bases de datos en el servidor.
Las columnas de alcance de la tabla db determinan qué usuarios pueden acceder a qué bases de
datos desde qué equipo. La columna de privilegios determina qué operaciones se permiten. Un privilegio
otorgado a nivel de base de datos se aplica a la base de datos y a todas sus tablas.
La tabla db no dispone de columnas de los dos últimos tipos, solo dispone de ellos la tabla user.
Las columnas de seguridad hacen referencia a la seguridad que se emplea a la hora de acceder a la base de
datos. Las columnas de control de recursos indican los valores máximos que pueden alcanzar diferentes
elementos.
3. ¿Qué permisos globales se dan por defecto cuando creamos un usuario nuevo con el
comando CREATE USER? ¿Qué tablas se modifican cuando hacemos esta
operación?
No se da ningún permiso al crear un usuario nuevo. Al crearlo se modifica la tabla user en la cual
aparece el usuario, pero todos sus permisos globales están a no.
4. Indica en cada caso el significado de los valores para los campos user y host de la
tabla user

USER HOST
‘’ ‘%’
‘’ ‘%.asir.com’
‘admin_blog’ ‘localhost’
‘user’ ‘122.233.155.0/24’

Las columnas de alcance (user y host) de la tabla user determinan si se rechazan o permiten
conexiones entrantes.
El servidor solo acepta la conexión si las columnas Host y User de alguna de las tablas user es
coincidente con el nombre de la máquina y usuario del cliente, y además el cliente proporciona la clave
especificada en ese registro.
En la columna User, los caracteres comodín no están permitidos, pero podemos especificar un
valor en blanco, que será válido para cualquier nombre, en tal caso el usuario es considerado anónimo, sin
nombre de usuario, no un usuario con el nombre que el cliente especificó realmente.
En este caso existen 3 usuarios diferentes (anónimo, admin_blog y user) que se pueden conectar
desde 4 host diferentes (cualquiera, cualquiera de la web asir.com, localhost y cualquiera de la red
122.233.155.0).
5. Supón que tenemos los siguientes valores sobre la tabla user para los campos host y
user
USER HOST
‘u_ebanca’ asir.com
asir.com ‘’
‘’ ‘u_ebanca’
Cuando se conecte el usuario u_banca, ¿con qué cuenta lo hará?
Si el usuario u_banca se conecta desde el host u_ebanca lo hará como anónimo, en caso contrario
se rechazará la conexión.
6. Crea un usuario local llamado u1 sin contraseña. ¿Qué puede hacer sobre la base de
datos test? Crea ahora con el usuario root la tabla test.prueba1 con un campo de tipo
int. Haz lo necesario para que u1 pueda insertar registros en dicha tabla. Cambia los
permisos dándole a u1 solo permisos de actualización sobre dicha tabla. Intenta
modificar una fila. Haz lo necesario para conseguirlo. Explica.

FLORIDA Centro de Formación. Unidad TICs 2


Administración de Sistemas Informáticos en Red

Acceder con el usuario root


CREATE USER u1@localhost;
Ese usuario no tiene ningún permiso, ni sobre la base de datos test ni sobre ninguna otra.
CREATE TABLE Prueba1 ( cod INT PRIMARY KEY);
GRANT Insert ON test.prueba1 FROM u1@localhost;
REVOKE Insert ON test.prueba1 FROM u1@localhost;
GRANT Update ON test.prueba1 FROM u1@localhost;
INSERT INTO prueba1 VALUES(1);
INSERT INTO prueba1 VALUES(2);
Abrir una nueva instancia de mysql en esta ocasión utilizando el usuario u1

>mysql –u u1 –p
USE test;
UPDATE FROM prueba1 SET cod = 3 WHERE cod = 1;
Para darle permiso de modificación únicamente sobre esa tabla tendríamos que cambiar los
permisos en la tabla db puesto que la base de datos test tiene permiso para cualquier usuario desde
cualquier host que se conecte para hacer cualquier operación sobre ella y solo sobre ella.
7. ¿Podemos hacer inserciones en la base de ebanca si tenemos permisos globales de
escritura y sin embargo para dicha base de datos tenemos el permiso insert a ‘N’?
Sí, un permiso global permite hacer cualquier cosa en cualquier base de datos, incluso aunque no
tengas permiso explicito sobre esa base de datos..

8. Crea un usuario local nuevo llamado admin con CREATE USER, asígnale la
contraseña admin encriptándola y dale permisos globales sobre todas las bases de
datos con GRANT.
CREATE USER admin@localhost IDENTIFIED BY ‘admin’;
GRANT ALL ON *.* TO admin@localhost;

9. Elimina el permiso SUPER y GRANT del usuario admin anterior, de dos formas
distintas: con REVOKE y de manera manual.
REVOKE SUPER, GRANT OPTION ON *.* FROM admin@localhost;
UPDATE mysql.user SET super_priv = ‘N’, grant_priv = ‘N’ WHERE user = ‘admin’ AND host
= ‘localhost’;

10. Haz lo necesario para que el usuario admin ebanca pueda conectarse a la base de
datos ebanca desde una única IP www.asir.com
CREATE USER admin_ebanca@www.asir.com;

11. ¿Qué ocurre si intentamos crear un usuario con contraseña con el comando
CREATE USER sin usar la función PASSWORD?, ¿podemos conocer la contraseña
original de un usuario?
Crear un usuario con CREATE USER crea el usuario y encripta la contraseña. Después la única

FLORIDA Centro de Formación. Unidad TICs 3


Administración de Sistemas Informáticos en Red

posibilidad para poder ver la contraseña original sería utilizar privilegios como PROCESS que investigen
en los procesos de los usuarios.

12. ¿Con que cinco permisos deberíamos ser más cautelosos a la hora de concederlos y
por qué?
Los permisos más peligrosos a la hora de manejarlos y concederlos corresponden a los que tienen
nivel de administrador y que solo se encuentran en la tabla user. Por ejemplo:
LOCK TABLES
PROCESS
RELOAD
SHUTDOWN
SUPER

13. ¿Qué servicio proporciona el protocolo TLS respecto a la seguridad? ¿Qué


diferencia hay con SSL?
El protocolo TLS (Transport Layer Security), sucesor de SSL (Security Socket Layer) permite
incorporar los cuatro elementos de seguridad completa en una conexión, es decir, garantiza la
confidencialidad (mediante encriptación de los datos), integridad (mediante firma digital), autentificación
(emisor demuestra sus credenciales), y no repudio, de forma que el que recibe un mensaje sabe con
segurida quien es el autor, el cual por tanto no puede negarlo.

FLORIDA Centro de Formación. Unidad TICs 4

Das könnte Ihnen auch gefallen