Configurer les mises à jour de sécurité automatiques sur Ubuntu 16.04

Important: appliquez les mises à jour de sécurité dans les 30 jours suivant leur publication et testez toute modification dans un environnement staging avant production.
Objectif principal et variantes de recherche
- Objectif principal : automatiser les mises à jour de sécurité sur Ubuntu 16.04
- Variantes pertinentes : mises à jour automatiques Ubuntu, unattended-upgrades Ubuntu, configuration apt auto-updates, notifications par e‑mail pour mises à jour, reboot automatique après mise à jour
Ce que nous allons faire
- Installer unattended-upgrades sur Ubuntu 16.04
- Configurer unattended-upgrades (origines, blacklist, options avancées)
- Activer les mises à jour automatiques périodiques
- Vérifier les paquets mis à jour et les notifications
Prérequis
- Ubuntu 16.04 Server (ou environnement compatible)
- Accès root ou sudo
- Connexion SSH pour effectuer les opérations
Étape 1 — Installer unattended-upgrades sur Ubuntu 16.04
Connectez-vous au serveur en SSH :
ssh root@hakase-labs
Mettez à jour les informations de paquet et installez le paquet unattended-upgrades :
sudo apt update
sudo apt install unattended-upgrades
Après installation, la configuration se trouve dans le répertoire /etc/apt/apt.conf.d. Nous allons modifier le fichier principal 50unattended-upgrades.
Étape 2 — Configurer unattended-upgrades
Le dossier /etc/apt/apt.conf.d contient la plupart des fichiers de configuration relatifs à apt. Éditez le fichier 50unattended-upgrades :
cd /etc/apt/apt.conf.d/
vim 50unattended-upgrades
Définir le type de mise à jour
unattended-upgrades permet de restreindre les mises à jour aux origines souhaitées. Pour n’installer que les correctifs de sécurité sur Ubuntu 16.04, laissez uniquement la ligne sécurité dans le bloc Allowed-Origins. Exemple :
Unattended-Upgrade::Allowed-Origins {
// "${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
// "${distro_id}ESM:${distro_codename}";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
Blacklist de paquets
Si certains paquets ne doivent jamais être mis à jour automatiquement (par exemple pour des contraintes applicatives), ajoutez-les à la blacklist :
Unattended-Upgrade::Package-Blacklist {
"vim";
"mysql-server";
"mysql-client";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
Notez : la blacklist empêche uniquement unattended-upgrades de mettre à jour ces paquets. Si vous appliquez manuellement apt upgrade, les paquets blacklistés peuvent être mis à jour.
Options additionnelles utiles
Activez les fonctionnalités suivantes selon vos besoins : notification e‑mail, suppression automatique des dépendances inutiles, redémarrage automatique si nécessaire, et planification de l’heure du redémarrage.
Pour envoyer un e‑mail après chaque exécution, décommentez et ajustez :
Unattended-Upgrade::Mail "root";
Assurez-vous qu’un agent d’envoi de mail est installé (ex. sendmail, mailx). Exemple d’installation :
sudo apt install -y sendmail
Pour supprimer automatiquement les dépendances inutiles :
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Pour redémarrer automatiquement si un redémarrage est nécessaire après mise à jour :
Unattended-Upgrade::Automatic-Reboot "true";
Vous pouvez choisir l’heure du redémarrage :
Unattended-Upgrade::Automatic-Reboot-Time "00:00";
Changez l’heure au format 24h selon vos fenêtres de maintenance.
Après avoir ajusté ces options, enregistrez et quittez l’éditeur.
Étape 3 — Activer les mises à jour automatiques périodiques
Éditez le fichier 20auto-upgrades pour définir la périodicité des actions apt :
cd /etc/apt/apt.conf.d/
vim 20auto-upgrades
Exemple de configuration minimale pour activer les mises à jour automatiques :
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "3";
APT::Periodic::Unattended-Upgrade "1";
Explications rapides :
- Update-Package-Lists: 1 active la mise à jour de la liste des paquets (0 désactive).
- Download-Upgradeable-Packages: 1 active le téléchargement des paquets téléchargeables.
- AutocleanInterval: nombre de jours entre nettoyages automatiques (ici 3 jours).
- Unattended-Upgrade: 1 active l’exécution d’unattended-upgrades.
En pratique, avec ces valeurs, le système vérifiera quotidiennement les mises à jour, téléchargera les paquets applicables et appliquera les mises à jour de sécurité automatiquement.
Étape 4 — Vérifier les paquets mis à jour
Journaux unattended-upgrades
Les logs sont situés dans /var/log/unattended-upgrades. Pour lister les fichiers :
cd /var/log/unattended-upgrades
ls -lah
Fichiers typiques :
- unattended-upgrades-dpkg.log — actions dpkg (installation, suppression)
- unattended-upgrades.log — rapport d’exécution, paquets mis à jour et erreurs éventuelles
- unattended-upgrades-shutdown.log — journal lié aux opérations de redémarrage
Notification sur la connexion SSH
Lorsque des mises à jour sont en attente ou viennent d’être appliquées, Ubuntu peut afficher une notification lors de la connexion SSH (motd). Exemple avant application :
Et après l’application des mises à jour :
Notification par e‑mail
Si vous avez activé Unattended-Upgrade::Mail, le rapport est envoyé à l’utilisateur indiqué (souvent root). Vérifiez la boîte locale :
cd /var/mail/
cat root
Le message contient la liste des paquets mis à jour, les paquets blacklistés et les éventuelles erreurs.
Vérifier le redémarrage
Pour lister les redémarrages récents :
last reboot
Bonnes pratiques et recommandations
- Testez la configuration sur un environnement de staging avant production.
- Conservez des sauvegardes régulières (snapshots LVM/VM, backups applicatifs et de configuration).
- Ne blacklistez pas des dépendances critiques sans analyse d’impact.
- Configurez des fenêtres de maintenance si vous activez le redémarrage automatique.
- Prévoyez des alertes (monitoring) qui détectent services morts après mise à jour.
Alternatives et approches complémentaires
- apticron : notif par e‑mail des paquets disponibles (ne les applique pas automatiquement).
- cron-apt : ancien outil pour automatiser apt via cron.
- Landscape (Canonical) : solution commerciale pour gestion centralisée des mises à jour.
- Canonical Livepatch Service : corrige les vulnérabilités du noyau sans redémarrage sur certaines versions prises en charge.
Choisissez l’outil selon votre taille d’infrastructure et exigences de conformité.
Playbook d’incident : rollback ou résolution en cas de mise à jour problématique
- Détecter l’incident : alertes monitoring, rapport d’erreur, mails de unattended-upgrades.
- Isolation rapide : restreindre accès réseau si nécessaire.
- Récupérer logs : /var/log/unattended-upgrades/unattended-upgrades-dpkg.log et syslog.
- Si un paquet spécifique casse le service : restaurez la version précédente (si disponible dans le cache) :
# Trouver dans le cache apt
ls -lah /var/cache/apt/archives | grep
# Réinstaller une version spécifique
sudo dpkg -i /var/cache/apt/archives/.deb
- Si rollback impossible, restaurer snapshot VM ou backup applicatif.
- Bloquer le paquet fautif dans la blacklist et corriger la cause.
- Documenter l’incident et améliorer les tests automatisés.
Arbre de décision (Mermaid)
flowchart TD
A[Démarrer: Notification de mise à jour] --> B{La mise à jour est-elle de sécurité ?}
B -- Oui --> C[Appliquer via unattended-upgrades]
B -- Non --> D[Reporter ou appliquer manuellement]
C --> E{Service affecté après install ?}
E -- Non --> F[Fin: tout OK]
E -- Oui --> G[Tracer logs et alerter]
G --> H{Rollback possible via cache/snapshot ?}
H -- Oui --> I[Restaurer et bloquer le paquet]
H -- Non --> J[Restaurer snapshot / restaurer backup]
I --> K[Documenter et fermer l'incident]
J --> K
Checklists par rôle
Administrateur système (avant activation) :
- Sauvegarde complète (snapshot/backup) disponible
- Environnement de staging prêt pour tests
- Plan de maintenance et fenêtres convenues
- Procédure de rollback documentée
Opérateur / Support 1st line :
- Surveiller les e‑mails root pour rapports d’exécution
- Consulter /var/log/unattended-upgrades en cas d’alerte
- Vérifier l’état des services critiques après mise à jour
Responsable sécurité :
- Définir politique de mise à jour (sécurité uniquement ou plus)
- Valider blacklist ou exceptions
- S’assurer de la rétention des logs pour audits
Critères d’acceptation
- unattended-upgrades est installé et actif
- Les logs dans /var/log/unattended-upgrades montrent des exécutions régulières
- Les e‑mails de notification (si activés) sont reçus et lisibles
- Les services critiques redémarrent correctement après mise à jour ou sont planifiés pour redémarrage
Matrice de risques et mesures d’atténuation
- Risque : mise à jour casse un service critique
- Atténuation : snapshots, tests staging, blacklist sélective
- Risque : reboot automatique en dehors fenêtre de maintenance
- Atténuation : définir Automatic-Reboot-Time et notifications préalables
- Risque : perte de notifications par e‑mail
- Atténuation : vérifier l’agent mail local, redirection vers une boîte supervisée
Tests et scénarios d’acceptation
- Simuler une mise à jour de sécurité sur staging et vérifier que le service restaure son état.
- Forcer l’installation d’un paquet blacklisté et vérifier qu’unattended-upgrades ne l’applique pas.
- Vérifier que les logs contiennent des entrées d’exécution quotidiennes.
- Tester l’envoi d’email en exécutant manuellement unattended-upgrades –debug.
Compatibilité et migration
- Ubuntu 16.04 est une version plus ancienne ; si vous migrez vers 18.04 ou 20.04, vérifiez les changements de comportement d’unattended-upgrades et la disponibilité d’ESM (Extended Security Maintenance).
- Pour des environnements critiques, privilégiez versions LTS plus récentes ou services supportés commercialement.
Sécurité et confidentialité
- Unattended-upgrades télécharge et installe des paquets signés par les dépôts configurés. Ne configurez pas d’origines non sûres.
- Les notifications e‑mail locales peuvent contenir des noms de paquets et chemins ; protégez l’accès à /var/mail et aux logs.
Mini-méthodologie pour déployer en production
- Préparer staging identique à la prod
- Appliquer configuration unattended-upgrades sur staging
- Exécuter plusieurs cycles, vérifier logs, tests d’application
- Valider la procédure de rollback
- Déployer en production hors fenêtre critique
- Surveiller pendant 72 heures et itérer
Glossaire (1 ligne)
- unattended-upgrades : paquet Debian/Ubuntu automatisant l’installation de mises à jour.
Résumé
- unattended-upgrades permet d’appliquer automatiquement les mises à jour de sécurité sur Ubuntu 16.04.
- Configurez Allowed-Origins pour restreindre aux correctifs de sécurité, utilisez la blacklist pour exclure certains paquets, activez les notifications et le reboot automatique si nécessaire.
- Testez en staging, conservez des snapshots et documentez la procédure de rollback.
Références
Matériaux similaires

Accélérer le démarrage macOS avec DelayedLauncher

Compte invité sur Mac — guide pratique

Télécharger images depuis Google Docs — 6 méthodes

Chrome ne s'ouvre pas sous Windows — solutions

Récupérer l'icône Paramètres du menu Démarrer
