Canonical Livepatch Service : des corrections dans le kernel Linux sans redémarrage

Canonical Livepatch Service : des corrections dans le kernel Linux sans redémarrage

Gestion de l'urgence

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

19/10/2016 3 minutes
33

Canonical Livepatch Service : des corrections dans le kernel Linux sans redémarrage

Ubuntu se dote d’une nouvelle capacité destinée aux entreprises, le Canonical Livepatch Service. Il permet l’intervention « live » dans le noyau, sans redémarrage. L’éditeur en autorise l’installation sur des machines grand public, à condition de ne pas dépasser trois ordinateurs.

Le « Kernel live patching » est, comme son nom l’indique, la possibilité d’installer un patch dans le noyau Linux. Lorsqu’il est possible, ce processus offre un avantage conséquent : celui de pouvoir appliquer des modifications sans nécessité de redémarrage de la machine. Idéal donc pour installer des correctifs de sécurité sans nuire à la productivité d’un serveur.

Un service complémentaire pour les versions LTS

Dans une annonce publiée hier soir, Canonical indique désormais disposer d’un tel service. Baptisé CLS, il se veut le complément idéal des serveurs, particulièrement quand ils ont à charge des environnements virtualisés, une seule machine pouvant travailler sur des milliers de charges simultanément. Les entreprises qui souhaitent en profiter doivent par contre bénéficier d’un forfait Advantage, les formules débutant à 12 dollars par mois. Ubuntu 16.04 LTS est obligatoire, en édition 64 bits uniquement.

Obtention du jeton et installation

Canonical laisse également son service être utilisé par le grand public, à condition qu’il ne dépasse pas les trois ordinateurs. Là encore, Ubuntu 16.04 LTS est nécessaire. Les utilisateurs intéressés peuvent alors se rendre sur le site réservé au CLS et obtenir un jeton. Une fois cette étape accomplie, il faudra ouvrir un terminal et coller la commande « sudo snap install canonical-livepatch » pour installer le paquet snap correspondant. On active ensuite le service avec la commance « sudo canonical-livepatch enable XXX », où XXX est le jeton (de taille beaucoup plus longue).

À n’importe quel moment, l’utilisateur ou l’administrateur peut entrer la commande « canonical-livepatch status » pour connaître l’état de son système. Il obtiendra des informations de type « kernel: 4.4.0-38.57-generic fully-patched: true », lui indiquant que tout va bien.

Un type de service qui se généralise doucement

Notez que ce service n’est utilisé que pour corriger les failles de sécurité critiques, celles pour lesquelles il est toujours conseillé d’appliquer les correctifs sans attendre. Par ailleurs, et comme le note Phoronix, Canonical n’est pas le seul éditeur à proposer un tel service. Red Hat dispose ainsi de Kpatch, tandis que SUSE propose kGraft.

33

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Un service complémentaire pour les versions LTS

Obtention du jeton et installation

Un type de service qui se généralise doucement

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Commentaires (33)


Je n’imagine même pas la complexité du code pour faire fonctionner un système pareil.

Ou alors ils sont vraiment ingénieux et ont trouvé une solution élégante pour le faire.





En tous cas c’est une très bonne nouvelle pour les serveurs. Pour les particuliers un peu moins.


Comment ça fonctionne au niveau de la licence ça? D’interdire l’utilisation à 3 postes par exemple. 








dylem29 a écrit :



Comment ça fonctionne au niveau de la licence ça? D’interdire l’utilisation à 3 postes par exemple.





C’est un service en ligne donc tu as une licence d’utilisation.



Hop les backdoors du gouvernement US directement et automatique installées et retirée. La RSA en a rêvé, Canonical l’a fait.


Ah, c’est pas directement dans l’OS…








Fabz31 a écrit :



https://www.youtube.com/watch?v=SYRlTISvjww

<img data-src=" />









<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



et ils en ont fait pleins d’autres <img data-src=" />



Alors la je comprends pas :

kpatch marche sur a peu près toutes les distros avec kernel &gt;=3.9 et GCC &gt;=4.8 selon le github sur lequel il est hébergé, mais pourquoi ces options sont toutes des services commerciaux distro dependenants si c’est une fonctionnalité intégrée au kernel linux???!

&nbsp;

L’élaboration des patch diffère des maj de packets kernel via apt-get ou dnf?



késakokecetruc?


Ca arrivera plus tard pour les particuliers ou pas ?








v6relou a écrit :



Hop les backdoors du gouvernement US directement et automatique installées et retirée. La RSA en a rêvé, Canonical l’a fait.





Non le RSA c’est le truc super populaire en France

Tu veux dire NSA <img data-src=" />









v6relou a écrit :



Hop les backdoors du gouvernement US directement et automatique installées et retirée. La RSA en a rêvé, Canonical l’a fait.





