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 | Sì | Sì | No | No | No |
Applicazione di patch OpenSSL | Sì | Sì | No | No | No |
Patch personalizzate | Sì | No | Sì | Sì | No |
Compatibilità e implementazione
KernelCare | Oracle Ksplice | Red Hat Kpatch | SUSE Kgraft | Patch Ubuntu Live | |
Supporta i kernel meno recenti? | Sì | Sì | No | No | No |
Supporto a 32 bit? | Personalizzato | Sì | No | No | No |
API disponibile? | Sì | Sì | No | Sì | Sì |
Funzionalità di rollback? | Sì | Sì | No | No | No |
Funziona dietro un firewall? | Sì | Sì | Sì | Sì | Sì |
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.