Bloquear Ultrasurf

domingo, 27 de noviembre de 2011

Hola!!

Tras varios meses sin dar señales de vida, vuelvo a publicar algo en mi blog, esta vez es un artículo sobre como pararle los pies a Ultrasurf, una aplicación que da más de un quebradero de cabeza los Administradores de red, ya que se salta la configuración del proxy y cortafuegos de la red, mediante el uso de túneles SSL y proxys anónimos. Ultrasurf funciona sobre Windows, y su instalación es muy sencilla, solo hay que hacer doble clic sobre el programa y ya podrás navegar anónimamente y saltando las restricciones impuestas en la red de tu trabajo (puedes visitar las páginas que están bloqueadas por el proxy).

En mi caso, el servidor proxy que he usado para las pruebas es Squid, sobre Linux. También he instalado DansGuardian para facilitar la labor de filtrado de páginas web.

La solución que he encontrado es muy sencilla, solo hay que obligar que todo el tráfico de red que lleve a Internet pasé por el proxy, y el cortafuegos iptables se encarga de que todas las peticiones de acceder a una red exterior (como Internet) sin pasar por el proxy, sean rechazadas, forzando a que si quieres navegar sea a través del proxy.

La configuración que tengo es un ordenador con dos tarjetas de red:
* wlan0 => por esta me conecto a Internet => 192.168.1.131/24
* eth1 => red local => 10.42.43.1/8

Tendrás que adaptarla a la red que tu tengas claro está ;-)

El fichero /etc/rc.local tendrá las siguientes líneas, está sobre Ubuntu:

# Activar enrutamiento
echo 1 >/proc/sys/net/ipv4/ip_forward

# Limpiar las reglas de filtrado y NAT del cortafuegos iptables
iptables --flush
iptables -t nat --flush

# Activamos el NAT con enmascaramiento
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o wlan0 -j MASQUERADE

# Todas las peticiones de enmascaramiento que vengan desde eth1
# y que tengan como puerto destino el 3128 (SQUID) sean redirigidas al
# puerto 8080 (dansguardian).
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 8080

# Solo acepto los paquetes que van dirigidos al servidor proxy 10.42.43.1
iptables -A FORWARD -i eth1 -d 10.42.43.1 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -i eth1 -d 10.42.43.1 -j ACCEPT

# Todos los paquetes de la red local que se dirigen a la red de internet
# que no hayan sido aceptados por el servidor proxy son rechazados
iptables -A FORWARD -i eth1 -s 0.0.0.0/0 -j DROP
iptables -A INPUT -i eth1 -s 0.0.0.0/0 -j DROP
iptables -I FORWARD -i eth1 -s 0.0.0.0/0 -j DROP


Este fichero /etc/rc.local se ejecuta cada vez que inicia la máquina, si quieres forzar su ejecución sin reiniciar, escribe este comando: sudo /etc/rc.local

La ventaja de este método, es que los clientes que usen el proxy podrán navegar tanto por las páginas no seguras (http), como por las seguras (https). Muchas de las soluciones que había encontrado eran bloqueando las webs seguras desde el cortafuegos y luego abriendo desde el DansGuardian las que quisieras que visitaran, pero eso es mucho más engorroso.

He realizado todo tipo de pruebas desde Máquinas virtuales y reales con Windows XP y Windows 7, con Ultrasurf instalado y no pudo superar la barrera del cortafuegos.

Bueno, espero que os funcione.

Un saludo ;^)

7 comentarios:

AcousticJazz dijo...

Saludos,

No se si he cometido algún error al aplicarlo, si me funciona (Bloquea el ultrasurf) pero al aplicarlo no logro conectarme a ninguna pagina con https, me puedes corregir por favor. Gracias !!!

Ramón José Martínez Cuevas dijo...

Hola!!

Te debería funcionar para las páginas seguras https, seguramente te habrás confundido en aplicar las reglas del cortafuegos.

Un saludo!!

Anónimo dijo...

esta solucion esta mejor
http://www.maravento.com/2013/03/firewall.html

Ramón José Martínez Cuevas dijo...

Gracias por la información de la página de maravento.com, usuario anónimo :)

Anónimo dijo...

Hola amigos!!! sabes, bloquee ultrasurf por zential, el detalle que me bloquea además gmail, por que trabajan por paginas (https) por cod 443, lo que si me gustaría saber que escuche una vez, me dijieron que podía bloquearlo por ip de servidor de ultrasurf... si alguien tiene los ip de servidor me gustaría saberlo o que me lo hagan llegar, por que la verdad, este programa da dolores de cabeza... y mas aun en colegios...
espero su ayuda

Ramón José Martínez Cuevas dijo...

Hola!!

Se pueden bloquear todas las direcciones IP o algunas (al ponerlas en la barra de direcciones del navegador). Para conseguirlo hay que hacerlo a través de Dansguardian en un archivo de configuración que comienza por banned dentro del directorio /etc/dansguardian/list

creo que es el fichero bannediplist, si te fijes en los mismos comentarios del fichero te indica como puedes hacerlo.

Salu2!!

wilvon dijo...

Buen día amigos, me acabo de bajar el Zentyal para probar que tal es y veo que es muy amigable, también vi que hay muchas consultas. Y la verdad quiero aportar porque soy nuevo usando esta herramienta.

Use de pruebas Zentyal 3.5 Comunity Edition

- En la sección CORE > Red > Objetos
- A la derecha clic en: Añadir nuevo/a
- Añadimos el objeto: UserGeneral > Guardar Cambios

- En la sección CORE > Red > Servicios
- A la derecha clic en: Añadir nuevo/a
- Nombre del Servicio: MyHTTPS
- Clic en configuración de MyHTTPS y "Añadir Nuevo"
- Protocolo:TCP/UDP | Puerto origen: Cualquiera | Puerto destino: Puerto único 443 -> "Añadir"
- Guardar Cambios

- En la sección GATEWAY > Cortafuegos > Filtrado de paquetes
- A la derecha en "Reglas de filtrado para las redes internas" > clic en "Configurar reglas"
- A la derecha clic en: "Añadir nuevo/a"
- Decisión: Denegar | Origen: Objeto origen = UserGeneral | Destino: Cualquiera | Servicio: MyHTTPS
- Clic en "Añadir"
- Guardar Cambios

- En la sección GATEWAY > Proxy HTTP > Configuración General
- Deshabilitar "Proxy Trasparente" > "Guardar cambios"

- En la sección GATEWAY > Proxy HTTP > Perfiles de Filtrado
- A la derecha clic en: Añadir nuevo/a
- Nombre: BloquearAccesos > Añadir
- Clic en la configuración de "BloquearAccesos"
- Pestaña "Configuración" > Umbral: Medio > clic en "Cambiar"
- Pestaña "Reglas de dominios y URLs" > Clic "Añadir nuevo/a"
- Dominio o URL: facebook.com | Desición: Denegar | Clic en "Añadir"
- Guardar Cambios

Ahora sólo tiene que ir a su navegador y ponerles el proxy y navegarán a todos lados menos a facebook.com. Hice la prueba con Ultrasurf 14.03 a ver si me saltaba y lo único que abrió fue una página con letras chinas. Espero que les sirva, la verdad uso un UTM que no mencionaré la marca (Gateprotect) que me aliviana todo en la empresa. Bueno si encuentro alguna novedad más les aviso. ¡Vamos Boys!