12. Focus su Syncthing
In questa puntata ti parlo di Syncthing il progetto open-source che utilizzo per sincronizzare i dati del mio ufficio tra i vari computer.
Note dell'episiodio
Come sempre, se ti è piaciuto quel che hai letto, ascoltato o visto e non l’hai già fatto, ti suggerisco di iscriverti alla mia newsletter.
Ti avvertirò dei nuovi articoli che pubblico (oltre ai podcast e video su YouTube) e, mensilmente, ti segnalerò articoli che ho raccolto nel corso del mese ed ho trovato interessanti.
Syncthing
- Syncthing sito del progetto open-source
- Pagina di GitHub per scaricare la versione per macOS - link per il download del DMG
- Documentazione in inglese
- Video guida su Youtube in italiano, un po' lunga …
- Cryptomator di seguito alcuni miei articoli sull'argomento:
- CloudMounter è uno strumento per gli utenti di laptop con unità SSD a bassa capacità. Puoi facilmente montare i cloud più popolari come dischi senza dover scaricare file online sul disco rigido. Oltre a ciò permette di avere file cloud sicuri con crittografia dei dati. Scegli uno dei tuoi account Dropbox, Google Drive e OneDrive e gestiscili gratuitamente nel Finder.
Le caratteristiche più interessanti:
- Privato: Nessuno dei tuoi dati viene mai archiviato in nessun altro luogo se non sui tuoi computer. Non esiste un server centrale che potrebbe essere compromesso, legalmente o illegalmente.
- Connessione criptata: Tutte le comunicazioni sono protette tramite TLS. La crittografia utilizzata include un perfetto segreto diretto per impedire a qualsiasi intercettatore di accedere ai tuoi dati.
- TLS: È un protocollo crittografico di presentazione (per stabilire una connessione tra un computer ed un altro) usato nel campo delle telecomunicazioni e dell'informatica che permette una comunicazione sicura dalla sorgente al destinatario (end-to-end) su reti TCP/IP (come ad esempio Internet) fornendo autenticazione, integrità dei dati e confidenzialità operando al di sopra del livello di trasporto. (Fonte wikipedia)
- Autenticità della fonte: Ogni nodo è identificato da un forte certificato crittografico. Solo i nodi che hai esplicitamente autorizzato possono connettersi al tuo cluster.
- Interfaccia grafica Web: Configura e monitora la sincronizzazione tramite un'interfaccia potente e reattiva accessibile tramite il browser.
- Multipiattaforma: Funziona su Mac OS X, Windows, Linux, FreeBSD, Solaris e OpenBSD. Eseguilo sui tuoi computer desktop e sincronizzali con il tuo server per il backup.
- Configurazione semplice: La sincronizzazione non richiede indirizzi IP o configurazioni avanzate: funziona, su LAN e su Internet. Ogni macchina è identificata da un ID. Dai il tuo ID ai tuoi amici, condividi una cartella e guarda: UPnP lo farà se non vuoi effettuare il port forwarding o non sai come fare.
- Open-source
Altre informazioni utili di cui ho parlato nell'episodio
- Nextcloud soluzione open-source che permette a più utenti anche di collabare direttamente sulla creazione di documenti (utilizzando Collabora Online o OnlyOffice)
- Documentazione specifica sulla gestione della sicurezza di Syncthing
- Secure ShellFish
- Little Snitch blocca lo scaricamento degli aggiornamenti automatici di Syncthing
Questo episodio è stato montato grazie al programma Poducer di Alex Raccuglia.
Sinossi
Ti ricordo che la sinossi è generata dalla IA, in particolare usando la trascrizione del podcast con l’app Transcriber dell’amico Alex Raccuglia e NotebookLM per creare, usando un prompt specifico, la sinossi dalla trascrizione.
Sinossi della puntata su Syncthing
Introduzione a Syncthing per professionisti
- In questa puntata del podcast "Avvocati e Mac Compendium", Filippo Strozzi presenta un focus sull'applicazione open source Syncthing, analizzandone l'utilizzo dal punto di vista di un professionista.
- Sebbene pensato per scopi professionali, Syncthing può essere utilizzato anche per sincronizzare dati personalicome foto e video.
- È fondamentale comprendere la differenza tra il sistema di sincronizzazione cloud tradizionale e quello offerto da Syncthing.
Sistemi di sincronizzazione cloud tradizionali
- Il sistema classico prevede che i file vengano copiati dal computer A a un server cloud di terze parti, per poi essere distribuiti al computer B via internet.
- Esempi comuni includono Dropbox, iCloud, OneDrive e Google Drive.
- L'aspetto critico di questi servizi è che la sincronizzazione avviene tramite server esterni, sulla cui gestione e sicurezza non abbiamo controllo diretto.
- Sebbene esistano applicazioni come Cryptometer e CloudMounter che permettono di cifrare i dati prima di caricarli sul cloud di terzi, permane la necessità di fidarsi di tali fornitori, spesso con server situati all'estero.
- Dal punto di vista professionale, il trasferimento di dati su server esteri solleva questioni legate al GDPR, mentre per un utente privato il problema principale riguarda la destinazione dei propri dati.
- A livello personale, l'autore utilizza iCloud per i propri dati, ma per scopi professionali preferisce maggiore controllo sulla sicurezza dei dati dei clienti.
Il funzionamento di Syncthing
- Syncthing opera con un sistema di sincronizzazione punto a punto, senza l'intermediazione di un server cloud di terze parti.
- La sincronizzazione avviene direttamente tra il computer A e il computer B.
- Questo approccio offre un vantaggio significativo in termini di sicurezza, in quanto i dati, pur transitando su internet, non passano attraverso server esterni non controllati.
Caratteristiche principali di Syncthing
- Privacy: Nessun dato viene archiviato altrove se non sui propri computer. Non esiste un server centrale che possa essere compromesso legalmente o illegalmente.
- Sicurezza: La connessione punto a punto è cifrata tramite TLS, lo stesso protocollo utilizzato per le connessioni sicure sui siti web. La crittografia include un "segreto" per impedire l'accesso ai dati da parte di intercettatori. TLS stabilisce un tunnel cifrato per la trasmissione sicura dei dati tra i dispositivi.
- Autenticazione forte: Ogni "nodo" (dispositivo) è identificato da un certificato criptografico forte, un codice univoco composto da otto gruppi di sette caratteri alfanumerici. Ciò rende difficile l'interfacciamento non autorizzato tra macchine.
- Interfaccia web: L'applicazione si gestisce tramite un'interfaccia web semplice, accessibile da qualsiasi browser.
- Multi-piattaforma: Syncthing è compatibile con macOS, Windows, Linux, FreeBSD, Solaris e OpenBSD, permettendo la sincronizzazione tra sistemi operativi diversi.
- Configurazione semplice: Non è richiesta la conoscenza di indirizzi IP o configurazioni avanzate. Funziona sia su LAN che su internet. È possibile condividere non solo l'ID del dispositivo, ma anche singole cartelle con diversi utenti.
- Firewall friendly: Syncthing non ha problemi ad attraversare i firewall grazie ai protocolli utilizzati.
- Open source: Il codice di Syncthing è disponibile online, consentendo alla comunità di verificarne la sicurezza e risolvere eventuali vulnerabilità rapidamente.
Utilizzo e configurazione di Syncthing
- Per iniziare, è necessario scaricare l'applicazione dal sito SYNCTHING.NET per il proprio sistema operativo.
- Su macOS, l'applicazione si presenta come un bundle DMG.
- Una volta avviato su macOS, l'icona di Syncthing compare nella barra dei menu, permettendo di visualizzarne lo stato e di aprire l'interfaccia di amministrazione nel browser.
- La prima operazione consigliata è impostare la lingua italiana nell'interfaccia.
- L'interfaccia mostra le cartelle condivise a sinistra e le informazioni del dispositivo locale a destra (stato, utilizzo CPU, velocità di trasferimento).
- In basso sono elencati i dispositivi remoti collegati.
- Nella barra in alto sono presenti le impostazioni (nome del dispositivo, statistiche, cartella di default - che è la home directory, ma è consigliabile crearne di specifiche), la guida (in inglese) e le azioni. È possibile personalizzare il tema grafico e limitare la banda passante. È inoltre possibile ignorare specifici dispositivi.
- L'ID del dispositivo è fondamentale per collegare le macchine e va mantenuto segreto. È disponibile anche un QR code per facilitarne la condivisione.
- Per creare una nuova cartella condivisa, si clicca su "Aggiungi cartella". Ogni cartella ha un ID univoco. È possibile scegliere una cartella esistente e darle un nome. Nella sezione "Condivisione", si selezionano i dispositivi autorizzati ad accedere a quella cartella, utilizzando i rispettivi ID.
- Syncthing offre diverse opzioni per il controllo delle versioni dei file, permettendo di recuperare versioni precedenti in caso di modifiche o cancellazioni indesiderate (cestino, semplice, cadenzato con limiti di tempo e percorso specifico, esterno). È possibile anche escludere specifici file o pattern di file dalla sincronizzazione.
- Le impostazioni avanzate offrono ulteriori opzioni di configurazione, ma è consigliabile non modificarle senza una conoscenza approfondita.
- Per aggiungere un dispositivo remoto, si clicca su "Aggiungi dispositivo remoto" e si inserisce l'ID del dispositivo remoto e un nome. Si possono definire le cartelle da condividere con quel dispositivo e impostare limiti di banda specifici.
- La connessione tra due computer nella stessa rete locale può avvenire automaticamente se la scoperta dei dispositivi è attiva. È necessario autorizzare la connessione su entrambi i dispositivi.
Pro e Contro di Syncthing
- Vantaggi:
- GDPR: I dati rimangono sotto il controllo dell'utente, sui propri server.
- Sicurezza: Il trasferimento dei dati è cifrato.
- Semplicità d'uso: Più semplice da configurare rispetto a soluzioni server-based come Nextcloud.
- Svantaggi:
- Non è un backup: Non sostituisce una strategia di backup dedicata.
- Condivisione limitata: Richiede l'installazione dell'applicazione e la condivisione degli ID, con potenziali rischi se non gestita con cura.
- Infrastruttura propria: Richiede almeno due computer e una connessione internet stabile, soprattutto per il dispositivo principale.
- Dispositivo sempre acceso: Il computer con i dati deve essere acceso per permettere la sincronizzazione.
- Necessità di cifrare i dati locali: Per garantire la sicurezza anche a livello locale.
- Assenza di app iOS, esiste tuttavia un’app a pagamento MöbiusSync (presente per Android).
- L'autore ha riscontrato un problema con il firewall Little Snitch su macOS che bloccava gli aggiornamenti di Syncthing. È importante mantenere l'applicazione aggiornata per la sicurezza.
Conclusione
- Syncthing è una soluzione semplice ed efficace per la sincronizzazione di dati tra due o più computer, sia in locale che in remoto.
- È particolarmente adatta a chi lavora da solo o desidera condividere file senza la necessità di una gestione collaborativa in tempo reale.
- È uno strumento consigliato per professionisti grazie alla sua natura open source, agli aggiornamenti costanti e alla sicurezza offerta, senza costi aggiuntivi all'infuori dell'infrastruttura .
- Ulteriori approfondimenti e link sono disponibili nelle note dell'episodio sul sito web del podcast.