💾 Archived View for picasoft.net › technique.gmi captured on 2023-07-22 at 16:22:52. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
Cette page a pour but de faire une rapide présentation de l'infrastructure et des pratiques de Picasoft. Pour plus de détails on pourra consulter le wiki.
Page "Résumé technique" du wiki
Picasoft possède deux machines physiques, Alice et Bob. Elles sont hébergées par le FAI associatif Tetaneutral (membre de la FFDN et situé à Toulouse). Ces machines ont été achetées pour Picasoft par UTeam, une filiale de l'UTC, sur un budget recherche.
La salle TLS00 où se trouvent les machines est notamment équipée d'onduleurs qui permettent d'éviter les 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 de données ou une interrruption de services trop importante.
Les machines sont totalement sous le contrôle de Picasoft. Des bénévoles de Tetaneutral peuvent éventuellement être amenés à intervenir sur les machines lors d'intervention de maintenance, mais ne peuvent pas accéder aux données.
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.
Les services tournent sur des machines virtuelles (Debian 10). Nous en hébergeons 6.
Sur Alice :
Sur Bob :
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.
Dépôt Git contenant l'ensemble des fichiers nécessaires pour déployer nos services.
L'ensemble des services actuellement en production est visible sur les graphes des services, générés automatiquement chaque jour.
Picasoft a loué deux noms de domaine au registrar Gandi :
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 sont propre serveur mail pour envoyer des mails (notifications, lien d'inscription, etc).
Les accès à l'infrastructure sont centralisés grâce à un annuaire LDAP. Chaque membre sur l'annuaire a :
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 store "the 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.
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.
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.
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.
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.
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.
Les machines virtuelles sont sauvegardées chaque jour en intégralité. Les hyperviseurs s’échangent les sauvegardes de leurs machines virtuelles respectives.
Pour collecter des métriques, Picasoft a mis en place une pile de métrologie, qui collecte :
Ces métriques sont consultées sous forme de graphiques dans Grafana. Cet outil permet de créer des alertes, par exemple pour prévenir automatiquement l’équipe technique lorsque l’espace disque vient à manquer.