Está en la página 1de 14

Asignatura Datos del alumno Fecha

Apellidos: Zúñiga González


Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Actividades

Trabajo: Auditar y asegurar un SGBD MYSQL

Índice
Objetivos..........................................................................................................................2
Instalación de laboratorio.............................................................................................2
Ejecución de SCUBA......................................................................................................4
Resultado de Scuba.........................................................................................................5
Guía de seguridad de un SGBD MYSQL......................................................................5
Remediación de las vulnerabilidades detectadas por Scuba....................................5
Cuenta Root de MySQL..............................................................................................6
Seguridad en autenticación.......................................................................................7
Atención a alertas medias..............................................................................................8
Users not Forced to Use SSL:................................................................................8
have_openssl Option Set to DISABLED:............................................................8
Existing 'test' Database:.......................................................................................10
local_infile Option Set to ON:.............................................................................11
have_symlink Option Set to YES:......................................................................11
Conclusiones..................................................................................................................13
Referencias....................................................................................................................13

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Objetivos

Explotar vulnerabilidades que afectan a bases de datos, auditar su seguridad e


implementar una guía de seguridad de un SGBD MYSQL.

Instalación de laboratorio

Para poder realizar la actividad se requiere montar el laboratorio con las herramientas
para el análisis y elaboración de la guía de seguridad de MYSQL:
1. Se requiere instalar en la máquina de Host las versiones de Java JRE/JDK, las
herramientas se bajan del portal de Java.
a. Se valida la instalación y la versión de Java en una consola de CMD con el
comando “java -version” o “java -showversion”.
2. Se descarga e instala Tomcat 7.0
a. Se configuro el puerto en el 9090.
b. Se asigna un usuario y su contraseña para la administración de Tomcat.
3. Se descarga e instala MySQL Community Server 5.5.x,
a. se instala el servidor con los puertos por defecto y con el usuario Root y la
asignación de contraseña.
4. Se descarga WAVSEP y se copia en la carpeta:
a. "C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps",
para que se cargue en el Apache Tomcat.
b. Al realizar esta tarea de requiere reiniciar el servio para que tome los
cambios
5. Y por último se tendrá que descartar e instalar Scuba para el análisis y escaneo de la
BD de WAVSEP.
a. Hay que bajar el OBDC para java y copiarlo en la carpeta de
“C:\Users\i.zunigag.TELESITES\Desktop\TareaBd\Scuba-
Windows\ODBC\Production\MYSQL”, en este caso mi ruta donde se
ejecuta.
Es importante menciona que la maquina Host es un Windows 10 y todas las
instalaciones y ejecuciones de las herramientas se requieren iniciar con permisos de
Administrador para que puedan correr y ejecutarse correctamente, se anexan pantallas
de la puesta del laboratorio.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Software que se descargó e instalo

Prueba de la instalación y validación de Tomcat y WAVSEP

Comprobación de la confiuración de WAVSEP y la BD en MYSQL

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Prueba de la ejecución de SCUBA y OBDC de java

Instalación de MySQL

Ejecución de SCUBA
Ya con la puesta del laboratorio, ejecutamos Scuba capturando los datos que solicita la
aplicación para poder realizar el análisis de la BD de WAVSEP, en este caso la ejecución
se realiza con el Usuario Root de MySQL para identificar las vulnerabilidades que nos
indique Scuba, y que en el tutorial de Scuba indica que se den permisos full para el
análisis, pantalla de ejecución de Scuba:

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Resultado de Scuba
En el resultado del escaneo de Scuba se puede identificar que se encuentran 7 alertas
donde 2 son altas y 5 de medias, esta herramienta como otras de escaneo integran una
base de datos con las que se realizan las pruebas en este caso se ejecutaron 511 pruebas
conde el 96% pasaron sin gravedad y 1% no paso y 3% son de notificación, también se
puede observar que se integran los links o referencias de las vulnerabilidades
encontradas para poder realizar o ejecutar su remediación.

Guía de seguridad de un SGBD MYSQL


Ya herramienta de Scuba nos indica un panorama general de como se encuentra
nuestra base con las 511 pruebas que le realiza, pero faltan puntos por validar y el
experto de seguridad integrara para poder observar las vulnerabilidades que no detecto
la herramienta o implementación de mejores practicas para el aseguramiento del
SGBD.

