L‘SSH File Transfer Protocol ga­ran­ti­sce un tra­sfe­ri­men­to sicuro dei dati tra due partner di co­mu­ni­ca­zio­ne. Ciò è diventato es­sen­zia­le per molti processi la­vo­ra­ti­vi nelle aziende: ad esempio, il personale sul campo invia i risultati del lavoro alla sede dell’azienda, l’ar­chi­tet­tu­ra server di una rete aziendale viene mantenuta ag­gior­na­ta e protetta tramite la ma­nu­ten­zio­ne remota o le istru­zio­ni di ri­pa­ra­zio­ne vengono ri­chia­ma­te online dal ri­pa­ra­to­re in loco. Per fare questo i dati devono essere tra­sfe­ri­ti in modo bi­di­re­zio­na­le da e verso il server aziendale tramite una con­nes­sio­ne Internet. In questo modo anche i file per i siti web vengono trasmessi nello spazio web cor­ri­spon­den­te. Per questo scambio di dati esiste già dal 1971 il File Transfer Protocol o FTP, nella sua forma ab­bre­via­ta.

La gestione pratica dei dati via FTP è simile a quella di Windows Explorer, Mac Finder o Linux Nautilus. La dif­fe­ren­za è che i dati vengono tra­sfe­ri­ti da e verso server molto distanti. Il percorso di tra­smis­sio­ne dall’utente (client FTP) al server (server FTP) e viceversa offre sempre una po­ten­zia­le su­per­fi­cie d’attacco per il furto e la ma­ni­po­la­zio­ne dei dati o per l’in­fil­tra­zio­ne di malware nel sistema degli utenti. E più basso è lo standard di sicurezza, maggiore è il rischio. Nel pro­to­col­lo FTP lo standard di sicurezza è molto basso: il nome utente e la password d’accesso vengono trasmessi con il testo in chiaro, ovvero non crit­to­gra­fa­ti. I po­ten­zia­li hacker possono leggere i dati di accesso e ottenere un accesso non au­to­riz­za­to al client e al server FTP, con le relative con­se­guen­ze.

Per poter escludere queste pos­si­bi­li­tà di attacco, è stato svi­lup­pa­to in al­ter­na­ti­va l’SFTP, che presenta una sicurezza no­te­vol­men­te mi­glio­ra­ta.

Cos’è l’SSH File Transfer Protocol?

Il pro­to­col­lo di tra­smis­sio­ne SSH, “Secure Shell”, è stato svi­lup­pa­to, tra l’altro, per mi­glio­ra­re la pro­te­zio­ne della tra­smis­sio­ne di dati FTP. Questo pro­to­col­lo ga­ran­ti­sce un’au­ten­ti­ca­zio­ne sicura dei partner di co­mu­ni­ca­zio­ne. Non appena viene avviato un accesso da un client, il server verifica l’identità del client tramite e con SSH. L’au­ten­ti­ca­zio­ne reciproca avviene tramite cer­ti­fi­ca­ti e at­tra­ver­so la procedura di chiave pubblica e privata. L’accesso è con­sen­ti­to solo se la chiave del client SFTP combacia con la “serratura” del server SFTP e il server verifica se il client ha “sbloccato” l’au­to­stra­da in­for­ma­ti­ca con una chiave adeguata.

Questa chiave consiste in una sequenza casuale di lettere, numeri e caratteri speciali con un numero spe­ci­fi­ca­to di bit. Si chiama pro­to­col­lo crit­to­gra­fi­co. Può essere uti­liz­za­to per co­mu­ni­ca­zio­ni crit­to­gra­fa­te anche con una con­nes­sio­ne Internet non protetta.

De­fi­ni­zio­ne

SSH File Transfer Protocol: Questo pro­to­col­lo, ab­bre­via­to in SFTP, in italiano “Pro­to­col­lo di tra­sfe­ri­men­to file sicuro”, ga­ran­ti­sce il tra­sfe­ri­men­to crit­to­gra­fa­to di dati tra sistema client e sistema server e viceversa con una sola con­nes­sio­ne. Sia i dati per stabilire la con­nes­sio­ne che i dati trasmessi sono crit­to­gra­fa­ti uti­liz­zan­do le co­sid­det­te chiavi basate sul pro­to­col­lo SSH.

Come funziona SFTP?

Un pre­re­qui­si­to per una con­nes­sio­ne fun­zio­nan­te con l‘SSH File Transfer Protocol è l’accesso SSH sul server dell’host. I dati di accesso per l’utente SFTP sono quindi di­spo­ni­bi­li lì: indirizzo del server, nome utente e password. Questi dati vengono inseriti nel programma (S)FTP uti­liz­za­to dal client. La prima volta che viene stabilita la con­nes­sio­ne, la chiave per la verifica viene vi­sua­liz­za­ta e me­mo­riz­za­ta nel programma FTP per uso futuro. Il client si autentica quindi sul server ogni volta che viene stabilita una con­nes­sio­ne. Se una pagina o un terzo non au­to­riz­za­to “iden­ti­fi­ca” sé stesso in questa co­mu­ni­ca­zio­ne senza chiave o con una chiave errata, la con­nes­sio­ne viene im­me­dia­ta­men­te in­ter­rot­ta.

