Documentos de Académico
Documentos de Profesional
Documentos de Cultura
usuario y permisos.
Nombre: Francisco Jesús García – Uceda Díaz – Albo.
Curso: 2º ASIR.
índice
Actividades 3.1 ..................................................................................................................................................... 2
Revisa la definición de la tabla user en tu servidor y explica los permisos shutdown, process y file. ....... 2
¿Cuál es la diferencia entre los tipos enum y set en MySQL? ...................................................................... 2
Explica los cuatro tipos de columnas en las tablas user y db. ...................................................................... 2
Actividades 3.2 ..................................................................................................................................................... 2
Crea un usuario local nuevo llamado admln con CREA TE USER, asígnale la contraseña admin
encriptándola con la función PASSWORD y dale permisos globales sobre todas las bases de datos con
GRANT. Haz cada operación con un comando distinto. ............................................................................... 3
Elimina el permiso SUPER V GRANT del usuario admin anterior. Usa las dos formas vistas: con REVOKE
y de manera manual. ...................................................................................................................................... 3
Actividades 3.3 ..................................................................................................................................................... 3
¿Qué servicio proporciona el protocolo TLS respecto a la seguridad? ¿Qué diferencia hay con SSL? ...... 3
Define con tus palabras los siguientes conceptos:........................................................................................ 4
Usa algún programa como Win32 OpenSSL o openSSH para generar un par de claves públicas y
privadas en tu equipo. .................................................................................................................................... 4
Busca e indica las variables de sistema (de sesión y globales) relacionadas con la seguridad en MySQL
(ayúdate del comando SHOW VARIABLES). ................................................................................................... 5
Ejercicios Propuestos........................................................................................................................................... 7
1 y 3. Discute la conveniencia de permitir accesos de administrador remoto desde el punto de vista de
la seguridad. .................................................................................................................................................... 7
2. Crea usuarios y permisos para la base de datos de ebanca considerando las restricciones de
seguridad siguientes: ...................................................................................................................................... 7
4-Busca nombres y webs de autoridades de certificación oficiales en la web tanto en España como en
otros países. Usa alguna de ellas para crearte un certificado. ..................................................................... 8
5- ¿Cómo se crean las tablas de permisos en MySQL? ¿Qué cuentas se crean por defecto en Windows y
en Linux? ¿Te parece seguro? Explícalo ........................................................................................................ 8
6- Supón que se están haciendo muchas consultas desde una cuenta a tu base de datos 'motorblog' y
no tienes medios de aumentar tus recursos físicos (memoria y CPU). ¿De qué manera podrías
limitarlos? Responde suponiendo ahora que las consultas se haccen desde distintos equipos. ............... 9
1|Página
Actividades 3.1
Process: Puede utilizarse para ver el texto de las consultas que se estén ejecutando actualmente,
incluyendo consultas que establecen o modifican passwords.
File: Otorga permiso para leer y escribir archivos en la máquina del servidor utilizando las
sentencias LOAD DATA INFILE y SELECT… INTO OUTFILE.
El tipo de campo ENUM y SET sirven para determinar los valores que puede tener un campo de
una tabla. En ambos determinas la lista de valores que puede contener el campo.
La principal diferencia es que un campo de tipo ENUM siempre contendrá un sólo valor de la lista,
en cambio en un campo de tipo SET el campo puede contener uno, varios o ningún valor de la
lista.
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. Las
columnas de alcance determinan el alcance de cada entrada (registro) en las tablas; esto es, el
contexto en que el registro se aplica.
Actividades 3.2
2|Página
Crea un usuario local nuevo llamado admln con CREA TE USER, asígnale la
contraseña admin encriptándola con la función PASSWORD y dale permisos
globales sobre todas las bases de datos con GRANT. Haz cada operación con un
comando distinto.
Elimina el permiso SUPER V GRANT del usuario admin anterior. Usa las dos formas
vistas: con REVOKE y de manera manual.
Actividades 3.3
El TLS es la versión 3.1 del SSL: introducido cuando los mismos usuarios de Internet se dieron
cuenta de la necesidad de un protocolo más estable y más seguro. Mediante una estandarización
del proceso se ideó el protocolo TLS en el cual, las dos partes implicadas, se comunican y negocian
las claves que usaran para encriptar y desencriptar el mensaje.
La diferencia es que permite la operativa de aplicaciones entre dos entes (clientes/servidor) para
que no sean intervenidas por escuchas ilegales, falsificaciones de usuarios o mensajes, es decir,
aunque el Certificado SSL mediante su ‘juego de llaves’ crea una conexión privada, la seguridad
se puede ver comprometida si un intruso interviene en el momento en que el servidor web envía
la clave pública: el intruso puede falsificar ésta llave aunque el cliente no se ha dado cuenta que
está siendo víctima de una falsificación. Por el contrario, con el Certificado TLS este tema queda
resuelto.
3|Página
Define con tus palabras los siguientes conceptos:
Infraestructura de clave pública (PKI): Una infraestructura de clave pública es una combinación
de hardware, software, y políticas y procedimientos de seguridad, que permiten la ejecución con
garantías de operaciones criptográficas, como el cifrado, la firma digital, y el no repudio de
transacciones electrónicas.
PGP: Pretty Good Privacy es un programa desarrollado por Phil Zimmermann y cuya finalidad es
proteger la información distribuida a través de Internet mediante el uso de criptografía de clave
pública, así como facilitar la autenticación de documentos gracias a firmas digitales.
CRL: CRL es el acrónimo de "Certificate Revocation List", que significa "lista de revocación de
certificados". Una CRL es una lista de certificados que ya no son válidos y en los que no debe
confiar ningún sistema de usuario.
Usa algún programa como Win32 OpenSSL o openSSH para generar un par de
claves públicas y privadas en tu equipo.
4|Página
Busca e indica las variables de sistema (de sesión y globales) relacionadas con la
seguridad en MySQL (ayúdate del comando SHOW VARIABLES).
Si consultamos las variables con el comando SHOW VARIABLES nos saldrá lo siguiente:
Si queremos saber si una variable es global o de sesión deberemos hacer lo siguiente; Para
saber si es una variable de sesión utilizaremos el siguiente comando:
5|Página
Si usamos el comando SHOW SESSION VARIABLES nos saldrán las variables de sesión:
Si usamos el comando SHOW GLOBAL VARIABLES nos saldrán las variables globales:
6|Página
Ejercicios Propuestos
Que un administrador pueda acceder de manera remota facilita bastante la tarea, aunque desde
el punto de vista de la seguridad, es más seguro trabajar directamente de manera local. Siempre
que podamos conectarnos de manera remota desde internet puede suponer un gran riesgo ya
que es más vulnerable nuestro servidor ya que está mucho más expuesto que únicamente en
local, además, alguien desde la misma red podría conectarse desde su equipo de manera remota
y puede ser bastante peligroso.
• Operador nivel 1: tiene acceso de lectura en todas las tablas. Puede operar en todas tablas
menos en el campo saldo de cuenta y en la tabla movimiento donde solo puede consultar. No
puede modificar la estructura de ninguna tabla.
grant insert(fecha_creacion,cod_cliente,cod_cuenta),
update(fecha_creacion,cod_cliente,cod_cuenta) on ebanca.cuenta to ‘operador1’@’localhost’;
• Operador nivel 2: puede consultar todas las tablas y modificar la tabla cliente y cuenta menos
los campos cod_cuenta, fecha_creacion y saldo:
7|Página
4-Busca nombres y webs de autoridades de certificación oficiales en la web tanto
en España como en otros países. Usa alguna de ellas para crearte un certificado.
5- ¿Cómo se crean las tablas de permisos en MySQL? ¿Qué cuentas se crean por
defecto en Windows y en Linux? ¿Te parece seguro? Explícalo
Cuando instalamos MySQL el programa crea varias tablas donde se recogerán los permisos de
cada usuario creado tanto por defecto como por nosotros mismos, estas tablas son:
-INFORMATION_SCHEMA USER_PRIVILEGES
-INFORMATION_SCHEMA SCHEMA_PRIVILEGES
-INFORMATION_SCHEMA TABLE_PRIVILEGES
-INFORMATION_SCHEMA COLUMN_PRIVILEGES
8|Página
Para comprobar que usuarios se crean por defecto en nuestro MySQL podemos realizar una
consulta de manera que podamos ver cuales son y buscar cual es la función de cada uno, aunque
el creado por defecto tanto en Windows como Linux, es 'root', es importante revisar si cuenta
con contraseña o no. Ej. Consulta: SELECT User, Host, Password FROM user;
No, me parece seguro, lo primero que deberíamos realizar todo administrador es deshabilitar el
usuario root y tener varios usuarios “falsos” que parezcan administrador sin que estos tengan
permisos para así pode rengañar a un supuesto ciberdelicuente que quiera acceder al sistema.
Además de esto, deberíamos hacer que no todos los usuarios puedan acceder a todas las bases
de datos, es decir, cada usuario debería estar como mucho asociado a una o dos bases de datos
correspondientes.
6- Supón que se están haciendo muchas consultas desde una cuenta a tu base de
datos 'motorblog' y no tienes medios de aumentar tus recursos físicos (memoria
y CPU). ¿De qué manera podrías limitarlos? Responde suponiendo ahora que las
consultas se haccen desde distintos equipos.
Debemos darle un número máximo de consultas por horas o por tiempo, por ejemplo, la
consulta se debería hacer de la siguiente manera:
mysql -u <usuario> -p
**********
Con la consulta que hemos puesto, hemos limitado al usuario un máximo de 10000 consultas
por hora.
9|Página