Waarom we onze servers naar IJsland hebben verplaatst

Image of Adriaan van Rossum

Gepubliceerd op 30 mrt 2019 en bijgewerkt op 15 aug 2023 door Adriaan van Rossum

Deze blogpost is verouderd. Inmiddels hebben we onze servers verplaatst van IJsland naar Nederland. Dit is waarom.

Als oprichter van Simple Analytics heb ik altijd oog gehad voor de noodzaak van vertrouwen en transparantie voor onze klanten. We willen verantwoordelijk gehouden worden voor de behoeften van onze klanten, zodat ze rustig kunnen slapen. De keuzes die we maken moeten optimaal zijn, in termen van privacy, voor de bezoekers en onze klanten. Een van de cruciale keuzes om te overwegen was, het kiezen van de locatie van onze servers.

alt:Flag of Iceland

In de afgelopen maanden hebben we onze servers geleidelijk verplaatst naar IJsland. In deze blogpost wil ik graag uitleggen hoe we dat hebben bereikt, en vooral waarom. Het was geen gemakkelijk proces en ik wil graag onze lessen delen. Er zijn enkele technische delen in dit artikel die ik op een begrijpelijke manier heb proberen te schrijven, maar vergeef me als het te technisch is.

  1. Waarom onze servers verhuizen?
  2. Onze volgende locatie
  3. IJsland
  4. Onze servers verhuizen
  5. Alleen de gegevens opslaan die je nodig hebt
  6. Wat is de volgende stap?
Logo of the Government of the United KingdomThe UK Government chose Simple AnalyticsJoin them

Waarom onze servers verhuizen?

Het begon allemaal met de toevoeging van onze website aan EasyList. Dat is een lijst met domeinnamen die gebruikt worden door populaire ad-blockers. Ik vroeg waarom Simple Analytics was toegevoegd, omdat we de bezoekers van de websites van onze klanten niet volgen. We respecteren zelfs de "Do Not Track" instellingen in de browser.

Dus antwoordde ik het volgende op het Pull Request op GitHub:

[...] Dus als we de bedrijven die goed doen en de privacy van de gebruikers respecteren blijven blokkeren, wat voor teken is het dan om die bedrijven gewoon te blokkeren? Ik denk dat het verkeerd is en dat we niet elk bedrijf op de lijst moeten zetten, alleen maar omdat ze een verzoek sturen. [...]

Ik kreeg een reactie op mijn opmerking van @cassowary714:

