Questo post del blog è obsoleto. Nel frattempo abbiamo spostato i nostri server dall'Islanda ai Paesi Bassi. Ecco perché.
Come fondatore di Simple Analytics, sono sempre stato attento alla necessità di fiducia e trasparenza per i nostri clienti. Vorremmo essere ritenuti responsabili delle esigenze dei nostri clienti, in modo che possano dormire tranquilli. Le scelte che facciamo devono essere ottimali, in termini di privacy, per i visitatori e per i nostri clienti. Una delle scelte cruciali da prendere in considerazione è stata la scelta della sede dei nostri server.
Negli ultimi mesi, abbiamo spostato gradualmente i nostri server in Islanda. In questo post vorrei spiegare come abbiamo raggiunto questo obiettivo e, soprattutto, perché. Non è stato un processo facile e vorrei condividere i nostri insegnamenti. In questo articolo ci sono alcune parti tecniche che ho cercato di scrivere in modo comprensibile, ma perdonatemi se è troppo tecnico.
- Perché spostare i nostri server?
- La nostra prossima posizione
- Islanda
- Spostamento dei server
- Archiviare solo i dati necessari
- Quale sarà il prossimo passo?
Perché spostare i nostri server?
Tutto è iniziato con l'inserimento del nostro sito web in EasyList. Si tratta di un elenco di nomi di dominio utilizzati dai più diffusi ad-blocker. Ho chiesto perché Simple Analytics fosse stato aggiunto, perché non tracciamo i visitatori dei siti web dei nostri clienti. Rispettiamo persino le impostazioni "Do Not Track" del browser.
Ho quindi risposto come segue alla richiesta di pull su GitHub:
[...] Quindi se continuiamo a bloccare le aziende che fanno del bene e rispettano la privacy degli utenti, che tipo di segnale è quello di bloccare queste aziende? Penso che sia sbagliato e che non dovremmo inserire ogni azienda nella lista solo perché sta inviando una richiesta. [...]
Ho ricevuto una risposta al mio commento da @cassowary714:
Tutti dicono quello che dici tu, ma io non voglio vedere le mie richieste inviate a una società statunitense (nel tuo caso, Digital Ocean [...]
All'inizio questa risposta non mi è piaciuta, ma dopo averla condivisa con la mia comunità mi hanno fatto notare che in effetti aveva ragione sul fatto che il governo statunitense è in grado di accedere ai dati dei nostri utenti. In quel momento, i nostri server erano effettivamente in esecuzione su Digital Ocean e potevano estrarre il nostro disco e leggere i nostri dati.
La soluzione è alquanto tecnica, per cui è bene che abbiate pazienza. È possibile rendere un'unità rubata (o staccata per qualsiasi motivo) inutilizzabile per altri. Questo può essere risolto crittografando i dati sull'unità, in modo da rendere molto difficile la lettura dei dati per chi non dispone della chiave di crittografia (Nota: solo Simple Analytics dispone di questa chiave). Sarebbe comunque possibile ottenere piccole parti dei dati leggendo fisicamente la memoria del server. La memoria è facilmente spiegabile come un tipo di unità, piccola ma velocissima, che permette al processore del server di funzionare in modo efficiente. Un server non funziona senza memoria, quindi dobbiamo fidarci del fornitore di hosting.
Questo mi ha spinto a pensare a dove spostare i nostri server.
La nostra prossima posizione
Ho iniziato con alcune ricerche di base e ho trovato una pagina di Wikipedia sulla censura e la sorveglianza di Internet per paese. Contiene un elenco di "Nemici di Internet" stilato da Reporter senza frontiere, un'organizzazione non governativa internazionale con sede a Parigi che difende la libertà di stampa, che classifica un Paese come nemico di Internet quando "tutti questi Paesi si distinguono non solo per la loro capacità di censurare le notizie e le informazioni online, ma anche per la loro repressione quasi sistematica degli utenti di Internet".
Oltre a questa lista, esiste un'alleanza chiamata Five Eyes, nota anche come FVEY. Si tratta di un'alleanza tra Australia, Canada, Nuova Zelanda, Regno Unito e Stati Uniti. Negli ultimi anni, alcuni documenti hanno dimostrato che questi Paesi spiano intenzionalmente i rispettivi cittadini e condividono le informazioni raccolte per aggirare le norme nazionali restrittive in materia di spionaggio(fonti). L'ex contractor della NSA Edward Snowden ha descritto l'FVEY come "un'organizzazione di intelligence sovranazionale che non risponde alle leggi dei propri Paesi". Altri Paesi collaborano con l'FVEY in altre cooperative internazionali, tra cui Danimarca, Francia, Paesi Bassi, Norvegia, Belgio, Germania, Italia, Spagna e Svezia (i cosiddetti 14 occhi). Non sono riuscito a trovare prove che l'alleanza dei 14 Occhi abbia abusato della loro intelligence combinata.
A questo punto, eravamo abbastanza sicuri di non utilizzare nessuno dei Paesi elencati nell'elenco dei "Nemici di Internet" e di evitare i Paesi dell'alleanza dei 14 occhi. Per Simple Analytics, questo era un motivo sufficiente per evitare questi Paesi per l'archiviazione dei dati dei nostri clienti.
La pagina di Wikipedia citata in precedenza riporta quanto segue per l'Islanda:
La censura è vietata dalla Costituzione islandese e vi è una forte tradizione di protezione della libertà di espressione che si estende all'uso di Internet. [...]
Islanda
Durante la ricerca del miglior Paese, dal punto di vista della privacy, continuava a comparire l'Islanda. Così ho fatto una ricerca approfondita sull'Islanda. Tenete presente che non parlo l'islandese, il che potrebbe avermi fatto perdere informazioni importanti. Fateci sapere se avete qualche commento.
Secondo il rapporto Freedom on the Net 2018 (di Freedom House), l'Islanda, insieme all'Estonia, ha ottenuto un punteggio di 6/100 (più basso è meglio) nell'Internet Freedom Score. Questo li rende uno dei Paesi più rispettosi della privacy. Si noti che non tutti i Paesi sono stati valutati.
Il rapporto Freedom on the Net 2018 è stato cancellato. L'elenco della maggior parte dei Paesi è disponibile sul sito web.
L'Islanda non è un membro dell'Unione Europea, anche se fa parte dello Spazio Economico Europeo e ha accettato di seguire una legislazione in materia di protezione dei consumatori e di diritto commerciale simile a quella degli altri Stati membri. Tra queste, la legge sulle comunicazioni elettroniche 81/2003, che ha implementato i requisiti di conservazione dei dati.
La legge si applica ai fornitori di servizi di telecomunicazione e impone la conservazione dei dati per sei mesi. La legge stabilisce inoltre che le aziende possono fornire informazioni sulle telecomunicazioni solo in casi penali o per questioni di pubblica sicurezza e che tali informazioni non possono essere fornite a nessun altro se non alla polizia o alla pubblica accusa.
Sebbene l'Islanda segua in qualche modo le leggi dello Spazio economico europeo, ha un proprio approccio alla privacy. Ad esempio, la legge islandese sulla protezione dei dati incoraggia l'anonimato dei dati degli utenti. Gli ISP e gli host di contenuti non sono ritenuti legalmente responsabili per i contenuti che ospitano o trasmettono. Secondo la legge islandese, non è il fornitore del nome di dominio, ma il registrante di un nome di dominio .is ad avere la responsabilità di garantire che l'uso del dominio avvenga entro i limiti della legge(ISNIC). Il governo non pone alcuna restrizione alle comunicazioni anonime e non è richiesta alcuna registrazione al momento dell'acquisto di una carta SIM.
Un altro vantaggio del trasferimento in Islanda è il clima e la posizione del Paese. I server producono molto calore e Reykjavík (la capitale dell'Islanda, dove si trova la maggior parte dei data center) ha una temperatura media di 4,67°C, il che significa che è un luogo ideale per raffreddare i server. Per ogni watt utilizzato per far funzionare i server, lo storage e le apparecchiature di rete, in proporzione viene utilizzato pochissimo per il raffreddamento, l'illuminazione e altre spese generali. Inoltre, l'Islanda è il più grande produttore di energia verde pro capite e il più grande produttore di elettricità pro capite al mondo, con circa 55.000 kWh per persona all'anno. In confronto, la media dell'UE è inferiore a 6.000 kWh. La maggior parte dei fornitori di servizi di hosting in Islanda ottiene il 100% dell'elettricità da fonti di energia rinnovabili.
Se si traccia una linea retta da San Francisco ad Amsterdam, si attraversa l'Islanda. La maggior parte dei clienti di Simple Analytics proviene dagli Stati Uniti e dall'Europa, quindi ha senso scegliere questa posizione geografica. Le leggi che tutelano la privacy e l'approccio ecologico dell'Islanda hanno reso ancora più facile la scelta della nuova sede dei nostri server.
Spostamento dei server
Per prima cosa, dovevamo trovare un provider di hosting in Islanda. Ce ne sono parecchi ed è davvero difficile capire se si tratta del migliore. Non avevamo le risorse per provarli tutti, quindi abbiamo impostato alcuni script automatici(Ansible) durante la configurazione del server, in modo da poter passare facilmente a un altro provider in caso di necessità. Abbiamo scelto 1984, un'azienda con lo slogan "Salvaguardia della privacy e dei diritti civili dal 2006". Ci è piaciuto questo slogan e abbiamo fatto loro alcune domande su come avrebbero gestito i nostri dati. Ci hanno rassicurato e abbiamo proceduto all'installazione del nostro server principale, che utilizza solo energia elettrica proveniente da fonti rinnovabili.
Tuttavia, abbiamo incontrato alcuni ostacoli durante questo processo. Questa sezione dell'articolo è piuttosto tecnica. Non esitate a passare alla prossima. Quando si dispone di un server crittografato, è necessario sbloccarlo con una chiave privata. Questa chiave non può essere memorizzata sul server perché vanifica lo scopo della crittografia. Quindi, se la chiave non si trova sul server, è necessario inserirla in remoto. Esatto, dobbiamo inserire la chiave all'avvio del server. Aspettate, ma cosa succede in caso di interruzione di corrente? Tutte le richieste di visualizzazione di pagine al vostro server falliscono dopo un riavvio?
È per questo che abbiamo aggiunto un server supplementare davanti al server principale. Questo server è piuttosto stupido. Riceve solo le richieste con pagine viste e le invia direttamente al nostro server principale. Quando il server principale non funziona, memorizza le richieste nel proprio database e le invia nuovamente al server principale fino a quando non ha successo. Quindi, dopo un'interruzione di corrente, non c'è più alcuna perdita di dati.
Torniamo all'avvio del server. Quando il server principale crittografato si avvia, dobbiamo inserire una password. Ma non vogliamo recarci in Islanda o chiedere a qualcuno di inserirla, per ovvi motivi. Per accedere a un server in remoto si usa di solito SSH. SSH - è un protocollo di comunicazione sicuro, che la maggior parte delle persone utilizza per comunicare con i propri server. SSH è un programma accessibile quando un server o un computer è in funzione. Ma noi avevamo bisogno di connetterci prima che il server fosse completamente avviato.
Abbiamo quindi trovato Dropbear, un programma SSH molto piccolo, che può essere eseguito tramite il disco di ram iniziale (initramfs). In questo modo siamo in grado di consentire connessioni esterne tramite SSH. Non dobbiamo volare in Islanda per avviare il nostro server, sì!
Dopo aver spostato i dati dal vecchio server al nuovo server in Islanda, abbiamo finalmente finito. Ci sono volute un paio di settimane dall'inizio alla fine, ma siamo felici di averlo fatto.
Archiviare solo i dati necessari
Noi di Simple Analytics seguiamo il detto: "Archivia solo i dati di cui hai bisogno". Raccogliamo solo il minimo indispensabile.
È pratica comune cancellare i dati nelle applicazioni. Ciò significa che i dati non vengono realmente eliminati, ma vengono resi inaccessibili all'utente finale. Noi non lo facciamo: se si cancellano i dati, questi spariscono dal nostro database. Utilizziamo la cancellazione definitiva. Nota: i dati rimarranno nei nostri backup criptati per un massimo di 90 giorni. In caso di bug, possiamo recuperare questi dati.
Non abbiamo campi delete_at ;-)
Per i clienti è importante sapere quali dati vengono conservati e quali cancellati. Quando qualcuno cancella i propri dati, gli mostriamo una pagina che riporta esattamente questo. Cancelliamo l'utente e la sua analisi dal nostro database. Cancelliamo anche la carta di credito e l'e-mail da Stripe (il nostro fornitore di pagamenti). Conserviamo la cronologia dei pagamenti, che è necessaria per le tasse, e conserviamo i file di log e i backup del database per 90 giorni.
Domanda: Se memorizzate solo pochi dati sensibili, che bisogno c'è di tutta questa protezione e sicurezza extra?
Vogliamo essere la migliore azienda di analisi al mondo incentrata sulla privacy. Faremo tutto ciò che è in nostro potere per fornire i migliori strumenti di analisi senza invadere la privacy dei vostri visitatori. Proteggendo persino le enormi quantità di informazioni non identificabili sui visitatori, vogliamo dimostrare che prendiamo la privacy molto seriamente.
Quale sarà il prossimo passo?
Leggete la discussione su Hacker News
Mentre miglioravamo la privacy della nostra piattaforma, abbiamo notato un leggero aumento del tempo di caricamento dei nostri script embed. Questo ha perfettamente senso, perché erano ospitati tramite la CDN di CloudFlare. Una CDN è un insieme di server sparsi in tutto il mondo per ridurre i tempi di caricamento per tutti. Stiamo pensando di creare un CDN molto semplice con server criptati, che servano solo il nostro JavaScript e memorizzino temporaneamente le visualizzazioni delle pagine prima di inviarle al nostro server principale in Islanda.
Siete disposti a trasferire le vostre analisi aziendali a un'azienda rispettosa della privacy? Scoprite cosa possiamo fare per voi.