Tutorials

  • Presto on-line...

About ...

  • ... questo sito
  • ... me


Come accedere ai server protetti da un firewall

ssh, firewall
Immaginiamo di essere a casa e di doverci collegare alla intranet dell'ufficio. Solo che per ovvi (!) motivi di sicurezza la LAN dell'ufficio è protetta da un firewall. L'importante è che il firewall sia configurato per permettere l'accesso della shell sicura ssh (porta 22), oppure...

Partiamo da un esempio:


Nel disegno ho schematizzato la rete locale della mia azienda. Ho fatto un bellissimo :-) portale aziendale da cui è possibile gestire la rubrica telefonica, la fatturazione, gli impegni giornalieri e seguire i progetti in corso. Per ragioni di sicurezza il portale è raggiungibile solo dall’interno dell’azienda: è protetto da un firewall. Ho però configurato il firewall per lasciarmi accedere, con una shell sicura (ssh), alla mia postazione di lavoro (myDesktop.xyz.com). Da casa posso quindi collegarmi al mio computer e utilizzare la shell unix. Per esempio:

[home:~] sax% ssh user1@myDesktop.zyx.com
user1@myDesktop.zyx.com's password: (password) 
Last login: Mon May 26 13:49:25 2003 from myDesktop.zyx.com
Welcome to Darwin!
[myDesktop:~] user1%

Fin qui niente di strano… ma utilizzando la funzione di port-forwarding del comando ssh posso fare qualcosa di più complesso ed di molto interessante: Sempre sul computer di casa, digito il comando
ssh user1@myDesktop.zyx.com -N -L 8080:portal.xyz.com:80 che:
1 - apre un tunnel criptato tra la mia macchina a casa e la mia macchina al lavoro
2 - fa si che tutte le chiamate dirette alla porta 8080 della mia macchina locale (casa) vengano ridirette, dalla mia macchina al lavoro, al portale della intranet alla porta 80 (http): come nello schema del disegno.

In pratica:
1) Apro il terminale e digito la riga seguente:

[home:~] sax% ssh user1@myDesktop.zyx.com -N -L 8080:portal.xyz.com:80
user1@myDesktop.zyx.com's password: (password) 

2) Apro un browser e mi collego alla URL: http://127.0.0.1:8080 e vedrò il portale della mia intranet!

… e se volessi montare il disco del computer del mio ufficio? :

Unica premessa: devo aver attivato la condivisione del disco.
A questo punto mi basta ricorare che il protocollo AppleShare over TCP/IP gira sulla porta 548. Quindi:
ssh user1@myDesktop.zyx.com -N -L 8080:127.0.0.1:548
Poi dal Finder: mela-K e digito l’indirizzo:
afp://127.0.0.1:8080
In questo caso con ssh ho chiesto alla macchina myDesktop di ribaltare il traffico proveniente dal computer di casa (dalla porta 8080) sulla porta 548 di myDesktop stesso (l’indirizzo 127.0.0.1 è l’equivalente informatico del "me-stesso").

Forward della porta Locale o della porta Remota?

Nello schema del disegno possiamo battezzare i tre computer come local (home.isp.com), remote (myDesktop.xyz.com) e target (portal.xyz.com).
Esistono due versioni del port-forwarding:

[local:~] user1% ssh remote -N -L localPort:target:targetPort

[local:~] user1% ssh remote -N -R remotePort:target:targetPort

Il punto chiave in comune tra le due versioni è che entrambe creano un tunnel criptato (una connessione sicura) tra la macchina locale (quella dalla quale si lancia il comando ssh) e la macchine remota.
Nel primo caso (con il parametro -L) si chiede di "ascoltare" sulla porta locale localPort.

In questo caso, il traffico "ascoltato" sulla porta locale viene portato attraverso il tunnel sulla macchina remota, e da lí inviato alla macchina target sulla porta targetPort.

Nel secondo caso (con il parametro -R) si chiede di "ascoltare" sulla porta remota remotePort.

In questo caso, il traffico "ascoltato" sulla porta remota viene portato attraverso il tunnel sulla macchina locale, e da qui inviato alla macchina target sulla porta targetPort.

Per approfondimenti:

Consiglio caldamente di studiare il manuale in linea:

  • man ssh

Posted on May 26, 2003 - 07:20 PM


Ricerca:


Adv:

ApplePro :
Vuoi acquistare un prodotto dalla Apple? Sei un utente Pro (cioè hai la partita IVA)? Se vuoi supportare il nostro sito, passa da qui: apple pro.