GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie wende ich Linux-Kernel-Sicherheitspatches an? Manuell und automatisch ohne Neustart?

Wie wir wissen, erhalten wir Linux-Kernel-Updates immer wieder und es ist wichtig, die Kernel-Sicherheitspatches regelmäßig zu aktualisieren, um die Kernel-Schwachstelle zu schließen. Es ist erforderlich, die neuesten Sicherheitspatches so früh wie möglich zu installieren, denn wenn Sie die Patch-Installation verzögern, könnten Sie Bedrohungen für Ihr System einladen.

Linux-Systeme werden für eigenständige Webserver, Webanwendungen und Webhosting-Dienste verwendet. Aus diesem Grund wird es zu einem Hauptziel für Hacker, die Techniken wie DDOS (Denial of Service)-Angriffe, (RCE) Remote-Code-Ausführung usw. verwenden. Die Pflege geeigneter Sicherheitspatches und die Aktualisierung des Systems hilft dem Betriebssystem, die Sicherheit zu erhöhen solche Drohungen. Die meisten Linux-Distributionen erfordern jedoch einen Neustart, um den Kernel zu aktualisieren, und dies führt zu Ausfallzeiten. Wir werden auch verschiedene Wege lehren, den Kernel zu aktualisieren.

Kernel per Befehl aktualisieren

Das Aktualisieren des Kernels des Linux-Betriebssystems über die Befehlszeile ist sehr einfach. Sie können einfach den Kernel-Update-Befehl ausführen und die Maschine neu starten.

  1. Führen Sie den folgenden Befehl aus, um den Kernel auf CentOS oder RHEL oder einer anderen RPM-basierten Distribution zu aktualisieren.

    sudo yum update kernel
    sudo reboot
  2. Führen Sie den folgenden Befehl aus, um den Kernel auf Ubuntu zu aktualisieren.

    sudo apt-get upgrade linux-image-generic
    sudo reboot
  3. Aktualisieren Sie den Kernel auf Debian mit dem folgenden Befehl.

    sudo apt-get upgrade kernel
    sudo reboot

Wie wir sehen können, sind die obigen Befehle für das Kernel-Update sehr einfach auszuführen, aber eine Sache, die Sie nicht vermeiden können, ist der Neustart des Servers! Ja, es ist ein Muss, den Server neu zu starten, um das Kernel-Update abzuschließen. Wenn Sie diese Betriebssysteme ausführen, um eine große E-Commerce-Website zu hosten oder eine Webanwendung auszuführen, müssen Sie Ihre Benutzer über diese Wartung informieren und auch warten, bis der Server nach einem Neustart hochgefahren ist. Um solche Ausfallzeiten zu vermeiden, meiden Systemadministratoren manchmal die Kernel-Updates, was zu einem ernsthaften Sicherheitsproblem wird.

Update mit kexec für schnelle Neustarts

Kexec bietet einen sehr schnellen Neustartschritt. Es überspringt den Boot-Lade- und Hardware-Initialisierungsprozess, um die Neustartzeit zu verkürzen.

CentOS/RHEL:

  1. Installieren Sie zuerst die Kexec-Tools, indem Sie den folgenden Befehl ausführen.

    sudo yum install kexec-tools
  2. Installieren Sie einen neuen Kernel.

    sudo yum update kernel

    oder

    sudo rpm -qa kernel
    kernel-3.10.0-514.26.1.el7.x86_64

    kernel-3.10.0-1127.el7.centos.plus.x86_64

    Booten Sie dann von der gewählten Version.

    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

    Führen Sie den folgenden Befehl aus, um den erforderlichen Kernel auszuwählen.

    sudo kexec -e

Ubuntu/Debian:

  1. Installieren Sie die Kexec-Tools, indem Sie den folgenden Befehl ausführen.<

    sudo apt-get install kexec-tools

    Nachdem Sie den Befehl gedrückt haben, erhalten Sie den folgenden Bildschirm für die Bestätigung des Neustarts mit kexec-tools



  2. Sie müssen sicher sein, bevor Sie dies tun, da kexec-tools den Neustartbefehl nicht ausführen wird, um die Prozesse zu beenden, Caches zu synchronisieren oder das Dateisystem abzuhängen, und dies zu Datenbeschädigung oder Datenverlust führen kann.

Kernel ohne Neustart aktualisieren