Esiste un co­sid­det­to tunnel SSH tra client e server e sulla via del ritorno, at­tra­ver­so il quale vengono ef­fet­tua­te l’au­ten­ti­ca­zio­ne e la tra­smis­sio­ne dei dati. Questo tunnel è crit­to­gra­fa­to in modo tale che nessun hacker possa accedere ai dati, quindi i dati arrivano al de­sti­na­ta­rio senza essere ma­ni­po­la­ti. Tuttavia, se un utente terzo tenta di mo­di­fi­ca­re i dati su questa via di tra­smis­sio­ne, SSH rileva questa ma­ni­po­la­zio­ne e si di­scon­net­te im­me­dia­ta­men­te.

Il tra­sfe­ri­men­to dei dati con l‘SSH File Transfer Protocol protegge pertanto da:

  • modifiche dell’indirizzo IP di un pacchetto dati, chiamato anche IP spoofing;
  • rein­di­riz­za­men­to del nome dell’host, ori­gi­na­ria­men­te in­di­riz­za­to, all’indirizzo IP di un terzo (DNS spoofing);
  • in­ter­cet­ta­zio­ne dei dati di accesso con testo in chiaro da parte di terzi;
  • ma­ni­po­la­zio­ne dei dati trasmessi da parte di terzi.
N.B.

SFTP non protegge gli utenti dalla gestione ne­gli­gen­te dei dati e delle chiavi degli utenti!

Utilizzo dell‘SSH File Transfer Protocol

Nel programma (S)FTP il pro­to­col­lo viene se­le­zio­na­to nell'area in cui vengono immessi i dati di accesso. Nell’ap­pli­ca­zio­ne client FileZilla, mostrata di seguito, si tratta del co­sid­det­to server manager. Nella maggior parte dei casi non è ne­ces­sa­rio spe­ci­fi­ca­re una porta, poiché questa viene au­to­ma­ti­ca­men­te impostata su 22 quando si seleziona SFTP.

Consiglio

Nel nostro articolo “I 10 migliori programmi FTP per Windows & Mac” abbiamo compilato una pa­no­ra­mi­ca di programmi (S)FTP con­si­glia­ti.

La prima volta che si tenta di stabilire una con­nes­sio­ne con l‘SSH File Transfer Protocol, il client SFTP riceve un messaggio che riflette lo standard di sicurezza SSH.

In seguito con­trol­la­te nuo­va­men­te che l’indirizzo del server sia giusto. L'u­ti­liz­zo della porta 22 corretta può anche essere ri­co­no­sciu­to dalla voce per il server: “home….-data.host:22”. Con un segno di spunta nella casella “Conferma sempre questo server, salva questa chiave” e un clic sul pulsante “OK” i dati di con­nes­sio­ne vengono salvati e viene stabilita la con­nes­sio­ne crit­to­gra­fa­ta.

Non verrà ef­fet­tua­ta una nuova in­ter­ro­ga­zio­ne di questi dati al suc­ces­si­vo col­le­ga­men­to, poiché il client SFTP si iden­ti­fi­ca sul server SFTP con la chiave una tantum. Questa firma digitale crit­to­gra­fa tutte le tra­smis­sio­ni, inclusi i dati di accesso per stabilire la con­nes­sio­ne. I messaggi nella finestra di stato del programma FTP for­ni­sco­no in­for­ma­zio­ni sull’avan­za­men­to dei download e upload.

Consiglio

Per il sal­va­tag­gio o il tra­sfe­ri­men­to dei dati IONOS offre server SFTP con account personali, backup e gestione delle app.

Qual è la dif­fe­ren­za tra SFTP e FTP?

La dif­fe­ren­za prin­ci­pa­le è che nella tra­smis­sio­ne SFTP l’au­ten­ti­ca­zio­ne e l’intero traffico di dati tra client e server sono crit­to­gra­fa­ti. Anche se un hacker riesce ad accedere ai dati, non li può uti­liz­za­re. L’SSH File Transfer Protocol reagisce ai dati di accesso ma­ni­po­la­ti o ai tentativi di attacco in­ter­rom­pen­do la con­nes­sio­ne. In breve ci sono le seguenti dif­fe­ren­ze tra FTP e SFTP:

FTP SFTP
Numero dei canali uti­liz­za­ti 2 separati 1
Standard di crit­to­gra­fia nessuno SSH2
Crit­to­gra­fia di au­ten­ti­ca­zio­ne ✗ ✓
Crit­to­gra­fia della tra­smis­sio­ne dati ✗ ✓
Opzioni di attacco (lettura, attacco) ✓ ✗

Questa sicurezza tecnica della tra­smis­sio­ne crit­to­gra­fi­ca dovrebbe essere aumentata sia sul lato client che sul lato server con ulteriori fun­zio­na­li­tà di sicurezza. Ciò vale, ad esempio, per le decisioni relative alla posizione geo­gra­fi­ca e alla sicurezza fisica dei server SFTP, nonché alla me­mo­riz­za­zio­ne protetta dei dati per l’accesso ai client. Qualsiasi di­sat­ten­zio­ne nel trat­ta­men­to dei dati viene so­li­ta­men­te punita prima o poi.

Vai al menu prin­ci­pa­le