GNU/Linux >> Tutoriels Linux >  >> Linux

Historique des correctifs en direct du noyau Linux

L'installation du dernier noyau Linux signifiait autrefois un redémarrage, jusqu'au développement de la «mise à jour du noyau sans redémarrage», une méthode qui corrige les serveurs sans les redémarrer. Alors que la technique a maintenant un peu plus de 10 ans, cet article revient brièvement sur ses origines et son état actuel.

2001–2010 : la piste des brevets

Si vous parcourez les archives de brevets avec des mots clés tels que correctifs à chaud ou mise à jour du système en direct, vous découvrirez de nombreuses demandes et rejets montrant que l'idée de mettre à jour un système informatique sans l'arrêter n'a rien de nouveau. Les dates significatives, retraçant l'idée du général au particulier, sont les suivantes :

  • 2001 :Hewlett Packard brevète une méthode de mise à jour dynamique des logiciels pour contourner les fonctionnalités matérielles manquantes.
  • 2002 : Microsoft entre dans le jeu avec une approche consistant à mettre à jour un système (Windows) sans l'interrompre. (Leur demande initiale est rejetée en raison de l'"état de la technique" de HP.)
  • 2008 :Jeff Arnold annonce Ksplice, un logiciel permettant de mettre à jour (correction) un noyau Linux sans interruption (c'est-à-dire sans redémarrage).
  • 2010 :le brevet de Microsoft est finalement accordé en appel.

Le point intéressant à propos de ceux-ci est qu'ils partagent l'aspiration à rectifier, avec une mise à jour logicielle, un défaut dans le logiciel ou le matériel de base d'un système sans affecter le fonctionnement continu de ce système et sans altérer le matériel. Sonne familier? (Indices :Meltdown, Spectre.)

2009 :la naissance de Rebootless

Jeff Arnold était un étudiant du MIT qui s'occupait de l'un de leurs serveurs. Il avait besoin d'un correctif de sécurité, mais il l'a retardé car un redémarrage gênerait ses utilisateurs. Avant que le système puisse être mis à jour, il a été piraté. La honte et (ironiquement) les inconvénients subis ont inspiré Jeff à trouver le sujet de sa thèse de maîtrise dans le problème d'effectuer une mise à jour du système sans délai et sans le redémarrer. L'histoire est peut-être apocryphe, mais elle nous rappelle que les techniques de live patch sont nées d'un souci non pas de commodité mais de sécurité, et c'est dans ce rôle qu'il faut les apprécier.

Jeff Arnold s'est associé à trois collègues étudiants pour étudier le problème de la mise à jour du noyau d'un serveur Linux, sans délai et sans interrompre les processus du système. La solution est venue sous la forme d'un logiciel appelé Ksplice, dont les bases techniques ont été exposées dans un article académique de 2009. Le titre de l'article incluait le mot sans redémarrage, raccourci désormais familier de Linux pour "mise à jour ininterrompue", mais inventé pour la première fois par Microsoft en 2005 pour s'appliquer aux mises à jour de pilotes Windows.

Après avoir obtenu leur diplôme, Jeff et ses collègues du MIT ont lancé Ksplice Inc. et, en mai 2009, ils ont remporté le prix du concours d'entrepreneuriat de 100 000 $ du MIT. La société a lancé un service commercial en 2010; les choses allaient bien.

2011-2016 :Oracle et la nouvelle vague

Le 21 juillet 2011, Oracle a acquis Ksplice, Inc., intégrant le logiciel dans sa propre marque Linux, elle-même dérivée de Red Hat. Malgré cet héritage, Oracle a cessé de prendre en charge Red Hat. L'acquisition de Ksplice par Oracle a donné le coup d'envoi à une vague d'activité chez d'autres fournisseurs clés de Linux laissés pour compte.

Entre 2011 et 2014, SUSE et Red Hat ont travaillé de manière isolée (et ignorant les objectifs de l'autre) pour publier leurs propres solutions de mise à jour du noyau en direct, ce qu'ils ont fait respectivement dans Kgraft et Kpatch. (Malgré leur légère avance, Kgraft de SUSE n'a été rendu GA (c'est-à-dire adapté aux systèmes de production) qu'en 2016.)

Red Hat a partagé son code Kpatch avec la communauté et l'a intégré en tant que fonctionnalité prise en charge de Red Hat Enterprise Linux.

La différence entre les deux incarnations peut être déduite du message affiché sur la page du projet de la version open-source :

AVERTISSEMENT :À utiliser avec prudence !
Des plantages du noyau, des redémarrages spontanés,
et des pertes de données peuvent survenir !

Tout au long de la même période, et parallèlement aux efforts de SUSE et Red Hat, les bases ABI de base pour la prise en charge des correctifs en direct ont été intégrées dans le code source de la version 4.0 du noyau Linux. L'idée était de prendre les meilleures idées de Kpatch et de Kgraft et... de les patcher et de les greffer dans une approche commune pour la ligne principale. Cela s'appelait livepatch, et en octobre 2016, Canonical a annoncé qu'ils introduisaient leur propre service commercial de mise à jour du noyau basé sur celui-ci, appelé de manière prévisible le service Canonical Livepatch. D'abord disponible uniquement pour Ubuntu 16.04 LTS, il a ensuite été étendu pour couvrir également 14.04 LTS. Dans Ubuntu 18.04 LTS Livepatch est une option d'installation et peut être configuré à partir de l'outil de gestion de logiciel intégré, signe de son importance croissante dans la distribution de logiciels standard.

2014 :nouveau venu sur le bloc

Alors que les principaux fournisseurs s'efforçaient d'être les premiers à lancer des solutions de correctifs en direct viables, CloudLinux, un acteur majeur des systèmes d'exploitation d'hébergement Web basés sur Linux, a lancé KernelCare en mai 2014, après une version bêta réussie en mars.

Ils ont surpris le marché en offrant l'ensemble de fonctionnalités le plus large sur le plus grand nombre de plates-formes Linux, le soutenant avec une solide réputation dans le développement du noyau Linux et le support client. Un autre choc a été l'abordabilité, attrayante pour les hébergeurs de sites Web qui trouvent les coûts par serveur de KernelCare plus gérables et évolutifs que les coûts par site de leur principal concurrent.

Plus récemment, le regroupement de KernelCare avec Imunify360 l'a fait apparaître sur le radar d'un nouvel escadron d'administrateurs système de haut vol soucieux de la sécurité.

Conclusion :Le problème principal en 2019

Alors que le monde évolue vers une sécurité automatisée, vous verrez un logiciel de gestion automatique des correctifs du noyau en direct intégré de plus en plus étroitement dans les distributions Linux populaires. Il n'y a actuellement que cinq fournisseurs distincts sur le marché. Un tableau de comparaison des fonctionnalités répertorie leurs principaux arguments de vente. Dans la section de lecture complémentaire, vous trouverez des sources de documentation et des articles de fond.

Bricoler avec un noyau actif peut être désordonné. Ce n'est pas quelque chose qu'une entreprise, ou toute personne exécutant des serveurs, veut faire confiance à des logiciels non testés et non pris en charge. Lorsqu'elle est faite au nom de la sécurité, c'est l'une des nombreuses applications Linux qui valent la peine d'être payées, l'une des rares qui doivent absolument être bien faites.

En raison de la demande de brevet de Microsoft en 2002, les discussions à l'époque révèlent des inquiétudes quant à la viabilité à long terme de la technologie. Voir lkml.org avril 2008 et lwn.net juillet 2011.

MIT News :"Apporter au monde des mises à jour sans redémarrage" (2014).

Depuis janvier 2016, Ksplice n'est disponible que dans le cadre des produits Oracle UEK et Oracle Linux 6 et 7. En novembre de la même année, ils ont supprimé le code Kpatch en amont de Red Hat.

Services de mise à jour en direct du noyau Linux :tableau de comparaison des fonctionnalités

Ksplice

Kgreffe

Kpatch

Patch en direct

KernelCare

Oui

N/A

Oui

Oui

Oui

Oui

Oui

Oui

Oui

Oui

Oui

Non

Non

Non

Oui

Oui

Non

Non

Non

Oui

Oui

Non

Non

Non

Oui

Oui

Non

Non

Oui

Oui

Oui

Non

Non

Non

Oui

Oui

Non

Non

Oui

Oui

Non

Non

Non

Non

Oui

2

1

1 (4)

1

9

Oui

Non

Oui

Oui

Oui

30

60

Non

Non

30

Oui

Non

Non

Non

Oui

Oui

Non

Non

Non

Oui

Non

Non

Oui

Non

Oui

Fonctionnalité

Installation/configuration facile

Restauration

Correctifs fixes

Compatible avec les pare-feu

Mises à jour hors ligne

Contrôle d'accès aux correctifs

Entièrement automatisé

Interface graphique de gestion

Assistance gratuite 24h/24 et 7j/7

Nombre de plates-formes

Correction instantanée

Essai gratuit (jours)

API (REST)

Remplacement antérieur

Noyaux personnalisés

Voir les notes de comparaison pour plus de détails.

Autres lectures

Articles généraux

  • Livepatch :mises à jour du noyau Linux sans redémarrage (27 juin 2018) linux-audit.com
  • Live Patching Meltdown–Projet de recherche de l'ingénieur SUSE (Partie 1) (2 mai 2018) suse.com
  • Une mise à jour sur les correctifs du noyau en direct (27 septembre 2017) lwn.net
  • Guide de kpatch sur Red Hat Enterprise Linux 7.2 et versions ultérieures (10 novembre 2016) redhat.com
  • Hotfixez vos noyaux Ubuntu avec le service Canonical Livepatch ! (18 octobre 2016) blog.dustinkirkland.com
  • Linux vs. Unix Hot Patching – Avons-nous atteint le point de basculement ? (20 mai 2016) forrester.com
  • Un patch rugueux pour les patchs en direct (25 février 2015) lwn.net
  • Outils de mise à jour dynamique du noyau (septembre 2014) admin-magazine.com
  • KernelCare :nouveau système de correctifs Linux sans redémarrage (6 mai 2014) zdnet.com

Documents

  • Fiche technique de Ksplice (PDF), Guide de l'utilisateur
  • Guide Kpatch
  • Fiche technique de Kgraft (PDF), Documentation
  • Fonctionnalités de KernelCare, documentation
  • Fiche technique du service Canonical Livepatch (PDF)

Notes de comparaison

Installation/configuration facile

  • Ksplice—Installation d'Uptrack
  • Kgraft est préinstallé avec SUSE Linux Enterprise Server 12
  • Installation des outils kpatch
  • Installation de KernelCare

Restauration

  • Ksplice uptrack-remove
  • Retirer un patch Kgraft
  • Suppression d'un correctif kpatch
  • KernelCare :décharger les correctifs

Compatible avec les pare-feu

  • Configuration du pare-feu et du proxy Ksplice
  • Paramètres du pare-feu et du proxy KernelCare

Mises à jour hors ligne

  • Client hors ligne Ksplice
  • Mises à jour hors ligne de KernelCare disponibles pour les entreprises clientes via ePortal

Contrôle d'accès aux correctifs

  • Règles d'accès à Ksplice
  • Configuration et emplacements de KernelCare

Entièrement automatisé

  • Mises à jour automatiques de Ksplice
  • Gestion de base de KernelCare

Interface graphique de gestion

  • Interface graphique Ksplice uniquement sur les éditions de bureau Ubuntu ou Fedora
  • Canonical Livepatch Service-GUI uniquement avec Landscape, l'outil de gestion des systèmes d'Ubuntu, une option d'assistance payante
  • Portail électronique KernelCare

Assistance gratuite 24h/24 et 7j/7

  • Assistance Kpatch (payante)
  • Assistance Kgraft (payante)
  • Avantage Ubuntu (payant)
  • Assistance KernelCare (incluse)

Nombre de plates-formes

  • Noyaux pris en charge par Ksplice (Red Hat Enterprise Linux, Oracle Linux)
  • Fiche technique de Kgraft (SUSE Linux Enterprise Server 12/15)
  • Étendue de la prise en charge de Kpatch (RedHat) (Red Hat Enterprise Linux)
  • Kpatch (github.com) (Debian, CentOS, Ubuntu, Gentoo)
  • Fiche technique du service Canonical Livepatch (PDF) (Ubuntu 14.04 LTS, 16.04 LTS)
  • Serveur de correctifs KernelCare (Ubuntu, RHEL, CentOS, système d'exploitation CloudLinux, Debian, Oracle Linux, Proxmox VE, Virt-SIG/Xen4CentOS, Virtuozzo/OpenVZ)

Essai gratuit

  • Essai gratuit de 30 jours de Ksplice (nécessite un compte Oracle SSO)
  • Essai gratuit de 60 jours de Kgraft
  • Essai gratuit de 30 jours de KernelCare

API (REST)

  • API Ksplice
  • API KernelCare Nagios/Zabbix

Remplacement antérieur

  • Ksplice (version effective spécifique)
  • Patchs adhésifs KernelCare

Auteur Paul Jacobs

Paul est l'évangéliste technique et rédacteur de contenu de CloudLinux. Il utilise ses plus de 25 ans d'expériences kaléidoscopiques dans l'informatique pour disséquer, démêler et expliquer les complexités de l'hébergement Web et de la sécurité sous Linux.


Linux
  1. Linux – Noyau :Prise en charge des espaces de noms ?

  2. Linux - Transfert IP du noyau ?

  3. Linux – Un noyau corrompu sous Linux ?

  4. Historique de la ligne de commande sous Linux

  5. Commande d'historique Linux

Commande d'historique sous Linux (historique de bash)

Commande Dmesg sous Linux

Commande Sysctl sous Linux

Linux est-il un système d'exploitation ou un noyau ?

Le noyau Linux contre. Mac noyau

11 commandes Linux sans lesquelles je ne peux pas vivre