over online tcp applet portforwarding http-tunneling big-ip

online - Túnel de cualquier tipo de tráfico TCP a través de HTTP/s.



tunnel proxy online (3)

Estoy buscando un software para canalizar RDP u otro tráfico TCP binario a través de un túnel HTTPS. Debido a que muchos clientes solo tienen permitido HTTP / S (solo los puertos 80 y 443 están abiertos en el firewall).

Pero existe la necesidad de reenviar RDP (y otros protocolos) de las máquinas en DMZ a los clientes.

7 Ver descripción de la función grande

¿Hay algún tipo de software de código abierto o de empresa para este problema?

Malas soluciones

Soluciones como F5 big ip tiene el problema de que tengo que crear la configuración de conexión con este software. Si fuera posible hacerlo utilizando una api sería una buena solución. Pero preferiría solo obtener el componente del túnel sin utilizar un software de puerta de enlace completo. Debido a que necesito crear túneles (1000ds) de mi propio software y es una necesidad de restringir el acceso del túnel al usuario permitido (identificado por la cookie de sesión)

Buenas soluciones

http://http-tunnel.sourceforge.net/

Si fuera posible que el cliente del túnel no fuera un servidor dedicado sino un applet java de flash que se ejecutara dentro del navegador de los clientes, cumpliría con el 100% de mis necesidades.



Hay una gran cantidad de proyectos que canalizan TCP a través de HTTP (S). Tendrá que hacer un poco de trabajo para seleccionar el que mejor se adapte a sus necesidades (y probablemente modificarlo un poco).

  • SuperTunnel (Java). Se ve bien, parecen haber pensado un poco en cómo lidiar con los proxies que no se comportan bien.

  • JHttpTunnel (Java). Un puerto de gnu httptunnel, creo que utiliza el mismo protocolo de red.

  • Netty HTTP Tunnel (Java, parte de Netty, una biblioteca de redes muy agradable; código de ejemplo ). Creo que esto requiere que tanto el cliente como el servidor usen Netty, pero aparte de eso hay un reemplazo directo para los sockets normales en Netty.

  • ProxyChains (C, Unix, muy popular)

  • GNU httptunnel (C, no admite HTTPS, este es probablemente el abuelo de todos los túneles http)

  • node-http-tunnel (Node.js), Net::HTTPTunnel (Perl), nRedir (Python), Corkscrew, htunnel, ...

Creo que tanto SuperTunnel como JHttpTunnel pueden incluirse en un applet o en una aplicación Java propia en el lado del cliente, no necesitan ejecutarse como proxies independientes.

Netty también lo hará, pero (creo) requiere que su servidor también use Netty: en otras palabras, le permite reemplazar la connect() TCP connect() normal a un servidor que usa Netty con la conexión TCP sobre HTTP connect() , pero no representa conexiones arbitrarias a otros servidores (a menos que escriba su propio proxy simple).


Si está en el mundo de Windows, le sugiero que eche un vistazo al servicio de Windows 2008 / 2008R2 / 2012 SSTP VPN. Utiliza el puerto 443 y puede ser hospedado junto con IIS (en 443). Funciona como un encanto en Windows Vista / 7 / 8. He escuchado acerca de las soluciones de mac OSX, pero todavía no las he encontrado.

Sin embargo, existe la buena solución de SSH.

Si está en linux, simplemente instale un servidor openssh. Si está en Windows, obtenga e instale un servidor OpenSSH (por ejemplo, copSSH de itefix https://www.itefix.no/ ). Modifique el puerto para usar 443 en lugar de 22 por defecto.

En el lado del cliente, puede usar Putty ( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ) o kitty ( http://kitty.9bis.net/ ) en Windows o en cualquier tipo de cliente SSH en cualquier sistema operativo para conectarse a su servidor a través del puerto 443 (donde su servidor SSH está escuchando).

Las instrucciones sobre túneles a través de masilla, por ejemplo, se pueden encontrar en varios sitios:

Siempre recuerde que tiene que apuntar a su anfitrión local para hacer esto.

En Windows también está MyEnTunnel ( http://nemesis2.qx.net/pages/MyEnTunnel ) para simplificar el procedimiento de configuración y mantenimiento del túnel.

Explotar este túnel en un navegador es extremadamente fácil: solo dile a tu navegador que tienes un proxy de calcetines en un puerto local (eh localhost 8080) que acabas de configurar en tu cliente (masilla, kitty, myentunnel o cualquier otra cosa).