Notes pour la migration vers une nouvelle infra
La plupart des notes ont été tirés de tickets sur git.laquadrature.net
Souhait de moyens techniques
- un moyen d'avoir une notification quand on doit mettre à jour un service
- Abonnement aux listes mails de sécurité des projets que l'on utilise
- Abonnement RSS
- Veille sur des sites spécialisés
- un moyen de vérifier que les services fonctionnenent
- ping avec ansible pour vérifier que les machines sont en ligne
- outil de surveillance pour chaque service
- Prometheus et Grafana ?
- un moyen de vérifier la sécurité des services ( comme scan.nextcloud.com )
- Faire des analyses de sécurité de l'infrastructure
- Voir infrastructure-docs#17
- un moyen d'installer un service, et toutes ses dépendances automatiquement
- Faire des fiches Ansible pour chaque service
- Mettre un service par machine virtuelle
Pour chaque VM, on définit 2 niveaux :
- Le niveau 0, qui comporte la gestion de la VM en elle-même ;
- Gestion de mises à jour automatique
- Gestion du firewall
- Gestion des évènements ( connexion, création / suppression d'utilisateurice )
- Gestion du système de fichier ( % d'utilisation, modification des fichiers, permissions )
- Gestion des ressources ( % CPU, % RAM, # processus )
- Gestion de nom de domaine et certificat SSL
- Le niveau 1, qui comporte la gestion du service ;
- Installation du service,
- Installation des dépendances,
- Gestion des mises à jour ( avec la CI depuis Gitlab si besoin )
Chacune de ces étapes devraient être décrites dans des rôles ansible. Chaque niveau dans son playbook, permettant de gérer "le serveur" indépendamment "du service". On adapte le service au serveur, pour garantir une sécurité de bas en haut.
Toutefois, certaines parties ne sont pas indépendantes, comme le firewall ou le nom de domaine. Un serveur va par contre avoir une configuration de base qui soit garantie, quitte à être modifiée par la suite. Ça permet d'avoir une base saine et connue à partir de laquelle on peut dévier.