GNU/Linux >> Linux Esercitazione >  >> Linux

Storia delle patch live del kernel Linux

L'installazione dell'ultimo kernel Linux significava un riavvio, fino allo sviluppo dell'"aggiornamento del kernel senza riavvio", un metodo che applica patch ai server senza riavviarli. Con la tecnica che ora ha poco più di 10 anni, questo articolo dà una breve occhiata alle sue origini e allo stato attuale.

2001–2010:il percorso dei brevetti

Se esamini gli archivi dei brevetti con parole chiave come patch a caldo o aggiornamento del sistema in tempo reale, risveglierai molte domande e rifiuti dimostrando che l'idea di aggiornare un sistema informatico senza fermarlo non è una novità. Le date significative, tracciando l'idea dal generale allo specifico, sono le seguenti:

  • 2001:Hewlett Packard brevetta un metodo per aggiornare dinamicamente il software per aggirare la funzionalità hardware mancante.
  • 2002:Microsoft si unisce al gioco con un approccio all'aggiornamento di un sistema (Windows) senza interromperlo. (La loro domanda iniziale è respinta sulla base del "prior art" di HP.)
  • 2008:Jeff Arnold annuncia Ksplice, software per l'aggiornamento (patch) di un kernel Linux senza interruzioni (cioè senza riavviare).
  • 2010:il brevetto di Microsoft viene finalmente concesso in appello.

Il punto interessante di questi è che condividono l'aspirazione a correggere, con un aggiornamento software, un errore nel software o nell'hardware di base di un sistema senza influire sul funzionamento continuo di quel sistema e senza alterare l'hardware. Suona familiare? (Indizi:Meltdown, Spectre.)

2009:La nascita del Rebootless

Jeff Arnold era uno studente del MIT che si occupava di uno dei loro server. Aveva bisogno di una patch di sicurezza, ma l'ha ritardata perché un riavvio avrebbe infastidito i suoi utenti. Prima che il sistema potesse essere aggiornato, è stato violato. La disgrazia e (ironicamente) disagi subiti hanno ispirato Jeff a trovare l'argomento della sua tesi di laurea magistrale nel problema di eseguire un aggiornamento del sistema senza indugio e senza riavviarlo. La storia può essere apocrifa, ma ci ricorda che le tecniche di patch dal vivo sono nate da una preoccupazione non per comodità ma per sicurezza, ed è in quel ruolo che dovrebbero essere apprezzate.

Jeff Arnold ha collaborato con tre colleghi studenti per studiare il problema di come aggiornare il kernel di un server Linux, senza ritardi e senza interrompere i processi del sistema. La soluzione è arrivata sotto forma di un software chiamato Ksplice, le cui basi tecniche sono state stabilite in un documento accademico del 2009. Il titolo del documento includeva la parola rebootless, ora abbreviazione familiare di Linux per "aggiornamento ininterrotto", ma coniata per la prima volta da Microsoft nel 2005 per essere applicata agli aggiornamenti dei driver di Windows.

Dopo la laurea, Jeff ei suoi colleghi del MIT hanno fondato Ksplice Inc. e nel maggio 2009 hanno vinto il premio MIT $ 100K Entrepreneurship Competition. L'azienda ha lanciato un servizio commerciale nel 2010; le cose stavano andando bene.

2011–2016:Oracle e la New Wave

Il 21 luglio 2011, Oracle ha acquisito Ksplice, Inc., integrando il software nel proprio marchio Linux, a sua volta un derivato di Red Hat. Nonostante questa eredità, Oracle ha smesso di supportare Red Hat. L'acquisizione di Ksplice da parte di Oracle ha dato il via a un'impennata di attività tra gli altri fornitori chiave di Linux rimasti in asso.

Tra il 2011 e il 2014, SUSE e Red Hat hanno lavorato in isolamento (e ignorando gli obiettivi reciproci) per rilasciare le proprie soluzioni di aggiornamento del kernel live, cosa che hanno fatto rispettivamente in Kgraft e Kpatch. (Nonostante il loro leggero vantaggio, Kgraft di SUSE è stato reso GA (cioè adatto per i sistemi di produzione) solo nel 2016.)

Red Hat ha condiviso il codice Kpatch con la community e lo ha integrato come funzionalità supportata di Red Hat Enterprise Linux.

La differenza tra le due incarnazioni può essere dedotta dal messaggio blasonato sulla pagina del progetto della versione open source:

ATTENZIONE:utilizzare con cautela!
Il kernel si arresta in modo anomalo, si possono verificare
e riavvii spontanei e la perdita di dati!

