technique:resume

Cette page a pour but de faire une rapide présentation de l’infrastructure et des pratiques de Picasoft, principalement en redirigeant vers des pages du wiki. Comme ce dernier est un peu dense, cette page est un bon point d’entrée !

Note:

Idéalement, tout changement important est reflété dans cette page, qui est référencée sur le site de Picasoft et a notamment pour but de centraliser les éléments de conformité à la charte CHATONS sur la partie Transparence. Quelqu’un qui a des doutes sur les sauvegardes, les accès, les technos utilisées, etc, doit trouver des pointeurs ici!

Picasoft possède deux machines physiques, Alice et Bob.

Elles sont hébergées par le FAI associatif Tetaneutral.

Note:

Tetaneutral est membre de la fédération FDN et est situé à Toulouse.

Ces machines ont été achetées pour Picasoft par UTeam, une filiale de l’Université de Technologie de Compiègne, sur un budget recherche.

A Savoir:

Tetaneutral a une salle associative (TLS00) hébergées dans le datacenter Fullsave. Cette salle est notamment équipées d’onduleurs (environ 5), qui permet d’éviter des coupures temporaires sur le réseau électrique et donc d’éviter la plupart des interruptions de services dues au réseau électrique.

Nos machines sont équipées de la technologie Intel AMT, qui permet de les administrer à distance, même en cas de plantage de la machine.

Tous les disques sont installés en RAID 1 pour éviter qu’une défaillance matérielle ne provoque une perte des données ou une interruption de service trop importante.

A Savoir:

Le RAID 1 consiste en l’utilisation de n disques redondants (avec n ≥ 2), chaque disque de la grappe contenant à tout moment exactement les mêmes données, d’où l’utilisation du mot « miroir ». Source

Note:

L’ensemble de l’infrastructure est donc sous le contrôle total de l’association Picasoft. Des bénévoles de Tetaneutral peuvent être amenés à intervenir sur les machines lors d’intervention de maintenance, mais n’accèdent jamais aux données.

Machines

Les machines physiques sont des hyperviseurs, c’est-à-dire que leur système d’exploitation est conçu pour créer et gérer des machines virtuelles.

Ce système d’exploitation est Proxmox, version 6. Son interface graphique permet de facilement créer des machines virtuelles.

Note:

Proxmox 6 est basé sur Debian 10.

Les services tournent sur des machines virtuelles (Debian 10). Nous en hébergeons 6.

Sur Alice :

  • pica01, généraliste, sur laquelle tournent notamment l’instance hebdomadaire d’Etherpad et Mumble.
  • pica01-test, machine utilisée pour tester les services avant mise en production et tests de toutes sortes.
  • media, machine utilisée pour les services consommateurs d’espace disque (comme Peertube)

Sur Bob :

  • pica02, généraliste, sur laquelle tournent notamment l’instance principale d’Etherpad et Mattermost.
  • monitoring, machine utilisée pour les services internes (LDAP, serveur mail…) et la métrologie.
  • stph01, machine utilisée par Stéphane Crozat notamment dans le cadre de ses activités de recherche.

Services

Tous les services (internes ou publics) sont lancés en utilisant Docker et Docker Compose. Les fichiers nécessaires pour déployer l’ensemble de nos services sont centralisés sur un dépôt Git.

L’ensemble des services actuellement en production est visible sur les graphes des services, générés automatiquement chaque jour.

Les procédures pour lancer, administrer et mettre à jour et créer des services sont répertoriées sur une partie dédiée du Wiki.

Note:

Picasoft utilise ponctuellement des machines virtuelles hébergées gracieusement par Gandi, un hébergeur et registrar de nom de domaine français reconnu pour son engagement en faveur d’un internet libre, décentralisé, éthique et solidaire.

Picasoft a loué deux noms de domaine au registar Gandi :

  • picasoft.net, pour la majorité des utilisations
  • picagraine.net, pour les activités de formation

Nous n’utilisons pas les serveurs DNS de Gandi pour gérer notre zone, mais nos propres serveurs, principalement pour des raisons de décentralisation et d’apprentissage. Un des serveurs secondaires est hébergé hors de l’infrastructure, afin de pouvoir prendre le relais en cas de panne très critique.

Picasoft utilise également son propre serveur mail pour envoyer des mails (notifications, lien d’inscription, etc).

Accès aux machines

Les accès à l’infrastructure sont centralisés grâce à un annuaire LDAP. Chaque membre sur l’annuaire a :

  • Un groupe d’accès (simple visiteur, administrateur Docker ou administrateur système)
  • Une liste des machines autorisées (machine de test, machine de services, hyperviseurs, etc)

Accès aux identifiants

