[LUG.ro] Rediccionar SSH según dominio
Guido
gaccardo en gmail.com
Mar Ago 16 11:13:45 ART 2011
El 16 de agosto de 2011 10:54, Sebastian Dominguez
<sebaminguez en gmail.com>escribió:
> 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<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.
Me imagino que debe existir, los cambos de la conexión según lo que llego a
entender de la rfc de ssh [1] son:
byte SSH_MSG_CHANNEL_OPEN
string "forwarded-tcpip"
uint32 sender channel
uint32 initial window size
uint32 maximum packet size
string address that was connected
uint32 port that was connected
string originator IP address
uint32 originator port
Y no habla de dominio destino mas que en casos de port forwarding... pero
creo que el asunto ya se me fué de las manos, escapa un bastante a mis
conocimientos.
> 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<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 :)
>
[2]
> Un abrazo!
>>>
>>> Otro Seba...
>>
>>
>
[1] http://www.ietf.org/rfc/rfc4254.txt
[2] http://oss.coresecurity.com/projects/pcapy.html
>
> --
> Sebastian A. Dominguez
>
> ______________________________**_________________
> Lugro mailing list
> Lugro en lugro.org.ar
> http://lugro.org.ar/mailman/**listinfo/lugro<http://lugro.org.ar/mailman/listinfo/lugro>
>
--
-- Guido Accardo --
Linux User: #440865
Machine: #347415
Más información sobre la lista de distribución Lugro