Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder...

12
Luis Mengual © Pág. 1 de 9 Aplicación Android para el acceso a un SGBD con servicios de seguridad

Transcript of Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder...

Page 1: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 1 de 9

Aplicación Android para el acceso a un SGBD con servicios de seguridad

Page 2: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 2 de 9

Se proporciona a los alumnos la aplicación “MYSQL_TLS_V30_BD2.apk” con fines docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo información de la versión del SGBD, versión del conector java utilizado, algoritmos de cifrado utilizados (si los hubiera), Bases de Datos disponibles. La aplicación se ofrece con y sin servicios de seguridad en el acceso al SGBD permitiendo la realización de consultas SQL. El acceso con servicios de seguridad requiere la configuración del SGDB y la instalación de certificados tanto en el SGBD como en el sistema móvil.

1. Entorno de uso de la Aplicación Móvil

El entorno de uso de la aplicación móvil en el contexto de la esta práctica aparece descrito en la figura 1.1. Asumimos que el alumno ha instalado en un sistema informático (ordenador portátil o de sobremesa) MySQL Server versión 5.7.17 (o posterior) y, además ha instalado el cliente asociado programa denominado Worbench versión 6.3.8 (o posterior).

El objetivo de esta práctica es poder acceder con servicios de seguridad desde un móvil android con internet móvil o Wifi al SDGB MySQL que reside en el sistema informático.

MySQL Database

MySQL Server 5.7.17MySQL Worbench 6.3.8

MÁQUINA REAL

MÓVIL ANDROID

SISTEMA INFORMÁTICO

Figura 1.1 Entorno uso de la aplicación móvil de acceso a Base de Datos Respecto de la ubicación del SGBD hay que tener en cuenta que en general podremos acceder al SGBD dispone de un IP pública y no existe ningún cortafuegos que lo impida. Por ejemplo, si se dispone de sistema operativo Windows 10 o versiones anteriores hay que desactivar el “firewall de Windows” para permitir el acceso externo ver figura 1.2.

En esta situación desde el móvil podríamos conectarnos al SGBD desde la red móvil o utilizando la Wifi de móvil (si tuviéramos un Wifi disponible). Puede que algunos

Page 3: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 3 de 9

operadores móviles tengan algún filtro en su propia red que impida el acceso final. Un escenario en el que la aplicación funcionara sin problemas es teniendo el SGBD y el móvil en una misma red Wifi, por ejemplo, la red Wifi doméstica

Figura 1.2 Desactivando cortafuegos

2. Consideraciones iníciales

Para mayor sencillez en la realización de la práctica, en lo que se refiere a la configuración de servicios de seguridad, vamos a realizar modificaciones del fichero my.ini de MySQL Server desde la aplicación Worbench. Para ello debemos de asegurarnos que la aplicación Worbench está adecuadamente instalada y configurada. Téngase en cuenta que en la versión MySQL Server 5.7.17 el fichero “my.ini” se localiza en una carpeta oculta “C:\ProgramData\MySQL\MySQL Server 5.7”. Es por ello que cualquier modificación del mismo requiere permisos de administrador del sistema.

Para asegurarnos que el Worbench ha sido adecuadamente instalado hacemos lo siguiente:

1. Arrancamos el Worbench, con la opción “ejecutar como administrador”. 2. Nos conectamos al MySQL Server con el usuario root. 3. Pinchamos en “Options File”. Esta opción carga el fichero de configuración en

el entorno Worbench. Si todo esta correcto debería aparecer la figura 2.1 en la que aparece configurado el path “C:\ProgramData\MySQL\MySQL Server 5.7\my.ini”.

4. Si al pinchar en “Options File” no se puede cargar el fichero de configuración o no aparece el path anterior se debe proporcionar al Worbench manualmente el path dónde se halla el fichero my.ini (ver anexo1).

Page 4: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 4 de 9

Figura 2.1

3. Instalación de la Aplicación Móvil

Para proceder a la instalación de la aplicación en un terminal móvil Android se deben de seguir los siguientes pasos:

a) Se deberá copiar el fichero “MYSQL_TLS_V30_BD2.apk” en la memoria o tarjeta SD del móvil Android.

