Administration système : bases
Voici une liste de sujets dont il faut se préoccuper a minima pour mettre en place une infrastructure un minimum solide.
Cet article constitue une checklist de départ d'AdminSys pour un futur service d'hébergement.
Monitoring
Le monitoring et la métrologie vous permettront de détecter des problèmes rapidement voir avant qu'il n'apparaissent et impactent vos utilisatrices et utilisateurs.
Le monitoring vous fournit un instantané de l'état de vos serveurs, vous alertant au besoin tandis que la métrologie vous fournira un historique des résultats de vos sondes, vous permettant de faire du post-mortem en regardant les graphes d'une machine juste avant un incident ou de surveiller une évolution des ressources consommées, vous permettant de prévoir une migration vers un serveur plus puissant par exemple.
Citons pour le monitoring :
Pour la métrologie :
Il est à noter que des solutions de métrologie peuvent envoyer des alarmes et des solutions de monitoring fournir un historique et des graphes.
Vérifiez régulièrement que vous monitorez tout les services de tous les serveurs.
En plus de la supervision, il peut être intéressant pour nos membres d'ajouter une page d'état de nos services. Ainsi, la personne membre pourra d'elle-même voir si le service qu'elle veut utiliser est ok, hors service, en maintenance ou autre.
Citons quelques système de page de status:
Sécurité
La sécurité est un vaste sujet tant les menaces peuvent être nombreuses et variées. Voici quelques recommandations :
- Installer Fail2ban, qui lira vos logs (par exemple
auth.log
, listant les tentatives de connexion SSH) et bannira de façon temporaire les IPs effectuant des opérations suspectes (par exemple, tenter plus de 3 fois enroot
via SSH). Indispensable - Mettre en place un firewall pour, par exemple, ne permettre les connexions SSH que depuis certaines IPs
- Monter un serveur VPN afin de permettre aux admins de se connecter même depuis une connexion Internet « hostile » (typiquement, le portail captif d'un hôtel qui ne permettrait pas les connexions SSH). Si vous mettez en place un firewall, cela permettra aux admins de se connecter depuis n'importe où si vous whitelistez l'adresse du VPN
Sauvegardes
Il y a deux types de personnes administratrices système
Celles à qui les sauvegardes ont déjà sauvé la vie, et celles à qui les sauvegardes sauveront la vie.Si les sauvegardes sont stockées sur un support qui ne bénéficie pas d'une confiance absolue (genre un simple espace de stockage fourni par son hébergeur donc à accès non contrôlé), elles devront impérativement être chiffrées.
De manière générale, il est toujours bon de chiffrer ses sauvegardes mais cela peut poser des problèmes : + de temps pour faire la sauvegarde ou la restaurer, + de ressources système consommées, + d'espace disque consommé.
Logiciels de sauvegardes :
- Borg, outil à utiliser dans des scripts. Rapide, efficace, permet le chiffrement mais utilisable en CLI uniquement (Borg Backup Server permet d'utiliser borg backup avec une interface graphique).
- Backuppc, outil avec une interface web. Simplicité de mise en place (dans les paquets Debian), de configuration (via l'interface web) et de restauration des sauvegardes (restauration sur le serveur, sur un autre serveur, en téléchargeant le fichier, le tout via l'interface web). Design moche mais efficace.
- Pgbarman, outil de sauvegarde au fil de l'eau de serveurs PostgreSQL.
- Etckeeper, pas à proprement parler un outil de sauvegarde, mais il fait de votre
/etc
un dépôt git, ce qui est bien pratique pour voir (et éventuellement inverser) des modifications de configurations.
Vérifiez régulièrement que vous sauvegardez bien tout ce qui est important sur tous les serveurs.
Vérifiez aussi régulièrement vos sauvegardes si vous le pouvez (genre avec Backup Checker) ou tentez des restaurations sur un espace temporaire).
Quelques ressources complémentaires :
Automatisation
Une bonne personne adminsys est une adminsys fainéante. Automatisez un maximum. La liste des serveurs à monitorer et de leurs services ? Automatisez. Un script de sauvegarde à déployer partout ? Automatisez. La création des comptes SSH ? Automatisez. La configuration d'un outil ? Automatisez aussi : ça pourra permettre son redéploiement rapide (en cas de crash, de migration, etc).
Logiciels d'automatisation :
Documentation
Vous n’êtes pas exceptionnel·le, vous n’êtes pas un flocon de neige merveilleux et unique
Tyler Durden, dans Fight Club
Il est indispensable de ne pas l'être (indispensable). Documentez tout ce que vous pouvez de façon à ce que n'importe quel·le autre adminsys puisse vous remplacer. Vous n'êtes pas éternel·le et vous pouvez aussi tout simplement être en vacances et vos collègues auront besoin de pouvoir se débrouiller seul·es.
Le moyen le plus évident de tout documenter est le wiki. Attention aux permissions sur les sujets sensibles !