Trasferire i file in modo sicuro usando WinSCP
Internet non è affatto un posto sicuro. Si sente sempre più spesso di episodi, dove utenti non autorizzati sono riusciti ad accedere illegalmente a informazioni sensibili. Un rischio particolare, oltre all’invio di file per e-mail, si cela dietro la manutenzione del server tramite canali non cifrati. I protocolli telematici più conosciuti, come FTP (File Transfer Protocol) o l’ormai superato RCP (Remote Copy Protocol), sono più facilmente soggetti al furto di dati perché inviano gli allegati, il nome utente e le password come testo in chiaro. I protocolli SFTP (SSH File Transfer Protocol) e SCP (Secure Copy) offrono un’alternativa sicura perché stabiliscono una connessione cifrata e verificata tra il server e il client, basandosi sul protocollo SSH (Secure Shell). Un buon programma SSH a disposizione degli utenti Windows è WinSCP. Ma esattamente quali vantaggi offre e che cosa serve per poterlo utilizzare?
- Certificato SSL Wildcard incluso
- Registrazione di dominio sicura
- Indirizzo e-mail professionale da 2 GB
Cos’è WinSCP?
WinSCP (Windows Secure Copy) è un client, scritto con linguaggio di programmazione C++, che permette di trasferire file in modo sicuro tra due computer. Il software gratuito supporta moltissimi metodi di autentificazione e di crittografia e vuole essere un’alternativa per Windows di OpenSSH e Putty. Particolarmente importante è la possibilità di stabilire una connessione cifrata attraverso i protocolli SFTP e SCP basati su SSH, oltre che la trasmissione dati non cifrata via protocollo FTP e quello standard WebDAV. Come anche altri client (ad esempio FileZilla), WinSCP serve per la gestione dei file sul server web tramite accesso remoto. Di solito si stabilisce una connessione tra un PC Windows locale e un server web: così si possono scaricare e modificare file dal server al client e viceversa. WinSCP offre numerosi vantaggi:
- Interfaccia user friendly: WinSCP convince anche grazie a un’interfaccia utente grafica disponibile in due versioni: Norton Commander e Explorer. La prima offre all’utente la possibilità di visualizzare due cartelle in una sola finestra. A sinistra appare la cartella con i file sul computer locale, a destra quelli a cui si può accedere tramite accesso remoto. Invece, l’interfaccia Explorer si ispira all’omonimo browser Explorer e offre la possibilità di visualizzare solo una cartella. Il trasferimento dei file avviene in entrambe le interfacce per Drap & Drop. Nell’interfaccia Explorer sono inoltre disponibili i tasti di scelta rapida per Windows.
- Editor di testo integrato: WinSCP consente la modifica dei file di testo direttamente nella cartella remota sul server, tramite un editor di testo già integrato nel programma. Quindi i file HTML, PHP o CSS possono essere direttamente aperti e modificati attraverso il client. Durante il processo di scrittura WinSCP crea una copia nel buffer (o memoria intermediaria), che dopo il salvataggio viene caricata nella cartella remota e sostituisce il file originale. In alternativa, editor di testo esterni come Notepad++ o Eclipse possono essere integrati a WinSCP.
- Sincronizzazione automatica: WinSCP permette di sincronizzare due cartelle. Questo facilita gli amministratori nella gestione dei file perché i dati sul server web possono essere sincronizzati automaticamente con i file locali sul pc. A WinSCP viene così richiesto di mantenere una cartella remota attuale e il programma controlla i file nella cartella locale, carica quelli modificati autonomamente e cancella, su richiesta, la loro vecchia versione dal server.
- Uso gratuito: WinSCP ha licenza GNU General Public License. In quanto programma open source può essere utilizzato, modificato e diffuso in maniera gratuita. Il codice di programmazione per SSH e SCP si basa sul client PuTTY, lo stesso di FileZilla.
Connessione criptata via SSH
Gli utenti apprezzano il software soprattutto perché grazie ad esso i file possono essere inviati in maniera sicura anche attraverso una rete non protetta. Per poterlo fare, il client SSH integrato instaura una connessione di rete cifrata tra il PC locale e un dispositivo remoto (di solito un server web). Sia la connessione SFTP sia quella SCP si basano su un protocollo di rete SSH e usano le sue opzioni di cifratura e di autentificazione. Tra i due ci sono alcune differenze nelle funzionalità.
- Secure Copy (SCP): un trasferimento di file cifrato via SCP si basa su un protocollo SSH-1 e supporta esclusivamente il trasferimento di file da un computer all’altro. Dopo l’introduzione del protocollo SSH-2 e del conseguente sviluppo di una trasmissione standard SFTP significativamente più flessibile, il protocollo SCP trova sempre meno consenso. Tuttavia rispetto a SFTP, SCP è più specifico grazie ad un algoritmo efficiente, che gli permette anche di trasferire i file più velocemente.
- SSH File Transfer Protocol (SFTP): insieme a SSH-2 è stato lanciato sul mercato anche il protocollo di rete SFTP. Come anche SCP, il protocollo SFTP si distingue da quello FTP sia per un’autentificazione del server e del client sia per il trasferimento cifrato dei file. Lo spettro delle funzioni SFTP è decisamente più grande di quello SCP: non solo si possono trasferire i dati, ma SFTP permette anche di accedere ai file nelle cartelle remote, di gestirle e di modificarle.
Requisiti generali per l’uso di WinSCP
WinSCP funziona su ogni computer con sistema operativo Windows. Per stabilire una connessione con un server web, si ha bisogno dell’accesso utente e dei loro dati di login. L’accesso cifrato via SFTP o SCP avviene usando un server SSH. Nelle distribuzioni Linux è quasi sempre già installato. Per autenticarsi sul server web si può utilizzare una password classica o una coppia di chiavi. Di solito i pacchetti di hosting più usati permettono anche ai principianti un accesso via SSH.
Autenticazione con chiave pubblica
Per un’autenticazione con chiave pubblica viene generata una coppia di chiavi (una privata e una pubblica) mediante l’applicazione PuTTYgen, integrata a WinSCP. Mentre la chiave pubblica (Public Key) viene salvata sul server SSH, quella privata (Private Key) resta sul computer locale. WinSCP si serve di questo per generare firme per l’autenticazione. La conformità di queste firme può essere verificata con l’aiuto della chiave pubblica del server web. Affinché la chiave privata non finisca nelle mani sbagliate, il più delle volte viene salvata sul computer locale in maniera criptata con una password a discrezione dell’utente.
Autenticazione semplificata con Pageant
L’autenticazione a chiave pubblica può essere semplificata da Pageant (PuTTY authentication agent), che la facilita consentendo di digitare la password della chiave privata solamente all’inizio di una sessione di lavoro su Windows. Pageant memorizza così la chiave come testo in chiaro per i login successivi. Se l’utente dovesse disconnettersi, Pageant si arresterebbe senza salvare sul disco fisso la chiave privata non cifrata. Nel articolo apposito, vi spieghiamo come fare i primi passi con WinSCP.