Ir al contenido principal

Conexión segura en lugares no seguros (2ª Parte)

Nivel de Dificultad: Bajo.

En mi artículo anterior Conexión segura en lugares no seguros viste como podíamos navegar de manera segura, en WiFis públicas o no encriptadas, creando un proxy SOCKS5 mediante un tunel ssh a nuestro servidor. Con este artículo, verás como puedes hacer pasar TODO el tráfico TCP de red de tu ordenador (no sólo los protocolos más comunes), a través del proxy.

Te recomiendo también que leas mi artículo Acceso SSH sin poner contraseñas para configurar tu acceso a tu servidor sin necesidad de escribir tu contraseña.

Primero, debes instalar redsocks en tu ordenador. Abre un terminal y e introduce el siguiente comando:

sudo apt-get install redsocks

En Ubuntu, redsocks se instala y no se activa para que arranque de inicio (y eso es precisamente lo que quiero).

Edita el archivo de configuración, que se encuentra en /etc/redsocks.conf. Necesitarás hacerlo con sudo. Ejecuta el siguiente comando en un terminal:

sudo gedit /etc/redsocks.conf

En la sección redsocks, encontrarás las variables local_port y port (en mi archivo de configuración, se encuentran en las líneas 42 y 46), y cambia los valores a:


local_port = 9998; 
port = 9999;

Crea un archivo redsocks-on.sh en tu directorio bin (o en algún otro de tu PATH) y copia y pega las siguientes líneas:

#!/bin/sh
redsocks -c /etc/redsocks.conf
# Creamos una cadena nueva
sudo iptables -t nat -N REDSOCKS
# Ignora direcciones LAN y reservadas.
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
# Redirigimos el tráfico a Internet por el puerto 9998
sudo iptables -t nat -A REDSOCKS -p tcp -j DNAT --to 127.0.0.1:9998
sudo iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
# Establecemos la conexión con nuestro servidor
# y le decimos a iptables que permita la conexión con el mismo
ipserver=`dig +short yo@miservidor`
sudo iptables -t nat -I REDSOCKS -d $ipserver -j RETURN
ssh -p 443 -qND 9999 $ipserver

Recuerda cambiar yo@miservidor por los valores correctos de conexión a tu servidor.

Crea otro archivo y llámalo redsocks-off.sh y ponlo en el mismo directorio. Copia y pega el contenido de las siguientes líneas:


#!/bin/sh
# Reseteamos iptables
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -Z
# Matamos el proceso redsocks
killall redsocks

Haz los archivos ejecutables con el comando chmod +x redsocks-o*.sh

Para probar que sí nos funciona, con tu navegador entra en http://whatismyip.org y apuntate la IP. Cuando hayas iniciado la conexión con estos scripts, vuelve a probar. La IP debería ser diferente.

Para iniciar tu conexión segura, ejecuta en un terminal el script redsocks-on.sh. El script no se queda en segundo plano. Esto está hecho a propósito así. Ahora ya podrás navegar de manera totalmente segura ya que hemos iniciado redsocks, redirigido todo el tráfico tcp a redsocks, que lo envía al proxy que hemos iniciado con un tunel ssh. Para finalizar haz Ctrl-C sobre el terminal donde está ejecutándose el script. Finalizaremos la conexión ssh. Seguidamente ejecuta redsocks-off.sh para resetear las reglas de iptables y finalizar redsocks.

Como ves, con estos 2 scripts podrás establecer una conexión totalmente segura con tu servidor para navegar en WiFis no seguras. 

Comentarios

Entradas populares de este blog

El Home Server Perfecto con una Raspberry Pi

Nivel de Dificultad: Alto Como ya os he comentado , Santa Claus me regaló una Raspberry Pi estas Navidades. Así que tenía que ver que podía hacer con ella. Lo primero que se me ocurrió fue montar un Media Center, ya que, al ser completamente silenciosa, y al disponer de puerto HDMI, la RasPi podría ser una candidata perfecta para un XBMC . Sin embargo, me atraía más la idea de montar un Home Server , junto con un disco duro USB externo. Tengo la suerte de vivir en una finca moderna totalmente cableada en cada estancia, como si de una oficina con tomas de red se tratara. En la finca tenemos, desde el 2003, una ADSL que compartimos vía ethernet y varias WiFis, con un PC (montado con piezas de retiro) con Linux actuando de Home Server, del que yo me encargo. Es algo así como una rolling distribution , pero en hardware; con el paso de los años lo he ido actualizando con piezas tal y como las retiraba de otros PCs y mi  Frankenslinux  sigue al pie del cañón. Sin emba...

AutoFirma - Guía Breve y Definitiva de Instalación - 2020 (Debian/Ubuntu/Mint)

AutoFirma es uno de esos programas que, si trabajas con la Administración, es imprescindible. Como otros programas hechos por empresas de desarrollo de software contratadas por el Gobierno de España, están desarrollados en Java y, por lo tanto, funcionan en Windows, MacOS y Linux. Sin embargo, como casi siempre, utilizando soluciones de desarrollo muy justitas y con soporte profesional nulo o casi nulo.

CUPS Cloud Print: Imprime desde Linux a Google Cloud Print

Nivel de difocultad: Bajo Una cosa interesante de Android es que si tienes una impresora con soporte Cloud Print ( o sin, también ) en tu casa, estés donde estés con tu móvil o tableta, podrás imprimir remotamente a tu impresora. En cambio, con tu portátil, a menos que tengas una VPN, en el momento que no estés conectado a tu LAN, te has quedado sin poder imprimir.