Sûreté de l'hébergement chez Webu

L'activité de Webu est la conception, la réalisation, la maintenance et l'hébergement de tout type d'application Web, du site vitrine à l'e-commerce en passant par les extranets.

Cette présentation a pour objectif de décrire ce que nous mettons en place pour garantir la sûreté de notre hébergement.

Hébergement des données

Cluster de machines virtuelles redondant

Pour notre activité d'hébergement nous disposons de plusieurs machines physiques situées en centre de données sécurisé à Grenoble. Au sein même de ce centre de données, les machines sont physiquement isolées dans une baie verrouillée par code et dont l'accès est uniquement possible par Webu.

Sur ces machines physiques, l’hébergement des sites se fait sur un cluster de virtualisation basée sur des technologies open source, éprouvées et fiables (https://github.com/ganeti/ganeti), avec une redondance N+1. C'est à dire qu'il est prévu pour supporter l'arrêt d'une machine physique sans dégradation de performance et qu’il n'y a pas de stockage centralisé, le stockage étant réparti sur l'ensemble des nœuds du cluster. Par ailleurs, chaque nœuds du cluster est redondé au niveau matériel sur plusieurs disques durs en raid 6.

Chaque machine virtuelle est répliquée en temps réel sur deux machines physiques, et peut migrer à chaud à n'importe quel moment. En cas de défaillance d'un nœud physique, celui-ci est sorti du cluster et les machines virtuelles sont relancées sur un nouveau nœud sans perte de données.

Infrastructure réseau résiliente (et indépendante !)

Nous cotisons au RIPE (Réseau IP Européen) depuis 2017 (https://www.ripe.net/membership/indices/data/fr.webu.html) et nous sommes capables d'annoncer nos propres IPs au reste d'Internet depuis 2020 (https://bgp.he.net/AS212547#_asinfo).

Posséder cette compétence en interne nous donne plusieurs avantages :

  • Nous parlons en direct au "grand Internet", nous ne sommes pas dépendants d'un fournisseur de transit en particulier, nous pouvons changer à tout moment si les conditions ne nous conviennent plus.

  • L'accès à nos sites web est possible via plusieurs chemins (plusieurs fournisseurs de transit) en même temps : si un fournisseur nous fait défaut, les autres routes sont toujours empruntables, évitant un spof (single point of failure) à ce niveau

Tout cela nous permet de fournir un support solide pour un hébergement robuste (en toute indépendance !).

Évolutions futures

Nous étudions également en ce moment la possibilité de proposer un hébergement multi-datacenters, permettant une redondance matériel et réseaux sur 2 sites distants, limitant d’autant plus le risque de panne et de downtine.

Nos pratiques

Logiciel utilisés

L’ensemble des logiciels que nous utilisons sont open-source, libres et éprouvés par la communauté (sauf cas particulier où des équivalents libres n’existent pas). Notamment, tous nos serveurs et postes de travail utilisent GNU/linux Debian. De plus, la plupart des services que nous utilisons et proposons sont auto-hébergés et ne dépendent pas de prestations externes.

Sauvegarde

Notre système de sauvegarde est basé sur des technologies open source éprouvées et fiables : borg (https://github.com/borgbackup/borg) + SSH.

Nous nous assurons de respecter quelques principes de base :

Éloignement géographique et logique

La machine de sauvegarde est hébergée chez un opérateur réseau différent et un site éloigné (Amiens). Un incident sur le site de notre cluster de machines virtuelles n'aurait donc pas d'impact sur les sauvegardes. Une compromission du réseau de Webu ne permettrait pas l'accès aux sauvegardes.

Régularité et conservation de l'historique

L'ensemble des machines virtuelles et physiques est sauvegardé toutes les nuits. Ces sauvegardes sont incrémentales, ce qui nous permet de les effectuer plus rapidement, plus sûrement et d’en stocker sur plus de jours. Concrètement, ce fonctionnement nous permet de retrouver l'état des services à n'importe lequel des 60 derniers jours en cas de perte de données sur les environnements de production.

Gestion des permissions

Les machines sauvegardées ne sont autorisées qu'à ajouter des données et non en enlever. Il s'en suit qu'une machine compromise n'a pas la capacité de supprimer ses propres sauvegardes.

Une machine sauvegardée ne peut voir uniquement que ses propres sauvegardes et en aucun cas les sauvegardes d'une autre machine.

Monitoring et Métrologie

L'ensemble des machines et des services que nous hébergeons est monitoré en temps réel. Nous utilisons les technologies check_mk, munin et graylog pour cela.

Les mesures de performance qui en résultent nous permettent d’anticiper l’apparition de futurs problèmes et de les résoudre avant qu’ils n’impactent les environnements de production.

De plus, chaque application web fait l'objet de sondes spécifiques qui vérifient les différents points de son fonctionnement. Par exemple, pour un site web classique nous installons des sondes spécifiques pour le nom de domaine, le serveur web et le certificat SSL.

Ces sondes nous permettent de détecter rapidement les incidents et d’y réagir efficacement afin d’améliorer la continuité du service.