Es ist möglich, den Kernel ohne Neustart zu aktualisieren. Dies ist hilfreich für Systeme, die mit hoher Verfügbarkeit ausgeführt werden. Viele Anbieter von Linux-Distributionen bieten Kernel-Updates ohne Neustart an.

Red Hat Kpatch 

Red Hat bietet sein eigenes Kernel-Patching-Tool für Fedora, CentOS und andere Debian-basierte Systeme wie Ubuntu an.

  1. Führen Sie den folgenden Befehl aus, um Kpatch auf RHEL7 bereitzustellen.

    sudo yum install kpatch
    sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm

Es handelt sich jedoch nicht um eine automatische Patch-Installation. Sie müssen nach jedem Kernel-Patch suchen, wenn er verfügbar ist.

CloudLinux KernelCare 

KernelCare bietet Live-Linux-Kernel-Patching-Service, einschließlich RHEL, CentOS, Oracle, Debian, Ubuntu Linux usw. Es unterstützt auch ältere Versionen wie RHEL 6.

  1. Führen Sie den folgenden Befehl aus, um Kernelcare zu installieren.

    wget -qq -O -- https://kernelcare.com/installer | bash
    sudo /usr/bin/kcarectl --register <your key>

Da es sich um eine „install and forget“-Lösung handelt, lädt kernelCare automatisch neue Kernel-Sicherheitspatches herunter und wendet sie an, ohne dass ein Neustart erforderlich ist.

KernelCare bietet auch komplexere Sicherheitspatches für Schwachstellen wie Spectre (CVE-2017-5753, CVE-2017-5715) und Meltdown (CVE-2017-5754). Es unterstützt auch Rollbacks ohne Neustart, Patches mit festem Datum, verzögerte Patches usw. CloudLinux Kernelcare ist nicht kostenlos. Sie bieten 7 Tage kostenlose Testversion an, danach wird es eine kostenpflichtige sein.

Oracle Ksplice

Ksplice ist eine kostenpflichtige Version, um den Kernel ohne Neustart zu aktualisieren.

  1. Führen Sie den folgenden Befehl aus, um Ksplice zu installieren.

    sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
    sudo sh install-uptrack-oc -autoinstall

Mit Ksplice müssen Sie das Installationsskript nur einmal während der gesamten Lebensdauer ausführen, und danach kümmert sich Uptrack darum und stellt automatisch den neuesten Kernel ohne Ausfallzeit bereit.

Canonical Livepatch Service 

Dies ist Canonicals Technologie für (raten Sie mal?) Live-Patching von Kerneln. (Canonical ist das Unternehmen hinter der beliebten Linux-Distribution Ubuntu.) Sie können sogar Ihre eigenen Patches erstellen, obwohl dies eine schwierige und zeitaufwändige Arbeit sein kann. (Einige Anbieter erstellen gegen eine Gebühr einen Ubuntu-Upgrade-Kernel für Sie.)

Canonical ist ein beliebtes Softwareunternehmen für Ubuntu-basierte Linux-Distributionen. Der folgende Befehl ist für Ubuntu 16.04 und höher und RHEL 7.x (Beta) nützlich.

Sie müssen den folgenden Befehl ausführen, um das Live-Patching bereitzustellen.

sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]

Canonical Livepatch bietet kostenlosen Service für bis zu 3 Ubuntu-Distributionen. Ich möchte mich für das Token anmelden. Klicken Sie hier für die Anmeldung.


Linux
  1. So deaktivieren Sie Befehle zum Herunterfahren und Neustarten in Linux

  2. Linux – Wie startet Gnome ohne Root-Rechte neu?

  3. So zeigen Sie das Datum und die Uhrzeit des Neustarts des Linux-Systems an

  4. So verwenden Sie den Befehl zum Herunterfahren und Neustarten von Linux mit Beispielen

  5. Muss ich den Server nach einem Linux-Kernel-Update neu starten?

Spectre- und Meltdown-CPU-Schwachstellentest und Microcode-Update unter Linux

Linux Kernel 5.9:Was ist neu und wie man aktualisiert

So finden Sie heraus, wer das Linux-System wann neu gestartet hat

So wechseln Sie automatisch zu einem Verzeichnis, ohne den Cd-Befehl in Linux zu verwenden

So aktualisieren Sie Manjaro und andere Arch-basierte Linux-Distributionen

So überprüfen Sie den Systemneustartverlauf und die Startzeit in Linux