Iedereen zegt wat je zegt, maar ik wil niet dat mijn verzoeken naar een Amerikaans bedrijf worden gestuurd (in jouw geval Digital Ocean [...]

Ik vond dit antwoord eerst niet leuk, maar nadat ik het deelde met mijn community wezen mensen me erop dat hij inderdaad gelijk had over het feit dat de Amerikaanse overheid toegang heeft tot de gegevens van onze gebruikers. Op dat moment draaiden onze servers inderdaad op Digital Ocean en konden ze onze schijf eruit trekken en onze gegevens lezen.

De oplossing is enigszins technisch, dus heb geduld met mij. Je kunt een gestolen schijf (of losgemaakt om welke reden dan ook) onbruikbaar maken voor anderen. Dit kan worden opgelost door de gegevens op de schijf te versleutelen waardoor het zeer moeilijk wordt om de gegevens te lezen voor mensen zonder de encryptiesleutel (Opmerking: alleen Simple Analytics heeft deze sleutel). Het zou nog steeds mogelijk zijn om kleine delen van de gegevens te bemachtigen door het geheugen van de server fysiek uit te lezen. Geheugen is eenvoudig uit te leggen als een soort schijf, die klein maar supersnel is waardoor de processor van de server efficiënt kan draaien. Een server functioneert niet zonder geheugen, dus we moeten de hosting provider een beetje vertrouwen.

Dit daagde me uit om na te denken over waar we onze servers moesten onderbrengen.

Onze volgende locatie

Ik begon met wat basiszoekopdrachten en vond een Wikipedia-pagina over internetcensuur en -bewaking per land. Het bevat een lijst van "Vijanden van het internet" van de Reporters zonder Grenzen, een in Parijs gevestigde internationale niet-gouvernementele organisatie die opkomt voor persvrijheid, die een land classificeert als vijand van het internet wanneer "al deze landen zich niet alleen onderscheiden door hun vermogen om nieuws en informatie online te censureren, maar ook door hun bijna systematische onderdrukking van internetgebruikers."

Naast deze lijst is er een alliantie die Five Eyes a.k.a. FVEY heet. Het is een alliantie van Australië, Canada, Nieuw-Zeeland, het Verenigd Koninkrijk en de Verenigde Staten. In de afgelopen jaren is uit documenten gebleken dat zij opzettelijk elkaars burgers bespioneren en de verzamelde informatie met elkaar delen om de beperkende binnenlandse regelgeving inzake spionage te omzeilen(bronnen). De voormalige NSA-aannemer Edward Snowden beschreef het FVEY als een "supranationale inlichtingenorganisatie die zich niet hoeft te houden aan de wetten van haar eigen landen". Er zijn andere landen die samenwerken met het FVEY in andere internationale samenwerkingsverbanden, waaronder Denemarken, Frankrijk, Nederland, Noorwegen, België, Duitsland, Italië, Spanje en Zweden (de zogenaamde 14 Ogen). Ik kon geen bewijs vinden dat de 14 Ogen alliantie hun gezamenlijke inlichtingen misbruiken.

Op dit punt waren we er vrij zeker van dat we geen van de landen op de lijst van "Vijanden van het internet" zouden gebruiken en dat we de landen op de lijst van de 14-ogen alliantie zouden overslaan. Voor Simple Analytics was dit voldoende reden om die landen te mijden voor de opslag van de gegevens van onze klanten.

Op de eerder genoemde Wikipedia-pagina staat voor IJsland het volgende:

Censuur is verboden door de IJslandse grondwet en er is een sterke traditie van bescherming van de vrijheid van meningsuiting die zich uitstrekt tot het gebruik van het internet. [...]

IJsland

Bij het onderzoek naar het beste land op het gebied van privacy kwam IJsland steeds weer naar voren. Dus deed ik grondig onderzoek naar IJsland. Houd er rekening mee dat ik geen IJslands spreek, waardoor ik misschien belangrijke informatie heb gemist. Laat het ons weten als je feedback hebt.

Volgens het Freedom on the Net 2018 rapport (van de Freedom House) scoorde IJsland samen met Estland een 6/100 (lager is beter) op de Internet Freedom Score. Daarmee behoren ze tot de best privacy-vriendelijke landen. Let op: niet elk land is beoordeeld.

Het Freedom on the Net 2018 rapport van is verwijderd. Zie een lijst van de meeste landen op hun website.

IJsland is geen lid van de Europese Unie, hoewel het land deel uitmaakt van de Europese Economische Ruimte en ermee heeft ingestemd om wetgeving inzake consumentenbescherming en ondernemingsrecht te volgen die vergelijkbaar is met die van andere lidstaten. Dit omvat de Electronic Communications Act 81/2003, die eisen inzake gegevensbewaring heeft ingevoerd.

De wet is van toepassing op aanbieders van telecommunicatie en schrijft voor dat gegevens zes maanden moeten worden bewaard. De wet bepaalt ook dat bedrijven alleen informatie over telecommunicatie mogen verstrekken in strafzaken of over zaken van openbare veiligheid en dat dergelijke informatie niet aan anderen dan de politie of het openbaar ministerie mag worden verstrekt.

Hoewel IJsland enigszins de wetten van de Europese Economische Ruimte volgt, heeft het zijn eigen benadering van privacy. De IJslandse wet inzake gegevensbescherming moedigt bijvoorbeeld anonimiteit van gebruikersgegevens aan. ISP's en hosts van inhoud worden niet wettelijk aansprakelijk gesteld voor de inhoud die zij hosten of doorgeven. Volgens de IJslandse wet is het niet de domeinnaamaanbieder, maar de registrant van een .is-domeinnaam die ervoor moet zorgen dat het gebruik van het domein binnen de grenzen van de wet blijft(ISNIC). De overheid legt geen beperkingen op aan anonieme communicatie en er is geen registratie vereist bij de aankoop van een SIM-kaart.

Een ander voordeel van verhuizen naar IJsland is het klimaat en de ligging van het land. Servers produceren veel warmte en Reykjavík (de hoofdstad van IJsland, waar de meeste datacenters zijn gevestigd) is gemiddeld 4,67°C, wat betekent dat het een geweldige locatie is om de servers te koelen. Voor elke watt die wordt gebruikt voor servers, opslag en netwerkapparatuur, wordt verhoudingsgewijs heel weinig gebruikt voor koeling, verlichting en andere overhead. Bovendien is IJsland de grootste producent van groene energie per hoofd van de bevolking en de grootste producent van elektriciteit per hoofd van de bevolking, met ongeveer 55.000 kWh per persoon per jaar. Ter vergelijking: het EU-gemiddelde is minder dan 6.000 kWh. De meeste hostingproviders in IJsland halen 100% van hun elektriciteit uit hernieuwbare energiebronnen.

Als je een rechte lijn trekt van San Francisco naar Amsterdam kom je door IJsland. Simple Analytics heeft de meeste klanten uit de VS en Europa, dus het is logisch om deze geografische locatie te kiezen. De privacy-vriendelijke wetten en de milieuvriendelijke aanpak van IJsland maakten het voor ons nog makkelijker om hen te kiezen als de nieuwe locatie voor onze servers.

Onze servers verhuizen

Eerst moesten we een hostingprovider in IJsland vinden. Er zijn er nogal wat, en het is echt moeilijk om te weten of je de beste hebt. We hadden niet de middelen om ze allemaal uit te proberen, dus in plaats daarvan hebben we een aantal automatische scripts(Ansible) opgezet tijdens het opzetten van de server, zodat we gemakkelijk naar een andere provider konden overstappen als dat nodig was. We kozen voor 1984, een bedrijf met de slogan "Safeguarding privacy and civil rights since 2006". We vonden die slogan goed en stelden hen een paar vragen over hoe ze met onze gegevens zouden omgaan. Ze stelden ons gerust en we gingen verder met de installatie van onze hoofdserver en ze gebruiken alleen elektriciteit uit hernieuwbare energiebronnen.

Tijdens dit proces liepen we echter tegen een paar wegversperringen aan. Dit deel van het artikel is vrij technisch. Sla gerust over naar het volgende. Als je een versleutelde server hebt, moet je die ontgrendelen met een privésleutel. Deze sleutel kan niet worden opgeslagen op de server, omdat dit het doel van het versleutelen teniet doet. Dus als de sleutel niet op de server staat, moet je hem op afstand invoeren. Dat klopt, we moeten de sleutel invoeren als de server opstart. Wacht, maar wat gebeurt er bij een stroomstoring? Vallen alle aanvragen met pageviews naar je server uit na een reboot?

Daarom hebben we een extra server voor de hoofdserver gezet. Deze server is een beetje dom. Hij ontvangt alleen de aanvragen met pageviews en stuurt ze direct naar onze hoofdserver. Als de hoofdserver uitvalt, slaat hij de verzoeken op in zijn eigen database en stuurt die verzoeken opnieuw naar de hoofdserver totdat die slaagt. Dus na een stroomstoring is er geen gegevensverlies meer.

Terug naar het opstarten van de server. Bij het opstarten van de versleutelde hoofdserver moeten we een wachtwoord invoeren. Maar we willen niet naar IJsland reizen of iemand daar vragen het in te voeren, om voor de hand liggende redenen. Om op afstand toegang te krijgen tot een server gebruik je meestal SSH. SSH - is een veilig communicatieprotocol, dat de meeste mensen gebruiken om met hun servers te communiceren. SSH is een programma dat toegankelijk is wanneer een server of computer draait. Maar we hadden het nodig om verbinding te maken voordat de server helemaal was opgestart.

Toen vonden we Dropbear, een heel klein SSH-programma, dat je kunt draaien via de initiële ramdisk (initramfs). Dit betekent dat we externe verbindingen via SSH kunnen toestaan. We hoeven niet naar IJsland te vliegen om onze server op te starten, yeah!

Na het verplaatsen van onze gegevens van onze oude server naar onze nieuwe server in IJsland waren we eindelijk klaar. Het duurde een paar weken van begin tot eind, maar we zijn blij dat we het gedaan hebben.

Alleen de gegevens opslaan die je nodig hebt

Bij Simple Analytics leven we volgens het gezegde: "Sla alleen gegevens op die je nodig hebt." We verzamelen alleen het minimale.

Het is gebruikelijk om gegevens in applicaties soft te verwijderen. Dit betekent dat de gegevens niet echt worden verwijderd, maar ontoegankelijk worden gemaakt voor de eindgebruiker. Wij doen dit niet - als u uw gegevens verwijdert, zijn ze weg uit onze database. Wij gebruiken harde verwijdering. Opmerking: de gegevens blijven maximaal 90 dagen in onze versleutelde back-ups staan. In geval van een bug kunnen we deze gegevens terughalen.

We hebben geen delete_at velden ;-)

