Un'interfaccia a linea di comando sicura � solo uno dei tanti modi in cui � possibile usare una SSH. Considerata la larghezza di banda, le sessioni X11 possono essere indirizzate tramite un canale SSH. Oppure, utilizzando il TCP/IP forwarding, le connessioni di porta un tempo non sicure tra sistemi diversi possono essere mappate su canali SSH specifici.
20.5.1. Inoltro X11
Aprire una sessione X11 tramite una connessione SSH stabilita � facile quanto avviare un programma X su un computer locale. Quando un programma X viene eseguito dalla shell, il client e il server SSH creano un nuovo canale sicuro e i dati del programma X vengono inviati tramite questo canale al vostro client.
L'inoltro X11 pu� essere molto utile. Per esempio, potete usarlo per creare una sessione interattiva e sicura con l'interfaccia grafica utente up2date sul server per aggiornare i pacchetti. Per farlo, connettetevi al server utilizzando ssh e digitate:
Dopo aver fornito la password root per il server, comparir� Red Hat Update Agent e permetter� all'utente remoto di aggiornare in modo sicuro il sistema remoto.
20.5.2. Port forwarding
Con SSH potete rendere sicuri i protocolli TCP/IP altrimenti insicuri mediante il port forwarding. Con questa tecnica, il server SSH diventa un passaggio cifrato al client SSH.
Il port forwarding consiste nel mappare una porta locale sul client per una porta remota sul server. SSH vi permette di mappare qualsiasi porta dal server per qualsiasi porta sul client. I numeri delle porte non devono corrispondere per permettere il funzionamento di questa tecnica.
Per creare un canale TCP/IP di port forwarding che attenda le connessioni sull'host locale, utilizzate il seguente comando:
ssh -L local-port:remote-hostname:remote-port username@hostname |
| Nota Bene |
---|
| Per impostare il port forwarding all'ascolto su porte inferiori alla 1024 � necessario l'accesso root. |
Se per esempio desiderate controllare la vostra posta su di un server chiamato mail.example.com utilizzando il protocollo POP tramite una connessione cifrata, potete usare il comando seguente:
ssh -L 1100:mail.example.com:110 mail.example.com |
Una volta impostato il canale per il port forwarding tra la macchina del client e il mail server, potete indicare al vostro client di posta POP3 di usare la porta 1100 sul localhost per controllare l'arrivo di nuova posta. Qualsiasi richiesta inviata alla porta 1100 sul sistema client, sar� indirizzata in modo sicuro al server mail.example.com.
Se mail.example.com non esegue un demone server SSH, eseguito invece da un'altra macchina sulla stessa rete, potete ancora utilizzare SSH per rendere sicura una parte della connessione. Tuttavia � necessario un comando leggermente diverso:
ssh -L 1100:mail.example.com:110 other.example.com |
In questo esempio, le richieste POP3 dalla porta 1100 sulla macchina del client, sono inviate tramite il collegamento SSH sulla porta 22 per il server SSH other.example.com. A questo punto, other.example.com si collega alla porta 110 su mail.example.com per permettervi di controllare l'arrivo di nuova posta. Con questa tecnica, solo collegamento tra il sistema client e il server SSH other.example.com � sicuro.
Il port forwarding pu� risultare particolarmente utile per ricevere informazioni in modo sicuro tramite i firewall di rete. Se il firewall � configurato per consentire il traffico SSH tramite la porta standard (22), ma blocca l'accesso alle altre porte, una connessione tra due host che usano porte bloccate � comunque possibile se si reindirizza la comunicazione tramite una connessione SSH.
| Nota Bene |
---|
| L'utilizzo del port forwarding per inoltrare connessioni in questo modo consente a qualsiasi utente sul sistema client di connettersi a quel determinato servizio.Se il sistema client viene compromesso, anche un aggressore avr� accesso ai servizi inoltrati. Gli amministratori di sistema possono disabilitare la funzione del port forwarding sul server, specificando il parametro No per la riga AllowTcpForwarding nel file /etc/ssh/sshd_config e riavviando il servizio sshd. |