GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer les mises à jour automatiques du noyau sans redémarrage sur le serveur Linux

Patcher le noyau sur un serveur Linux semble simple. Cela peut être fait à l'aide d'outils courants tels que dpkg, apt-get ou kexec. Cependant, ces méthodes deviennent compliquées si une organisation exploite des centaines ou des milliers de serveurs. De nombreux serveurs impliquent plusieurs distributions à corriger, chacune nécessitant l'attention personnelle d'un administrateur système ou d'un ingénieur.

Ces méthodes de correction manuelle sont également risquées dans la mesure où elles nécessitent des redémarrages. Les redémarrages impliquent des temps d'arrêt du serveur, ce qui est toujours problématique, ils sont donc généralement effectués dans des cycles de redémarrage. Étant donné que les correctifs manuels sont effectués au cours de ces cycles, ils offrent aux pirates une « fenêtre temporelle » dans laquelle ils peuvent attaquer l'infrastructure du serveur.

Pour les organisations qui exécutent plusieurs serveurs, l'application de correctifs en direct est une meilleure option. C'est un moyen automatisé de patcher un noyau Linux pendant que le serveur est en cours d'exécution, ce qui lui permet d'être à la fois plus efficace et plus sécurisé que les méthodes manuelles. Apprenons à configurer quatre des systèmes de correctifs en direct les plus populaires de Canonical, Oracle, Red Hat et CloudLinux.

Qu'est-ce que le patch en direct et comment ça marche

En fin de compte, il existe deux méthodes de correctifs en direct pour les noyaux et les bibliothèques :temporaire et persistante. La méthode temporaire applique un correctif sans redémarrage, mais nécessite en fait un redémarrage ultérieur du serveur. Les correctifs en direct persistants ne nécessitent aucun redémarrage.

La méthode temporaire

La méthode temporaire (ou correctif "stack") est exécutée avec un logiciel de gestion de packages (tel que le plugin YUM). Les correctifs sont livrés aux référentiels et appliqués selon les workflows de mise à jour spécifiés par l'utilisateur.

Le correctif "Stack" équivaut à des redémarrages et des temps d'arrêt du serveur, même si vous n'avez peut-être pas besoin d'un redémarrage juste après avoir installé le correctif, mais en raison de l'architecture de ce type de mises à jour en direct, les correctifs de sécurité s'empilent les uns sur les autres au fil du temps, diminution potentielle des performances et de la stabilité. La seule solution à ce problème est de redémarrer le serveur pour charger un nouveau noyau en mémoire.

Les fournisseurs proposant des correctifs temporaires sont :

  • Livepatch canonique
  • kGraph
  • Correction en direct du noyau Amazon Linux 2 

La méthode persistante

Dans le cas d'une méthode persistante, un serveur stocke les derniers correctifs et ces correctifs sont dits « monolithiques » car ils contiennent des correctifs antérieurs. Pour mettre à jour les serveurs, un programme agent s'exécute en arrière-plan, vérifiant le serveur de correctifs pour les correctifs. S'il existe un correctif pour un noyau sur le serveur de correctifs, l'agent appelle le module de correctifs et applique le correctif.

Les correctifs persistants présentent d'autres avantages importants : 

  • Les serveurs utilisant la méthode persistante restent opérationnels même avec des vulnérabilités matérielles qui nécessitent généralement des redémarrages pour corriger, telles que Spectre, Meltdown et Zombieload ;
  • Il réduit le temps et les efforts nécessaires pour administrer les serveurs grâce à l'automatisation complète du processus de correction ;
  • Il permet aux serveurs de rester opérationnels, souvent pendant des années d'affilée.

La méthode de correction persistante implique généralement des frais de fournisseur, avec des périodes d'essai gratuites disponibles auprès de la plupart des fournisseurs :

  • Ksplice
  • Kpatch
  • KernelCare

Configurer les mises à jour automatiques du noyau sans redémarrage sur le serveur Linux

Ci-dessous, nous vous montrerons comment configurer les mises à jour du noyau sans redémarrage sur le serveur Linux à l'aide des services Livepatch, Kpatch, Ksplice et KernelCare.

Remarque :Avant de commencer à mettre en œuvre ces instructions, assurez-vous que votre système est à jour et sauvegardé.

1. Configuration de Livepatch canonique

Le service Canonical Livepatch peut être configuré pendant ou après l'installation. Il installera les correctifs de sécurité du noyau uniquement lorsque vous exécuterez la commande apt-get upgrade (par conséquent, semi-automatique).

Avantages : Simple. Semi-automatique. Aucun redémarrage nécessaire.

Inconvénients : Cher pour 4 hôtes ou plus (mais gratuit jusqu'à 3 hôtes pour tous et jusqu'à 50 machines si vous êtes membre de la communauté Ubuntu). Pas de restauration de patch.

Frais, par serveur : Mensuel (non disponible), annuel (225 $).

Pour installer Livepatch sur Ubuntu 20.04 LTS Server (fonctionne également sur les versions 16.04 LTS, 14.04 LTS et 18.04 LTS), ouvrez un terminal et exécutez ces deux commandes : 

sudo snap install canonical-livepatch
sudo canonical-livepatch enable <your key>

Pour annuler l'enregistrement d'un serveur, utilisez cette commande : 

sudo canonical-livepatch disable <your key>

