GNU/Linux >> Linux Esercitazione >  >> Linux

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

In questo articolo imparerai cos'è il live patching del kernel Linux, come garantisce il tempo di attività, quali 5 strumenti sono disponibili per aiutarti a far funzionare i server per anni - senza riavvii e quali sono i vantaggi e gli svantaggi di ogni strumento.

All'interno delle organizzazioni IT esistono processi e pratiche talmente ordinari da essere invisibili. Non importa se tali processi e pratiche sono difettosi, o se esiste un modo migliore:se qualcosa ha funzionato per alcuni anni, le persone smettono di cercare alternative. Questo descrive perfettamente gli attuali approcci all'applicazione delle patch del kernel .

In questo momento, la maggior parte delle organizzazioni applica patch ai server pianificando cicli di riavvio. Poiché il riavvio del parco server è un mal di testa che causa tempi di inattività, le persone lo rimandano il più a lungo possibile. Ciò significa che le patch non vengono applicate il prima possibile. Questo divario tra il problema della patch e la sua applicazione significa rischio, negligenza e può causare non conformità.

Questo approccio standard all'applicazione di patch del kernel espone i server a intenzioni dannose da parte di attori delle minacce su più vettori di attacco, mettendo le organizzazioni IT a rischio di gravi problemi di sicurezza. Chiunque abbia il compito di proteggere la propria organizzazione dagli attacchi informatici dovrebbe cercare un modo migliore per eseguire i server Linux senza riavvii (idealmente, per anni).

Perché esiste il patching live

Nel 2009, uno studente del MIT che amministrava un server web ha ritardato l'applicazione della patch al kernel Linux del server, perché l'applicazione della patch avrebbe comportato un riavvio che avrebbe arrecato disagio ai suoi utenti. Durante il ritardo, il server è stato violato. Questo ha ispirato lo studente, Jeff Arnold , per provare a sviluppare un modo per correggere un kernel Linux senza riavviare il server.

Ha collaborato con altri tre studenti per sviluppare Ksplice , il primo strumento software "rebootless" per l'applicazione di patch ai kernel Linux. Hanno formato una società per promuovere il loro nuovo prodotto, che è stato acquisito da Oracle. Quando Oracle ha integrato Ksplice con la propria distribuzione, Oracle Linux, altri fornitori di Linux hanno iniziato a lavorare sui propri sistemi di patching live.

Questo perché l'applicazione di patch in tempo reale, l'applicazione di patch di sicurezza a un server in esecuzione, senza necessità di riavvio, offre funzionalità preziose alle organizzazioni che gestiscono più server:

  • Funzionamento continuo dei server, senza riavvii. Ciò significa tempi di inattività ridotti o nulli.
  • Automazione delle attività relative alle patch. Ciò consente al personale di supporto di svolgere altro lavoro.
  • Applicazione immediata di nuove patch. Ciò riduce notevolmente le vulnerabilità del server.

Come funziona il patching Linux Kernel Live

Esistono due metodi di base per applicare patch live a un kernel Linux:temporaneo e persistente . Il metodo temporaneo applica una patch senza un riavvio, ma in realtà richiede il riavvio del server in un secondo momento. L'applicazione di patch live persistenti non richiede alcun riavvio.

Il metodo temporaneo

Il metodo temporaneo di patch live richiede l'installazione sul server di un software di gestione dei pacchetti (come il plug-in YUM). Quando le patch vengono consegnate ai repository, vengono applicate in base ai flussi di lavoro di aggiornamento specificati dall'utente.

Questo metodo è incluso in alcune distribuzioni di sistemi operativi Linux e in contratti di supporto di alcuni fornitori. Tuttavia, non dovrebbe essere considerato gratuito o poco costoso, perché comporta costi di tempo e problemi che non sono evidenti in anticipo.

Il metodo temporaneo, chiamato anche patching "stack", prevede il riavvio del server e tempi di inattività. Questo perché le patch temporanee si accumulano l'una sull'altra nel tempo, degradando le prestazioni e la stabilità. L'unica soluzione a questo problema è riavviare il server per caricare un nuovo kernel in memoria.

