technique:resume

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:resume [2021/01/27 23:09] qduchemitechnique:resume [2023/12/29 15:48] (Version actuelle) limaanto
Ligne 3: Ligne 3:
 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 !  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 ! 
  
-<bootnote>Idéalement, tout changement important est reflété dans cette page, qui est référencée sur le [site de Picasoft](https://picasoft.net/co/infrastructure.html) et a notamment pour but de centraliser les éléments de [conformité à la charte CHATONS](https://framagit.org/chatons/CHATONS/-/blob/master/docs/Liste_de_conformit%C3%A9_%C3%A0_la_Charte_CHATONS.md) 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!</bootnote>+<bootnote>Idéalement, tout changement important est reflété dans cette page, qui est référencée sur le [site de Picasoft](https://picasoft.net) et a notamment pour but de centraliser les éléments de [conformité à la charte CHATONS](https://framagit.org/chatons/CHATONS/-/blob/master/docs/Liste_de_conformit%C3%A9_%C3%A0_la_Charte_CHATONS.md) 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!</bootnote>
  
 ### Infrastructure physique ### Infrastructure physique
  
-Picasoft possède [[technique:infrastructure:hyperviseurs:tetaneutral:description|deux machines physiques]], Alice et Bob. +Picasoft possède [[technique:infrastructure:config|trois machines physiques]], AliceBob et Caribou.
  
-Elles sont hébergées par le FAI associatif [Tetaneutral](http://tetaneutral.net/).+Alice et Bob sont historiquement hébergées par le FAI associatif [Tetaneutral](http://tetaneutral.net/).  
 +Ces machines ont été achetées pour Picasoft par UTeam, une filiale de l'Université de Technologie de Compiègne, sur un budget recherche.
  
-<bootnote>Tetaneutral est membre de la [fédération FDN](https://www.ffdn.org/) et est situé à Toulouse.</bootnote>+Caribou est hébergée dans la salle serveur de la DSI de l'UTC, par l'association [Rhizome](https://rhizome-fai.net/). Elle a été achetée grâce à une subvention du FSDIE (Fonds de solidarité et de développement des initiatives étudiantes). Alice a récemment été rapatriée dans la même salle serveur.
  
-Ces machines ont été achetées pour Picasoft par UTeam, une filiale de l'Université de Technologie de Compiègne, sur un budget recherche.+<bootnote>Tetaneutral et Rhizome sont membres de la [fédération FDN](https://www.ffdn.org/).</bootnote>
  
 <bootnote learn> <bootnote learn>
Ligne 19: Ligne 20:
 </bootnote> </bootnote>
  
-Nos machines sont équipées de la technologie [Intel AMT](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology), qui permet de les administrer à distance, même en cas de plantage de la machine.+Alice et Bob sont équipées de la technologie [Intel AMT](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology) ; Caribou de [iDRAC9](https://www.dell.com/support/kbdoc/fr-fr/000178016/prise-en-charge-du-controleur-idrac9-integrated-dell-remote-access-controller-9), 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.+Les données des services sont stockées simultanément sur deux disques (on dit « RAID 1 ») pour éviter qu'une défaillance matérielle ne provoque une perte des données ou une interruption de service trop importante.
  
-<bootnote learn>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](https://fr.wikipedia.org/wiki/RAID_(informatique))*</bootnote>+<bootnote learn>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](https://fr.wikipedia.org/wiki/RAID_(informatique)*</bootnote>
  
 <bootnote>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.</bootnote> <bootnote>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.</bootnote>
Ligne 33: Ligne 34:
 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. 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 [[technique:infrastructure:hyperviseurs:install_proxmox|Proxmox]], version 6. Son interface graphique permet de facilement [[technique:infrastructure:machines_virtuelles:creation|créer des machines virtuelles]].+Ce système d'exploitation est [[technique:infrastructure:install_proxmox|Proxmox]], version 7. Son interface graphique permet de facilement [[technique:infrastructure:vm|créer des machines virtuelles]].
  
 <bootnote>Proxmox 6 est basé sur Debian 10.</bootnote> <bootnote>Proxmox 6 est basé sur Debian 10.</bootnote>
  
-Les services tournent sur des machines virtuelles (Debian 10). Nous en hébergeons 6.+Les services tournent sur des machines virtuelles (Debian 11). Nous en hébergeons 8.
  
 Sur Alice : 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. * `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)+* `stph01`, machine utilisée par Stéphane Crozat notamment dans le cadre de ses activités de recherche.
  
 Sur Bob : Sur Bob :
  
-* `pica01`, généraliste, sur laquelle tournent notamment l'instance principale d'Etherpad et Mattermost.+* `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. * `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+Sur Caribou :
  
-<bootnote>Tous les services (internes ou publics) sont lancés en utilisant [[technique:docker:general:presentation|Docker et Docker Compose]]. Les fichiers nécessaire pour déployer l'ensemble de nos services sont centralisés sur un [dépôt Git](https://gitlab.utc.fr/picasoft/dockerfiles).</bootnote>+* `pica01`, généraliste, sur laquelle tournent des services peu critiques, comme les sites web statiques. 
 +* `pica03`, généraliste, sur laquelle tournent les services moyennement critiques, comme Hedgedoc et l'instance hebdomadaire d'Etherpad. 
 +* `42l`, une machine virtuelle que nous mettons à disposition de nos ami·es du CHATONS [La Contre-Voie](https://42l.fr/) pour le monitoring de leur infrastructure. 
 +* `media`, machine utilisée pour les services consommateurs d'espace disque (comme Peertube). 
 +* `scenari`, machine utilisée pour stocker les backups de l'association Scenari.
  
-L'ensemble des services actuellement en production est visible sur les [[technique:adminserv:graph_services|graphes des services]], générés automatiquement chaque jour.+#### Services
  
-<bootnote>Picasoft utilise ponctuellement des machines virtuelles hébergées gracieusement par [Gandi](https://www.gandi.net/fr), 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.</bootnote>+Tous les services (internes ou publics) sont lancés en utilisant [[technique:tech_team:pres_docker|Docker et Docker Compose]]. Les fichiers nécessaires pour déployer l'ensemble de nos services sont sur leurs [dépôts Git](https://gitlab.utc.fr/picasoft/services).
  
-#### Chiffrement des communications et sécurité des services+L'ensemble des services actuellement en production est visible sur les [[technique:graph_services|graphes des services]], générés automatiquement chaque jour.
  
-Picasoft utilise TLS sur l'ensemble de ses services. +Les procédures pour lancer, administrer et mettre à jour et créer des services sont répertoriées sur [[technique:docker:picasoft:start|une partie dédiée du Wiki]].
  
-Dans le cas des services web, l'activation de HTTPS est systématique et automatique, grâce à [[technique:docker:general:traefik|Traefik, un reverse-proxy pour Docker]]. +<bootnote>Picasoft utilise ponctuellement des machines virtuelles hébergées gracieusement par [Gandi](https://www.gandi.net/fr), 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.</bootnote>
- +
-<bootnote learn>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é.</bootnote> +
- +
-<bootnote>Les services Picasoft sont notés B ou plus par le [Mozilla Observatory](https://observatory.mozilla.org). La politique CSP est systématiquement absentece qui est améliorable.</bootnote> +
- +
- +
-Dans le cas des services non-web (Mumble, LDAP, serveur mail...), les certificats TLS sont gérés automatiquement par un outil maison, [[technique:docker:good_practices:tls|TLS Certs Monitor]].+
  
 ### Nom de domaine ### Nom de domaine
Ligne 79: Ligne 75:
 * `picagraine.net`, pour les activités de formation * `picagraine.net`, pour les activités de formation
  
-Nous n'utilisons pas les serveurs DNS de Gandi pour gérer notre zone, mais [[technique:internal_serv:dns:start|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 relai en cas de panne très critique.+Nous n'utilisons pas les serveurs DNS de Gandi pour gérer notre zone, mais [[technique:adminsys:dns:start|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 [[technique:internal_serv:mail:start|propre serveur mail]] pour envoyer des mails (notifications, lien d'inscription, etc).+Picasoft utilise également son [[technique:adminsys:mail:start|propre serveur mail]] pour envoyer des mails (notifications, lien d'inscription, etc).
  
 ### Gestion des accès ### Gestion des accès
Ligne 87: Ligne 83:
 #### Accès aux machines #### Accès aux machines
  
-Les accès à l'**infrastructure** sont centralisés grâce à un [[technique:internal_serv:ldap:start|annuaire LDAP]]. Chaque membre sur l'annuaire a :+Les accès à l'**infrastructure** sont centralisés grâce à un [[technique:adminsys:ldap:start|annuaire LDAP]]. Chaque membre sur l'annuaire a :
  
 * Un groupe d'accès (simple visiteur, administrateur Docker ou administrateur système) * Un groupe d'accès (simple visiteur, administrateur Docker ou administrateur système)
Ligne 94: Ligne 90:
 #### Accès aux identifiants #### 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 [[technique:tips:password_store:start|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.+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 [[asso:tuto:vaultwarden|vaultwarden]]. 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.
  
 <bootnote critical>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.</bootnote> <bootnote critical>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.</bootnote>
Ligne 101: Ligne 97:
  
 ### Sécurité ### Sécurité
 +
 +#### Machines
  
 Toutes les machines ont un [[technique:adminsys:secu:firewall|pare-feu]] qui refuse les connexions entrantes, sauf sur les ports autorisés. Toutes les machines ont un [[technique:adminsys:secu:firewall|pare-feu]] qui refuse les connexions entrantes, sauf sur les ports autorisés.
Ligne 108: Ligne 106:
 Les [mises à jour de sécurité Debian](https://www.debian.org/security/) sont [[technique:adminsys:secu:automatic_updates|appliquées automatiquement]], une fois par jour. Les [mises à jour de sécurité Debian](https://www.debian.org/security/) sont [[technique:adminsys:secu:automatic_updates|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 à [[technique:adminsys:secu:auditd:start|auditd et rsyslog]].+Les commandes privilégiées exécutées sur les machines sont enregistrées et centralisées sur la machine `monitoring`, grâce à [[technique:old:auditd:start|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 à [[technique:tech_team:traefik|Traefik, un reverse-proxy pour Docker]]. 
 + 
 +<bootnote learn>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é.</bootnote> 
 + 
 +<bootnote>Les services Picasoft sont notés B ou plus par le [Mozilla Observatory](https://observatory.mozilla.org). La politique CSP est systématiquement absente, ce qui est améliorable.</bootnote> 
 + 
 +Dans le cas des services non-web (Mumble, LDAP, serveur mail...), les certificats TLS sont gérés automatiquement par un outil maison, [[technique:docker:good_practices:tls|TLS Certs Monitor]]. 
 + 
 +#### Vérification automatique des mises à jour 
 + 
 +Il existe [[technique:adminsys:secu:services_updates|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.
  
 ### Sauvegardes ### Sauvegardes
  
-#### Bases de données+#### Services
  
-Les bases de données des services sont [[technique:adminsys:backup:db:start|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 services (volumes, bases de donnée, configurations, secrets...) sont [[technique:adminsys:backup:start|sauvegardés plusieurs fois par jour]] à l'aide de [restic](https://restic.net). 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.
  
 <bootnote critical>En particulier, cela signifie que les messages et pads supprimés par les utilisateurices sont conservés dans les backups jusqu'à leur rotation automatique.</bootnote> <bootnote critical>En particulier, cela signifie que les messages et pads supprimés par les utilisateurices sont conservés dans les backups jusqu'à leur rotation automatique.</bootnote>
Ligne 120: Ligne 136:
 #### Machines virtuelles #### Machines virtuelles
  
-Les machines virtuelles sont [[technique:infrastructure:machines_virtuelles:backup|sauvegardées chaque jour en intégralité]]Les hyperviseurs s'échangent les sauvegardes de leurs machines virtuelles respectives. +Les machines virtuelles sont à présent trop volumineuses pour être sauvegardées en intégralité. Si une machine virtuelle venait à tomberelle devrait être reconstituée à la main à partir des sauvegardes des services et des informations présentes sur ce wiki.
- +
-<bootnote>Ces sauvegardes visent à prévenir un scénario catastrophe : si un 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](https://pad.picasoft.net/p/reu_tech_A20_2_backups).</bootnote> +
- +
-<bootnote critical>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.</bootnote>+
  
 ### Métrologie ### Métrologie
Ligne 136: Ligne 148:
 * Des métriques *réseau* (volume échangé, erreurs...) * Des métriques *réseau* (volume échangé, erreurs...)
  
-Ces métriques sont consultées sous forme de graphiques dans [[technique:adminsys:monitoring:metrologie:grafana|Grafana]]. Cet outil permet de [[technique:adminsys:monitoring:alerting:grafana|créer des alertes]], par exemple pour prévenir automatiquement l'équipe technique lorsque l'espace disque vient à manquer.+Ces métriques sont consultées sous forme de graphiques dans [[technique:adminsys:monitoring:metrologie:grafana|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%). [[technique:adminsys:monitoring:alerting:vmalert|permet de déclencher des alertes]] et [[technique:adminsys:monitoring:alerting:alertmanager|alertmanager]] traite ces alertes et les transmet sur Mattermost. 
 + 
 +### Partenariats 
 + 
 +Picasoft a une activité annexe d'aide à des structures amies. De temps à autreon leur rend service. Par exemple 
 + 
 +* Hébergement d'une machine virtuelle de monitoring pour [la Contre-Voie](https://lacontrevoie.fr/) ; 
 +* Hébergement des vidéos de [l'association Scenari](https://scenari.org/) ; 
 +* Hébergement d'un NextCloud pour le syndicat Solidaires étudiant-e-s Compiègne ; 
 +* Hébergement des backups de l'association [Scenari].
  • technique/resume.1611785383.txt.gz
  • de qduchemi