Secure Tunnel
by Valentino R.
Ultimo Aggiornamento 22 Febbraio 2004
Premessa:
SSH, la shell sicura, un prodotto commerciale eccezionale. Tuttavia
vi è una ampia scelta di implementazioni, sia di client che di server, di tipo gratuito. Queste implementazioni esistono
sia per Unix (sia esso commerciale o no) sia per altri sistemi operativi.
La più nota implementazione si può trovare presso il sito OpenSSH.
In questo sito potrete trovare alternative per sistemi Unix, Windows, Mac,... Per alcuni prodotti, come per esempio
Windows, esistono solo soluzioni alternative per i client.
Secondo quando appena detto, consideriamo questa forma di tunnel come un semplice e lineare modo per inviare dati
crittati su di una rete eterogenea in modo da preveneri lo snoop dei dati scambiati tra i due terminali. Tuttavia
ricordate che ssh semplicimente cripta i dati, non rederà di certo la vostra rete sicura...
Siete stati avvertiti!
Perchè utilizzare ssh?
SSH è un sostituto di telnet, rsh, rlogin. Sebbene si siano, recentemente, trovati alcuni problemi di sicurezza in ssh,
essa rimane un ottimo e sicuro strumento per la crittazione dei dati. A proposito del succitato problema di sicurezza
inerente le password: vi raccomando caldamente di ricorrere all'autentificazione per mezzo delle passphrases e del
sistema RSA! L'utilizzo di ssh non vi vieta di ricorrere anche all'uso di altri strumenti di sicurezza, come per esempio,
tcpwrapper.
È abbastanza semplice fare uno snoop dei dati che transitano in una rete con strumento come tcpdump o snoop. Potete fare
una prova con due macchine che si scambiano dati, per esempio, mentre è attiva una sessione di telnet. Da una terza
macchina che utilizzi Linux come Sistema Operativo, eseguite, per esempio, tcpdump (ovviamente da un utente con i
privilegi di root) e date un'occhiata a quel che capita. Potrete leggere tutti i dati!!!!
Noterete che quello che compare a video è troppo veloce per esser letto, ma nessuno vi vieta di ridirezionarel l'output
su un file, che potrete tranquillamente leggere con calma mente vi bevete un caffè. Se questo è vero per i dati, a
maggior ragione lo è per le password: ed ecco che il gioco è fatto, ovvero come si possa trovare una porta spalancata
per i cracker. Consegnerete loro così la chiave della porta di casa vostra, che in questo caso è il vostro account.
Immaginatevi cosa accadrebbe se il tipo di traffico sulla vostra rete è strettamente riservato... se voi foste
l'amministratore di sistema, temo che il vostro capo a breve di chiederà di trovarvi un nuovo lavoro in un' altra
compagnina!!!
Similmente i comandi remoti, come rsh, rcp, rlogin, sono altrettanto pericolosi, in quanto anche questo tipo di dati
non è crittato. Se ssh è una valida alternativa a rsh e rlogin, esso ha con se anche un altro strumento: scp, ovvero
una valida alternativa a rcp. Con questo voglio dirvi che non vi serviranno più comandi remoti o telnet se ricorrete
ad ssh, o almeno, non dovresti utilizzarli.
Come installare ssh, generare le chiavi pubbliche e private... non rientra nello scopo di questo articolo. Troverete
tutto quello che vi serve all'interno dell'archivo di ssh che scaricherete, o potrete leggerne la documentazione
relativa all'argomento su Italian Linux Documentation Project.
Dato che l'utilizzo di un computer oggigiorno verte essenzialmente nel trasferimento di dati, sia in un senso che
nell'altro, ssh dovrebbe essere uno strumento obbligatorio... bhe in ogni caso spetta a voi la scelta. Tuttavia ssh può
servire a ben altro che non semplicemente sostituire telnet o la suite di comandi remoti.
Può essere utilizzata per crittare i dati trasferiti da applicazioni esterne, ed ovviamente, tra sistemi operativi
diversi. Può anche comprimere i dati. È spesso usata in associazione a protocolli come pop, ftp, http... sia per
comprimere che per crittare dati. È altresì molto utile se siete degli amministratori di sistema, per esempio, per
collegarvi da casa al lavoro e viceversa.
Trattandosi di un applicativo client/server, ssh ovviamente per poter lavorare necessita di una macchina su cui giri il
server ed una su cui giri il client (spero che abbiate notato quanto sia arguto!).
Se vi chiedete come mai io abbia sottolineato un aspetto così banale ora ve ne darò una esauriente risposta!. Infatti,
dato che qui si sta parlando di software gratuito, molti sistemi operativi che non siano unix, non posseggono una
implementazione gratuita del server. Ed eccoci al punto, cioè a volte non si è in grado di vedere le cose più ovvie, e
quindi si deve cercare una strada alternativa: la soluzione è chiamata forwarding. Questo vuol dire che se utilizziamo
sistemi operativi come Mac Os o Windows, non potremmo avere dei server gratuiti, ma dovremmo arrangiarci con i soli
client gratuiti. Come fare questo non è, dopotutto, una cosa così immediata ed ovvia. Proviamo ad affrontare alcuni
esempi concreti.
Ed eccoci alla fine!
La sicurezza dovrebbe essere un argomento che riguarda tutti, ma spesso non è così! ssh è solo uno dei tanti strumenti
che potete utilizzate ogni giorno. È un ottimo strumento, specie se si considera il suo uso, ovvero uno strumento per
crittografare e comprimere i dati.
Dal canto suo ssh risulta esser alquanto inutile fintantochè non avrete risolto i numerosi problemi di sicurezza che
sono presenti sulla vostra macchina o sulla vostra rete. Render sicura una rete o una macchina non è certo cosa semplice,
anzi! Spesso molti strumenti aiutano e sono molto validi, ma di certo non fanno tutto il possibile o il necessario.
Vi sono alcune operazioni basilari ma essenziali per quello che riguarda la sicurezza di una rete e di un sistema. Non
dimenticate di disabilitare tutti i servizi che non vi sono indispensabili, di controllare il bit di SUID, di
disabilitare i programmi "a rischio"... C'è moltissimo lavoro da fare e non sarà mai abbastanza. Potretre installare
tutte le correzioni di sicurezza che volete su di un sistema, ma tutto ciò si dimostrerà perfettamente inutile se
lasciate una o più backdoor disponibili. Ovviamente qui si sta digredendo su un altro argomento, ma è bene ricordare di
non tralasciare le cose più ovvie.
Tornando ad ssh, potremmo dire che si tratta di uno strumento senza cui sarebbe impossibile vivere, fintanto che lo si
utilizza in maniera propria e per le funzioni per cui è nata. Mi ripeto, ma utilizzatela con passphrases e chiavi RSA,
non con le semplici password. Controllare i permessi dei vari file contenuti nella cartella .ssh e gli stessi permessi
della cartella in questione. Mi raccomando, utulizzare anche i wrapper!
Vi ricordo che è possibile fare un tunnel via ssh con la maggior parte dei protocolli esistenti. Ciò può risultare utile
al fine di ottenere delle connessioni più sicure.
Come ultima cosa, ma no per questo meno importante,
verificate lo stato d'uso della crittografia nel
vostro paese. Sarebbe alquanto seccante finire in galera solo per avere utilizzato ssh ed essere trattato come un comune
criminale o una spia.
E con questo abbiamo finito!
Stiamo vivendo in tempi grandiosi.