Qu’est-ce que le correctif en direct du noyau Linux?
L’application de mises à jour de sécurité critiques est importante pour protéger votre serveur Linux des attaquants potentiels, mais cela peut provoquer des temps d’arrêt, ce qui n’est pas non plus une bonne chose. Les correctifs de noyau en direct peuvent appliquer des mises à jour importantes du noyau sans mettre votre serveur hors ligne.
Sommaire
Qu’est-ce que Live Kernel Patching?
Avant l’application des correctifs du noyau en direct, les administrateurs système devaient choisir entre garder leur serveur allumé ou appliquer des mises à jour de sécurité. Ce n’est évidemment pas l’idéal, donc en 2008 Jeff Arnold du MIT a créé KSplice, un outil qui pouvait appliquer des mises à jour en prenant un diff binaire et en appliquant des correctifs au noyau en cours d’exécution en mémoire.
Cela nécessite l’écriture d’un correctif personnalisé pour chaque mise à jour, il n’est donc réservé qu’aux vulnérabilités de sécurité critiques qui nécessitent des correctifs rapides, et non des mises à jour quotidiennes régulières. Mais, lorsque le besoin s’en fait sentir, cette solution simple offre un moyen d’appliquer ces correctifs sans affecter la disponibilité du serveur.
En réalité, le patching du noyau en direct est un peu moins utile qu’il n’y paraît. Si vous vous souciez de la disponibilité du serveur, vous souhaitez probablement également respecter une sorte de SLA ou avoir un service essentiel pour continuer à fonctionner. Dans un réseau à haute disponibilité, n’importe quel serveur unique devrait théoriquement être capable de brûler spontanément sans affecter le temps de fonctionnement de l’application. Idéalement, vous devriez avoir deux serveurs ou plus derrière des équilibreurs de charge, et si vous avez plus d’un serveur, ils peuvent être mis à jour un à la fois sans affecter considérablement la disponibilité du service, même si vous pourriez être à 50% de la capacité de charge pendant un court moment.
Cela étant pris en compte, les correctifs du noyau en direct sont généralement effectués automatiquement une fois qu’un nouveau correctif est disponible. En activant les correctifs en direct, votre système doit rester à jour automatiquement et vous n’aurez pas à demander à quelqu’un d’orchestrer une mise à jour continue du serveur avec des temps d’arrêt potentiels. C’est un énorme avantage pour la plupart des administrateurs système.
Inconvénients du patching en direct
Le correctif du noyau en direct est encore assez compliqué à faire – les correctifs doivent être écrits par des experts, pour chaque système, et ils ne sont réservés qu’aux correctifs de sécurité importants. Même dans ce cas, il n’est pas garanti de ne pas planter votre système. Ubuntu gère ce risque en déployant lentement les correctifs vers quelques utilisateurs à la fois, tout en surveillant les plantages.
Les correctifs du noyau en direct ne peuvent pas non plus tout faire: ils ne peuvent être appliqués qu’à de petites portions spécifiques du code du noyau, et ils ne peuvent pas être utilisés pour les mises à jour majeures qui affectent plusieurs composants ou modifient les structures de données.
Qui prend en charge Live Patching?
Malheureusement, le programme original KSplice n’est plus open source, après avoir été acquis par Oracle en 2011 pour intégration dans Oracle Linux.
Avec KSplice devenu source fermée, de nombreuses autres entreprises de l’espace serveur Linux ont développé leur propre version. Les correctifs devant être écrits et testés de manière personnalisée par système, il est très difficile de maintenir un seul «Live Kernel Patcher» open source.
La plupart des entreprises le proposent en tant que service payant. KernelCare est la solution la plus proche d’une solution à usage général et prend en charge la plupart des distributions avec un abonnement payant. Amazon Linux 2 est l’un des rares à le proposer gratuitement. RHEL a kpatch. Oracle Linux utilise toujours ksplice.
Ubuntu a Canonical Livepatch. C’est gratuit pour jusqu’à trois machines, après quoi vous aurez besoin d’un abonnement Ubuntu Advantage pour chaque machine.