b) Se deberá permitir la instalación de apps de origen desconocido. Para ello hay que ir al menú del móvil: Configuración/seguridad/orígenes desconocidos (permitir la instalación de aplicaciones de origen desconocido).

c) Ahora ya se podrá instalar la aplicación.

Page 5: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 5 de 9

4. Acceso a un SGBD sin servicios de Seguridad

Para poder acceder desde el móvil Android al SGBD MySQL Server que reside en un sistema informático debemos, en primer lugar, crearnos un usuario que tengan permisos de acceso remoto. Recordemos que por defecto el usuario root de la instalación de MySQL Server no tiene permiso de acceso desde un sistema remoto.

Por ejemplo, para crear el usuario “user1” con acceso remoto deberíamos utilizar los siguientes comandos:

GRANT all privileges on *.* to user1@'%' identified by 'user1' with grant option; SHOW GRANTS FOR user1@'%'; Una vez creado un usuario con acceso remoto en el SGBD podemos arrancar la app en nuestro móvil y proporcionarle los parámetros de entrada: Por un lado, hay que configurar la dirección IP de nuestro SGBD. A continuación hay que introducir el nombre del usuario y su clave (ver fig.4.1). Por último, hay que proporcionar el puerto donde se encuentra el servicio MySQL Server (por defecto es el puerto 3306).

Figura 4.1: Acceso SGBD sin servicios de seguridad Si la configuración de red es correcta tocaremos el botón “Conectar” y podremos acceder a la información del SGBD y realizar consultas. En el enlace [4] (ver apartado 7) se pueden descargar videos y capturas de funcionamiento de la app.

Page 6: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 6 de 9

5. Acceso a un SGBD con servicios de Seguridad

Para poder acceder desde el móvil Android al SGBD con servicios de seguridad hay que realizar una configuración previa en el SDGB (servidor) y en el teléfono móvil. Esta configuración va a permitir que la aplicación “MYSQL_TLS_V30_BD2.apk “ acceda al SGBD con el protocolo SSL.

5.1 Configuración previa en el SGBD (servidor)

Para poder acceder desde el móvil Android al SGBD con servicios de seguridad hay que realizar la configuración previa del SGBD de acuerdo a la práctica de la asignatura: “Gestión de Accesos Seguros a una Base de Datos”. Es decir, básicamente hay que hacer tres cosas:

1. Crear una carpeta donde copiar los ficheros de certificados y claves: “CACerificado.pem”, “SR_Certificado.pem” y “SR_ClavePrivada.pem”. Vamos a llamar a esta carpeta “MisCertificados”.

2. Modificar el fichero “my.ini” de forma especifiquemos el path y el nombre de los ficheros de claves y certificados. En esta práctica proponemos hacer esta tarea arrancando la aplicación Worbench (ejecutando como administrador), pinchando en “Options File”, seleccionamos la pestaña “networking” y desde aquí seleccionamos los ficheros de claves y certificados y los paths (ver figura 5.1). Una vez hecho esto debemos dar al botón aplicar.

3. Lo último que quedaría por hacer sería reiniciar el servicio MySQL o bien reiniciar el equipo.

Los certificados a utilizar para la configuración de seguridad del SGBD se pueden descargar del enlace [1] (ver apartado 7). Un video y capturas del proceso de configuración de los servicios de seguridad en el SGBD MySQL Server 5.7.17 se puede descargar del enlace [2] (ver apartado 7).

Page 7: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 7 de 9

Figura 5.1: Configurando servicios seguridad en fichero my.ini desde el worbench

5.2 Configuración previa en el sistema móvil Android

Para poder establecer entre el sistema móvil y el SGBD un acceso seguro con el protocolo SSL sin autenticación de cliente, el sistema móvil debe de tener instalado el certificado de CA que firma el certificado del servidor, es decir, la CA que firma el certificado “SR_Certificado.pem”. Para ello hay que seguir los siguientes pasos:

1. Copiar el certificado de la CA en el teléfono móvil. Para ello copiamos el fichero “CACeriticado.crt” en la memoria del móvil. Este fichero es el mismo que el fichero “CACertificado.pem” pero en formato *crt. Este fichero se puede descargar del enlace [1] (ver apartado 7).