Laisse la république sud-africaine tranquille, pour une fois ce n’est pas la faute de Jacob Zuma <img data-src=" />



EDIT:grilled à deux minutes, râââh



Je comprends pas, en mode serveur, j’ai jamais a redémarrer ma machine quand je mets à jour le noyaux, et quand je lui demande après une mise à jour, j’ai bien la dernière version.








Fabz31 a écrit :



https://www.youtube.com/watch?v=SYRlTISvjww

<img data-src=" />







Je ne connaissais pas mais ça m’a mis de bonne humeur. <img data-src=" />



sur le principe c’est pas compliqué : tu as une table des appels système il suffit de remplacer l’adresse de la fonction de base par l’adresse de la fonction de remplacement. Comme la signature des méthodes (leurs arguments en entrée et leur sortie) est identique c’est transparent.








kuzko a écrit :



Alors la je comprends pas :

kpatch marche sur a peu près toutes les distros avec kernel &gt;=3.9 et GCC &gt;=4.8 selon le github sur lequel il est hébergé, mais pourquoi ces options sont toutes des services commerciaux distro dependenants si c’est une fonctionnalité intégrée au kernel linux???!

 

L’élaboration des patch diffère des maj de packets kernel via apt-get ou dnf?



késakokecetruc?





De ce que je comprend le truc ce n’est pas de faire des patchs sans redémarrer. Ça c’est en effet possible nativement dans le kernel.



L’intérêt du service, qui tire partie de cette fonctionnalité, c’est qu’il diffuse en temps réel les mises a jours de sécurité vers ton kernel des qu’elles sont disponibles.









zefling a écrit :



Je comprends pas, en mode serveur, j’ai jamais a redémarrer ma machine quand je mets à jour le noyaux, et quand je lui demande après une mise à jour, j’ai bien la dernière version.





En général tu dois redémarrer pour appliquer les mises a jours du noyau. L’intérêt ici c’est qu’il n’y a plus besoin d’une action de l’utilisateur. Je pense que c’est notamment oriente vers le monde l’IoT.









tpeg5stan a écrit :



Laisse la république sud-africaine tranquille





J’ai failli faire la remarque aussi mais d’après Wikipedia le siège de Canonical est à Londres.









kuzko a écrit :



Alors la je comprends pas :

kpatch marche sur a peu près toutes les distros avec kernel &gt;=3.9 et GCC &gt;=4.8 selon le github sur lequel il est hébergé, mais pourquoi ces options sont toutes des services commerciaux distro dependenants si c’est une fonctionnalité intégrée au kernel linux???!

&nbsp;

L’élaboration des patch diffère des maj de packets kernel via apt-get ou dnf?



késakokecetruc?





Exact, j’ai Kpatch sur les CentOS que je gère au travail, et ça remplit déjà cette fonctionnalité.







seb2411 a écrit :



De ce que je comprend le truc ce n’est pas de faire des patchs sans

redémarrer. Ça c’est en effet possible nativement dans le kernel.





L’intérêt du service, qui tire partie de cette fonctionnalité, c’est

qu’il diffuse en temps réel les mises a jours de sécurité vers ton

kernel des qu’elles sont disponibles.





Je vois. Je préfère traiter ça en manuel. J’ai déjà eu des surprises de ce côté-là.



C’est là qu’on voit que Windows a un retard monstrueux…








jackjack2 a écrit :



Non le RSA c’est le truc super populaire en France

Tu veux dire NSA <img data-src=" />







Surtout que ça va pas pisser loin le RSA : 535,17 € pour une personne seule, moins les APL, pour le RSA socle.



<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



Je voudrais pouvoir mettre à jour en live le kernel de mon opensuse (c’est à dire sans devoir recompiler ledit kernel pour que le pilote proprio de nvidia continue de fonctionner).

La vie est plus belle en rêve. <img data-src=" /> <img data-src=" />








kuzko a écrit :



Alors la je comprends pas :

kpatch marche sur a peu près toutes les distros avec kernel &gt;=3.9 et GCC &gt;=4.8 selon le github sur lequel il est hébergé, mais pourquoi ces options sont toutes des services commerciaux distro dependenants si c’est une fonctionnalité intégrée au kernel linux???!







kpatch est pas le truc le plus user-friendly qu’on connaisse… Là, ils proposent une infra hébergée automatisée pour rendre le bazar transparent et ils le font payer. C’est tout.

Ils font du commerce avec du Libre, rien de nouveau.



Merci tu m’as trop fait rire <img data-src=" />








zefling a écrit :



Je comprends pas, en mode serveur, j’ai jamais a redémarrer ma machine quand je mets à jour le noyaux, et quand je lui demande après une mise à jour, j’ai bien la dernière version.





