Cet article de blog est obsolète. Entre-temps, nous avons déplacé nos serveurs de l'Islande vers les Pays-Bas. Voici pourquoi.
En tant que fondateur de Simple Analytics, j'ai toujours été attentif au besoin de confiance et de transparence de nos clients. Nous aimerions être tenus responsables des besoins de nos clients, afin qu'ils puissent dormir en paix. Les choix que nous faisons doivent être optimaux, en termes de confidentialité, pour les visiteurs et nos clients. L'un des choix cruciaux à prendre en considération a été celui de l'emplacement de nos serveurs.
Au cours des derniers mois, nous avons progressivement déplacé nos serveurs en Islande. Dans cet article de blog, j'aimerais expliquer comment nous y sommes parvenus et, surtout, pourquoi. Le processus n'a pas été facile et j'aimerais partager les enseignements que nous en avons tirés. Cet article comporte des aspects techniques que j'ai essayé de rendre compréhensibles, mais pardonnez-moi si c'est trop technique.
- Pourquoi déplacer nos serveurs ?
- Notre prochain emplacement
- Islande
- Déménagement de nos serveurs
- Ne stocker que les données dont vous avez besoin
- Quelle est la prochaine étape ?
Pourquoi déplacer nos serveurs ?
Tout a commencé lorsque notre site web a été ajouté à EasyList. Il s'agit d'une liste de noms de domaine utilisés par les principaux bloqueurs de publicité. J'ai demandé pourquoi Simple Analytics avait été ajouté, car nous ne suivons pas les visiteurs des sites web de nos clients. Nous respectons même les paramètres "Do Not Track" du navigateur.
J'ai donc répondu ce qui suit à la Pull Request sur GitHub:
[...] Si nous continuons à bloquer les entreprises qui font du bien et qui respectent la vie privée des utilisateurs, quel signe est-ce que cela représente de bloquer ces entreprises ? Je pense que c'est une erreur et que nous ne devrions pas mettre toutes les entreprises sur la liste simplement parce qu'elles envoient une requête. [...]
J'ai reçu une réponse à mon commentaire de la part de @cassowary714:
Tout le monde dit ce que vous dites, mais je ne veux pas voir mes demandes envoyées à une entreprise américaine (dans votre cas, Digital Ocean [...]
Je n'ai pas aimé cette réponse au début, mais après l'avoir partagée avec ma communauté, les gens m'ont fait remarquer qu'il avait effectivement raison sur le fait que le gouvernement américain est capable d'accéder aux données de nos utilisateurs. À l'époque, nos serveurs fonctionnaient en effet sur Digital Ocean et ils pouvaient extraire notre disque dur et lire nos données.
La solution est quelque peu technique, alors soyez indulgents avec moi. Vous pouvez rendre un disque volé (ou détaché pour quelque raison que ce soit) inutilisable pour d'autres personnes. Cela peut être résolu en chiffrant les données sur le disque, ce qui rend très difficile la lecture des données pour les personnes qui n'ont pas la clé de chiffrement (Note : seul Simple Analytics possède cette clé). Il serait toujours possible d'obtenir de petites parties des données en lisant physiquement la mémoire du serveur. La mémoire est un type de disque petit mais très rapide qui permet au processeur du serveur de fonctionner efficacement. Un serveur ne fonctionne pas sans mémoire, il faut donc faire confiance au fournisseur d'hébergement.
Cela m'a poussé à réfléchir à l'endroit où déplacer nos serveurs.
Notre prochain emplacement
J'ai commencé par quelques recherches de base et j'ai trouvé une page Wikipédia sur la censure et la surveillance de l'internet par pays. Elle contient une liste des "Ennemis d'Internet" établie par Reporters sans frontières, une organisation non gouvernementale internationale basée à Paris qui défend la liberté de la presse, et qui classe un pays comme ennemi d'Internet lorsque "tous ces pays se distinguent non seulement par leur capacité à censurer les nouvelles et les informations en ligne, mais aussi par leur répression quasi systématique des utilisateurs d'Internet".
En dehors de cette liste, il existe une alliance appelée Five Eyes ou FVEY. Il s'agit d'une alliance regroupant l'Australie, le Canada, la Nouvelle-Zélande, le Royaume-Uni et les États-Unis. Ces dernières années, des documents ont montré que ces pays espionnaient intentionnellement les citoyens des autres pays et partageaient les informations collectées entre eux afin de contourner les réglementations nationales restrictives en matière d'espionnage(sources). L'ancien contractant de la NSA, Edward Snowden, a décrit le FVEY comme une "organisation de renseignement supranationale qui ne répond pas aux lois de ses propres pays". D'autres pays collaborent avec le FVEY dans le cadre d'autres coopérations internationales, notamment le Danemark, la France, les Pays-Bas, la Norvège, la Belgique, l'Allemagne, l'Italie, l'Espagne et la Suède (les "14 yeux"). Je n'ai pas trouvé de preuve que l'alliance des 14 yeux ait abusé de leurs renseignements combinés.
À ce stade, nous étions à peu près sûrs de n'utiliser aucun des pays figurant sur la liste des "Ennemis d'Internet" et d'ignorer les pays figurant sur la liste de l'alliance des 14 Yeux. Pour Simple Analytics, c'était une raison suffisante pour éviter de stocker les données de nos clients dans ces pays.
La page Wikipédia mentionnée précédemment indique ce qui suit pour l'Islande :
La censure est interdite par la Constitution islandaise et il existe une forte tradition de protection de la liberté d'expression qui s'étend à l'utilisation de l'internet. [...]
Islande
Lors de mes recherches sur le meilleur pays en matière de protection de la vie privée, l'Islande revenait souvent. J'ai donc fait des recherches approfondies sur l'Islande. N'oubliez pas que je ne parle pas l'islandais et que j'ai peut-être omis des informations importantes. N'hésitez pas à nous faire part de vos commentaires.
Selon le rapport Freedom on the Net 2018 (de Freedom House), l'Islande et l'Estonie ont obtenu un score de 6/100 (plus il est bas, mieux c'est) sur l'Internet Freedom Score. Cela en fait l'un des pays les plus respectueux de la vie privée. Attention, tous les pays n'ont pas été évalués.
Le rapport Freedom on the Net 2018 a été supprimé. Vous pouvez consulter la liste de la plupart des pays sur le site web de l'organisation.
L'Islande n'est pas membre de l'Union européenne, mais le pays fait partie de l'Espace économique européen et a accepté de suivre une législation concernant la protection des consommateurs et le droit des affaires similaire à celle des autres États membres. Il s'agit notamment de la loi 81/2003 sur les communications électroniques, qui impose des exigences en matière de conservation des données.
Cette loi s'applique aux fournisseurs de télécommunications et impose la conservation des données pendant six mois. Elle stipule également que les entreprises ne peuvent fournir des informations sur les télécommunications que dans le cadre d'affaires pénales ou de questions de sécurité publique et que ces informations ne peuvent être communiquées à personne d'autre que la police ou le ministère public.
Bien que l'Islande suive en quelque sorte les lois de l'Espace économique européen, elle a sa propre approche de la vie privée. Par exemple, la loi islandaise sur la protection des données encourage l'anonymat des données des utilisateurs. Les FAI et les hébergeurs de contenu ne sont pas tenus légalement responsables du contenu qu'ils hébergent ou transmettent. Selon la loi islandaise, ce n'est pas le fournisseur de nom de domaine, mais le titulaire d'un nom de domaine .is qui est responsable de veiller à ce que l'utilisation du domaine se fasse dans les limites de la loi(ISNIC). Le gouvernement n'impose aucune restriction aux communications anonymes et aucun enregistrement n'est requis lors de l'achat d'une carte SIM.
Un autre avantage d'un déménagement en Islande est le climat et la situation géographique du pays. Les serveurs produisent beaucoup de chaleur et Reykjavík (la capitale de l'Islande, où se trouvent la plupart des centres de données) a une température moyenne de 4,67 °C (40,41 °F), ce qui signifie que c'est un endroit idéal pour refroidir les serveurs. Pour chaque watt utilisé pour faire fonctionner les serveurs, les équipements de stockage et de réseau, très peu est proportionnellement utilisé pour le refroidissement, l'éclairage et les autres frais généraux. En outre, l'Islande est le plus grand producteur d'énergie verte par habitant et le plus grand producteur d'électricité par habitant au monde, avec environ 55 000 kWh par personne et par an. En comparaison, la moyenne de l'UE est inférieure à 6 000 kWh. La plupart des hébergeurs islandais tirent 100 % de leur électricité de sources d'énergie renouvelables.
Si vous tracez une ligne droite entre San Francisco et Amsterdam, vous passerez par l'Islande. Simple Analytics a la plupart de ses clients aux États-Unis et en Europe, il est donc logique de choisir cet emplacement géographique. Les lois respectueuses de la vie privée et l'approche écologique de l'Islande ont facilité notre choix comme nouvel emplacement pour nos serveurs.
Déménagement de nos serveurs
Tout d'abord, nous devions trouver un fournisseur d'hébergement en Islande. Il y en a beaucoup, et il est vraiment difficile de savoir si vous avez le meilleur. Nous n'avions pas les ressources nécessaires pour les essayer tous, alors nous avons mis en place des scripts automatiques(Ansible) lors de l'installation du serveur afin de pouvoir facilement passer à un autre fournisseur si nécessaire. Nous avons choisi 1984, une société dont le slogan est "Safeguarding privacy and civil rights since 2006" (protéger la vie privée et les droits civils depuis 2006). Ce slogan nous a plu et nous leur avons posé quelques questions sur la manière dont ils traiteraient nos données. Ils nous ont rassurés et nous avons procédé à l'installation de notre serveur principal et ils n'utilisent que de l'électricité provenant de sources d'énergie renouvelables.
Cependant, nous avons rencontré quelques obstacles au cours de ce processus. Cette partie de l'article est assez technique. N'hésitez pas à passer à la suite. Lorsque vous disposez d'un serveur crypté, vous devez le déverrouiller à l'aide d'une clé privée. Cette clé ne peut pas être stockée sur le serveur, car cela irait à l'encontre de l'objectif de l'encryptage. Par conséquent, si la clé ne se trouve pas sur le serveur, vous devez la saisir à distance. C'est exact, nous devons entrer la clé lorsque le serveur démarre. Attendez, mais que se passe-t-il en cas de panne de courant ? Toutes les requêtes de pages vues adressées à votre serveur échouent-elles après un redémarrage ?
C'est pourquoi nous avons ajouté un serveur supplémentaire devant le serveur principal. Ce serveur est un peu stupide. Il reçoit simplement les demandes de pages vues et les envoie directement à notre serveur principal. Lorsque le serveur principal est défaillant, il stocke les demandes dans sa propre base de données et les renvoie au serveur principal jusqu'à ce qu'il réussisse. Ainsi, après une panne de courant, il n'y a plus de perte de données.
Revenons au démarrage du serveur. Lorsque le serveur principal crypté démarre, nous devons entrer un mot de passe. Mais nous ne voulons pas nous rendre en Islande ou demander à quelqu'un d'y entrer le mot de passe, pour des raisons évidentes. Pour accéder à un serveur à distance, on utilise généralement SSH. SSH est un protocole de communication sécurisé que la plupart des gens utilisent pour communiquer avec leurs serveurs. SSH est un programme accessible lorsqu'un serveur ou un ordinateur est en cours d'exécution. Mais nous avions besoin de nous connecter avant que le serveur ne soit complètement démarré.
Nous avons alors trouvé Dropbear, un très petit programme SSH, que vous pouvez exécuter via le ramdisk initial (initramfs). Cela signifie que nous sommes en mesure d'autoriser des connexions externes via SSH. Nous n'avons plus besoin d'aller en Islande pour démarrer notre serveur, ouais !
Après avoir déplacé nos données de notre ancien serveur vers notre nouveau serveur en Islande, nous avions enfin terminé. Cela nous a pris quelques semaines du début à la fin, mais nous sommes heureux de l'avoir fait.
Ne stocker que les données dont vous avez besoin
Chez Simple Analytics, nous vivons selon le dicton suivant : "Ne stockez que les données dont vous avez besoin : "Ne stockez que les données dont vous avez besoin". Nous ne collectons que le minimum.
Il est courant de supprimer les données dans les applications. Cela signifie que les données ne sont pas réellement supprimées, mais qu'elles sont rendues inaccessibles à l'utilisateur final. Nous ne procédons pas ainsi : si vous effacez vos données, elles disparaissent de notre base de données. Nous utilisons la méthode de l'effacement définitif. Remarque : les données seront conservées dans nos sauvegardes cryptées pendant un maximum de 90 jours. En cas de bogue, nous pouvons récupérer ces données.
Nous n'avons pas de champs delete_at ;-)
Pour les clients, il est important de savoir quelles données sont conservées et lesquelles sont supprimées. Lorsque quelqu'un supprime ses données, nous lui montrons une page contenant exactement cela. Nous supprimons l'utilisateur et ses données analytiques de notre base de données. Nous supprimons également la carte de crédit et l'e-mail de Stripe (notre fournisseur de paiement). Nous conservons l'historique des paiements, qui est nécessaire pour les impôts, et nous conservons nos fichiers journaux et nos sauvegardes de base de données pendant 90 jours.
Question : Si vous ne stockez que peu de données sensibles, pourquoi toute cette protection et cette sécurité supplémentaire ?
Nous voulons être la meilleure société d'analyse axée sur la protection de la vie privée au monde. Nous ferons tout ce qui est en notre pouvoir pour fournir les meilleurs outils d'analyse sans porter atteinte à la vie privée de vos visiteurs. En protégeant même nos quantités massives d'informations non identifiables sur les visiteurs, nous voulons montrer que nous prenons la vie privée très au sérieux.
Quelle est la prochaine étape ?
Lire la discussion sur Hacker News
Alors que nous améliorions la confidentialité de notre plateforme, nous avons remarqué une légère augmentation du temps de chargement de nos scripts intégrés. C'est tout à fait logique, car ils étaient hébergés via le CDN de CloudFlare. Un CDN est un ensemble de serveurs répartis dans le monde entier pour réduire les temps de chargement pour tout le monde. Nous envisageons de mettre en place un CDN très simple avec des serveurs cryptés, qui ne servent que notre JavaScript et stockent temporairement les pages vues avant de les envoyer à notre serveur principal en Islande.
Êtes-vous prêt à confier vos analyses commerciales à une entreprise respectueuse de la vie privée ? Découvrez ce que nous pouvons faire pour vous.