Está en la página 1de 9

IAW- Ejercicios UD03 – Gestión de cuentas de

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

Revisa la definición de la tabla user en tu servidor y explica los permisos


shutdown, process y file.

Shutdown: Cerrar la sesión al servidor.

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.

¿Cuál es la diferencia entre los tipos enum y set en MySQL?

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.

Explica los cuatro tipos de columnas en las tablas user y db.

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).

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

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


diferencia hay con SSL?

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:

Certificado Digital: Un certificado digital o certificado electrónico es un fichero informático


firmado electrónicamente por un prestador de servicios de certificación, considerado por otras
entidades como una autoridad para este tipo de contenido, que vincula unos datos de verificación
de firma a un firmante, de forma que únicamente puede firmar este firmante, y confirma su
identidad.

Firma digital: La firma electrónica es un concepto jurídico, equivalente electrónico al de la firma


manuscrita, donde una persona acepta el contenido de un mensaje electrónico a través de
cualquier medio electrónico válido. Ejemplos: Usando una firma biométrica.

Clave Publica: La criptografía asimétrica, también llamada criptografía de clave pública o


criptografía de dos claves, es el método criptográfico que usa un par de claves para el envío de
mensajes. Las dos claves pertenecen a la misma persona que recibirá el mensaje.

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.

Generar clave pública y privada en formato PEM sin contraseña.

$ sudo openssl genrsa -out key.pem 2048

Generar clave pública y privada en formato PEM con contraseña.

$ sudo openssl genrsa -aes128 -out key.pem 2048

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:

Para saber si es una variable global 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

1 y 3. Discute la conveniencia de permitir accesos de administrador remoto


desde el punto de vista de la seguridad.

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.

2. Crea usuarios y permisos para la base de datos de ebanca considerando las


restricciones de seguridad siguientes:

Hay tres usuarios:

• Administrador: todos los permisos.

grant all privileges on ebanca.* to ‘administrador’@’localhost’ identified by ‘1234’ with grant


option;

• 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 select on ebanca.* to ‘operador1’@’localhost’ identified by ‘1234’;

grant insert, update on banca.cliente to ‘operador1’@’localhost’;

grant insert(fecha_creacion,cod_cliente,cod_cuenta),
update(fecha_creacion,cod_cliente,cod_cuenta) on ebanca.cuenta to ‘operador1’@’localhost’;

grant select on ebanca.movimiento 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:

grant select on ebanca.* to ‘operador2’@’localhost’ identified by ‘1234’;

grant insert, update on ebanca.cliente to ‘operado2’@’localhost’;

grant insert(cod_cliente), update(cod_cliente) on ebanca.cuenta to ‘operador2’@’localhost’;

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.

Como ejemplo de autoridades certificadoras en España tenemos:

• Fábrica Nacional de Moneda y Timbre (FNMT)


• Agència Catalana de Certificació (CATCert)
• Agencia Notarial de Certificación (ANCERT).
• ANF Autoridad de Certificación (ANF AC)
• Autoridad de Certificación de la Abogacía (ACA)
• Autoridad de Certificación HealthSign
• Autoritat de Certificació de la Comunitat Valenciana (ACCV)
• Camerfirma
• EDICOM
• Firma Profesional
• IZENPE

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

La tabla USER_PRIVILEGES proporciona información acerca de permisos globales.

-INFORMATION_SCHEMA SCHEMA_PRIVILEGES

La tabla SCHEMA_PRIVILEGES proporciona información acerca del esquema de


permisos (base de datos).

-INFORMATION_SCHEMA TABLE_PRIVILEGES

La tabla TABLE_PRIVILEGES proporciona información de permisos de tablas.

-INFORMATION_SCHEMA COLUMN_PRIVILEGES

La tabla COLUMN_PRIVILEGES proporciona información acerca de permisos de


columnas

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

**********

grant all on motorblog.* to <usuario>@10.0.25.65 with MAX_QUERIES_PER_HOUR 10000;

Con la consulta que hemos puesto, hemos limitado al usuario un máximo de 10000 consultas
por hora.

9|Página

También podría gustarte