Comment automatiser les mises à jour de sécurité avec Unattended-Upgrades sur Debian et Ubuntu
Configurez l'application automatique et silencieuse des correctifs de sécurité critiques sur votre système Linux tout en gérant le nettoyage des dépendances obsolètes.
1. مقدمة
L'application des correctifs de vulnérabilités (CVE) est indispensable pour maintenir l'intégrité d'une machine exposée sur un réseau.
Appliquer manuellement les correctifs chaque jour est une tâche répétitive et contraignante.
Le paquet unattended-upgrades permet d'automatiser le téléchargement et l'installation des mises à jour provenant uniquement des dépôts de sécurité officiels. Cela garantit un système corrigé en continu sans risquer les ruptures de compatibilité liées aux montées de versions logicielles majeures.
المتطلبات الأساسية والأهداف
- Une distribution Linux basée sur Debian ou Ubuntu.
- Un compte avec les privilèges sudo.
2. التثبيت والإعداد
1. Installation des paquets requis
Installez l'utilitaire unattended-upgrades ainsi que apt-listchanges (qui permet de suivre les modifications apportées aux paquets) :
sudo apt update && sudo apt install -y unattended-upgrades apt-listchanges2. Activation du service automatique
Lancez l'assistant de configuration du service :
sudo dpkg-reconfigure -plow unattended-upgradesSélectionnez Oui (ou Yes) à l'aide des flèches du clavier puis appuyez sur Entrée pour valider l'activation en arrière-plan.
3. Configuration du nettoyage automatique
Ouvrez le fichier principal de règles de mises à jour :
sudo nano /etc/apt/apt.conf.d/50unattended-upgradesPour éviter de saturer l'espace disque de la partition système avec d'anciens noyaux ou des paquets obsolètes, activez les options suivantes (en retirant les // si elles sont commentées) :
Remove-Unused-Kernel-Packages : supprime les anciens paquets de noyaux Linux inutilisés.
Remove-New-Unused-Dependencies : nettoie les nouvelles dépendances devenues orphelines.
Remove-Unused-Dependencies: équivalent à unapt autoremoveautomatique.
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";Enregistrez les modifications avec Ctrl + S, puis quittez l'éditeur avec Ctrl + X.
4. Définition de la périodicité d'exécution
Configurez la fréquence de vérification quotidienne et de nettoyage du cache APT :
sudo nano /etc/apt/apt.conf.d/20auto-upgradesRenseignez les directives suivantes (la valeur "1" signifie une exécution quotidienne, "7" indique un nettoyage du cache tous les 7 jours) :
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";3. التحقق وأفضل الممارسات
1. Tester la configuration (Mode simulation)
Exécutez un test à blanc sans appliquer de modifications pour valider la syntaxe des fichiers :
sudo unattended-upgrades --dry-run --debug2. Vérifier si un redémarrage est nécessaire
Certains correctifs critiques (comme les mises à jour du noyau Linux) nécessitent un redémarrage pour être pris en compte. Vérifiez l'état du système avec cette commande :
[ -f /var/run/reboot-required ] && echo "⚠️ REBOOT REQUIS" || echo "✅ Tout est OK, pas besoin de reboot"3. Consulter les journaux d'activité (Logs)
Affichez l'historique complet des paquets et correctifs installés par le service :
cat /var/log/unattended-upgrades/unattended-upgrades.logNe configurez pas de dépôts tiers non officiels (PPA non maintenus, dépôts de développement) dans unattended-upgrades pour éviter l'installation inattendue de paquets instables.