Durante lo stesso periodo, e parallelamente agli sforzi di SUSE e Red Hat, le basi ABI di base per supportare le patch live sono state integrate nel codice sorgente del kernel Linux versione 4.0. L'idea era quella di prendere le migliori idee sia da Kpatch che da Kgraft e... applicarle e inserirle in un approccio comune per la linea principale. Questo è stato chiamato livepatch e nell'ottobre 2016 Canonical ha annunciato che stava introducendo il proprio servizio di aggiornamento del kernel commerciale basato su di esso, prevedibilmente chiamato Canonical Livepatch Service. Inizialmente disponibile solo per Ubuntu 16.04 LTS, è stato successivamente esteso anche a 14.04 LTS. In Ubuntu 18.04 LTS Livepatch è un'opzione di installazione e può essere configurata dallo strumento di gestione del software integrato, un segno della sua crescente importanza nella distribuzione del software standard.

2014:New Kid on the Block

Mentre i principali fornitori cercavano di essere i primi a lanciare valide soluzioni di patch in tempo reale, CloudLinux, uno dei principali attori nei sistemi operativi di hosting Web basati su Linux, ha lanciato KernelCare a maggio del 2014, dopo una beta di successo a marzo.

Hanno sorpreso il mercato offrendo il set di funzionalità più ampio sul maggior numero di piattaforme Linux, supportandolo con una solida reputazione nello sviluppo del kernel Linux e nell'assistenza clienti. Un altro shock è stata l'accessibilità economica, che ha attratto gli hoster di siti Web che trovano i costi per server di KernelCare più gestibili e scalabili rispetto ai costi per sito del loro principale concorrente.

Più recentemente, l'unione di KernelCare con Imunify360 lo ha fatto apparire sul radar di un nuovo squadrone di amministratori di sistema di alto livello e attenti alla sicurezza.

Conclusion:The Core Issue nel 2019

Man mano che il mondo si muove verso la sicurezza automatizzata, vedrai il software di gestione automatica delle patch del kernel live integrato nelle popolari distribuzioni Linux in modo sempre più stretto. Attualmente ci sono solo cinque distinti fornitori sul mercato. Una tabella di confronto delle caratteristiche elenca i loro principali punti di forza. Nella sezione di ulteriori letture, troverai fonti di documentazione e articoli di base.

Armeggiare con un kernel attivo può essere complicato. Non è qualcosa che un'azienda, o chiunque esegua server, vuole affidarsi a software non testato e non supportato. Se eseguita in nome della sicurezza, è una delle numerose applicazioni in Linux per cui vale la pena pagare, una delle poche che deve essere assolutamente eseguita correttamente.

A causa della domanda di brevetto di Microsoft del 2002, le discussioni all'epoca rivelano preoccupazione per la fattibilità a lungo termine della tecnologia. Vedi lkml.org aprile 2008 e lwn.net luglio 2011.

MIT News:"Portare il mondo senza riavvio degli aggiornamenti" (2014).

Da gennaio 2016, Ksplice è disponibile solo come parte dei prodotti Oracle UEK e Oracle Linux 6 &7. Nel novembre dello stesso anno, hanno rimosso il codice Kpatch upstream di Red Hat.

Servizi di aggiornamento in tempo reale del kernel Linux:tabella di confronto delle funzionalità

Funzione

Ksplice

Kgraft

Kpatch

Patch live

Cura del kernel

Installazione/configurazione facile

N/A

Ritorno

Patch risolte

No

No

No

Adatto ai firewall

No

No

No

Aggiornamenti offline

No

No

No

Controllo accessi patch

No

No

Completamente automatizzato

No

No

No

GUI di gestione

No

No

Supporto gratuito 24 ore su 24, 7 giorni su 7

No

No

No

No

N. di Piattaforme

2

1

1 (4)

1

9

Patch istantaneo

No

Prova gratuita (giorni)

30

60

No

No

30

API (REST)

No

No

No

Sostituzione non più recente

No

No

No

Kernel personalizzati

No

No

No

Vedi le note di confronto per i dettagli.

Ulteriori letture

