Una de las conexiones más completas y practicas mediante las cuales podremos conectarnos a un sistema es usando el protocolo SSH.
SSH o Secure Shell es un protocolo basado en la arquitectura cliente/servidor el cual permite que nos conectemos a equipos remotos y una de sus principales características es la encriptación de la comunicación protegiendo así cada dato enviado y recibido.
Ahora, una de las formas como podemos sacar el máximo provecho a SSH es creando un túnel SSH el cual nos permite navegar con niveles más altos de seguridad y evitando reglas o políticas que impidan el acceso a determinados sitios.
Un túnel SSH nos brinda las siguientes características:
- Evitar ataques ARP o ARP Spoofing.
- Prevenir ataques tipo Man in the Middle (MitM).
- Evitar que todo el tráfico de red que estamos usando sea analizado y capturado.
El funcionamiento del túnel SSH consiste básicamente en crear un “túnel” que parte desde el servidor de origen hasta el equipo cliente gestionando de forma adecuada todo el tráfico que pasa por él. En la siguiente imagen podemos ver un esquema de este funcionamiento.
Al establecer la comunicación, la petición http viajara por el túnel SSH que ha sido configurado previamente y tanto la petición como el tráfico entrante y saliente estará cifrado protegiendo protocolos vulnerables como HTTP, SMTP. FTP, Telnet y demás. Para usar de forma adecuada el túnel SSH debemos en primer lugar configurar el servidor SSH.
1. Configurar servidor SSH en Ubuntu 17.04
En primer lugar será necesario que instalemos y configuremos el servidor SSH en nuestro equipo, en este caso usaremos Ubuntu 17.04 y para ello ejecutaremos el siguiente comando:
sudo apt install openssh-server
En el caso de usar otros sistemas operativos haremos uso de los siguientes comandos:
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd
sudo apt-get install openssh-server
sudo systemctl enable sshd sudo systemctl start sshd
2. Acceder vía SSH en Ubuntu 17.04
La mejor forma de asegurarnos que la información es segura a través de SSH es usando el método de túnel dinámico ya que a través de este método toda la información será encriptada.
Adicional a esto el túnel SSH usa una conexión de proxy SOCKS mediante la cual toda la actividad de red será oculta protegiendo nuestra privacidad. Podemos usar la siguiente sintaxis para establecer una conexión una vez hayamos instalado el servidor SSH en Ubuntu 17.04.
ssh -C -D 1080 usuario@direccion IP
3. Configurar Firefox en Ubuntu 17.04
El paso fundamental es configurar el proxy en el navegador el cual nos protegerá para todas las actividades que llevemos a cabo en la red, en ambientes Linux el navegador recomendado es Firefox.
Para esta configuración abrimos una nueva ventana del navegador y pulsamos en el icono de menú donde seleccionaremos la opción Preferencias:
Al acceder a Preferencias vamos a la sección Avanzadas / Red / Configuración
En Configuración activamos la casilla Configuración manual de proxy y establecemos la dirección 127.0.01 en el campo Servidor SOCKS y el puerto 1080 en el campo respectivo:
Pulsamos en Aceptar para guardar los cambios. A continuación abrimos una nueva ventana de Firefox y en la barra de dirección ingresaremos la línea about:config la cual abrirá las opciones avanzadas de Firefox.
En el campo de búsqueda de about:configs ingresaremos la siguiente línea:
network.proxy.socks_remote_dns
Allí daremos doble clic sobre dicha línea para cambiar su valor de false a true:
Ahora podremos hacer una prueba de conexión SSH de forma local ejecutando la siguiente línea:
ssh -L 1080:localhost:80 usuario@IP
Con estos pasos podremos crear de forma correcta un túnel SSH en Ubuntu 17.04 evitando así que nuestras conexiones estén en peligro y puedan robarnos información delicada.