Mi Blog

Las Mejores Ofertas de Amazon

hack Disco Duro Seagate Barracuda
hack Monitor HP 27''
hack Sandisk Pendrive
hack Disco Duro Kingston SSD

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

Cómo acceder de forma segura a MySQL o MariaDB remotamente

Cómo acceder de forma segura a MySQL o MariaDB remotamente

(Tiempo estimado: 5 - 10 minutos)

Conectar de forma segura a un SGBD a través de un túnel SSH es muy sencillo tanto desde Windows, como GNU/Linux o MacOS. La seguridad en las comunicaciones es posiblemente uno de los principales puntos a tener en cuenta en las operaciones cotidianas de Internet.

Seguid leyendo y os enseñaré a conectar de forma segura a un servidor SGBD de forma segura a través de un túnel SSH...

 

 

¿QUÉ ES UN TÚNEL SSH?

El "SSH Tunneling" es una técnica que consiste en encapsular un protocolo de red sobre otro o un determinado tráfico de red. En el caso de usar conexión SSH para crear el túnel de conexión de forma segura, se añade una capa de seguridad por la que viaja la información de forma cifrada a cualquier persona que intente capturar el tráfico y datos de esa comunicación.

El uso de un túnel SSH se usa habitualmente conectar a un servicio remoto que solo se tiene acceso desde la red local remota. A través de un cliente SSH nos podremos conectar a un servidor SSH remoto que tenga acceso a la red remota a la que queremos acceder, especificar un reenvío de puertos para establecer las conexiones a ese servicio y así poder ejecutarlo de forma local desde la máquina que inició la conexión SSH. El método más habitual suele ser el reenvío de puertos local.

 

 

Las comunicaciones a través de SSH van cifradas y garantizan el anonimato

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un SGBD al que poder conectar de forma directa por SSH y al puerto SGBD
  • Un PC con Windows para hacer pruebas desde Windows
  • Un PC con GNU/Linux para hacer pruebas desde GNU/Linux
  • Conexión a internet (recomendado)

2.- LISTADO DE USUARIOS Y BASES DE DATOS DEL SGBD

Las pruebas para este tutorial las vamos a realizar con el usuario "remoteRO", el cual tiene acceso desde cualquier sitio al SGBD. Si queremos ver los usuarios del SGBD y desde donde pueden acceder ejecutaremos el siguiente comando una vez estemos dentro del SGBD:

MariaDB [mysql]> select user,host FROM mysql.user;
+----------+-----------+
| user | host |
+----------+-----------+
| remoteRO | % |
| root | % |
| remotoRW | localhost |
| root | localhost |
+----------+-----------+
6 rows in set (0.000 sec)

 

 

3.- ¿POR QUÉ USAR UN TÚNEL SSH?

Conectar a un SGBD directamente no es seguro. En la siguiente imagen se puede ver como con un sniffer de red, he podido capturar los comandos del usuario que envía al SGBD. Por eso, es necesario realizar las conexiones es través de un túnel SSH:

Acceso seguro MySQL Túnel SSHWireshark

 

  

4.- CONFIGURAR EL TÚNEL SSH

El primer paso es abrir Kitty y crear el perfil para nuestra conexión. Para ello dentro de "Session", introduciremos el "Host Name y el puerto" y seleccionaremos "SSH". Luego en "Saved Session" escribiremos un nombre para la sesión y guardaremos la configuración en "Save":

Acceso seguro MySQL Túnel SSHCrear conexión

 

  

A continuación en "Data", si queremos hacer login de forma automática, introduciremos el usuario en "Auto-login username" y la contraseña en "Auto-login password":

Acceso seguro MySQL Túnel SSHLogin automático

 

  

Para crear el túnel SSH, desde la opción "Tunnels" introduciremos los datos necesarios. En "Destination" introduciremos 127.0.0.1:3306 y en "Source Port" el puerto que queremos abrir en nuestro equipo local para conectar al Túnel, en este ejemplo el 3307. En las opciones de abajo, seleccionaremos "Local" y "Auto":

Acceso seguro MySQL Túnel SSHTúnel SSH

 

  

Para guardar todos los cambios, volveremos a "Session" y pulsaremos "Save":

Acceso seguro MySQL Túnel SSHGuardar conexión

 

  

5.- CONECTAR Y CREAR EL TÚNEL SSH

Para conectar por SSH y que se cree el túnel que hemos configurado, abriremos el perfil creado, en este caso "BBDD REMOTA" y pulsaremos "Start":

Acceso seguro MySQL Túnel SSHConectar y crear túnel

 

  

Una vez que se establezca la conexión, deberemos dejar abierta la sesión y no cerrarla:

Acceso seguro MySQL Túnel SSHSesión remota SSH + Túnel SSH

 

 

6.- CONECTAR CON EL SGBD A TRAVÉS DEL TÚNEL SSH

Ahora, el último paso es probar la conexión al SGBD a través del túnel. Se puede hacer desde consola o con cualquier gestor de conexiones de bases de datos como Workbench. En este ejemplo mostraré como hacerlo con comandos, ya que es muy sencillo y fácil de entender. Para conectar, debemos usar la IP 127.0.0.1 el puerto 3307 y usaremos el usuario remoteRO. Ejecutaremos el siguiente comando y se establecerá la conexión a través del túnel SSH:

C:\xampp\mysql\bin>mysql.exe -h 127.0.0.1 -P 3307 -u remoteRO -p
Enter password: ********
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 345
Server version: 10.3.27-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

 

Otra de las ventajas al realizarse realmente la conexión desde el equipo remoto a si mismo, es que podemos usar usuarios incluso sin acceso remoto. Por ejemplo, el usuario root solamente puede conectar desde localhost, pero a continuación vemos que podemos conectar desde el equipo remoto a través del túnel con el usuario root:

C:\xampp\mysql\bin>mysql.exe -h 127.0.0.1 -P 3307 -u root -p
Enter password: ****
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 347
Server version: 10.3.27-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar