Connexions segures a través de xarxes insegures

Resulta que necessitem arribar a una màquina que tenim darrera un tallafoc. A més, resulta que l’accés que tenim a la màquina és completament obert (internet), amb tot el risc que això suposa pel servei i les dades que hi passen. Però tenim accés per SSH a la màquina que fa de tallafoc. Aleshores estem salvats.

Per a això podem fer servir una de les característiques de SSH, de nom “port forwarding” [1][2].

Com funciona?, doncs, per variar, una ordre d’una línia (llargueta, però no gaire):

$ ssh -L [PortLocal]:[IPMàquinaDarreraElTallafoc]:[PortDeLaMàquinaDarreraElTallafoc] [usuariSSH@IPTallafoc] (i, si cal) -p [PortTallafoc]

Ho explico:

[PortLocal] és el port a on apuntem el programa client. Suposem que volem fer servir un client de correu POP3, doncs li podem dir qualsevol port com a port local, aquí no tenim restriccions. Sempre que poguem configurar el programa client amb el port que volguem. Sinó haurem d’emprar el que tingui ell per a funcionar. Suposem que li diem el 3500 (pot ser qualsevol entre 1 i 65000 i escaig, però tampoc ens en calen tants, oi?)

[IPMàquinaDarreraElTallafoc] Exactament el que diu. Cal posar la IP de la LAN interna on és la màquina a la que volem accedir. Suposem per aquest exemple, que la IP és 192.168.70.10

[PortDeLaMàquinaDarreraElTallafoc] Aquest és el port que ens espera amb els braços (bé, si en tingués ho faria) oberts a fi de que ens hi connectem per descarregar el correu. Com que hem dit que farem veure que és un servidor POP3, diguem que és l’estàndard, el 110.

[usuariSSH@IPTallafoc] Aquí cal posar el nom de l’usuari que accedeix, i té permisos per a fer-ho, al tallafoc i la ip externa del mateix. Suposem que són superadmin i 1.2.3.4.

[PortTallafoc] Si, a més, resulta que el sysadmin del tallafoc ha cregut necessari canviar el port predeterminat del servidor SSH, podem indicar-li aquí a quin port ha d’apuntar el client SSH en vers del 22 (que és el predeterminat). Suposem que està escoltant al port 678. Si no s’ha modificat el port predeterminat del servidor SSH, sense posar des de “-p” cap al final, fem el fet.

Així doncs, la nostra ordre quedaria així:

$ ssh -L 3500:192.168.70.10:110 superadmin@1.2.3.4 -p 678

En executar-la, com sempre, apareixerà el prompt demanant-nos la contrasenya de l’usuari superadmin a la màquina tallafoc. Quan la posem i premem intro, veure que……no passa res!!
Però que ha passat. Invisible als nostres humans ullets, s’ha creat un tunnel SSH (per això aquesta tècnica també s’anomena “tunnelització SSH” (SSH tunneling).

En el moment en que connectem un programa al port 3500 de la nostra màquina local, aquesta connexió passarà pel túnnel fins arribar a la màquina tallafocs remota (el servidor SSH), i un cop a aquella LAN buscarà la IP 192.168.70.10 i s’intentarà connectar al port 110 d’aquella màquina. Autèntic, oi??? i tot amb una sola ordre.

Si agafem el client de correu i el configurem per a que descarregui el correu posant com a servidor “localhost” i com a port “3500”, veureu com automàgicament baixen els correus. I, a més, de manera molt més segura donat que està passant per un tunnel xifrat.

Això també implica que al haver-hi xifrat i desxifrat de les dades a una i altra banda de la connexió, si el trànsit de dades és alt s’alenteix tot plegat. Però és que no hi ha sistema perfecte, oi?? 😉

Referències:
[1] http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_F…
[2] http://www.bulma.net/body.phtml?nIdNoticia=1147

Be Sociable, Share!
Aquesta entrada va ser publicada en General i etiquetada com , , . Guardar l'enllaç permanent. Afegeix un comentari o deixa un trackback: URL del Trackback.

Publicar un comentari

El teu email mai serà publicat ni compartit. Els camps obligatoris estan marcats amb un *

Pots utilitzar aquestes etiquetes i atributs HTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*