Che cos'è l'applicazione di patch live del kernel Linux?

0
221

L'applicazione di aggiornamenti di sicurezza critici è importante per proteggere il tuo server Linux da potenziali aggressori , ma può causare tempi di inattività, il che non è nemmeno positivo. L'applicazione di patch al kernel live può applicare importanti aggiornamenti del kernel senza portare il server offline.

Che cos'è l'applicazione di patch al kernel live?

Prima di applicare patch al kernel live , gli amministratori di sistema dovevano scegliere tra mantenere attivo il proprio server o applicare aggiornamenti di sicurezza. Questo ovviamente non è l'ideale, quindi nel 2008 Jeff Arnold del MIT ha creato KSplice, uno strumento che potrebbe applicare aggiornamenti prendendo una differenza binaria e applicando patch al kernel in esecuzione in memoria.

Ciò richiede la scrittura di una patch personalizzata per ogni aggiornamento, quindi è riservata solo alle vulnerabilità di sicurezza critiche che richiedono correzioni rapide, non ai normali aggiornamenti quotidiani. Tuttavia, quando si presenta la necessità, questa semplice soluzione offre un modo per applicare tali correzioni senza influire sui tempi di attività del server.

In realtà, l'applicazione di patch al kernel live è un po' meno utile di quanto possa sembrare. Se ti interessa l'uptime del server, probabilmente vorrai anche soddisfare una sorta di SLA o avere un servizio critico da mantenere in esecuzione. In una rete ad alta disponibilità, ogni singolo server dovrebbe teoricamente essere in grado di bruciare spontaneamente senza influire sul tempo di attività dell'applicazione. Idealmente, dovresti avere due o più server dietro i bilanciatori del carico e, se hai più di un server, possono essere aggiornati uno alla volta senza influire notevolmente sulla disponibilità del servizio, anche se potresti essere al 50% della capacità di carico per un breve periodo.

RELAZIONATO: Come iniziare con gli Elastic Load Balancer di AWS

Tenendo conto di ciò, l'applicazione di patch al kernel live viene solitamente eseguita automaticamente una volta che è disponibile una nuova patch. Attivando le patch live, il tuo sistema dovrebbe rimanere aggiornato automaticamente e non dovrai avere qualcuno che orchestra un aggiornamento del server in sequenza con potenziali tempi di inattività. Questo è un enorme vantaggio per la maggior parte degli amministratori di sistema.

Svantaggi di Live Patching

L'applicazione di patch al kernel live è ancora piuttosto complicata da eseguire: le patch devono essere scritte da esperti, per ogni sistema, ed è riservata solo a importanti patch di sicurezza. Anche in questo caso, non è garantito che il sistema non vada in crash. Ubuntu gestisce questo rischio distribuendo le patch lentamente a pochi utenti alla volta, monitorando gli arresti anomali.

Pubblicità

Anche le patch live del kernel non possono fare tutto ciò che è possibile essere applicato solo a porzioni piccole e specifiche del codice del kernel e non può essere utilizzato per aggiornamenti importanti che interessano più componenti o modificano le strutture dei dati.

Chi supporta il Live Patching?

Sfortunatamente, il programma KSplice originale non è più open source, dopo essere stato acquisito da Oracle nel 2011 per l'integrazione in Oracle Linux.

Con KSplice che diventa closed source, molte altre aziende nello spazio server Linux hanno sviluppato la propria versione. Con le patch che devono essere scritte e testate in modo personalizzato per sistema, il mantenimento di un singolo “Live Kernel Patcher” open source molto difficile.

La maggior parte delle aziende lo offre come servizio a pagamento. KernelCare è la cosa più vicina a una soluzione generica e supporta la maggior parte delle distribuzioni con un abbonamento a pagamento. Amazon Linux 2 è uno dei pochissimi che lo offre gratuitamente. RHEL ha kpatch. Oracle Linux usa ancora ksplice.

Ubuntu ha Canonical Livepatch. È gratuito per un massimo di tre macchine, dopodiché avrai bisogno di un abbonamento Ubuntu Advantage per ogni macchina.

RELAZIONATO: Come fare Assicurati che i tuoi server Ubuntu siano sempre aggiornati