Remediación de las vulnerabilidades detectadas por Scuba


I. En primera instancia se remediarán las dos primeras vulnerabilidades altas
detectadas.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Cuenta Root de MySQL


Vulnerabilidad:
Existing ‘Root’ Account es una mala practica tenerla asignada a la administracion
de la Base de Datos ya que si existiera una vuleravilidad propia de MySQL podria
comprometer el equipo.
Remediacion:
Se quitara de la BD de WAVSEP el usuario “Root” y se integrara otro cuanta con el
nombre “Maverick” sin los pribilegios de Root y se pueda administrar la base.
I. Entraremos a la consola de MySQL Workbench para ingresar a las
propiedades de la BD donde podemos cambiar las configuraciones y
remediar las vulnerabilidades.
II. En el apartado de “User an Privileges” se agregara otro usuario de
nombre “maverick” a este usurio se le activaran los permisos de DBA y se
eliminara “Root” corrigiendo el primer punto.
Alta de usurio

Eliminación de “Root”

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

III. Se ejecuta la herramienta Scuba con el usurio “maverick” para validar la


correcion y se puede observar que ya solo hay 6 alertas y de las 2 altas ya
solo oqueda 1 eliminamos la de Root, se anexan pantallas de la remediacion:
Validacion de la correción

Seguridad en autenticación
Vulnerabilidad:
Secure_auth Option Set to OFF se de tecto que MySQL tiene activada la
autenticacion de contraseñas Anteriores a la Version 4.1 lo que compromete la
seguridad de la BD.
Remediacion:
Se tiene que desactivar esta accion de OFF a ON para remediar la vulnerabilidad:
I. En la consola de MySQL Workbench en el apartado “Option File” nos
desplazamos a la pestaña de “Security” donde activaremos la seguridad con
el chek para desactivar esta alerta como se muestra en la imagen.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

II. Corremos Scuba para validar la correción y podemos obserbar que ya no


tenemos las alertas altas se remediaron.
Se anexa pantalla de la remediacion

Atención a alertas medias

Users not Forced to Use SSL:


esta alerta se prende ya que si las bases de datos se van a administrar fuera de la red
corporativa al no cifrar el canal o la información se comprometen los datos.

have_openssl Option Set to DISABLED:


esta alerta es similar a la anterior y dependera del uso y configuracion de las BD ya que
si no se requiere se tendra que desactivar el OpenSSL o si se requiere por que saldra de
nuestra red se tendria que activar.
Remediación: Para estas alertas para su remediación lo que se realizara es la
instalación de OpenSSL y la activación del uso de este protocolo para su administración
en MySQL garantizando la confidencialidad de los datos cifrando el Canal.
I. Bajamos e instalamos OpenSSL en la ruta que recomienda que es sobre raíz
de “C:\OpenSSL-Win64” pantalla de validación de la instalación:

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

II. En MySQL Workbench configuraremos los accesos de SSL en la opcion


“Server Tolls\Manager Server Conection”

III. En Options File se configuran los certificados para poder ingresar por SSL
como se muestra en la pantalla.

IV. Se realizan las pruebas de Test para validar la conexión y que está bien
configurado se realiza otra validación por la consola de MySQL de las dos
alertas que se solucionaron.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

V. Para forzar que el usuario realmente use SSL para conectarse hay que correr
una line de comandos en la consola para poder ver el cambio en Scuba
“UPDATE mysql.user SET ssl_type='ANY' WHERE user='maverick'”, se
anexa la pantalla con el resultado del comando.

Existing 'test' Database:


Esta alerta de genera por que se tienen la Base de Datos que no tendrian que estar y al
ser de pruebas o Test pueden genear un riesgo para los sistemas productivos por lo que
se tiene que eliminar la BD Test.
Remediación: se ejecuta el borrado de la BD Test para eliminar la alerta que nos
genero Scuba,
I. El borrado es simple se posiciona uno en la BD y con el submenú
seleccionamos Drop Schema nos indicara en una ventana la verificación de
la eliminación de la BD como se muestra en la pantalla

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

local_infile Option Set to ON:


La aterta se detona por defecto la variable se instala en “ON” y esto pone en riego el
servidor para un ataque de SQL inyection, por una explotacion de Carga de documentos
en la maquina local o por el portal Web.

