System
Difficulte: Beginner
4 min de lecture

Mises à jour automatiques avec unattended-upgrades

Tutoriel pour configurer unattended-upgrades et apt-listchanges sur Debian/Ubuntu pour automatiser les mises à jour de sécurité et recevoir des notifications.

Retour aux tutoriels
À quoi servent ces outils ?
unattended-upgrades est un script qui installe automatiquement les mises à jour de sécurité (et autres, si configuré) sur un système Debian/Ubuntu. Il permet de maintenir un serveur à jour sans intervention manuelle. apt-listchanges s\'intègre à apt pour afficher les nouveautés ou les changements importants d\'un paquet avant son installation.

Pourquoi les utiliser ensemble ?

L\'automatisation des mises à jour de sécurité est une bonne pratique fondamentale. Cependant, certaines mises à jour peuvent introduire des changements de comportement non désirés. La combinaison des deux outils offre le meilleur des deux mondes :

  • Votre système reçoit les correctifs de sécurité automatiquement.
  • Vous êtes notifié par email si une de ces mises à jour contient des changements importants, vous permettant de vérifier que tout fonctionne comme prévu.

Prérequis

  • Un système Debian ou Ubuntu.
  • Accès root ou privilèges sudo.
  • Un agent de transport de mail (MTA) fonctionnel (comme msmtp ou postfix) pour recevoir les notifications.

Installation

sudo apt-get update
sudo apt-get install unattended-upgrades apt-listchanges

Configuration

Étape 1 : Activer les mises à jour automatiques

Lancez l\'outil de reconfiguration de unattended-upgrades. C\'est la méthode la plus simple pour créer le fichier de configuration initial.

sudo dpkg-reconfigure -plow unattended-upgrades

Une interface en ncurses s\'ouvrira. Répondez "Oui" à la question "Télécharger et installer automatiquement les mises à jour stables ?". Cela créera le fichier /etc/apt/apt.conf.d/20auto-upgrades.

Étape 2 : Personnaliser le comportement

Le fichier de configuration principal est /etc/apt/apt.conf.d/50unattended-upgrades. Ouvrez-le pour l\'éditer.

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Voici les sections les plus importantes :

// Décommentez les lignes des dépôts que vous voulez mettre à jour automatiquement.
// Par défaut, seul "security" est activé, ce qui est le choix le plus sûr.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
        //"${distro_id}:${distro_codename}-updates";
        //"${distro_id}:${distro_codename}-proposed";
        //"${distro_id}:${distro_codename}-backports";
};

// Mettre sur liste noire des paquets que vous ne voulez JAMAIS mettre à jour automatiquement.
Unattended-Upgrade::Package-Blacklist {
    // "vim";
    // "libc6";
};

// Décommentez pour recevoir un email en cas de problème ou de mise à jour.
Unattended-Upgrade::Mail "[email protected]";

// Décommentez pour être notifié uniquement en cas d\'erreur.
//Unattended-Upgrade::MailOnlyOnError "true";

// Décommentez pour supprimer automatiquement les dépendances inutiles.
Unattended-Upgrade::Remove-Unused-Dependencies "true";

// Décommentez et mettez à "true" pour autoriser le redémarrage automatique si nécessaire
// (dangereux sur un serveur de production !).
//Unattended-Upgrade::Automatic-Reboot "false";

Étape 3 : Configurer apt-listchanges

Configurez apt-listchanges pour qu\'il vous envoie des emails au lieu de vous interrompre en ligne de commande.

sudo dpkg-reconfigure apt-listchanges
  • Quel type de modifications doit être affiché ? `news` est un bon choix.
  • Voulez-vous que apt-listchanges vous pose des questions ? `non`.
  • De quelle manière apt-listchanges doit-il s\'afficher ? `mail`.
  • Adresse de courriel où envoyer les messages : Entrez votre adresse.

Tester et vérifier

Tester la configuration

Vous pouvez faire une simulation pour voir ce que unattended-upgrades ferait.

sudo unattended-upgrade --dry-run --debug

Cette commande ne modifiera rien mais vous montrera les paquets qui seraient mis à jour.

Vérifier les logs

Les logs des exécutions se trouvent dans /var/log/unattended-upgrades/. C\'est là que vous devez regarder si vous suspectez un problème.

ls -l /var/log/unattended-upgrades/
Redémarrage automatique
L\'option `Automatic-Reboot` est très pratique pour les postes de travail, mais peut causer des interruptions de service sur un serveur. Ne l\'activez qu\'en connaissance de cause. Il est souvent préférable de recevoir une notification et de planifier le redémarrage manuellement. L\'outil `needrestart` peut vous aider à savoir si un redémarrage est nécessaire.

Conclusion

La mise en place de unattended-upgrades est une mesure de sécurité fondamentale pour tout serveur Debian ou Ubuntu. Elle garantit que les failles de sécurité critiques sont corrigées rapidement, sans que vous ayez à intervenir manuellement tous les jours. En le combinant avec apt-listchanges, vous gardez un œil sur les modifications importantes, ce qui vous permet d\'intervenir uniquement lorsque c\'est nécessaire.