GNU/Linux >> Linux Esercitazione >  >> Linux

Come applicare le patch di sicurezza del kernel Linux? Manualmente e Automaticamente senza riavvio?

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.

  1. 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
  2. Esegui il comando seguente per aggiornare il kernel su Ubuntu.

    sudo apt-get upgrade linux-image-generic
    sudo reboot
  3. 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:

  1. Per prima cosa, installa gli strumenti kexec eseguendo il comando seguente.

    sudo yum install kexec-tools
  2. 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_64

    Quindi, 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:

  1. 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



  2. 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.

  1. 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.

  1. 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.

  1. 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.


Linux
  1. Come disabilitare i comandi di spegnimento e riavvio in Linux

  2. Come visualizzare la data e l'ora di riavvio del sistema Linux

  3. Come impostare Debian per aggiornare automaticamente data e ora?

  4. Come posso `cd` e poi * `ls` automaticamente in Linux?

  5. modificare e applicare limits.conf senza riavviare

Test di vulnerabilità della CPU Spectre e Meltdown e aggiornamento del microcodice su Linux

Linux Kernel 5.9:Novità e come eseguire l'aggiornamento

Come scoprire chi ha riavviato il sistema Linux e quando

Come passare automaticamente a una directory senza utilizzare il comando Cd in Linux

Come aggiornare Manjaro e altre distribuzioni Linux basate su Arch

Come controllare la cronologia di riavvio del sistema e il tempo di avvio in Linux