Remediación: en la opción de “Server\Status Sistem and Variable” buscamos


“local_infile” para cambiar la opción a “OFF”, con esto se atiende la vulnerabilidad
como se muestra en la pantalla:

have_symlink Option Set to YES:


Impide que se usen enlaces sym para archivos de base de datos. Esto es especialmente
importante cuando MySQL se ejecuta como root, ya que los archivos arbitrarios pueden
sobrescribirse.
Remediación: de igual forma que la alerta anterior se podría cambiar el estatus en las
variables para pasar de “YES” a “DISABLE”,
I. Queda mencionar que para este caso y que esta en Windows MySQL no
aplica ya que el usuario “Root” es solo en Linux y el que se creó en la

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

instalación ya no está activo, se anexa pantalla donde se pude ver que se


modifica.

II. Tambien se anexa el estracto de la documentación de MySQL donde indica


que no aplica para Windows :

“have_symlink: YES if symbolic link support is enabled, NO if not. This is required


on Unix for support of the DATA DIRECTORY and INDEX DIRECTORY table options.
If the server is started with the --skip-symbolic-links option, the value
is DISABLED.
This variable has no meaning on Windows. ”

III. Por ultimo se anexa la pantala con la correcion de las alertas de Scuba donde
solo nos queda la que no se puede aplicar para Windows, y los archivos del
escaneo con la remediación.

Archivos del escaneo de las remediaciones de las alertas

dashboard.html AssessmentResults.j
s

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

Conclusiones
Como nos podemos dar cuenta en el transcurso del laboratorio las instalaciones se
realizaron por defecto en Apache Tomcat y MySQL lo cual nos detona alertas en el
escáner de Scuba 2 altas y 5 medias.
Aun solucionando las alertar que encontró Scuba, las más graves son las de sobre
privilegios en el usuario Root y ejecución de sus acciones en la base nos deja claro
que el no contar con un manual de instalción MySQL deja vulnerable al manejador
de la BD y compromete el Sistema Operativo y los aplicativos que se cuelguen a los
servicios que ofrezca esta BD.
Aunque se corriguieron las 2 alertas altas y de las 5 medias falta una
have_symlink esta se puede clasificar como un falso positivo ya que en Windows
no tiene consecuencia bajo la documentacion de Mysql y se integro la nota, no la
quite para hacer notar el comentario ya que si se puede mitigar en las variables esto
nos indicaria que tambien el software de Scaneo pudiera tener fallas como esta y se
tendra que recurrir a mas inveetigacion.
Es primordial contar con una Check-list de seguridad en este caso lo proporciono
Scuba ya que realiza 511 pruebas y esto en su versión gratuita, sería de gran
recomendación tener la versión de paga para profundizar más en la seguridad de las
Bases de Datos.
Como podemos ver no es trivial el aseguramiento de la base de datos y mucho
menos su auditoria ya que este tema le pega en rendimiento a la operación.
Esto fue para MysQL pero todas las bases tendran su caracteristica para asegurar y
aduditar.

Referencias

1. Descarga gratuita de software de Java. (2019). Retrieved 3 December 2019, from


https://www.java.com/es/download/
2. (2019). Retrieved 3 December 2019, from
http://download.nust.na/pub6/mysql/doc/refman/5.0/es/server-system-
variables.html

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos: Zúñiga González
Seguridad en Bases
de Datos y
03/12/2019
Almacenamiento de
Nombre: Israel
Datos Masivos

3. Mysql, C., & Politis, A. (2019). Couldn't enable symbolic links for Mysql. Retrieved 3
December 2019, from https://stackoverflow.com/questions/48042107/couldnt-
enable-symbolic-links-for-mysql
4. sectooladdict/wavsep. (2019). Retrieved 3 December 2019, from
https://github.com/sectooladdict/wavsep/wiki/WAVSEP-Installation-and-
Deployment
5. 'root'@'localhost', m., Flores, M., & Duarte, G. (2019). mysql
how to fix Access denied for user 'root'@'localhost'. Retrieved 3 December 2019,
from https://superuser.com/questions/603026/mysql-how-to-fix-access-denied-
for-user-rootlocalhost

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)

También podría gustarte