2. Ir al teléfono móvil al menú: Ajustes/seguridad/almacenamiento de credenciales/instalar desde almacenamiento del teléfono e instalar el certificado

3. Comprobar que el certificado está instalado yendo al menú Ajustes/seguridad/almacenamiento de credenciales/credenciales de confianza/usuario.

Page 8: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 8 de 9

*NOTA IMPORTANTE: Para poder realizar el paso 2 dependiendo del modelo de móvil se exige tener un pin o un patrón de bloqueo de pantalla. Si el usuario no quiere tener el bloqueo de pantalla con pin NO DEBE DE HACER ESTA CONFIGURACIÓN

Una vez realizadas las configuraciones 5.1 y 5.2 el usuario del terminal móvil arrancará la app y proporcionará los parámetros de la dirección IP, usuario y clave (ver figura. 5.2). A diferencia del acceso sin servicios de seguridad, ahora, pincharemos en la opción “TSL” del menú de la interfaz. Finalmente, tocaremos el botón “Conectar”.

Figura 5.2: Acceso SGBD con servicios de seguridad En el enlace [4] (ver apartado 7) se pueden descargar videos y capturas de funcionamiento de la app.

6. Certificados necesarios

Para poder realizar esta conexión se ofrece a los alumnos los cuatro certificados necesarios:

“CAcertificado.pem”, “SR_Certificado.pem”, “SR_ClavePrivada.pem” y “CACertificado.crt”

Los certificados a utilizar para la configuración de seguridad del SGBD se pueden descargar del enlace [1] (ver apartado 7).

Page 9: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Luis Mengual ©

Pág. 9 de 9

7. Enlaces descargas ficheros y videos

[1] Enlace descarga de ficheros de certificados y claves: https://drive.google.com/folderview?id=0B8xK-sIfZogWdEJqcmNrb0lkQlE&usp=sharing

[2] Enlace descarga de video y capturas de la configuración MySQL Server 5.7.17 con servicios de seguridad utilizando Worbench 6.1.38: https://drive.google.com/folderview?id=0B8xK-sIfZogWeDZ3dEh6QVl1WkE&usp=sharing

[3] Enlace video instalación certificado de la CA en móvil Android https://drive.google.com/folderview?id=0B8xK-sIfZogWRzdKaXlLXzJvTE0&usp=sharing

[4] Enlace videos y capturas de funcionamiento de la Aplicación: https://drive.google.com/folderview?id=0B8xK-sIfZogWQ083ZElJUHp5c1E&usp=sharing

8. Descarga de la Aplicación Móvil

La descarga de la App se realizará desde un enlace que se puede encontrar en el Moddle de la asignatura.

Page 10: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Pág. 1 de 3

Anexo 1

Page 11: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Pág. 2 de 3

A1. 1 Configuración Worbenbench 6.3 acceso fichero “my.ini”

Si al arrancar la aplicación Worbench y al pinchar en “Options File” no se puede cargar el fichero de configuración o no aparece el path “C:\ProgramData\MySQL\MySQL Server 5.7” se debe proporcionar al Worbench manualmente el path dónde se halla el fichero “my.ini”. Asumimos, lógicamente, que se previamente se ha realizado la instalación del SGBD MySQL Server 5.7.17. Para realizar este proceso de configuración manual hay que realizar los siguientes pasos:

1. Arrancamos el Worbench, con la opción “ejecutar como administrador2. Nos conectamos al MySQL Server con el usuario root.

”.

3. Seleccionamos la pestaña “Server\Management Access Settings”. (ver figura A1.1).

4. Seleccionamos el path donde se halla el fichero my.ini de nuestra instalación. (ver figura A1.2).

5. Cerrar la ventana salir de la aplicación Worbench y reiniciarla. Si todo ha ido bien ahora pinchando en “Option File” podremos ver la configuración del fichero “my.ini”. (ver figura A1.3).

Figura A1.1

Page 12: Aplicación Android para el acceso a un - …lmengual/bases_datos/app/... · docentes para poder acceder de forma remota a un Sistema Gestor de Base de Datos (SGBD) MySQL obteniendo

Pág. 3 de 3

Figura A1.2

Figura A1.3