GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Configurer la mise à jour automatique de la sécurité (mises à niveau sans surveillance) sur Ubuntu

Ce didacticiel va vous montrer comment configurer une mise à jour de sécurité automatique, c'est-à-dire des mises à niveau sans surveillance, sur Ubuntu. Si vous ne vivez pas sous une grotte, vous connaissez probablement la violation massive de données d'Equifax. 143 millions d'informations sur les clients d'Equifax, y compris le nom, le numéro de sécurité sociale, la date de naissance, le permis de conduire, 200 000 numéros de carte de crédit, ont été volées entre mai et juillet 2017.

En mars 2017, une vulnérabilité critique dans Apache Structs a été découverte et la fondation Apache a publié un correctif lorsqu'elle a annoncé l'existence de la vulnérabilité. Cependant, Equifax n'a pas corrigé la vulnérabilité pendant deux mois, ce qui a entraîné une violation massive des données. Les entreprises exécutant des applications complexes peuvent avoir besoin d'effectuer des tests approfondis avant d'installer les mises à jour, mais si vous disposez d'un simple serveur Linux pour un usage personnel, vous pouvez activer la mise à jour de sécurité automatique pour corriger les vulnérabilités dès que possible.

Configurer la mise à jour de sécurité automatique (mises à niveau sans surveillance) sur le serveur Ubuntu

Tout d'abord, installez les unattended-upgrades paquet.

sudo apt update

sudo apt install unattended-upgrades

Vous devez installer le update-notifier-common package afin de configurer le redémarrage automatique.

sudo apt install update-notifier-common

Modifiez ensuite les 50unattended-upgrades fichier.

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

Dans ce fichier, vous pouvez configurer les packages qui doivent être automatiquement mis à jour. Par défaut, seules les mises à jour de sécurité seront automatiquement installées, comme indiqué par les lignes suivantes. Il n'est donc pas nécessaire de modifier cette section.

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}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

  • La première origine "${distro_id}:${distro_codename}" est nécessaire, car les mises à jour de sécurité peuvent extraire de nouvelles dépendances à partir de sources non liées à la sécurité. Cette origine ne fournit pas de mises à jour logicielles.
  • La deuxième origine concerne les mises à jour de sécurité régulières.
  • Les troisième et quatrième origines (ESMApps et ESM) sont destinées à la maintenance de sécurité étendue, c'est-à-dire pour ceux qui exécutent une version d'Ubuntu en fin de vie. Vous pouvez le laisser tel quel.

Notification par e-mail

Parfois, Ubuntu peut échouer à installer les mises à jour de sécurité, une mise à jour manuelle est donc nécessaire. Si vous souhaitez recevoir des notifications par e-mail après chaque mise à jour de sécurité, recherchez la ligne suivante et décommentez-la. (Supprimez les doubles barres obliques au début.)

Ubuntu 18.04

//Unattended-Upgrade::Mail "root";

Ubuntu 20.04

//Unattended-Upgrade::Mail "";

Vous pouvez spécifier une adresse e-mail pour recevoir des notifications comme ci-dessous.

Unattended-Upgrade::Mail "[email protected]";

Si vous préférez recevoir des notifications par e-mail uniquement en cas d'erreur lors de la mise à jour de sécurité, décommentez la ligne suivante.

Ubuntu 18.04

//Unattended-Upgrade::MailOnlyOnError "true";

Sur Ubuntu 20.04, vous devez trouver la ligne suivante

//Unattended-Upgrade::MailReport "on-change";

Décommentez-le et remplacez-le par

Unattended-Upgrade::MailReport "only-on-error";

Supprimer automatiquement les dépendances inutilisées

Vous devez probablement faire sudo apt autoremove après chaque mise à jour, retrouvez donc la ligne suivante :

//Unattended-Upgrade::Remove-Unused-Dependencies "false";

Décommentez cette ligne et changez false à true .

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Redémarrage automatique

Lorsqu'une mise à jour de sécurité pour le noyau Linux est installée, vous devez redémarrer le serveur Ubuntu afin d'appliquer la mise à jour du noyau. Si le serveur n'est utilisé que par vous ou quelques personnes, l'activation du redémarrage automatique peut être pratique. Trouvez la ligne suivante.

//Unattended-Upgrade::Automatic-Reboot "false";

Décommentez-le et changez false à true pour activer le redémarrage automatique

Unattended-Upgrade::Automatic-Reboot "true";

