Files
2026-06-09 18:40:21 +02:00

183 lines
6.8 KiB
Markdown

---
title: PatchMon
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, monitoring, patchs, linux, securite, debian, ubuntu, go, auto-hebergement]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/PatchMon/PatchMon]
---
# 📊 PatchMon
> **Le monitoring de patches Linux simplifié** : détectez les MAJ disponibles sur vos serveurs Debian/Ubuntu/RHEL et appliquez-les en un clic. Indispensable pour la sécurité.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [patchmon.io](https://patchmon.io) |
| **GitHub** | [PatchMon/PatchMon](https://github.com/PatchMon/PatchMon) |
| **License** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 2.9k ⭐ |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-monitoring|Monitoring]] |
## 📝 Description
**PatchMon** est un **outil de monitoring de correctifs (patchs) self-hosted** pour flottes de machines Linux. Il détecte automatiquement les paquets nécessitant une mise à jour, classe les correctifs par criticité (sécurité, bug-fix, feature) et permet de déclencher les MAJ depuis une interface web centralisée.
Contrairement à un [[app-uptime-kuma]] qui vérifie que vos services *tournent*, PatchMon vérifie qu'ils sont *à jour*. C'est un pilier de la **compliance CVE** et de l'hygiène système pour les admins qui gèrent plusieurs serveurs.
-**Agents légers** (Go) pour Linux : Debian, Ubuntu, RHEL, CentOS, Fedora, Rocky, Alma
-**Dashboard centralisé** : état des patches par hôte, par groupe, par criticité
-**Catégorisation** : MAJ de sécurité / bug-fix / feature
-**Notifications** : Discord, Slack, email, webhook
-**Détection CVE** corrélée aux paquets installés
-**API REST** pour intégration Ansible, Puppet, etc.
-**Mode multi-tenant** : gérez plusieurs organisations
-**Authentification** : utilisateurs locaux + OIDC / SAML
-**Historique** : traçabilité complète des MAJ appliquées
-**Schedules** : planification de fenêtres de maintenance
-**Groupes d'hôtes** : par environnement (prod / staging / dev)
**Public cible** : **admins sys, MSP, équipes DevOps** qui gèrent ≥ 5 serveurs Linux et veulent arrêter de faire `apt update` à la main sur 30 machines.
### Comparaison rapide
| Outil | Cible | Différence |
| :--- | :--- | :--- |
| **PatchMon** | Patchs OS | Simple, rapide, focus MAJ |
| [[app-netdata]] | Métriques runtime | Ne fait pas le suivi des patches |
| **Canonical Landscape** | Ubuntu uniquement | Propriétaire, lourd |
| **Spacewalk / Foreman** | Provisioning complet | Beaucoup plus complexe |
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
patchmon:
image: patchmon/patchmon:latest
container_name: patchmon
restart: unless-stopped
ports:
- "3000:3000" # Web UI
environment:
- DB_HOST=patchmon-db
- DB_USER=patchmon
- DB_PASSWORD=change_me_strong_pwd
- DB_NAME=patchmon
- JWT_SECRET=change_me_jwt_secret
- TZ=Europe/Paris
depends_on:
- patchmon-db
volumes:
- patchmon-data:/app/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.patchmon.rule=Host(`patchmon.example.com`)"
- "traefik.http.routers.patchmon.entrypoints=websecure"
- "traefik.http.routers.patchmon.tls.certresolver=letsencrypt"
patchmon-db:
image: postgres:16-alpine
container_name: patchmon-db
restart: unless-stopped
environment:
- POSTGRES_USER=patchmon
- POSTGRES_PASSWORD=change_me_strong_pwd
- POSTGRES_DB=patchmon
volumes:
- patchmon-db:/var/lib/postgresql/data
patchmon-agent:
image: patchmon/agent:latest
container_name: patchmon-agent
restart: unless-stopped
environment:
- PATCHMON_SERVER=http://patchmon:3000
- PATCHMON_API_KEY=will_be_set_after_agent_registration
volumes:
- /etc:/host/etc:ro
- /var/lib/dpkg:/host/var/lib/dpkg:ro
- /var/lib/rpm:/host/var/lib/rpm:ro
volumes:
patchmon-data:
patchmon-db:
```
> 💡 L'agent peut aussi être installé **nativement** sur les hôtes (binaire Go, paquet .deb/.rpm) au lieu d'un conteneur side-car.
### Option 2 : Binaire natif (agent)
```bash
curl -L -o patchmon-agent https://github.com/PatchMon/PatchMon/releases/latest/download/patchmon-agent-linux-amd64
chmod +x patchmon-agent
sudo ./patchmon-agent install --server https://patchmon.example.com --api-key YOUR_KEY
```
## ⚙️ Configuration Initiale
1. **Accéder à l'UI** : `https://patchmon.example.com` — créer le compte admin
2. **Déployer l'agent** : sur chaque hôte Linux, lancer l'agent et noter la **clé d'API**
3. **Enregistrer l'hôte** dans PatchMon : Settings > Hosts > Add (saisir la clé API)
4. **Activer les notifications** : Settings > Notifications > Discord/Slack/Email
5. **Créer des groupes** : par environnement (prod-staging-dev) ou par criticité
6. **Définir une politique de MAJ** : auto-appliquer les patchs de sécurité hors heures ouvrées, valider manuellement les MAJ majeures
## 🔄 Alternatives
### Open Source
- **Foreman / Katello** — Provisioning + patchs (très lourd)
- **Spacewalk** — Red Hat only, vieillissant
- **Canonical Landscape** — Ubuntu uniquement, propriétaire
- **Wazuh** — SIEM qui inclut du suivi patchs (beaucoup plus large)
- [[app-uptime-kuma]] — uptime, pas patchs (complémentaire)
### Propriétaires (ce que PatchMon remplace)
- **ManageEngine Patch Manager Plus**
- **Ivanti Patch Management**
- **Qualys VMDR** (module patching)
- **Tanium Patch**
### Comparaison
| Critère | PatchMon | Landscape | Wazuh |
| :--- | :--- | :--- | :--- |
| Self-hosted | ✅ | ❌ (commercial) | ✅ |
| Prix | Gratuit | Payant | Gratuit |
| Multi-distro | ✅ | ❌ (Ubuntu) | ✅ |
| Déclenchement MAJ | ✅ Web | ✅ | ❌ |
| SIEM intégré | ❌ | ❌ | ✅ |
| Complexité | Basse | Moyenne | Haute |
**Verdict** : PatchMon est **le choix évident** pour qui veut un suivi patchs Linux léger, moderne et gratuit. Wazuh reste préférable si vous voulez en plus un SIEM complet.
## 🔐 Sécurité
- **Auth locale + OIDC/SAML** pour l'UI web
- **Communication agent ↔ serveur** chiffrée (HTTPS)
- **HTTPS recommandé** via [[app-traefik]] avec Let's Encrypt
- **Tokens d'API** révocables individuellement
- **RBAC** : rôles admin / opérateur / lecteur
## 📚 Ressources
- [GitHub PatchMon/PatchMon](https://github.com/PatchMon/PatchMon)
- [Site officiel](https://patchmon.io)
- [Documentation](https://docs.patchmon.io)
## Pages Liées
- [[cat-monitoring]] — Catégorie Monitoring
- [[app-uptime-kuma]] — Monitoring d'uptime (complémentaire)
- [[app-traefik]] — Pour exposer en HTTPS
- [[checklist-monitoring-minimal]] — Checklist
- [[observabilite]] — Vue d'ensemble