07 marzo, 2007

Comunicazioni sicure: Il tunnell ssh e l'X Forwarding

Molte applicazioni che utilizzano il protocollo TCP per le connessioni, possono essere canalizzate in un tunnel sicuro grazie all'ausilio di OpenSSH.
Ciò significa che tutto il traffico di rete generato da queste applicazioni verrà crittografato e quindi reso sicuro dagli strumenti di OpenSSH. Affinché ciò sia possibile è necessario che sull'host remoto sia in esecuzione il servizio ssh. Su ubuntu basta installare il pacchetto openss-server.

Esempi di connessioni che possono essere canalizzate sono http, smtp, pop3 ed in particolare le connessioni agli X servers.


Esempi

Connessione sicura ad un server di database postgresql

Per default il servizio postgre è in ascolto sulla porta 5432. Supponiamo che il servizio risieda sull'host pippo e che l'utente tizio abbia un account sulla macchina pippo.
Allora è possibile creare un tunnel sicuro in questo modo:

$ ssh -L 5500:pippo:5432 tizio@pippo
$ psql -h localhost -p 5500 utente_postgres

Il primo comando crea il tunnell ssh associando la porta remota 5432 alla porta locale (scelta da noi a piacimento) 5500 utilizzando l'account tizio per effettuare il login sulla macchina pippo. A questo punto si usa il secondo comando per connettersi alla estremità locale del tunnell. psql è il client testuale fornito con l'installazione di postgreSQL.

Connessione remota e X Forwarding

Un altro uso molto utile del tunnell ssh è l'X Forwarding.
L'X Forwarding è un meccanismo che permette di visualizzare una applicazione grafica eseguita su un server remoto, in locale. Per abilitarlo è necessario utilizzare l'opzione -X per ssh. Ad esempio:

$ ssh -X tizio@pippo
$ firefox

Il primo comando ci permette di loggarci sull'host pippo tramite l'account tizio abilitando l'X Forwarding. Il secondo comando lancia il browser firefox che sarà eseguito sull'host pippo ma apparirà sul nostro display come se lo avessimo eseguito in locale.
Attenzione che l'opzione ForwardX11 non sia impostata a no nel file di configurazione del demone ssh sul server remoto (/etc/ssh/ssh_config) altrimenti l'X Forwarding non funzionerà!

1 commento:

  1. Anonimo6:07 PM

    Pregasi di scrivere le guide in italiano.
    Grazie.

    RispondiElimina