Go Back   Champions of Regnum > Español > La Taberna

La Taberna Un lugar para conversar sobre casi cualquier tema

Reply
 
Thread Tools Display Modes
Old 08-26-2008, 01:22 AM   #1
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default Regnum por un túnel ssh, o cómo me salteé la seguridad de un firewall blando

DISCLAIMER:
No me hago responsable del uso de ésta información, como así de los daños que pueda causar por su mala utilización. Antes de aplicar cualquiera de los procedimientos se debe saber del tema y no "lanzarse a lo desconocido".


Abstract
Se pretende explicar brevemente una técnica para saltearse un firewall que bloquee puertos específicos y que deje tan sólo algunos abiertos (fundamental). En teoría, la guía sirve para cualquier sistema operativo utilizando las herramientas apropiadas.


Requisitos
Globales
  • Regnum Online (para jugar)
  • Servidor SSH fuera de la red con firewall
Linux
  • Tsocks, proxychains o equivalente (se usa tsocks en los ejemplos)
  • Cliente SSH. Generalmente con el paquete de OpenSSH va perfecto
Windows
  • PuTTY (hace las veces de cliente OpenSSH)
  • Sockschain o similar


Intro
(saltearse esto si ya se conoce algo del tema... es la explicación aburrida)
Conectarse al Regnum desde algún sitio con internet a menudo no es tan sencillo como usar el browser, ya que hay tecnologías de captive portal, traffic shapping o bloqueo de puertos que impiden siquiera conectarse al servidor.
Si uno ya cuenta con un servidor SOCKS5 dentro de la red y quiere utilizar el juego entonces la guía puede servir, pero supongo que ya sabrán resolverlo (o lo explicaré en otro post).

Información importante sobre la máquina servidora, la que está fuera del firewall y que cuenta con una conexión a internet decente, sin bloqueos y con un buen up/down stream. Cabe destacar que debe contener una capacidad de procesamiento razonable si es que ejecuta otros servicios.
La máquina servidora va a hacer las veces de salida de túnel por el cual se va a realizar el conexionado al servidor del Regnum. Los datos van a viajar encriptados por el túnel hasta la máquina cliente, donde el ssh le deriva los paquetes al servidor de SOCKS5 y éste al juego (sí, describí el camino a la inversa ).
En otras palabras, la transferencia de datos sería así:
  1. Regnum trata de conectarse.
  2. El "sockificador" redirecciona los paquetes al servidor SOCKS5 (SSH).
  3. El cliente SSH recibe la información, la codifica y envía por un puerto determinado al Servidor de SSH.
  4. [acá está el firewall con un puerto como el 80 ó 443 abierto]
  5. [acá está Internet]
  6. Los datos llegan cifrados al servidor SSH, quien los desencripta y realiza la conexión al servidor del Regnum.
  7. Servidor del Regnum responde.
Puntos importantes:
  • Para Ra, la conexión sería totalmente transparente y no se daría cuenta que hay un túnel antes del cliente.
  • La conexión está cifrada desde el cliente hasta el server SSH. Si uno se conecta en una red wifi abierta o con WEP todavía los datos serían seguros.
  • No sólo se puede hacer con el Regnum, sino que con miles de aplicaciones.
  • Realmente no sube mucho la latencia si es que se tiene una buena conexión y hay pocos saltos.
  • El OS del servidor SSH es trivial.


Desarrollo:


Lado del Servidor

Primero vamos a configurar la máquina servidora. Tiene que ejecutar el servidor de OpenSSH en un puerto que el firewall tenga abierto. Para eso podemos hacer un nmap a nuestra computadora detrás del cortafuegos. Es conveniente usar puertos altos (>1024) porque no requieren privilegios de administrador.

Para setear el OpenSSH en otro puerto sólo tienen que iniciar el demonio sshd con -p y el puerto en cuestión. Es conveniente matar al demonio si es que ya está en ejecución.



Lado del Cliente

Ya que los comandos son útiles para otros programas aparte del Regnum voy a hacerlo por separado.

Linux
Primero instalamos un programa como tsocks o proxychains. Yo prefiero tsocks porque es, a mi modo de ver, el más fácil para configurar y menos problemático en el momento de la compilación.

Ejemplos a continuación con tsocks.