Il metodo persistente

Con il metodo persistente di patch live, un server di patch dedicato memorizza le patch più recenti. Queste patch sono "monolitiche", non temporanee, perché incorporano le patch precedenti. Sui server Web da patchare, un programma agente viene eseguito in background, controllando periodicamente la presenza di patch nel server di patch. Quando richiesto dall'agente, un modulo del kernel esegue la patch.

Questo metodo prevede costi di licenza del fornitore, ma possono essere sorprendentemente bassi. Inoltre, sostituendo il lavoro manuale con processi automatizzati, il metodo persistente riduce il tempo e lo sforzo necessari per amministrare i server. Soprattutto, poiché non prevede alcun riavvio, consente ai server di rimanere attivi e funzionanti, a volte per anni.

Le patch live persistenti offrono anche altri importanti vantaggi. Anche con vulnerabilità hardware che di solito richiedono il riavvio per essere risolte, come Spectre , Tracollo e Carico di zombi , i server che utilizzano il metodo persistente rimangono attivi e in esecuzione. Inoltre, funziona con gli scanner di vulnerabilità, che è importante per la conformità agli standard di sicurezza come SOC2.

Lettura consigliata:

  • Come verificare la presenza di vulnerabilità di Meltdown e Spectre e correggerle in Linux

5 sistemi di patch live del kernel Linux che aiuteranno a eseguire server Linux senza riavvii

Sono disponibili diversi sistemi di patch live del kernel di diversi fornitori, la maggior parte dei quali sono pensati per l'uso con una specifica distribuzione Linux:

Oracle Ksplice

Ksplice è l'originale sistema di patching del kernel Linux "rebootless", creato nel 2009 e acquisito da Oracle nel 2011. Ora funziona solo con Oracle Linux e RHEL con una licenza Oracle. Manca una funzione di pianificazione, ma esegue aggiornamenti automatici delle patch senza che sia necessario il riavvio.

Kpatch RedHat

Kpatch è stato creato da Red Hat per funzionare sulla propria distribuzione Linux, sebbene possa essere portato su Fedora, CentOS e sistemi basati su Debian come Ubuntu e Gentoo. Non è automatizzato:con Kpatch, un amministratore deve controllare e applicare le patch manualmente.

SUSE Kgraft

Kgraft è il sistema di patch live di SUSE e funziona solo con Linux Enterprise Server di SUSE. A differenza di altri sistemi, Kgraft non interrompe le funzioni del kernel mentre vengono applicate le patch. Invece, monitora le funzioni in modo da poter applicare tutte le patch all'interno di una singola chiamata di sistema.

Patch live di Ubuntu

Livepatch è stato creato da Canonical, la società che sviluppa Ubuntu. È unico tra i sistemi di patch live in quanto consente agli amministratori di creare le proprie patch del kernel personalizzate. Funziona su Ubuntu, ovviamente, ma anche su Red Hat Enterprise Linux.

Cura del kernel

KernelCare, sviluppato da CloudLinux, funziona con le distribuzioni più popolari, come CentOS, RHEL, Oracle Linux, Amazon Linux, Debian e Ubuntu. È automatizzato, facile da installare, gestisce patch complesse e fornisce patch personalizzate e con data fissa per soddisfare esigenze specifiche.

Confronto di caratteristiche e prezzi

Capacità di patch

KernelCare

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Patch Ubuntu Live

Distribuzione patchset

Set di patch singolo per tutte le patch

Ognuno è un modulo separato

Ognuno è un modulo separato

Ognuno è un modulo separato

Set di patch singolo per tutte le patch

Tempo di rilascio

Prima o subito dopo la distribuzione di base

Dopo la patch nella distribuzione di base

Nessuno fornito

Corrisponde ai cicli di rilascio di SUSE

Corrisponde ai cicli di rilascio di UBUNTU

Patch di Glibc

No

No

No

Applicazione di patch OpenSSL

No

No

No

Patch personalizzate

No

No

Compatibilità e implementazione

KernelCare

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Patch Ubuntu Live

