Documentation
Documentation des différents services
Le lien ci-dessous vous permettra d'accéder à la documentation des différents services.
Leur rédaction est en cours.
N'hésitez pas à me contacter pour tout renseignement complémentaire.
Description de l'architecture
L'infra repose sur 2 serveurs dédiés localisés en France, alpine ( chez Ovh, hébergement web, mail et cloud) et guillotine (chez scaleway, sauvegardes et serveur de secours).
Les services sont en cours de migration depuis alpine vers ravine, une machine louée chez scaleway.
Les serveurs mails sont déployés sur des instances cloud public Scaleway.
Les mails mutualisés sont sur une dedibox localisée en France (Collidine). Migration en cours vers un OS plus récent (Debian 12)
La distribution utilisée est CentOS 7. Les nouveaux serveurs sont en Debian 12
Scaleway et OVH a la pleine maîtrise du matériel hébergé. J'ai la maîtrise du système d'exploitation et des couches supérieures.
Hébergement et applications web
Chaque application/site web dispose de son propre pool php-fpm avec un compte utilisateur dédié.
Le serveur de base de données est installé en local.
Serveur Mail
Chaque client dispose de son propre serveur de mail, hébergé sur un container 'OVH public cloud' dédié.
Sauvegardes
Les bases de données sql sont sauvegardées en local quotidiennement.
Les données d'application, les dumps des bases de données, la configuration du serveur sont sauvegardés quotidiennement sur guillotine.opendoor.fr.
Logiciel utilisé: burp
Les données sont chiffrées avant d'être transmises sur le serveur de backup.
La fréquence des sauvegardes est quotidienne, avec une période de rétention de:
- 7 sauvegardes quotidiennes
- 4 sauvegardes hebdomadaires
- 12 sauvegardes mensuelles
Enfin, Une sauvegarde quotidiennes des données de sauvegardes de guillotine est faite sur un serveur de stockage localisé à mon domicile.
Supervision
Les serveurs, les principaux services, ainsi que l'âge des sauvegardes sont surveillés par zabbix, installé sur alpine. Une alerte m'est envoyé par mail et sms en cas de problème.
Une page présentant l'état des services est disponible ici: page d'état des services. Elle est générée quotidiennement
Temps estimé de remise en route après incident
En cas d'incident rendant alpine inutilisable, le temps pour configurer guillotine à sa place est estimé à 1/2 journée.
Axes d'amélioration
Finaliser la migration des services actuellement sur Alpine pour décommissionner cette machine.
L'objectif est de réduire le temps de reprise en cas d'incident.
Mise en place d'une sauvegarde "au fil de l'eau" de la base de donnée
Synchronisation régulière des données d'application sur guillotine
Non chiffrement des espaces de stockage
Après réflexion, j'ai décidé de ne pas utiliser de partition chiffrée.
Le chiffrement des partitions implique une intervention humaine au démarrage de la machine, et n'offre aucune protection tant que le serveur est en cours de fonctionnement.
Après se pose la question des données lors d'un changement de disque ou de serveur: je m'engage à prendre toutes les mesures nécessaires pour effacer correctement les périphériques de stockage (démarrage du serveur sur disque de secours et shred des espaces de stockage).
Installation des services
La majorité des services et solutions proposées sont déployées au moyen d'ansible . Il est prévu de publier les rôles utilisés prochainement.
