[LUG.ro] Rediccionar SSH según dominio

Sebastian Dominguez sebaminguez en gmail.com
Mar Ago 16 10:54:10 ART 2011


El 16/08/11 00:47, Guido escribió:
> El 15 de agosto de 2011 22:48, Sebastian Dominguez
> <sebaminguez en gmail.com>escribió:
>> El 15/08/11 12:39, Guido escribió:
>>> Hola a todos,
>>>
>>> Les escribo con la siguiente duda:
>>>
>>> Situación:
>>> * Máquina física con una IP pública
>>> * Máquina Virtual alice. Entrada en dns alice.com apuntando a la IP
>>> pública
>>> * Máquina Virtual bob. Entrada en dns bob.com apuntando a la IP pública
>>>
>>> Necesidad:
>>>
>>> Hacer ssh alice.com y llegar directo a alice
>>> Hacer ssh bob.com y llegar directo a bob
>>>
>>> Posible solución:
>>>
>>> Forward de puerto 2222 de la pública a 22 de alice
>>> Forward de puerto 2223 de la pública a 22 de bob
>>>
>>> Esta solución es clásica y la puedo usar pero no es lo que busco.
>>>
>>>
>>> Lo que busco:
>>>
>>> En la pc física tengo un apache con virtual hosts para alice.com y
>>> bob.comapuntando a los puertos 80 respectivamente, lo que busco
>>>
>>> es algo igual pero en lugar de http, ssh.
>>>
>>> Info:
>>> Busqué información para saber si con squid podría hacerlo, aunque debería
>>> hacer que escuche en internet y no me convence, además de que no veo como
>>> prodría ayudarme realmente.
>>> Con iptables intenté algunos comandos pero no logré mi cometido.
>>>
>>>
>>> Alguien hizo algo similiar?
>>> Alguna herramienta que puedan recomendarme?
>>> Alguna Idea?
>>>
>>> Nota: Todo esto funcionando con Debian
>>>
>>> Muchas Gracias de ante mano, saludos
>>>
>>>   Hasta donde se, tenes solo dos opciones.
>> - Un proxy reverso SSH (que no conozco exista)
> No vi nada sobre un proxy reverso SSH, aunque te aseguro busqu'e bastante
> jeje
>> - Usar layer 7 como mencionas por ahí.
>>
>> El problema con layer 7 es que el filtro actual solo reconoce que la
>> conexión es del tipo SSH http://l7-filter.sourceforge.**net/protocols<http://l7-filter.sourceforge.net/protocols>. Si bien con layer 7 podes ver los campos, el filtro actual no los tiene en
>> cuenta.s.
> Sabes, estuve viendo como hacerlo, layer7 fue uno de mis primeros intentos
> de soluci'on, pero por ahi comentaron algo que no vi en un principio, pero
> muy cierto, el dato que me serviria es el dominio que se resolvi'o para
> llegar a la pc... cosa que no tengo desde un principio, ya que al momento de
> iniciar la conexi'on ssh el cliente ya resolvi'o la direcci'on ip y le
> apunta directo...
La ip se resolvió en el cliente, pero dentro de los header SSH esta el 
dominio al que te conectas, algo similar a un REFERER http. Claro que 
aquí se me escapó un detalle, esos Headers seguramente ya están 
protegidos por el ssl de forma similar que pasa en https, pero la verdad 
no conozco este detalle. En https hay forma de hacerlo pero por fuera, 
con ssh no se.
> Resumiendo, haga lo que haga, todo indica que en el server no voy a ver mas
> que una conexi'on al puerto 22 con destino mi IP p'ublica y nunca con
> destino el nombre de dominio no resuelto...
Las conexiones siempre terminan siendo a la ip, en el esquema de capas 
cada una no sabe lo que viene arriba, por eso tenes que analizar el 
contenido de los paquetes con algo de capa superior (como layer7).
>> Para hacer lo que necesitas tendríamos que escribir un nuevo patrón que
>> identifique tus dominios o, mejor aún, que permita colocar el dominio como
>> parámetro. http://l7-filter.sourceforge.**net/Pattern-HOWTO<http://l7-filter.sourceforge.net/Pattern-HOWTO>
>>
> Suena a propuesta, no? jejeje si se te ocurre que esto puede ser una
> soluci'on, o puede ser un desarrollo interesante podemos hacer algo...
Es incluirme en la búsqueda de la solución, si lo hacemos juntos cuanto 
mejor!
> Hice algunos intentos con pcapy para intentan forzar una redirecci'on dados
> ciertos datos del paquete, pero nada fruct'ifero... no fue el destino no
> resuelto... mi destino es la ip p'ublica siempre
No se lo que es pcapy :)
>> Un abrazo!
>>
> Otro Seba...
>


-- 
Sebastian A. Dominguez


Más información sobre la lista de distribución Lugro