Les accès aux mots de passe de l’association (administration d’un service, mot de passe root des machines…) sont gérés par pass, ou password storethe standard unix password manager »). Chaque mot de passe est chiffré individuellement pour toutes les personnes qui y ont accès, ce qui évite un mot de passe ou une clé partagée, moins sûre.

Important:

Tous les membres autorisés à accéder à l’infrastructure sont membres de l’association et ont reçu une formation de l’équipe technique. Les accès sont donnés suite à un vote à la majorité absolue de tous les membres.

Note:

Les accès sont régulièrement vérifiés et mis à jour. Les mots de passe critiques sont renouvelés chaque semestre, conformément au règlement intérieur.

Machines

Toutes les machines ont un pare-feu qui refuse les connexions entrantes, sauf sur les ports autorisés.

fail2ban est également installé sur toutes les machines, pour bannir les IP tentant de forcer une connexion SSH.

Les mises à jour de sécurité Debian sont appliquées automatiquement, une fois par jour.

Les commandes privilégiées exécutées sur les machines sont enregistrées et centralisées sur la machine monitoring, grâce à auditd et rsyslog.

Services

Picasoft utilise TLS sur l’ensemble de ses services.

Dans le cas des services web, l’activation de HTTPS est systématique et automatique, grâce à Traefik, un reverse-proxy pour Docker.

A Savoir:

Un reverse proxy est un serveur vers lequel sont redirigées toutes les requêtes qui entrent vers un ordinateur. Nous utilisons Traefik comme un reverse-proxy web, c’est-à-dire que toutes les requêtes HTTP qui arrivent sur nos machines passent par Traefik. Ce dernier se charge de forcer HTTPS et d’ajouter des headers de sécurité.

Note:

Les services Picasoft sont notés B ou plus par le Mozilla Observatory. La politique CSP est systématiquement absente, ce qui est améliorable.

Dans le cas des services non-web (Mumble, LDAP, serveur mail…), les certificats TLS sont gérés automatiquement par un outil maison, TLS Certs Monitor.

Vérification automatique des mises à jour

Il existe un service qui s’occupe de vérifier automatiquement l’existence de mises à jour sur les services de Picasoft. Pour cela il récupère les versions des logiciels qu’on lui indique par les API des forges logicielles ou par un flux RSS (Atom 2005 pour être tout à fait exact et éviter les abus de langage). Ensuite il notifie les membres de l’équipe technique de la mise à jour disponible.

Les étapes de mise à jour restent manuelles, ce bot ne fait que signaler les possibilités.

Bases de données

Les bases de données des services sont sauvegardées plusieurs fois par jour. La configuration peut être amenée à évoluer, mais Picasoft garde en général un backup par heure sur la dernière journée, puis un backup par jour sur la dernière semaine, un backup par semaine sur le dernier mois, et un backup par mois sur la dernière année.

Important:

En particulier, cela signifie que les messages et pads supprimés par les utilisateurices sont conservés dans les backups jusqu’à leur rotation automatique.

Machines virtuelles

Les machines virtuelles sont sauvegardées chaque jour en intégralité. Les hyperviseurs s’échangent les sauvegardes de leurs machines virtuelles respectives.

Note:

Ces sauvegardes visent à prévenir un scénario catastrophe : si une machine essuie une perte sévère de données (autre que la corruption d’une base de données), on pourra les récupérer avec maximum un jour de pertes. Cependant, la sauvegarde d’une machine entière est très lourde (plusieurs centaines de Go), ce qui la rend assez pénible à manipuler. Une autre solution de sauvegarde des fichiers importants est à l'étude.

Important:

Notre système de sauvegarde a un gros inconvénient : si un incident touche simultanément les deux machines (e.g. incendie), toutes les données sont perdues. Une troisième machine localisée autre part qu’à Toulouse viendra prochainement régler le problème.

A Savoir:

La métrologie, dans laquelle on retrouve la notion de mètre/métrique, est le fait d’obtenir, de garder et de tracer la valeur numérique d’une charge. Par exemple le pourcentage de CPU utilisé sur un serveur, le nombre de personnes connectées sur une site web, le trafic sortant et entrant sur un switch. Source

Pour collecter des métriques, Picasoft a mis en place une pile de métrologie, qui collecte :

  • Des métriques système (CPU, RAM, stockage…)
  • Des métriques service (nombre d’utilisateurs sur Mattermost, nombre de pads sur Etherpad…)
  • Des métriques réseau (volume échangé, erreurs…)

Ces métriques sont consultées sous forme de graphiques dans Grafana.

Un système d’alertes permet de prévenir l’équipe technique lorsqu’une métrique remplit une certaine condition (e.g. un disque est rempli à plus de 95%). permet de déclencher des alertes et alertmanager traite ces alertes et les transmet sur Mattermost.

  • technique/resume.txt
  • de 127.0.0.1