Voor klanten is het belangrijk om te weten welke gegevens worden bewaard en welke worden verwijderd. Wanneer iemand zijn gegevens verwijdert, tonen we hem een pagina met precies dat. We verwijderen de gebruiker en zijn analytics uit onze database. We verwijderen ook de creditcard en e-mail van Stripe (onze betalingsprovider). We bewaren de betalingsgeschiedenis, die nodig is voor de belastingen, en we bewaren onze logbestanden en database back-ups gedurende 90 dagen.

Vraag: Als u slechts weinig gevoelige gegevens opslaat, wat is dan de noodzaak van al deze bescherming en extra beveiliging?

Nou, we willen het beste privacygerichte analysebedrijf ter wereld zijn. Wij zullen er alles aan doen om de beste analysetools te leveren zonder de privacy van uw bezoekers te schenden. Door zelfs onze enorme hoeveelheden niet-identificeerbare informatie over bezoekers te beschermen, willen we laten zien dat we privacy super serieus nemen.

Wat is de volgende stap?

Lees de discussie op Hacker News

Terwijl we de privacy van ons platform verbeterden, merkten we een lichte toename in laadtijd voor onze embed scripts. Dat is volkomen logisch, want ze werden gehost via het CDN van CloudFlare. Een CDN is een reeks servers over de hele wereld om de laadtijden voor iedereen te verminderen. We denken erover om een heel eenvoudig CDN op te zetten met gecodeerde servers, die alleen onze JavaScript serveren en de paginaweergaven tijdelijk opslaan voordat ze naar onze hoofdserver in IJsland worden gestuurd.

Bent u bereid uw zakelijke analytics te verhuizen naar een privacy-vriendelijk bedrijf? Ontdek wat wij voor u kunnen doen.

GA4 is complex. Probeer Simple Analytics

GA4 is als in de cockpit van een vliegtuig zitten zonder een pilotenlicentie

Start 14-dagen proefperiode