Cómo configurar RHEL 7 / Fedora 19-20 para crear un Proxy Socks con ssh

Aunque hay miles de posts sobre como y porque usar un servidor ssh como Proxy Socks, este me parece bastante instructivo, yo simplemente voy a hacer este post para aclarar los pasos necesarios en RHEL 7 o Fedora 19/20, con SELinux activado y con firewalld funcionando.

SELinux

En nuestro ejemplo, nuestro proxy Socks va a usar el puerto 443 para que sea factible usarlo desde la mayoría de los firewalls desde donde nos conectemos.
El problema es que este puerto es el vinculado al servicio HTTPS y uno de los mecanismos de seguridad que nos ofrecen las políticas de SELinux es el vincular los números de puerto al servicio esperado, así que lo primero que tenemos hacer es modificar la política de SELinux, para ello usamos el siguiente comando:

semanage port -m -t ssh_port_t -p tcp 443 

Firewalld

Con SELinux configurado lo siguiente es abrir el puerto en nuestro firewall, en este caso firewalld, para ello con los siguientes comandos lo que hacemos es aceptar de forma permanente el trafico hacia nuestro servidor por el puerto 443 desde la zona pública y recargar las reglas:

firewall-cmd –permanent –zone=public –add-port=443/tcp
firewall-cmd –reload 

SSH

Por último nos queda la configuración de ssh, para ello simplemente editamos el fichero /etc/ssh/sshd_config para definir los puertos donde escuchar:

Port 22 
Port 443 

A continuación reiniciamos el servicio:

systemctl restart sshd.service 

Lo siguiente es ejecutar el siguiente comando en nuestra máquina local:

ssh -N -D localhost:1080 mi_servidor_remoto -p 443 

Las opciones que usamos son:

  • -N” Para no ejecutar comandos remotos
  • -D localhost:1080” Para definir el puerto local desde el que vamos a hacer la redirección
  • -p 443” Para definir el puerto al que nos vamos a conectar

Si quisieramos ejecutar el comando en segundo plano, podríamos usar la opción -f

ssh -f -N -D localhost:1080 mi_servidor_remoto -p 443

Por último nos quedaría configurar nuestras aplicaciones, por ejemplo el navegador, para que use localhost:1080 como Proxy.

Leave a Reply

Your email address will not be published. Required fields are marked *