Applicazione di patch Kernel Live su AL2023 - Amazon Linux 2023

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Applicazione di patch Kernel Live su AL2023

È possibile utilizzare Kernel Live Patching per AL2023 per applicare vulnerabilità di sicurezza e patch di bug critici a un kernel Linux in esecuzione senza riavviare o interrompere le applicazioni in esecuzione. Inoltre, Kernel Live Patching può aiutarti a migliorare la disponibilità delle applicazioni mantenendo al contempo l'infrastruttura aggiornata e protetta.

AWS rilascia due tipi di patch live del kernel per AL2023:

  • Aggiornamenti di sicurezza: includono aggiornamenti per CVE (Common Vulnerabilities and Exposures) di Linux. Questi aggiornamenti sono in genere classificati come importanti o critici utilizzando le classificazioni di Amazon Linux Security Advisory. Generalmente vengono mappati a un punteggio CVSS (Common Vulnerability Scoring System) di 7 o superiore. In alcuni casi, AWS potrebbe fornire aggiornamenti prima dell'assegnazione di un CVE. In questi casi, le patch potrebbero apparire come correzioni di bug.

  • Correzioni di bug: include correzioni per bug critici e problemi di stabilità che non sono associati ai CVE.

AWS fornisce patch live del kernel per una versione del kernel AL2023 per un massimo di 3 mesi dopo il suo rilascio. Dopo tale periodo, è necessario eseguire l'aggiornamento a una versione del kernel successiva per continuare a ricevere patch live del kernel.

Le patch live del kernel AL2023 sono rese disponibili come pacchetti RPM firmati nei repository AL2023 esistenti. Le patch possono essere installate su singole istanze utilizzando i flussi di lavoro del gestore di pacchetti DNF esistenti. In alternativa, possono essere installati su un gruppo di istanze gestite utilizzando AWS Systems Manager.

Kernel Live Patching su AL2023 è fornito senza costi aggiuntivi.

Limitazioni

Durante l'applicazione di una patch live del kernel, non è possibile eseguire l'ibernazione, utilizzare strumenti di debug avanzati (come SystemTap, kprobes e strumenti basati su eBPF) né accedere ai file di output ftrace utilizzati dall'infrastruttura Kernel Live Patching.

Configurazioni e prerequisiti supportati

Kernel Live Patching è supportata su istanze Amazon EC2 e macchine virtuali on-premise che eseguono AL2023.

Per usare Kernel Live Patching su AL2023, è necessario utilizzare:

  • Un'architettura x86_64 o ARM64 a 64 bit

  • Kernel versione 6.1

Requisiti per le policy

Per scaricare pacchetti dai repository AL2023, Amazon EC2 deve accedere ai bucket Amazon S3 di proprietà del servizio. Se utilizzi un endpoint Amazon Virtual Private Cloud (VPC) per Amazon S3 nel tuo ambiente, assicurati che la policy degli endpoint VPC consenta l'accesso a tali bucket pubblici. La tabella seguente descrive il bucket Amazon S3 a cui Amazon EC2 potrebbe dover accedere per Kernel Live Patching.

ARN di bucket S3 Descrizione