Paso 1: crear el .tsocks.conf

Abrir el editor de texto preferido (vi, emacs (aunque si usás emacs no necesitás leer esto, ya lo sabés) nano, gedit) y crear un archivo llamado ".tsocks.conf" en el home de tu usuario. El archivo debe contener lo siguiente:
Code:
server = 127.0.0.1
server_type = 5
server_port = 1234
NOTA: el puerto "1234" es el mismo en el que debe escuchar el cliente ssh, y no es el del servidor ssh.


Paso 2: crear un script para routing (supertsocks)

Este script permite invocar a tsocks con un archivo de configuración predeterminado por el usuario (con lo que nos salteamos modificar el que está en el /etc/).
Code:
#!/bin/sh

TSOCKS_CONF_FILE=$HOME/.tsocks.conf
export TSOCKS_CONF_FILE
exec tsocks "$@"
Es necesario que tenga permisos de ejecución.
Code:
chmod +x supertsocks
¿Por qué no conectar directamente acá al servidor SSH? Porque cada vez que se ejecute el script se estaría llamando a una nueva instancia, y vemos que eso no es necesario (ni posible).


Paso 3: armando un script de conexión al servidor

Este es el paso más importante. Aquí se realiza la conexión y se levanta el túnel, por lo que es en el lado que más puede fallar (si es que el firewall analiza paquetes y filtra el ssh). Previo a continuar, pueden leer este post sobre túneles ssh de este mismo foro para más información.
Deberíamos utilizar un comando como el siguiente:
Code:
ssh -CND 1234 usuario@servidor.ssh.remoto -p puerto
  1. C activa la compresión
  2. N usa el túnel, pero no envía ningún comando
  3. D 1234 es el puerto del servidor SOCKS5 que armamos, y el mismo que el del .tsocks.conf
  4. p puerto es el puerto que está abierto a través del firewall, y el mismo que pusimos en el sshd.
Otra vez, tiene que tener permisos de ejecución.


Paso 4: ejecutar todo!

Primero se ejecuta la conexión al servidor ssh.
Luego se navega hasta el directorio del regnum (usualmente es /home/usuario/regnum).
Se ejecuta "$HOME/supertsocks ./rolauncher".

A disfrutar del juego en donde no deberían

Windows
Para el servidor

Es preferible utilizar el OpenSSH en un Sistema Operativo de Verdad, pero todavía pueden instalar OpenSSH. BULMA tiene una muy buena guía en español.


Para el Cliente

Paso 1: conseguir las herramientas

Putty: Public Text Terminal, de aquí. No necesita instalación, y está disponible para un sinnúmero de plataformas.
Freecap, de aquí.

Paso 2: configuración de freecap

Ir a File, luego a Settings y en donde dice "Default Proxy" escriben 127.0.0.1 y de puerto el que se quiera (ej: 1234). Por último, click en aplicar.
Para agregar un programa a la lista de "proxificado", se va a File, luego a new application y se llena con lo siguiente:
Profile name: Regnum
Program path: la ruta donde esté el regnum. Generalmente es C:\Archivos de Programa\NGD Studios\Regnum Online\rolauncher.exe
Click en aplicar.


Paso 3: configuración de PuTTY

Abrir el PuTTY, ir a SSH, luego Tunnels y marcar las siguientes opciones:
Seleccionar Dynamic, Auto y escribir en Source Port el puerto proxy (el 1234 de la guía en linux).
Hacer click en "add" y dirigirse a Sessions en el panel de la izquierda. Allí se debe escribir la dirección del servidor ssh.

Paso 4: correr el juego.

Una vez que se conectan al servidor SSH a través de putty, SIN CERRARLO, hacen doble click en el ícono del programa (en nuestro caso Regnum) del Freecap (el otro programa).


Bibliografía

No la usé toda, hay algunas que busqué para que se entienda mejor.

http://onlyubuntu.blogspot.com/2008/...x-to-surf.html
https://help.ubuntu.com/6.06/ubuntu/...sh-server.html
http://www.securityfocus.com/infocus/1816
http://www.freecap.ru/eng/?p=faq
__________________
I don't have a solution, but I admire the problem.

Last edited by ArcticWolf; 08-26-2008 at 03:20 AM.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 01:25 AM   #2
Klaymorten
Master
 
