Come sappiamo, riceviamo aggiornamenti del kernel Linux più e più volte ed è essenziale aggiornare regolarmente le patch di sicurezza del kernel per superare la vulnerabilità del kernel. È necessario installare le patch di sicurezza più recenti il prima possibile, perché se si ritarda con l'installazione delle patch, è possibile che si creino minacce per il sistema.
I sistemi Linux vengono utilizzati per server Web autonomi, applicazioni Web e servizi di hosting Web. Per questo motivo, diventa un obiettivo importante per gli hacker che utilizzano tecniche come attacchi DDOS (denial of service), (RCE) esecuzione di codice remoto ecc. Mantenere le patch di sicurezza adeguate e mantenere aggiornato il sistema aiuta il sistema operativo a rafforzare la sicurezza contro tali minacce. Tuttavia, la maggior parte delle distribuzioni Linux richiede un riavvio per aggiornare il kernel e ciò comporterà tempi di inattività. Insegneremo anche diversi modi per aggiornare il kernel.
Aggiorna kernel tramite comando
Aggiornare il kernel del sistema operativo Linux tramite la riga di comando è molto semplice. Puoi semplicemente eseguire il comando di aggiornamento del kernel e riavviare la macchina.
- Esegui il comando seguente per aggiornare il kernel su CentOS o RHEL o un'altra distribuzione basata su RPM.
sudo yum update kernel sudo reboot
- Esegui il comando seguente per aggiornare il kernel su Ubuntu.
sudo apt-get upgrade linux-image-generic
sudo reboot
- Aggiorna il kernel su Debian usando il comando seguente.
sudo apt-get upgrade kernel sudo reboot
Come possiamo vedere, i comandi sopra sono molto facili da eseguire per l'aggiornamento del kernel, ma una cosa che non puoi evitare è il riavvio del server! Sì, è necessario riavviare il server per completare l'aggiornamento del kernel. Se stai eseguendo questi sistemi operativi per ospitare un grande sito Web di e-commerce o eseguendo un'applicazione Web, devi avvisare i tuoi utenti per questa manutenzione e devi anche aspettare per riavviare il server dopo un riavvio. Per evitare tali tempi di inattività, a volte gli amministratori di sistema evitano gli aggiornamenti del kernel e questo diventa un serio problema di sicurezza.
Aggiorna con kexec per riavvii rapidi
Kexec offre un passaggio di riavvio molto rapido. Salterà il caricamento dell'avvio e il processo di inizializzazione dell'hardware per ridurre il tempo di riavvio.
CentOS/RHEL:
- Per prima cosa, installa gli strumenti kexec eseguendo il comando seguente.
sudo yum install kexec-tools
- Installa un nuovo kernel.
sudo yum update kernel
o
sudo rpm -qa kernel
kernel-3.10.0-514.26.1.el7.x86_64
kernel-3.10.0-1127.el7.centos.plus.x86_64Quindi, avvia dalla versione scelta.
sudo kexec -l /boot/vmlinuz-3.10.0-1127.el7.centos.plus.x86_64 \
-initrd=/boot/initramfs-3.10.0-1127.el7.centos.plus.x86_64.img \
-reuse-cmdline
sudo sync; sudo umount -a; sudo kexec -e
Esegui il comando seguente per scegliere il kernel richiesto.
sudo kexec -e
Ubuntu/Debian:
- Installa gli strumenti kexec eseguendo il comando seguente.<
sudo apt-get install kexec-tools
Dopo aver premuto il comando, otterrai la schermata seguente per il riavvio di conferma utilizzando kexec-tools
- Dovrai essere sicuro prima di farlo perché kexec-tools non eseguirà il comando di riavvio per interrompere i processi, sincronizzare le cache o smontare il file system e può causare il danneggiamento o la perdita di dati.
Aggiorna il kernel senza riavviare
È possibile aggiornare il kernel senza riavviare. Sarà utile per i sistemi che funzionano con una disponibilità elevata. Molti dei fornitori di distribuzione Linux offrono aggiornamenti del kernel senza eseguire un riavvio.
Red Hat Kpatch
Red Hat offre il proprio strumento di patching del kernel per Fedora, CentOS e altri sistemi basati su Debian come Ubuntu.
- Esegui il comando seguente deploy Kpatch su RHEL7.
sudo yum install kpatch
sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm
Tuttavia, non è un'installazione automatica di patch. Devi controllare ogni patch del kernel quando è disponibile.
CloudLinux KernelCare
KernelCare offre un servizio live di patching del kernel Linux che include RHEL, CentOS, Oracle, Debian, Ubuntu Linux ecc. Supporta anche versioni precedenti come RHEL 6.
- Esegui il comando seguente per installare kernelcare.
wget -qq -O -- https://kernelcare.com/installer | bash
sudo /usr/bin/kcarectl --register <your key>
Poiché si tratta di una soluzione "installa e dimentica", kernelCare scarica e applica automaticamente le nuove patch di sicurezza del kernel senza un riavvio.
KernelCare offre anche patch di sicurezza più complesse per vulnerabilità come Spectre (CVE-2017-5753,CVE-2017-5715) e Meltdown (CVE-2017-5754). Supporta anche rollback senza riavvio, patch a data fissa, patch ritardate ecc. CloudLinux kernelcare non è gratuito. Offrono 7 giorni di prova gratuita, dopodiché sarà a pagamento.
Oracle Ksplice
Ksplice è una versione a pagamento per aggiornare il kernel senza dover riavviare.
- Esegui il comando seguente per installare Ksplice.
sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc sudo sh install-uptrack-oc -autoinstall
Usando Ksplice, devi solo eseguire lo script di installazione una sola volta per tutta la vita, dopodiché Uptrack si occuperà di distribuire automaticamente il kernel più recente senza tempi di inattività.
Servizio Canonical Livepatch
Questa è la tecnologia di Canonical per (indovina un po'?) i kernel con patch live. (Canonical è l'azienda dietro la popolare distribuzione Ubuntu Linux.) Puoi persino creare le tue patch, anche se può essere un lavoro difficile e dispendioso in termini di tempo. (Alcuni fornitori creeranno per te un kernel di aggiornamento di Ubuntu, a pagamento.)
Canonical è una famosa azienda di software per la distribuzione Linux basata su Ubuntu. Il comando seguente sarà utile per Ubuntu 16.04 e versioni successive e RHEL 7.x (beta).
Dovrai eseguire il comando seguente per distribuire le patch live.
sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]
Canonical Livepatch offre un servizio gratuito per un massimo di 3 distribuzioni Ubuntu. Sto cercando di registrarsi per il token. Fai clic qui per la registrazione.