Articoli generali

  • Livepatch:aggiornamenti del kernel Linux senza riavvio (27 giugno 2018) linux-audit.com
  • Live Patching Meltdown – Progetto di ricerca dell'ingegnere SUSE (Parte 1) (2 maggio 2018) suse.com
  • Un aggiornamento sulle patch live del kernel (27 settembre 2017) lwn.net
  • Una guida a kpatch su Red Hat Enterprise Linux 7.2 e versioni successive (10 novembre 2016) redhat.com
  • Correggi i tuoi kernel Ubuntu con il servizio Canonical Livepatch! (18 ottobre 2016) blog.dustinkirkland.com
  • Linux vs Unix Hot Patching:abbiamo raggiunto il punto critico? (20 maggio 2016) forrester.com
  • Una patch approssimativa per l'applicazione di patch live (25 febbraio 2015) lwn.net
  • Strumenti di aggiornamento del kernel in tempo reale (settembre 2014) admin-magazine.com
  • KernelCare:nuovo sistema di patching Linux senza riavvio (6 maggio 2014) zdnet.com

Documentazione

  • Scheda tecnica Ksplice (PDF), Guida per l'utente
  • Guida alle patch
  • Scheda tecnica di Kgraft (PDF), Documentazione
  • Caratteristiche KernelCare, documentazione
  • Scheda tecnica del servizio Canonical Livepatch (PDF)

Note di confronto

Installazione/Configurazione facile

  • Ksplice:installazione di Uptrack
  • Kgraft viene fornito con SUSE Linux Enterprise Server 12 preinstallato
  • Installazione degli strumenti di kpatch
  • Installazione KernelCare

Ritorno

  • Ksplice uptrack-remove
  • Rimozione di una toppa Kgraft
  • Rimozione di un hot fix di kpatch
  • KernelCare:scarica le patch

Adatto ai firewall

  • Configurazione del firewall e del proxy Ksplice
  • Impostazioni proxy e firewall KernelCare

Aggiornamenti offline

  • Cliente offline Ksplice
  • Aggiornamenti offline di KernelCare disponibili per i clienti aziendali tramite ePortal

Controllo accessi patch

  • Politiche di accesso a Ksplice
  • Configurazione e posizioni KernelCare

Completamente automatizzato

  • Aggiornamenti automatici di Ksplice
  • Gestione di base di KernelCare

GUI di gestione

  • GUI di Ksplice solo su edizioni desktop Ubuntu o Fedora
  • Canonical Livepatch Service-GUI solo con Landscape, lo strumento di gestione dei sistemi di Ubuntu, un'opzione di supporto a pagamento
  • Portale elettronico KernelCare

Supporto gratuito 24 ore su 24, 7 giorni su 7

  • Assistenza Kpatch (a pagamento)
  • Supporto Kggraft (a pagamento)
  • Vantaggio Ubuntu (a pagamento)
  • Supporto KernelCare (incluso)

N. di Piattaforme

  • Kernel supportati da Ksplice (Red Hat Enterprise Linux, Oracle Linux)
  • Scheda tecnica di Kgraft (SUSE Linux Enterprise Server 12/15)
  • Ambito del supporto di Kpatch (RedHat) (Red Hat Enterprise Linux)
  • Kpatch (github.com) (Debian, CentOS, Ubuntu, Gentoo)
  • Scheda tecnica del servizio Canonical Livepatch (PDF) (Ubuntu 14.04 LTS, 16.04 LTS)
  • Server patch KernelCare (Ubuntu, RHEL, CentOS, CloudLinux OS, Debian, Oracle Linux, Proxmox VE, Virt-SIG/Xen4CentOS, Virtuozzo/OpenVZ)

Prova gratuita

  • Prova gratuita di Ksplice per 30 giorni (richiede un account Oracle SSO)
  • Prova gratuita di 60 giorni di Kggraft
  • Prova gratuita di 30 giorni di KernelCare

API (REST)

  • API Ksplice
  • API KernelCare Nagios/Zabbix

Sostituzione non più recente

  • Ksplice (versione efficace specifica)
  • cerotti adesivi KernelCare

Autore Paul Jacobs

Paul è l'evangelista tecnico e scrittore di contenuti di CloudLinux. Usa i suoi oltre 25 anni di esperienze caleidoscopiche nell'IT per analizzare, svelare e spiegare le complessità dell'hosting web e della sicurezza Linux.


Linux
  1. I moduli del kernel Linux di cui non possiamo fare a meno

  2. 5 strumenti di patching live del kernel che aiuteranno a eseguire server Linux senza riavvii

  3. Linux – Kernel:supporto per gli spazi dei nomi?

  4. Cronologia della riga di comando in Linux

  5. Aggiornamenti del kernel senza riavviare

Comando della cronologia in Linux (Cronologia di Bash)

Comando Dmesg in Linux

Comando Sysctl in Linux

Linux è un sistema operativo o un kernel?

Kernel Linux vs. Kernel Mac

11 comandi Linux di cui non posso fare a meno