Vous pouvez également spécifier l'heure à laquelle le redémarrage sera effectué. Par défaut, le redémarrage est effectué immédiatement après l'installation de la mise à jour du noyau. Je l'ai configuré pour redémarrer à 4 heures du matin. Assurez-vous de définir un fuseau horaire correct pour votre serveur.

Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Enregistrez et fermez le fichier.

Si le serveur est utilisé par de nombreux utilisateurs ou nécessite une disponibilité élevée (comme ce blog), vous ne devez pas activer le redémarrage automatique. Au lieu de cela, vous pouvez utiliser Canonical livepatch pour corriger le noyau Linux sans redémarrage.

  • Service LivePatch canonique :patcher le noyau Linux sur Ubuntu sans redémarrage

Activer la mise à jour automatique de la sécurité

Maintenant que la mise à jour de sécurité automatique est configurée, nous devons l'activer en créant les 20auto-upgrades fichier.

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Copiez et collez les deux lignes suivantes dans le fichier.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

  • La première ligne rend apt faire "apt-get update ” automatiquement chaque jour. S'il est réglé sur 2, alors tous les deux jours. (0=désactivé)
  • La deuxième ligne rend apt pour installer automatiquement les mises à jour de sécurité. (1=activé, 0=désactivé)

Enregistrez et fermez le fichier.

Exécuter la mise à niveau sans surveillance à une heure précise

La mise à niveau sans surveillance est exécutée de manière aléatoire entre 00h00 et 7h00, afin d'éviter les pics de charge sur les serveurs miroirs dus au fait que tout le monde exécute des mises à jour en même temps. Vous pouvez exécuter manuellement la mise à niveau sans surveillance avec :

sudo unattended-upgrade -v

Vous pouvez également ajouter cette commande à votre tâche Cron.

sudo crontab -e

Ajoutez la ligne suivante au bas de votre fichier Crontab, afin que la mise à niveau sans surveillance s'exécute tous les jours à 2 heures du matin.

0 2 * * * sudo /usr/bin/unattended-upgrade -v

Configuration du relais SMTP

Afin de recevoir des notifications par e-mail après chaque mise à jour de sécurité, votre serveur doit pouvoir envoyer des e-mails. S'il s'agit de votre serveur de messagerie, il ne vous reste plus qu'à installer le bsd-mailx paquet.

sudo apt install bsd-mailx

S'il ne s'agit pas d'un serveur de messagerie, vous devez configurer un relais SMTP. Nous pouvons installer le serveur SMTP de Postfix, puis relayer les e-mails via des fournisseurs de services de messagerie.

Il existe plusieurs fournisseurs de services de messagerie (ESP) qui peut agir comme hôte relais. Certains facturent des frais minimes, d'autres offrent des quotas gratuits tous les mois. Dans cet article, j'aimerais vous montrer comment utiliser Sendinblue, qui est un fournisseur de services de messagerie qui vous permet d'envoyer gratuitement 300 e-mails par jour.

Créez un compte gratuit sur sendinblue.com. Une fois votre profil utilisateur complété, cliquez sur Transactional onglet, vous obtiendrez vos paramètres SMTP. S'il n'y a pas de paramètres SMTP, vous devez contacter le service client Sendinblue afin d'activer le service de messagerie transactionnelle.

Vous devez maintenant configurer votre serveur SMTP Postfix pour utiliser les paramètres SMTP de Sendinblue.

Installons le serveur SMTP Postfix sur Ubuntu avec la commande suivante.

sudo apt install postfix libsasl2-modules

Lorsque vous voyez le message suivant, appuyez sur la touche Tab et appuyez sur Entrée.

Choisissez ensuite la deuxième option :Internet Site .

Ensuite, définissez le nom de messagerie du système. Par exemple, je saisis mon nom de domaine linuxbabe.com .

Une fois Postfix installé, ouvrez le fichier de configuration principal avec un éditeur de texte en ligne de commande comme Nano.

sudo nano /etc/postfix/main.cf

Trouvez la ligne suivante.

relayhost =

Par défaut, sa valeur est vide. Définissez la valeur de relayhost à [smtp-relay.sendinblue.com]:587 .

relayhost = [smtp-relay.sendinblue.com]:587

Ajoutez ensuite les lignes suivantes à la fin de ce fichier.

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

Enregistrez et fermez le fichier. Créez ensuite le /etc/postfix/sasl_passwd fichier.