Oui, mais non. Il est installé, pas actif tant que tu n’as pas redémarré.

Tu peux installer “needrestart” sur ton serveur, à chaque mise à jour de paquet il t’indiquera:&nbsp;




  • Si tu dois redémarrer un service suite à une mise à jour (exemple: redémarrage de apache suite à mise à jour openssl)

  • Si tu dois redémarrer ton serveur suite à mise à jour de kernel.









KP2 a écrit :



Ils font du commerce avec du Libre, rien de nouveau.





Oui et non. Il me semble que ce service s’appuie sur des mécanismes inclus dans le kernel mais le code source des applicatifs serveur qui font tourner le truc ne sont pas libres. Sinon on pourrait l’installer nous-mêmes sur notre propre serveur, ce qui n’a pas l’air d’être le cas ici. Bref du bon logiciel proprio “in the cloud” !&nbsp;<img data-src=" />









VoucyusDo a écrit :



Oui et non. Il me semble que ce service s’appuie sur des mécanismes inclus dans le kernel mais le code source des applicatifs serveur qui font tourner le truc ne sont pas libres. Sinon on pourrait l’installer nous-mêmes sur notre propre serveur, ce qui n’a pas l’air d’être le cas ici. Bref du bon logiciel proprio “in the cloud” ! <img data-src=" />







Oui mais c’était surtout pour dire qu’ils ajoutent un peu de cosmétique et d’huile à une fonctionnalité fondamentale Libre et ils vendent ça sous forme de service.

Après le code qui tourne sur leur plateforme n’aurait pas une grande valeur à être libéré je pense. Il est même probable qu’ils s’appuient aussi sur des softs Libres derrière (jenkins ou un équivalent entre autre)



Linux <img data-src=" />



Windaube <img data-src=" />



<img data-src=" />


pour quand avec windows 10 les&nbsp;corrections dans le kernel sans redémarrage?


Je comprends pas, en mode serveur, j’ai jamais a redémarrer ma machine quand je mets à jour le noyaux, et quand je lui demande après une mise à jour, j’ai bien la dernière version.





Edzilla a écrit :



Oui, mais non. Il est installé, pas actif tant que tu n’as pas redémarré.

Tu peux installer “needrestart” sur ton serveur, à chaque mise à jour de paquet il t’indiquera: 




  • Si tu dois redémarrer un service suite à une mise à jour (exemple: redémarrage de apache suite à mise à jour openssl)

  • Si tu dois redémarrer ton serveur suite à mise à jour de kernel.







    Normalement quand j’ai besoin d’un redémarrage il me dit qu’il faut rebooter, je l’ai assez régulièrement en desktop, jamais en serveur et quand je demande la version du noyaux, après quelques minutes j’ai bien la dernière sans rebooter.



Haha le lapsus, merci de l’avoir relevé.


Sur du serveur je l’avais déjà vu avec la bannière SSH qui dit “le système doit être redémarré”, au même titre que le “xx paquets peuvent être mis à jour”.

Après ça fait longtemps que j’ai pas joué avec une Ubuntu Server, je me suis installé une 16.04 dernièrement.








SebGF a écrit :



Sur du serveur je l’avais déjà vu avec la bannière SSH qui dit “le système doit être redémarré”, au même titre que le “xx paquets peuvent être mis à jour”.

Après ça fait longtemps que j’ai pas joué avec une Ubuntu Server, je me suis installé une 16.04 dernièrement.





Je n’ai jamais ce message… Étrange. Le seule fois où j’ai eu a redémarrer (donc ce message), c’est quand je suis passé de la 12.04 à la 14.04.









zefling a écrit :



Je comprends pas, en mode serveur, j’ai jamais a redémarrer ma machine quand je mets à jour le noyaux, et quand je lui demande après une mise à jour, j’ai bien la dernière version.



Normalement quand j’ai besoin d’un redémarrage il me dit qu’il faut rebooter, je l’ai assez régulièrement en desktop, jamais en serveur et quand je demande la version du noyaux, après quelques minutes j’ai bien la dernière sans rebooter.





Y’a aucun doute à ça, si tu installes un nouveau noyau mais que tu ne redémarre pas, il ne sera pas actif. C’est justement tout l’interêt d’un service comme celui annoncé dans cet article d’avoir les patchs appliqués à ton noyau live sans redémarrer.

Après qu’il y ait un soucis sur ton ubuntu server qui aboutisse au fait que tu n’est pas averti, c’est possible, mais ça ne veut pas dire que tu as réellement le nouveau kernel actif.



Accessoirement, needrestart t’indique aussi si tu dois redémarrer un simple service, ce qui de toute façon ne t’es pas indiqué dans l’installation d’un paquet “normal”.