arn:aws:s3: ::al2023-repos- region -de612dc2/*

Bucket Amazon S3 contenente repository AL2023

Utilizzo di Kernel Live Patching

È possibile abilitare e utilizzare Kernel Live Patching su singole istanze utilizzando la riga di comando sull'istanza stessa. In alternativa, è possibile abilitare e utilizzare Kernel Live Patching su un gruppo di istanze gestite utilizzando AWS Systems Manager.

Le sezioni seguenti spiegano come abilitare e utilizzare Kernel Live Patching su singole istanze utilizzando la riga di comando.

Per ulteriori informazioni sull'abilitazione e l'utilizzo di Kernel Live Patching su un gruppo di istanze gestite, consulta Utilizzo di Kernel Live Patching sulle istanze AL2023 nella Guida per l'utente di AWS Systems Manager .

Abilitazione di Kernel Live Patching

Kernel Live Patching è disabilitata per impostazione predefinita su AL2023. Per utilizzare l'applicazione di patch live, è necessario installare il plugin DNF per Kernel Live Patching e abilitare la funzionalità di applicazione di patch live.

Per abilitare Kernel Live Patching
  1. Le patch live del kernel sono disponibili per AL2023 con versione del kernel 6.1 o successive. Per controllare la versione del kernel, eseguire il seguente comando.

    $ sudo dnf list kernel
  2. Installare il plugin DNF per Kernel Live Patching.

    $ sudo dnf install -y kpatch-dnf
  3. Abilitare il plugin DNF per Kernel Live Patching.

    $ sudo dnf kernel-livepatch -y auto

    Questo comando installa anche l'ultima versione dell'RPM della patch live del kernel dai repository configurati.

  4. Per confermare che il plugin DNF per Kernel Live Patching è stato installato correttamente, eseguire il seguente comando.

    Quando si abilita Kernel Live Patching, viene automaticamente applicata una RPM della patch live del kernel vuota. Se Kernel Live Patching è stata abilitata correttamente, questo comando restituisce un elenco che include l'RPM della patch live del kernel vuota iniziale.

    $ sudo rpm -qa | grep kernel-livepatch dnf-plugin-kernel-livepatch-1.0-0.11.amzn2023.noarch kernel-livepatch-6.1.12-17.42-1.0-0.amzn2023.x86_64
  5. Installare il pacchetto kpatch.

    $ sudo dnf install -y kpatch-runtime
  6. Aggiornare il servizio kpatch se è stato precedentemente installato.

    $ sudo dnf update kpatch-runtime
  7. Avviare il servizio kpatch. Questo servizio carica tutte le patch live del kernel dopo l'inizializzazione o l'avvio.

    $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service

Visualizzazione delle patch live del kernel disponibili

Gli avvisi di sicurezza di Amazon Linux vengono pubblicati nel Centro di Sicurezza Amazon Linux. Per ulteriori informazioni sugli avvisi di sicurezza di AL2023, inclusi gli avvisi per patch live del kernel, consulta la pagina Amazon Linux Security Center. Le patch live del kernel sono precedute da ALASLIVEPATCH. Centro di Sicurezza Amazon Linux potrebbe non elencare le patch live del kernel che risolvono i bug.

Puoi inoltre individuare le patch in tempo reale del kernel disponibili per gli advisory e i CVE utilizzando la riga di comando.

Per elencare tutte le patch live del kernel disponibili per le consulenze

Utilizza il seguente comando.

$ sudo dnf updateinfo list Last metadata expiration check: 1:06:23 ago on Mon 13 Feb 2023 09:28:19 PM UTC. ALAS2LIVEPATCH-2021-123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 ALAS2LIVEPATCH-2022-124 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
Per elencare tutte le patch live del kernel disponibili per i CVE

Utilizza il seguente comando.

$ sudo dnf updateinfo list cves Last metadata expiration check: 1:07:26 ago on Mon 13 Feb 2023 09:28:19 PM UTC. CVE-2022-0123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 CVE-2022-3210 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64

Applicazione delle patch live del kernel

Le patch live del kernel vengono applicate utilizzando il gestore di pacchetti DNF nello stesso modo in cui si applicano aggiornamenti regolari. Il plugin DNF per Kernel Live Patching gestisce le patch live del kernel da applicare ed elimina la necessità di riavviare.

Suggerimento

Si consiglia di aggiornare regolarmente il kernel utilizzando Kernel Live Patching per assicurarsi che rimanga sicuro e aggiornato.

Puoi scegliere di applicare una patch live del kernel specifica o applicare qualsiasi patch live del kernel disponibile insieme ai normali aggiornamenti di sicurezza.

Per applicare una patch live del kernel specifica
  1. Ottenere la versione della patch live del kernel utilizzando uno dei comandi descritti in Visualizzazione delle patch live del kernel disponibili.

  2. Applicare la patch live del kernel per il kernel AL2023.

    $ sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64

    Ad esempio, il seguente comando applica una patch live del kernel per la versione kernel 6.1.12-17.42 di AL2023.

    $ sudo dnf install kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
Per applicare eventuali patch live del kernel disponibili insieme ai normali aggiornamenti di sicurezza

Utilizzare il seguente comando.

$ sudo dnf update --security

Omettere l'opzione --security per includere correzioni di bug.

Importante
  • La versione del kernel non viene aggiornata dopo l'applicazione delle patch live del kernel. La versione viene aggiornata alla nuova versione solo dopo il riavvio dell'istanza.

  • Un kernel AL2023 riceve patch live del kernel per un periodo di 3 mesi. Dopo questo periodo, non vengono rilasciate nuove patch live del kernel per tale versione del kernel.

  • Per continuare a ricevere patch live del kernel dopo 3 mesi, è necessario riavviare l'istanza per passare alla nuova versione del kernel. L'istanza continua a ricevere le patch live del kernel per i successivi 3 mesi dopo l'aggiornamento.

  • Per controllare la finestra di supporto per la versione del kernel, esegui il seguente comando:

    $ sudo dnf kernel-livepatch support

Visualizzazione delle patch live del kernel applicate

Per visualizzare le patch live del kernel applicate

Utilizzare il seguente comando.

$ sudo kpatch list Loaded patch modules: livepatch_CVE_2022_36946 [enabled] Installed patch modules: livepatch_CVE_2022_36946 (6.1.57-29.131.amzn2023.x86_64) livepatch_CVE_2022_36946 (6.1.57-30.131.amzn2023.x86_64)

Il comando restituisce un elenco delle patch live del kernel dell'aggiornamento di sicurezza caricato e installato. Di seguito è riportato un output di esempio.

Nota

Una singola patch live del kernel può includere e installare più patch live.

Disabilitazione di Kernel Live Patching

Se non è più necessario utilizzare Kernel Live Patching, puoi disabilitarla in qualsiasi momento.

  • Disabilita l'uso di livepatches:

    1. Disabilita il plugin:

      $ sudo dnf kernel-livepatch manual
    2. Disabilita il servizio kpatch:

      $ sudo systemctl disable --now kpatch.service
  • Rimuovi completamente gli strumenti livepatch:

    1. Rimuovi il plugin:

      $ sudo dnf remove kpatch-dnf
    2. Rimuovi kpatch-runtime:

      $ sudo dnf remove kpatch-runtime
    3. Rimuovi tutte le livepatches installate:

      $ sudo dnf remove kernel-livepatch\*