sudo nano /etc/postfix/sasl_passwd

Ajoutez l'hôte de relais SMTP et les informations d'identification SMTP à ce fichier comme ci-dessous. Remplacez smtp_username et smtp_password avec votre propre nom d'utilisateur et mot de passe qui sont fournis par SendinBlue. Notez qu'il y a deux-points entre le nom d'utilisateur et le mot de passe.

[smtp-relay.sendinblue.com]:587      smtp_username:smtp_passowrd

Enregistrez et fermez le fichier. Créez ensuite le fichier de base de données de hachage correspondant avec postmap .

sudo postmap /etc/postfix/sasl_passwd

Vous devriez maintenant avoir un fichier /etc/postfix/sasl_passwd.db . Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Par défaut, sasl_passwd et sasl_passwd.db Le fichier peut être lu par n'importe quel utilisateur sur le serveur. Modifiez l'autorisation à 600 afin que seul root puisse lire et écrire dans ces deux fichiers.

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Désormais, Postfix enverra les emails via Sendinblue.

Ajouter des adresses d'expéditeur

Cliquez sur le menu déroulant dans le coin supérieur droit du tableau de bord de votre compte Sendinblue et sélectionnez Expéditeurs et IP pour ajouter votre domaine et l'adresse de l'expéditeur.

Envoi d'e-mails de test

Nous pouvons maintenant envoyer un e-mail de test avec mailx commande comme ci-dessous.

sudo apt install bsd-mailx

echo "this is a test email." | mailx -r from-address -s hello to-address

Si les configurations SMTP sont correctes, vous recevrez un e-mail.

L'e-mail ne s'envoie pas ?

Vous pouvez consulter le journal des e-mails (/var/log/mail.log ) pour déboguer pourquoi l'e-mail n'est pas envoyé.

Si vous enveloppez l'hôte de relais avec des crochets dans /etc/postfix/main.cf fichier.

relayhost = [smtp-relay.sendinblue.com]:587

Ensuite, vous devez également envelopper le nom d'hôte dans /etc/postfix/sasl_passwd fichier.

[smtp-relay.sendinblue.com]:587  [email protected]:YourGmailPassword

N'oubliez pas de regénérer le fichier de base de données de hachage.

sudo postmap /etc/postfix/sasl_passwd

Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Désactiver la réception d'e-mails

Par défaut, Postfix est configuré pour accepter le courrier entrant. Vous pouvez configurer Postfix pour n'envoyer que des e-mails, mais n'accepter aucun e-mail entrant. Trouvez la ligne suivante dans /etc/postfix/main.cf fichier.

inet_interfaces = all

Remplacez-le par le texte suivant afin que Postfix n'écoute que sur localhost.

inet_interfaces = loopback-only

Rapport par e-mail

Il existe 3 e-mails possibles envoyés par une mise à niveau sans surveillance :

  • La mise à jour sans assistance a renvoyé : vrai. Cela signifie que les packages ont été installés avec succès.
  • Mise à jour sans assistance renvoyée : Faux. Cela signifie qu'une erreur s'est produite lors de l'installation des mises à jour. Nécessite généralement une intervention humaine. Si vous recevez cet e-mail, vous devez exécuter manuellement sudo apt upgrade .
  • Mise à jour sans assistance renvoyée :aucune. Des mises à jour sont disponibles, mais le système a refusé de les installer.

Journaux

Les journaux se trouvent dans /var/log/unattended-upgrades/ répertoire.

Vérifier le redémarrage

Le checkrestart La commande peut vous aider à déterminer quels processus doivent être redémarrés après une mise à niveau. Il est disponible sur debian-goodies paquet.

sudo apt install debian-goodies

sudo checkrestart

Ubuntu
  1. Mettre à jour Ubuntu 14.04 vers 15.04 ?

  2. Mise à jour automatique?

  3. Mettre à jour Ubuntu 16.04.1 vers 16.04.3 ?

  4. Comment mettre à jour vers Python 2.7 ?

  5. Comment définir le mode nuit automatique dans Ubuntu 20.04 ?

Comment activer les mises à jour de sécurité automatiques sans surveillance sur Ubuntu

Comment désactiver les mises à niveau sans surveillance sur Ubuntu

Configurer Postman sur Ubuntu 20.04

Configurer des mises à jour automatiques sans surveillance pour Ubuntu 20.04

Comment mettre à jour Ubuntu

Comment mettre à jour Filezilla sur Ubuntu ?