Nell’attraversare un segmento di rete (spesso Internet) considerato
insicuro con un protocollo, che permetterebbe la “fuoriuscita” di dati sensibili a vantaggio di un potenziale attaccante, usualmente ci si affida a soluzioni come il
tunneling, racchiudendo il protocollo di comunicazione che utilizziamo solitamente, con un altro ovviamente più sicuro, ad esempio SSH.
Un
articolo apparso pochi giorni fa su
CodeGuru spiega abbastanza in dettaglio come realizzare un tunnel proprio con SSH a vantaggio di una eventuale connessione con un database – ma lo stesso concetto si può applicare a moltissimi altri esempi — situato in una diversa zona geografica.
SSH si occuperà quindi di tutti gli aspetti spesso non curati nei protocolli usati dai database SQL (nel caso dell’articolo
MySQL), come autenticazione, cifratura, integrità dei dati, ed altro.
Nell’articolo è descritta la costruzione di un client di esempio in
Visual C#, usando anche
SecureBlackbox .NET Edition per la creazione della parte client del meccanismo di cifratura, e ovviamente del
MySQL Connector/NET. Le classi per la creazione di una connessione SSH sono descritte sia attraverso diagrammi logici che grazie a listati ben commentati.
E’ ovvio che è richiesta una conoscenza di SQL e della logica di funzionamento di un protocollo, ma sono rimasto ugualmente sorpreso dalla brevità e dalla semplicità con cui l’applicazione può essere costruita. Sto cercando informazioni più dettagliate su
SecureBlackbox, e se risulterà interessante come mi aspetto, approfondirò l’argomento in un prossimo articolo.