Des guides pas à pas qui résolvent le problème entièrement à la main : vraies commandes, vraies configurations, testées sur Ubuntu 24.04 et Debian 12. Ce n'est qu'à la fin que vous lisez ce que monsys automatise.
Serveurs Linux et Windows, Docker, systemd, prévision disque, baselines.
4 guidesBrute force SSH, honeypots, intégrité des processus, GeoIP, modules noyau, USB.
5 guidesOSV.dev, backports noyau, package-lock, EPSS/KEV, VEX, Trivy.
6 guidesChecklists, preuves pour l'auditeur, revues d'accès, journaux inviolables, CRA, AI Act.
5 guidesunattended-upgrades, mises à jour noyau, vérification des sauvegardes, pages de statut, expiration TLS, SMART.
5 guidesSéparer les clients, rapports de transfert, astreinte sans PagerDuty, écrans NOC, étiquetage.
2 guidesQui peut devenir root sur quel serveur, et avec quelle clé SSH ? Sur un hôte, ce sont cinq commandes ; sur trente hôtes, c'est la question à laquelle plus personne ne répond. Ce script produit par hôte un tsv avec les comptes, les règles sudo et chaque clé publique autorisée (avec empreinte et commentaire), plus le contrôle diff qui signale dès qu'une clé ou une règle sudo est ajoutée.
À partir du 1er janvier 2027, AWS ne valide ses partenaires MSP que sur la Validation Checklist 8.0 : 24 contrôles nouveaux et 27 réécrits, avec l'observabilité GenAI, la mesure du toil et la gouvernance IA comme nouveaux blocs. Voici la méthode pour savoir en un après-midi où vous en êtes : quels contrôles vous couvrez déjà avec vos systèmes, lesquels exigent une série temporelle à démarrer aujourd'hui, et lesquels sont purement organisationnels. Avec deux scripts (inventaire des dépendances IA et baseline de toil) et une feuille de travail.
Le contrôle A.8.8 exige d'identifier, d'évaluer et de traiter les vulnérabilités en temps utile. La plupart des organisations le prouvent avec une politique et une capture d'écran de scanner. Un auditeur veut voir la chaîne : quand la CVE est devenue connue, quand vous l'avez vue, ce que vous avez décidé, quand elle a été fermée. Voici comment extraire automatiquement ces quatre horodatages de vos serveurs et en faire une métrique — MTTR par sévérité — que vous pouvez montrer chaque trimestre.
Une charge de 8 est calme sur un 16 cœurs et une catastrophe sur un 2 cœurs. La charge compte aussi les processus qui attendent un disque, pas seulement le CPU. Et la valeur à 1 minute est presque toujours du bruit. Ce que signifient vraiment les trois chiffres, comment les normaliser par cœur, comment séparer la pression CPU de la pression I/O avec /proc/pressure, et quel seuil mettre dans une alerte.
PagerDuty commence à 21 dollars par utilisateur et par mois et envoie vos données d'alerte aux États-Unis. Pour une équipe de deux à dix personnes, cela se fait avec un serveur ntfy auto-hébergé, un planning de rotation dans un fichier texte et un script de cinquante lignes : les alertes vont à qui est de garde cette semaine, escaladent après dix minutes sans acquittement vers le remplaçant, et passent à travers le mode silencieux du téléphone. Acquittement en un tap inclus.
ISO 27001 A.5.18 et NIS2 art. 21 §2 (i) exigent de vérifier périodiquement qui a accès et si c'est toujours justifié. En pratique, cela devient un après-midi de tableurs, ou cela n'arrive pas. Ce script fait de la revue une heure : il pose l'inventaire technique (serveurs, sudo, clés, comptes IdP) à côté de la liste RH, marque chaque écart, et produit le rapport signé qu'un auditeur accepte.
npm audit est gratuit et intégré, et pourtant des équipes ratent des vulnérabilités avec — ou se noient dans 400 signalements sur des dépendances de développement. Voici le pipeline que nous utilisons nous-mêmes : parser le lockfile en liste exacte, interroger OSV.dev par lots, séparer dépendances de dev et de production, et conserver la sortie par semaine pour pouvoir dire depuis quand une CVE est ouverte.
Une page de statut sur le même serveur que le service qu'elle décrit est hors ligne quand vous en avez besoin. Voici la configuration qui fonctionne : Uptime Kuma sur un VPS séparé et bon marché, des contrôles de l'extérieur en HTTP, TLS et TCP, une page publique sur status.votredomaine.be avec son propre certificat, des mises à jour d'incident postées depuis votre téléphone, et les détails DNS et cache qui décident si la page reste joignable quand le reste brûle.
Les cinq RIR (RIPE, ARIN, APNIC, AFRINIC, LACNIC) publient gratuitement quel bloc d'IP est attribué à quel pays. Avec un téléchargement de 30 Mo et quarante lignes de shell, vous voyez le pays de chaque connexion SSH et vous alertez sur « cet utilisateur ne s'est jamais connecté depuis ce pays ». Sans MaxMind, sans clé API, sans données qui sortent.
Un service qui plante est de retour en quelques secondes avec Restart=on-failure. Un service qui pend, un qui tourne en boucle de redémarrage, ou un qui n'a jamais démarré après un reboot, systemd ne le voit pas tout seul. Voici les réglages en drop-in, le gestionnaire OnFailure qui pousse vers votre téléphone, l'astuce WatchdogSec pour les processus bloqués et le script cron qui comble les trous.
Trivy est gratuit, rapide et trouve tout — et c'est précisément le problème : une image moyenne donne des centaines de CVE, dont la plupart sans correctif ou dans un outil qui ne tourne jamais. Voici la configuration que nous utilisons nous-mêmes : --ignore-unfixed, seuils de sévérité, un .trivyignore avec raison et date, une barrière CI qui ne casse que sur de nouveaux résultats critiques, et un scan nocturne de ce qui tourne vraiment sur l'hôte.
Un attaquant qui plante une porte dérobée dans sshd ou nginx laisse le processus tourner. Le fichier sur le disque a été remplacé, ou le processus tourne depuis un fichier supprimé qui n'existe plus nulle part. Trois contrôles qui rendent cela visible sans EDR : le hachage de /proc/<pid>/exe contre une baseline, dpkg -V contre la base des paquets, et le marqueur (deleted) qu'aucun processus légitime ne devrait porter.
Un scanner signale CVE-2026-1234 dans libxml2. Vous savez que la fonction vulnérable n'est jamais appelée dans votre configuration. Une déclaration VEX est la façon de le consigner — lisible par machine, avec une raison, et avec la date à laquelle vous le saviez. Voici le format OpenVEX en vingt lignes, les quatre statuts et quand les utiliser, comment signer avec ssh-keygen, et comment les scanners utilisent la déclaration pour supprimer le bruit.
Un script de quarante lignes qui confronte chaque paquet installé à l'API gratuite OSV.dev, en tenant compte des backports, et enrichit la liste avec le score EPSS et le statut CISA KEV. De 1 800 paquets aux cinq à corriger cette semaine. Sans licence, sans appliance de scan.
Comment voir en deux minutes qui martèle votre port SSH, quels cinq réglages sshd rendent 99 % des attaques vaines, et comment configurer fail2ban correctement sur Ubuntu 24.04 (le piège du backend systemd). Ensuite : les trois schémas d'attaque auxquels fail2ban est aveugle.
Tout ce que vous pouvez voir vous-même avec docker stats, docker events et un healthcheck dans votre fichier compose — plus le script cron qui signale en cinq minutes un conteneur qui redémarre toutes les 30 secondes. Avec le réglage de logging qui empêche les conteneurs de remplir votre disque.
Un intrus qui est entré cherche en quelques minutes des clés, des mots de passe et des sauvegardes. Placez-les — faux — et laissez auditd signaler dès que quelqu'un y touche. Installation complète avec règles auditd, les exceptions pour updatedb et votre outil de sauvegarde, et un cron qui pousse vers votre téléphone. Zéro faux positif après le premier jour.
Un scanner qui voit 6.8.0 et signale 40 CVE noyau ignore les backports Ubuntu et Debian. Voici comment lire vous-même le changelog de votre paquet noyau, comparer le noyau qui tourne avec celui installé, vérifier les atténuations matérielles dans /sys et décider quand livepatch vaut la peine. Avec les sources gratuites : USN, Debian Security Tracker et le changelog du paquet.
Une mise à jour du noyau est la seule mise à jour de routine qui exige un redémarrage et qui peut laisser votre serveur bloqué. Voici la checklist que nous utilisons nous-mêmes : pré-vérifications (/boot, DKMS, Secure Boot), snapshot, installation, un repli GRUB qui choisit automatiquement l'ancien noyau après un démarrage raté, et la vérification après redémarrage. Dans une fenêtre de quinze minutes.
Let's Encrypt se renouvelle tout seul — jusqu'au jour où le hook échoue, la validation DNS casse ou quelqu'un a retiré le cron. Ce script trouve chaque certificat sur chaque port de chaque hôte (les internes aussi, le mail aussi, le reverse proxy dont plus personne ne se souvient), calcule les jours restants et pousse une alerte à 14 et 7 jours. Sans Nagios, sans service externe.
Un Zabbix par client ne passe pas à l'échelle ; un Zabbix pour tout le monde fuit. Voici l'architecture qui fonctionne avec des briques open source — Prometheus par client, organisations Grafana, routage Alertmanager sur un label tenant, une seule convention de nommage et une seule procédure d'offboarding — et la facture honnête de ce que cela coûte en maintenance à dix, quarante et cent clients.
Pas de politique, pas d'intentions : un auditeur veut des artefacts datés. Voici les douze qui reviennent dans pratiquement chaque audit CyFun ou NIS2, avec pour chacune la commande qui la produit, et un evidence-pack.sh qui met tout dans une archive signée encore vérifiable six mois plus tard.
L'article 21 §2 de NIS2 énumère dix mesures en langage juridique. Voici la traduction en ce que vous faites lundi sur vos serveurs — par mesure, la commande, le fichier ou le script qui produit la preuve. Avec le contexte belge : loi du 26 avril 2024, CCB, CyberFundamentals et obligation d'enregistrement.
Les Minimum Elements 2026 ont transformé un SBOM en un artefact signé, licencié et vérifiable par machine. Voici la chaîne manuelle complète pour un hôte Linux : inventorier trois couches, remplir chaque champ requis, canoniser et signer en Ed25519, puis dériver le VEX. C'est beaucoup.
Quatre mesures qui rendent 90 % des incidents visibles à l'avance, avec uniquement ce qui est livré avec Ubuntu 24.04 ou Debian 12 : sysstat, journalctl, df et un script cron de trente lignes qui pousse vers votre téléphone. Et pourquoi « CPU au-dessus de 90 % » est une mauvaise alerte.
L'installation par défaut d'unattended-upgrades applique les correctifs de sécurité mais laisse les services tourner sur d'anciennes bibliothèques et le nouveau noyau sur le disque. Voici la configuration qui corrige cela pour Ubuntu 24.04 et Debian 12 : origines, liste noire, needrestart, politique de redémarrage, mail — plus le script cron qui signale quels hôtes attendent un redémarrage depuis des jours.
Une tâche de sauvegarde qui renvoie exit 0 prouve que la tâche a tourné — pas qu'il y a quelque chose d'utilisable dans l'archive. Trois contrôles à automatiser : fraîcheur (mtime), intégrité (restic/borg check) et un test de restauration mensuel qui se journalise lui-même. Plus le piège de rsync qui préserve les mtimes.