Evadiendo Firewalls

Este howto lo publiqué originalmente en el sitio de EcuaLug hace varios años.

Bueno, bueno, aqui estoy en una empresa que tienen un firewall que aparenta ser bien restrictivo:

  1. No me deja chatear
  2. No me deja conectarme a muchísimos sitios
  3. No puedo ni siquiera conectarme a mi servidor de openvpn host-host

Hum, me puse a pensar:
a ver, qué tal si le cambio el puerto al servidor de openvpn mío de forma tal que evito el que me bloqueen por el simple hecho de usar el puerto 1194? entonces en aquel servidor instalo un squid y por esa vía me conecto a navegar y a chatear?

La idea, genial! Te adelanto que funcionó, pero me tomó unos minutos.

  1. afortunadamente puedo conectarme por ssh al servidor, así que no tuve que usar conexiones alternativas ni pedir ayuda a la gente en mi empresa, lo hice via ssh, me conecté al servidor remoto mío
  2. comencé a cambiar puertos, caramba TODOS me los tienen bloqueados.

Pero la realidad es que siempre tienen que permitir algunos. El puerto 80 por ejemplo, pero ese no, porque ese lo tengo en uso por el apache. Pero pensando en el 80 me acordé del 443, el que usa el mod_ssl, y no lo uso en ese servidor! así que eliminé el mod_ssl y puse al openvpn a escuchar por ahí. Casi nadie puede bloquearte el 443 sin que reciba quejas!

Trabajo en el servidor:

Borrando mod_ssl en el servidor:

rpm -e mod_ssl
service httpd restart

listo, ya liberé el 443, ahora voy a cambiar la configuración del server.conf de openvpn con el fin de hacerme pasar como una conexión TCP a un servidor ssl:
vi /etc/openvpn/server.conf

la linea que dice port 1194 la elimino
Entonces al inicio del archivo server.conf agrego esto:

port 443
proto tcp-server

Por favor tampoco olvides comentar las dos líneas del usuario y grupo:

#user nobody
#group nobody

pues para trabajar con puertos bajos hace falta ser root.

reinicia openvpn

 service openvpn restart 

Trabajo en el cliente
en el cliente edito el client.conf:

vi /etc/openvpn/client.conf

y también comento la línea que se refiere al puerto 1194
Entonces al final pongo:

port 443
proto tcp-client

y reinicio el servicio:

service openvpn restart

la vpn debe conectarse felizmente. Esto lo he probado hasta en Cuba, en el caso de Cuba recuerdo que tuve que usar un equipo con el puerto 80 sin usar y ahí puse a escuchar el openvpn.

Volvemos al servidor, instalación de squid:
Bueno, aquí regreso al servidor, e instalo el squid:

yum install squid
service squid start
chkconfig squid on

En el squid.conf debes autorizar la red 10.8.0.0/24:
en mi caso, andaba de apuro, así que busqué, descomenté y modifiqué dos líneas que decían así:

acl our_networks src 10.8.0.0/24
http_access allow our_networks

Luego:

service squid reload

Y ya configuré mi firefox para que se conectara a 10.8.0.1 en el puerto 3128 y navegué!! bien, ya no tenía restricciones.

También configuré mi chat para que usara el mismo proxy pero para el caso de ciertos protocolos del chat, tuve que autorizar el uso de conexiones encriptadas en ciertos puertos, en el squid.conf modifiqué la línea SSL_ports para que dijera:

#esta linea normalmente sólo tiene el puerto 443
#los otros dos puertos son para chat
acl SSL_ports port 443 5050 1863

Ahora sí.. pude también chatear. Disfrútalo.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Member of SKCC#7163T