Pour vérifier l'état du service, utilisez cette commande : 

sudo canonical-livepatch status --verbose

2. Configuration d'Oracle Ksplice

À moins que vous n'exécutiez une instance de Ksplice dans Oracle Cloud, vous aurez besoin d'une clé d'accès pour l'installer. Ceci peut être obtenu en vous connectant au réseau Linux incassable et en suivant les instructions pour enregistrer votre système pour Ksplice.

Pour installer Ksplice, votre système doit avoir accès à Internet. Si vous utilisez un proxy, définissez le proxy dans votre shell :

# export http_proxy=http://proxy.example.com:port
# export https_proxy=http://proxy.example.com:port

Le proxy doit prendre en charge les connexions HTTPS et la chaîne de proxy doit être au format suivant :

[protocol://][username:[email protected]]<host>[:port]
  • protocol est le protocole pour se connecter au proxy (http ou https)
  • le nom d'utilisateur et le mot de passe sont les informations d'authentification nécessaires pour utiliser votre proxy (le cas échéant).
  • hôte et port sont le nom d'hôte/l'adresse IP et le numéro de port utilisés pour se connecter au proxy

Exécutez les instructions suivantes en tant que root, en remplaçant YOUR_ACCESS_KEY par la clé d'accès que vous avez reçue à l'étape précédente.

Dans le Cloud Oracle

Pour installer Ksplice dans Oracle Cloud afin que les mises à jour du noyau soient installées automatiquement, exécutez ces commandes : 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
# sh install-uptrack-oc --autoinstall

Pour appliquer les mises à jour disponibles à Uptrack, l'application qui installe automatiquement les mises à jour du noyau, exécutez cette commande :

# uptrack-upgrade -y

Si vous avez déjà installé Uptrack, vous pouvez l'activer en définissant autoinstall =yes dans /etc/uptrack/uptrack.conf après l'installation de Ksplice.

Pour installer Ksplice afin que les mises à jour soient appliquées manuellement, exécutez ces commandes : 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
# sh install-uptrack-oc

En dehors d'Oracle Cloud

Pour installer Ksplice en dehors d'Oracle Cloud afin que les mises à jour du noyau soient installées automatiquement, exécutez ces commandes : 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY --autoinstall

Pour installer Ksplice afin que les mises à jour soient appliquées manuellement, exécutez ces commandes : 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY

Remarque :Si vous installez Ksplice sur un serveur Debian ou Ubuntu, vous devrez peut-être d'abord installer le ca-certificates paquet avec apt-get install ca-certificats. Sans ce package, vous verrez une "erreur de vérification de certificat".

4. Configuration de Red Hat Kpatch

L'installation de Kpatch est simple et directe :

Exécutez la commande de mise à jour pour mettre à jour les référentiels de packages et obtenir les dernières informations sur les packages :

sudo apt-get update -y

Exécutez la commande install avec l'indicateur -y pour installer rapidement les packages et les dépendances :

sudo apt-get install -y patch

5. Configuration de CloudLinux KernelCare

Pour voir si le noyau en cours d'exécution est pris en charge par KernelCare, exécutez l'une de ces commandes :

curl -s -L https://kernelcare.com/checker | python

ou

wget -qq -O – https://kernelcare.com/checker | python

Pour installer KernelCare, exécutez l'une de ces commandes :

curl -s -L https://kernelcare.com/installer | bash

ou :

wget -qq -O - https://kernelcare.com/installer | bash

Si vous utilisez une licence basée sur IP, rien d'autre n'est requis. Si vous utilisez une licence basée sur une clé, exécutez cette commande :

$ /usr/bin/kcarectl --register KEY

KEY est la chaîne de code d'enregistrement que vous avez reçue lorsque vous avez acheté KernelCare ou vous êtes inscrit pour un essai gratuit. Vous pouvez obtenir une clé ici.

Pour annuler l'enregistrement d'un serveur, exécutez :

sudo kcarectl --unregister

Pour vérifier l'état du service, exécutez :

sudo kcarectl --info

KernelCare recherche automatiquement de nouveaux correctifs toutes les 4 heures. Pour effectuer les mises à jour manuellement plutôt qu'automatiquement, exécutez :

/usr/bin/kcarectl –update

Conclusion

Ces instructions d'installation pour plusieurs solutions de correctifs en direct répertorient toutes les étapes nécessaires pour en installer une dans votre environnement. Une fois cela fait, vous profiterez des avantages de la technologie de correctifs en direct :pouvoir mettre à jour le noyau sans arrêter le serveur, sans redémarrages ultérieurs nécessaires pendant des mois, voire des années.

 


Linux
  1. Comment configurer les mises à jour automatiques sur Debian

  2. Comment mettre à niveau le noyau sur Linux Desktop

  3. Comment configurer un serveur SFTP sur Arch Linux

  4. Comment configurer le serveur et le client NFS sur Rocky/Alma Linux 8

  5. Comment configurer VSFTPD sur CentOS 8

Comment configurer le serveur VPN Pritunl sur Rocky Linux 8

Comment définir ou modifier le nom d'hôte sous Linux

Comment configurer les mises à jour automatiques du noyau sous Linux

Comment configurer un serveur TeamSpeak sur CentOS 7

Comment configurer un démon Rsync sur votre serveur Linux

Comment configurer un pare-feu sur votre serveur Linux