Klaymorten's Avatar
 
Join Date: Jul 2007
Location: España
Posts: 393
Klaymorten is on a distinguished road
Default

Disculpa mi ignorancia sobre el tema, pero ¿que conseguimos con esto?

PD: no tengo la culpa de ser un ciego en informática
__________________
Retirado temporalmente
Klaymorten no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 01:28 AM   #3
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

Quote:
Originally Posted by manowar1992
Disculpa mi ignorancia sobre el tema, pero ¿que conseguimos con esto?

PD: no tengo la culpa de ser un ciego en informática
Que yo puedo jugar en la universidad.

EDITO:
En realidad que te podés saltar cualquier firewall que bloquea puertos, e incluso arreglar el problema de conectarse con una IP latinoamericana. El juego reconoce la ip del server ssh, no de tu máquina, por lo que donde esté la máquina servidora de ssh el juego va a pensar que estás.
__________________
I don't have a solution, but I admire the problem.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 01:39 AM   #4
-Net-
Initiate
 
-Net-'s Avatar
 
Join Date: Jun 2007
Location: Medenet, Ignis.
Posts: 167
-Net- will become famous soon enough
Default

Xephandor ¿este era el plan que me habias contado hace unas semanas por pms? Veo que te salio bien...
¿Para cuando la guia de windows?
__________________
Net el Brujo
Ignis
Ignite
-Net- no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 01:45 AM   #5
takola
Count
 
Join Date: May 2007
Posts: 1,007
takola will become famous soon enough
Default

Que tal la latencia y la perdida de paquetes udp? La perdida de udps no deberia de ser significativa pero la latencia podria subir bastante. La verdad que no probe nunca y tengo curiosidad
__________________
Takola Barbara ··· Aker Medico ··· Iraia Aprendiz de Thanus ··· Zakilixut Gigolo de oficio, tirapalillos de aficion ··· Kinki Guardian de las lindas elfas
Campurriano Inmerso en los secretos de la nigromancia ··· Cochinilla Enfermera sexy ··· ??? Trituramandados
Sex clan
takola no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 01:53 AM   #6
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

Quote:
Originally Posted by -Net-
Xephandor ¿este era el plan que me habias contado hace unas semanas por pms? Veo que te salio bien...
¿Para cuando la guia de windows?
Para cuando consiga una computadora con windows :P

Ahora edito
__________________
I don't have a solution, but I admire the problem.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 02:02 AM   #7
Lestu
Count
 
Lestu's Avatar
 
Join Date: Oct 2006
Location: ...Perrita Regalona...
Posts: 1,501
Lestu will become famous soon enough
Default

Xephandor, por favor... tomame como tu esposa... sos un groso!
__________________
Lesty - ::: Cazadora de Yaara Heren Hyarmenor ::: YA no se cuantos Años!!

Ha vuelto la única, auténtica y REAL REINA del RO!.
Lestu no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 02:02 AM   #8
arlick
Duke
 
arlick's Avatar
 
Join Date: Jan 2007
Posts: 3,939
arlick is a jewel in the rougharlick is a jewel in the rougharlick is a jewel in the rough
Default

Quote:
Originally Posted by Xephandor
Para cuando consiga una computadora con windows :P

Ahora edito
hola desde un pc con windows ^^ (y con un firewall muy restrictivo entre internet y yo...)
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia
"uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan
arlick no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 02:04 AM   #9
Reivax
Initiate
 
Reivax's Avatar
 
Join Date: Mar 2007
Posts: 240
Reivax will become famous soon enough
Default

Andas aburrido Xeph?

Sos un grande maestro!!!!
__________________
Reivax - La Jihad - Yaara Heren Hyarmenor
Reivax no ha iniciado sesión   Reply With Quote
Old 08-26-2008, 02:09 AM   #10
JoM
Pledge
 
JoM's Avatar
 
Join Date: Oct 2007
Posts: 8
JoM is an unknown quantity at this point
Default

naa No jodas? Decime que jugaste al regnum en la facu..y mañana te estamos levantando un monumento
JoM no ha iniciado sesión   Reply With Quote
Reply

Tags
linux howto


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:11 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
NGD Studios 2002-2024 © All rights reserved