Supporta i kernel meno recenti?

No

No

No

Supporto a 32 bit?

Personalizzato

No

No

No

API disponibile?

No

Funzionalità di rollback?

No

No

No

Funziona dietro un firewall?

Distribuzioni supportate

Oracle Ksplice

Oracle Linux, Fedora 25-27, Ubuntu Desktop 14.04-17.10

Red Hat Kpatch

Red Hat Enterprise Linux, Ubuntu, Debian, Gentoo

SUSE Kgraft

SUSE

Patch Ubuntu Live

Ubuntu

KernelCare

CloudLinux OS, Amazon Linux 1 &2, CentOS, Debian, OpenVZ, Oracle Enterprise Linux, Oracle UEK, Proxmox VE, Red Hat Enterprise Linux, Ubuntu, Ubuntu Core, Virtuozzo , Xen4 CentOS, Yokto

Prezzi per server

Oracle Ksplice

$ 2299 ($ ​​1399) per server all'anno:il costo di un abbonamento Oracle Linux Premier o supporto (limitato)

Red Hat Kpatch

$ 1299 per server all'anno:il costo di un abbonamento al supporto RHEL Premium

SUSE Kgraft

$ 2198 per server all'anno:il costo combinato del servizio di patch live ($ 699) e dell'abbonamento al server prioritario ($ 1499)

Patch Ubuntu Live

$ 225 per server all'anno, $ 75 all'anno per le macchine virtuali:il costo di un abbonamento al supporto Ubuntu Advantage

KernelCare

$ 27 per server all'anno, per una licenza server di oltre 500.

Lettura correlata

  • Rileva librerie condivise obsolete in memoria con Uchecker

Quale sistema di patch live del kernel Linux è il migliore per te?

Per un'azienda che esegue internamente server Web, con un ampio staff di amministratori di sistema, sistemi standardizzati e contratti di supporto esistenti con Oracle, Red Hat o SUSE, i vantaggi dell'utilizzo dei sistemi di patching inclusi possono superare i costi. Interagire regolarmente con le operazioni di supporto di questi fornitori può aiutare a semplificare le proprie.

Per un'organizzazione che esegue server Web standardizzati su Ubuntu, il suo sistema Livepatch incluso nell'abbonamento di supporto è una buona scelta. Il sistema è solido e il costo è basso, rispetto ai suddetti contratti di assistenza.

Per un'azienda con un ampio parco di server, che include diverse distribuzioni Linux, il sistema KernelCare è l'unica opzione praticabile. È anche una buona scelta per le aziende per le quali i costi e l'efficienza sono un problema, poiché fornisce patch automatizzate e flessibili a basso costo.

Per un'azienda che utilizza dispositivi abilitati a Internet come parte dell'"Internet delle cose", KernelCare è l'unica opzione. La maggior parte di questi dispositivi utilizza container Linux e quando vengono violati possono avere conseguenze mortali, quindi mantenere i kernel aggiornati è fondamentale. I tempi di rilascio rapido delle patch nel sistema KernelCare lo rendono adatto alle applicazioni IoT.

Lettura correlata:

  • Modi diversi per aggiornare il kernel Linux per Ubuntu

Stai attualmente utilizzando uno dei suddetti sistemi di patch live? Per favore condividi i tuoi pensieri nella sezione della sezione commenti qui sotto.


Linux
  1. Esegui container su Linux senza sudo in Podman

  2. Strumenti di amministrazione Linux super-duper:controllo dello stato

  3. Puoi eseguire Xcode in Linux?

  4. Debug live del kernel Linux, come si fa e quali strumenti vengono utilizzati?

  5. Aggiornamenti del kernel senza riavviare

11 comandi Linux di cui non posso fare a meno

HOWTO:eseguire Linux su Android senza root

Linux:diagramma del kernel Linux vs. Strumenti per le prestazioni?

Live Patching del server Ubuntu in modo da non doverlo riavviare

30 strumenti e servizi interessanti per monitorare i tuoi server Linux

Utilizzo di Ajenti nella gestione dei server Linux