

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

# Sicurezza e conformità in Amazon Linux 2023
<a name="security"></a>

**Importante**  
 Se desideri segnalare una vulnerabilità o hai un problema di sicurezza relativo ai servizi AWS cloud o ai progetti open source, contatta AWS Security utilizzando la pagina [Vulnerability](https://aws.amazon.com/security/vulnerability-reporting/) Reporting 

La sicurezza del cloud AWS è la massima priorità. In qualità di AWS cliente, puoi beneficiare di un data center e di un'architettura di rete progettati per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.

La sicurezza è una responsabilità condivisa tra AWS te e te. Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) descrive questo aspetto come sicurezza *del* cloud e sicurezza *nel* cloud:
+ **Sicurezza del cloud**: AWS è responsabile della protezione dell'infrastruttura che gestisce AWS i servizi nel AWS cloud. AWS ti fornisce anche servizi che puoi utilizzare in modo sicuro. I revisori esterni testano e verificano regolarmente l'efficacia della nostra sicurezza nell'ambito dei [AWS Programmi di AWS conformità dei Programmi di conformità](https://aws.amazon.com/compliance/programs/) dei di . Per maggiori informazioni sui programmi di conformità applicabili AL2023, consulta la sezione [AWS Servizi rientranti nell'ambito del programma di conformitàAWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicurezza nel cloud**: la tua responsabilità è determinata dal servizio AWS che utilizzi. Inoltre, sei responsabile anche di altri fattori, tra cui la riservatezza dei dati, i requisiti dell'azienda e le leggi e le normative applicabili. 

**Topics**
+ [Avvisi di sicurezza di Amazon Linux per AL2023](alas.md)
+ [Elenco degli avvisi applicabili](listing-applicable-advisories.md)
+ [Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md)
+ [Impostazione SELinux delle modalità per AL2 023](selinux-modes.md)
+ [Abilita la modalità FIPS su 023 AL2](fips-mode.md)
+ [Abilita la modalità FIPS in un contenitore AL2 023](fips-mode-container.md)
+ [Scambia i provider FIPS OpenSSL su 023 AL2](fips-openssl-swap-provider.md)
+ [AL2023 Indurimento del kernel](kernel-hardening.md)
+ [Accesso ai metadati del repository AL2023](repo-metadata-signing.md)
+ [Avvio sicuro UEFI attivo AL2023](uefi-secure-boot.md)

# Avvisi di sicurezza di Amazon Linux per AL2023
<a name="alas"></a>

 Anche se ci impegniamo a fondo per rendere sicuro Amazon Linux, talvolta si verificheranno problemi di sicurezza che devono essere risolti. Quando è *disponibile una correzione, viene emesso un avviso*. La sede principale in cui pubblichiamo gli avvisi è Amazon Linux Security Center (ALAS). Per ulteriori informazioni, consulta la pagina [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html). 

**Importante**  
 [Se desideri segnalare una vulnerabilità o hai un problema di sicurezza relativo ai servizi AWS cloud o ai progetti open source, contatta AWS Security utilizzando la pagina Vulnerability Reporting](https://aws.amazon.com/security/vulnerability-reporting/) 

 Le informazioni sui problemi e sugli aggiornamenti pertinenti AL2023 sono pubblicate dal team di Amazon Linux in diverse località. È comune che gli strumenti di sicurezza recuperino informazioni da queste fonti principali e ti presentino i risultati. Pertanto, potresti non interagire direttamente con le fonti primarie pubblicate da Amazon Linux, ma con l'interfaccia fornita dai tuoi strumenti preferiti, come Amazon [Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html). 

## Annunci sull'Amazon Linux Security Center
<a name="alas-announcements"></a>

 *Gli annunci* di Amazon Linux vengono forniti per articoli che non rientrano in un avviso. Questa sezione contiene annunci riguardanti ALAS stesso, oltre a informazioni che non rientrano in un avviso. Per ulteriori informazioni, consulta gli [annunci di Amazon Linux Security Center (ALAS)](https://alas.aws.amazon.com/announcements.html). 

 Ad esempio, l'annuncio [2021-001 - Amazon Linux Hotpatch per Apache Log4j rientra in un annuncio](https://alas.aws.amazon.com/announcements/2021-001.html) piuttosto che in un avviso. In questo annuncio, Amazon Linux ha aggiunto un pacchetto per aiutare i clienti a mitigare un problema di sicurezza in software che non faceva parte di Amazon Linux. 

 L'[Amazon Linux Security Center CVE Explorer](https://explore.alas.aws.amazon.com/) è stato annunciato anche negli annunci ALAS. [Per ulteriori informazioni, consulta Nuovo sito web per. CVEs](https://alas.aws.amazon.com/announcements/2023-001.html) 

## Domande frequenti su Amazon Linux Security Center
<a name="alas-faqs"></a>

 Per le risposte ad alcune domande frequenti su ALAS e sulle modalità di valutazione di Amazon Linux CVEs, consulta [Domande frequenti su Amazon Linux Security Center (ALAS)](https://alas.aws.amazon.com/faqs.html) (). FAQs 

## Avvisi ALAS
<a name="alas-advisories"></a>

 Un Amazon Linux Advisory contiene informazioni importanti relative agli utenti di Amazon Linux, in genere informazioni sugli aggiornamenti di sicurezza. L'[Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html) è il luogo in cui gli avvisi sono visibili sul Web. Le informazioni di avviso fanno anche parte dei metadati del repository dei pacchetti RPM. 

## Avvisi e archivi RPM
<a name="advisory-and-repos"></a>

 Un repository di pacchetti Amazon Linux 2023 può contenere metadati che descrivono zero o più aggiornamenti. Il `dnf updateinfo` comando prende il nome dal nome del file di metadati del repository che contiene queste informazioni,. `updateinfo.xml` Sebbene il comando abbia un nome `updateinfo` e il file di metadati faccia riferimento a un`update`, tutti si riferiscono agli aggiornamenti dei pacchetti che fanno parte di un avviso. 

 Gli avvisi di Amazon Linux sono pubblicati sul sito Web di [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html), insieme alle informazioni presenti nei metadati del repository RPM a cui fa riferimento il gestore di `dnf` pacchetti. I metadati del sito Web e del repository alla fine sono coerenti e potrebbero esserci incongruenze nelle informazioni sul sito Web e nei metadati del repository. Ciò si verifica in genere quando AL2023 è in corso il rilascio di una nuova versione di o è stato aggiornato un avviso dopo la versione più recente. AL2023 

 Sebbene sia normale che venga emesso un nuovo avviso insieme all'aggiornamento del pacchetto che risolve il problema, non è sempre così. È possibile creare un avviso per un nuovo problema risolto in pacchetti già rilasciati. Un avviso esistente può anche essere aggiornato con nuovi CVEs che vengono risolti dall'aggiornamento esistente. 

 La [Aggiornamenti deterministici tramite repository con versioni su AL2023](deterministic-upgrades.md) funzionalità di Amazon Linux 2023 significa che l'archivio RPM per una particolare AL2023 versione contiene un'istantanea dei metadati del repository RPM a partire da quella versione. Ciò *include* i metadati che descrivono gli aggiornamenti di sicurezza. L'archivio RPM per una particolare AL2023 versione *non viene* aggiornato dopo il rilascio. Gli avvisi di sicurezza nuovi o aggiornati *non saranno visibili quando si consulta una versione precedente degli AL2023 * archivi RPM. Fate riferimento alla [Elenco degli avvisi applicabili](listing-applicable-advisories.md) sezione su come usare il gestore di `dnf` pacchetti per esaminare la versione del `latest` repository o una versione specifica. AL2023 

## Avviso IDs
<a name="advisory-ids"></a>

 Ogni avviso è indicato da un. `id` Attualmente è una stranezza di Amazon Linux dove il sito Web di [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html) elenca un avviso come [ALAS-2024-581, mentre il gestore di `dnf` pacchetti [elenca](listing-applicable-advisories.md) tale avviso come avente l'ID -2024-581](https://alas.aws.amazon.com/AL2023/ALAS-2024-581.html). ALAS2023 Quando è necessario utilizzare l'ID del gestore di pacchetti per fare riferimento a un [Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md) avviso specifico. 

 Per Amazon Linux, ogni versione principale del sistema operativo ha il proprio namespace di Advisory. IDs Non si devono fare ipotesi sul formato di Amazon Linux Advisory IDs. Storicamente, Amazon Linux Advisory IDs ha seguito lo schema di. `NAMESPACE-YEAR-NUMBER` L'intera gamma di valori possibili per non `NAMESPACE` è definita, ma include`ALAS`,,`ALASCORRETTO8`, `ALAS2023` `ALAS2``ALASPYTHON3.8`, e. `ALASUNBOUND-1.17` `YEAR`È stato l'anno in cui è stato creato l'avviso ed è `NUMBER` stato un numero intero univoco all'interno del namespace. 

 Sebbene Advisory IDs sia in *genere* sequenziale e nell'ordine in cui vengono rilasciati gli aggiornamenti, ci sono molte ragioni per cui ciò non è possibile, quindi non si deve dare per scontato. 

 Considera l'Advisory ID come una stringa opaca che è unica per ogni versione principale di Amazon Linux. 

 In Amazon Linux 2, ogni Extra si trovava in un repository RPM separato e i metadati di Advisory sono contenuti solo all'interno del repository a cui sono pertinenti. *Un avviso per un repository non è applicabile a un altro repository.* Sul sito Web di [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2.html), esiste attualmente un elenco di avvisi per ogni versione principale di Amazon Linux e non è suddiviso in elenchi per repository. 

 Poiché AL2023 non utilizza il meccanismo Extras per impacchettare versioni alternative dei pacchetti, attualmente esistono solo due repository RPM, ognuno dei quali contiene avvisi, il repository e il repository. `core` `livepatch` [Kernel Live Patching su 023 AL2](live-patching.md)Il repository è per. `livepatch` 

## Data di rilascio dell'avviso e data di aggiornamento dell'avviso
<a name="advisory-dates"></a>

 La data di rilascio dell'avviso per Amazon Linux Advisories indica quando l'aggiornamento di sicurezza è stato reso disponibile pubblicamente per la prima volta nell'archivio RPM. Gli avvisi vengono pubblicati sul sito Web di [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html) subito dopo che le correzioni sono state rese disponibili per l'installazione tramite l'archivio RPM. 

 La data di aggiornamento dell'avviso indica quando sono state aggiunte nuove informazioni a un avviso dopo la sua pubblicazione precedente. 

 Non si devono fare supposizioni tra il numero di AL2023 versione (ad esempio 2023.6.20241031) e la data di pubblicazione degli avvisi consultivi pubblicati insieme a tale versione. 

## Tipi di avvisi
<a name="advisory-types"></a>

 I metadati del repository RPM supportano avvisi di diversi tipi. Sebbene Amazon Linux abbia emesso quasi universalmente solo avvisi che sono aggiornamenti di sicurezza, ciò non deve essere dato per scontato. È possibile che vengano emessi avvisi relativi a eventi quali correzioni di bug, miglioramenti e nuovi pacchetti e che l'Avviso venga contrassegnato come contenente quel tipo di aggiornamento. 

## Severità consultive
<a name="advisory-severities"></a>

 Ogni avviso ha la propria gravità in quanto ogni problema viene valutato separatamente. È CVEs possibile affrontare più problemi in un unico avviso e ogni CVE può avere una valutazione diversa, ma l'avviso stesso ha una gravità. Possono esserci più avvisi che si riferiscono a un singolo aggiornamento del pacchetto, quindi possono esserci più livelli di severità per un particolare aggiornamento del pacchetto (uno per avviso). 

 In ordine decrescente di gravità, Amazon Linux ha utilizzato Critical, Important, Moderate e Low per indicare la gravità di un avviso. Gli avvisi di Amazon Linux possono anche *non avere una severità*, sebbene ciò sia estremamente raro. 

 Amazon Linux è una delle distribuzioni Linux basate su RPM che utilizza il termine Moderate, mentre altre distribuzioni Linux basate su RPM utilizzano il termine equivalente Medium. Il gestore di pacchetti Amazon Linux considera entrambi i termini come equivalenti e gli archivi di pacchetti di terze parti possono utilizzare il termine Medium. 

 Gli avvisi di Amazon Linux possono *cambiare la gravità* nel tempo man mano che si apprendono ulteriori informazioni sui problemi pertinenti affrontati nell'Advisory. 

 La severità di un avviso *in genere* tiene traccia del punteggio CVSS più alto valutato da Amazon Linux per il punteggio a CVEs cui fa riferimento l'avviso. Potrebbero esserci casi in cui questo non è il caso. Un esempio potrebbe essere il caso di un problema risolto per il quale non è stato assegnato un CVE. 

 Consulta le [domande frequenti su ALAS](https://alas.aws.amazon.com/faqs.html) per ulteriori informazioni su come Amazon Linux utilizza le classificazioni di gravità di Advisory. 

## Avvisi e pacchetti
<a name="advisory-packages"></a>

 Possono esserci molti avvisi per un singolo pacchetto e non tutti i pacchetti avranno mai un avviso pubblicato per essi. È possibile fare riferimento a una particolare versione del pacchetto in più avvisi, ciascuno con la propria gravità e. CVEs 

 È possibile che più avvisi per lo stesso aggiornamento del pacchetto vengano emessi contemporaneamente in una nuova AL2023 versione o in rapida successione. 

 Come altre distribuzioni Linux, possono esserci uno o più pacchetti binari diversi creati dallo stesso pacchetto sorgente. Ad esempio, [ALAS-2024-698](https://alas.aws.amazon.com/AL2023/ALAS-2024-698.html) è un avviso elencato nella sezione del sito [Web AL2023 di Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html) come applicabile al pacchetto. `mariadb105` *Questo è il nome del pacchetto *sorgente* e l'Advisory stesso fa riferimento ai pacchetti binari insieme al pacchetto sorgente.* In questo caso, più di una dozzina di pacchetti binari vengono creati a partire da un unico pacchetto `mariadb105` sorgente. Sebbene sia estremamente comune che esista un pacchetto binario con lo stesso nome del pacchetto sorgente, questo non è universale. 

 Sebbene Amazon Linux Advisories abbia in genere elencato tutti i pacchetti binari creati a partire dal pacchetto sorgente aggiornato, ciò non deve essere dato per scontato. Il formato di metadati del gestore di pacchetti e del repository RPM consente la creazione di avvisi che elencano un sottoinsieme dei pacchetti binari aggiornati. 

 Un avviso particolare può essere applicato anche solo a una particolare architettura di CPU. Possono esserci pacchetti che non sono stati creati per tutte le architetture o problemi che non riguardano tutte le architetture. Nel caso in cui un pacchetto sia disponibile su tutte le architetture ma un problema si riferisca solo a una, Amazon Linux in genere non ha emesso un avviso che si riferisca solo all'architettura interessata, sebbene ciò non sia da presumere. 

 A causa della natura delle dipendenze dei pacchetti, è comune che un avviso faccia riferimento a un pacchetto, ma l'installazione di tale aggiornamento richiederà altri aggiornamenti del pacchetto, inclusi i pacchetti non elencati nell'avviso. Il gestore dei `dnf` pacchetti gestirà l'installazione delle dipendenze richieste. 

## Avvisi e CVEs
<a name="advisory-cves"></a>

 Un avviso può riguardare zero o più CVEs avvisi e possono esserci più avvisi che fanno riferimento allo stesso CVE. 

 Un esempio di quando un Advisory può fare riferimento a zero CVEs è quando un CVE non è ancora (o mai) assegnato al problema. 

 Un esempio di quando più Advisory possono fare riferimento allo stesso CVE quando (ad esempio) il CVE è applicabile a più pacchetti. Ad esempio, [CVE-2024-21208](https://alas.aws.amazon.com/cve/html/CVE-2024-21208.html) si applica a Corretto 8, 11, 17 e 21. [https://alas.aws.amazon.com/AL2023/ALAS-2024-752.html](https://alas.aws.amazon.com/AL2023/ALAS-2024-752.html) Sebbene queste versioni di Corretto abbiano tutte lo stesso elenco di CVEs, ciò non dovrebbe essere dato per scontato. 

 Un particolare CVE può essere valutato in modo diverso per pacchetti diversi. Ad esempio, se in un avviso si fa riferimento a un particolare CVE con un livello di severità importante, è possibile che venga emesso un altro avviso che faccia riferimento allo stesso CVE con una severità diversa. 

 I metadati del repository RPM consentono di creare un elenco di riferimenti per ogni avviso. Sebbene Amazon Linux in genere utilizzi solo riferimenti CVEs, il formato dei metadati consente altri tipi di riferimento. 

 I metadati del repository dei pacchetti RPM faranno riferimento solo se è disponibile una correzione. CVEs La [sezione Esplora del sito Web Amazon Linux Security Center](https://explore.alas.aws.amazon.com) contiene informazioni su CVEs ciò che Amazon Linux ha valutato. Questa valutazione può generare un punteggio di base, una severità e uno status CVSS per varie versioni e pacchetti di Amazon Linux. Lo stato di un CVE per una particolare versione o pacchetto di Amazon Linux può essere Not Affected, Pending Fix o No Fix Planned. Lo stato e la valutazione di CVEs possono cambiare molte volte e *in qualsiasi modo* prima della pubblicazione di un avviso. Ciò include la rivalutazione dell'applicabilità di un CVE ad Amazon Linux. 

 L'elenco delle persone a CVEs cui fa riferimento un avviso può cambiare dopo la pubblicazione iniziale di tale avviso. 

## Testo consultivo
<a name="advisory-text"></a>

 Un avviso conterrà anche un testo che descrive il problema o i problemi che hanno portato alla creazione dell'avviso. È normale che questo testo sia il testo CVE non modificato. Questo testo può fare riferimento a numeri di versione upstream in cui è disponibile una correzione che sono diversi dalla versione del pacchetto a cui Amazon Linux ha applicato una correzione. È normale che Amazon Linux esegua il backport delle correzioni delle versioni upstream più recenti. Nel caso in cui il testo dell'Advisory menzioni una versione upstream diversa dalla versione fornita in una versione Amazon Linux, le versioni del pacchetto Amazon Linux nell'Advisory saranno corrette per Amazon Linux. 

 È possibile che il testo dell'avviso nei metadati del repository RPM sia testo segnaposto semplicemente facendo riferimento al sito Web di [Amazon Linux Security](https://alas.aws.amazon.com/alas2023.html) Center per i dettagli. 

## Avvisi su Kernel Live Patch
<a name="livepatch-advisories"></a>

 Gli avvisi per le patch live sono unici in quanto si riferiscono a un pacchetto diverso (il kernel Linux) rispetto al pacchetto a cui si riferisce l'Advisory (ad esempio). `kernel-livepatch-6.1.15-28.43` 

 Un avviso per un [Kernel Live Patch](live-patching.md) farà riferimento ai problemi (ad esempio CVEs) che il particolare pacchetto Live Patch può risolvere per la versione *specifica del kernel a cui si applica* il pacchetto live patch. 

 Ogni patch live è per una versione *specifica* del kernel. Per applicare una patch live per un CVE, è necessario installare il pacchetto live patch giusto per la versione del kernel e applicare la patch live. 

 Ad esempio, è possibile applicare una patch live a [CVE-2023-6111](https://alas.aws.amazon.com/cve/html/CVE-2023-6111.html) per le versioni del kernel e. AL2023 `6.1.56-82.125` `6.1.59-84.139` `6.1.61-85.141` [È stata inoltre rilasciata una nuova versione del kernel con una correzione per questo CVE e contiene un avviso separato.](https://alas.aws.amazon.com/AL2023/ALAS-2023-461.html) Affinché [CVE-2023-6111](https://alas.aws.amazon.com/cve/html/CVE-2023-6111.html) possa essere risolto su AL2023 una versione del kernel uguale o successiva a quella specificata da [ALAS2023-2023-461](https://alas.aws.amazon.com/AL2023/ALAS-2023-461.html) deve essere in *esecuzione, oppure una delle versioni del kernel con una patch live per questo CVE deve essere in esecuzione* con la livepatch applicabile applicata. 

 Quando sono disponibili nuove patch live per una versione specifica del kernel che ha già una patch live disponibile, viene rilasciata una nuova versione del pacchetto. `kernel-livepatch-KERNEL_VERSION` Ad esempio, l'[https://alas.aws.amazon.com/AL2023/ALASLIVEPATCH-2023-003.html](https://alas.aws.amazon.com/AL2023/ALASLIVEPATCH-2023-003.html)Advisory è stato rilasciato con il `kernel-livepatch-6.1.15-28.43-1.0-1.amzn2023` pacchetto che conteneva tre patch live per il `6.1.15-28.43` kernel. CVEs Successivamente, insieme al `kernel-livepatch-6.1.15-28.43-1.0-2.amzn2023` pacchetto è stato rilasciato l'[https://alas.aws.amazon.com/AL2023/ALASLIVEPATCH-2023-009.html](https://alas.aws.amazon.com/AL2023/ALASLIVEPATCH-2023-009.html)Advisory, un aggiornamento del precedente pacchetto live patch per il `6.1.15-28.43` kernel contenente patch live per altri tre. CVEs C'erano anche altri problemi relativi agli avvisi di live patch per altre versioni del kernel, con pacchetti contenenti patch live per quelle versioni specifiche del kernel. 

 Per ulteriori informazioni sul kernel live patching, vedere. [Kernel Live Patching su 023 AL2](live-patching.md) 

 Per chiunque sviluppi strumenti relativi agli avvisi di sicurezza, si consiglia inoltre di consultare la [Schema XML per avvisi e `updateinfo.xml`](#advisory-schema) sezione per ulteriori informazioni. 

## Schema XML per avvisi e `updateinfo.xml`
<a name="advisory-schema"></a>

 Il `updateinfo.xml` file fa parte del formato del repository dei pacchetti. Sono i metadati che il gestore di `dnf` pacchetti analizza per implementare funzionalità come e. [Elenco degli avvisi applicabili](listing-applicable-advisories.md) [Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md) 

 Si consiglia di utilizzare l'API del gestore di `dnf` pacchetti anziché scrivere codice personalizzato per analizzare i formati dei metadati del repository. La versione di `dnf` in AL2023 può analizzare sia i formati del repository che quelli del AL2 repository, AL2023 e quindi l'API può essere utilizzata per esaminare le informazioni di avviso per entrambe le versioni del sistema operativo. 

 [Il progetto [RPM Software Management](https://github.com/rpm-software-management/) documenta i formati di metadati RPM nel repository rpm-metadata su.](https://github.com/rpm-software-management/rpm-metadata) GitHub 

 [Per coloro che sviluppano strumenti per analizzare direttamente i metadati, si consiglia vivamente di prestare particolare attenzione alla documentazione di `updateinfo.xml` rpm-metadata.](https://github.com/rpm-software-management/rpm-metadata) La documentazione copre ciò che è stato visto in giro, il che include molte eccezioni a ciò che si può ragionevolmente interpretare come regola per il formato dei metadati. 

 [C'è anche una serie crescente di esempi di `updateinfo.xml` file reali nel repository -examples on. raw-historical-rpm-repository](https://github.com/rpm-software-management/raw-historical-rpm-repository-examples) GitHub 

 Nel caso in cui qualcosa non sia chiaro nella documentazione, puoi aprire un problema sul GitHub progetto in modo che possiamo rispondere alla domanda e aggiornare la documentazione in modo appropriato. Come progetti Open Source, sono benvenute anche le pull request di aggiornamento della documentazione. 

# Elenco degli avvisi applicabili
<a name="listing-applicable-advisories"></a>

 Il gestore dei `dnf` pacchetti ha accesso ai metadati che descrivono quali avvisi sono corretti in quali versioni del pacchetto. Può quindi elencare quali avvisi sono applicabili a un'istanza o a un'immagine del contenitore. 

**Nota**  
 Strumenti come questi [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/)possono utilizzare questa funzionalità per mostrare quali aggiornamenti sono rilevanti per una flotta anziché per una singola istanza. 

 Quando elenchi gli aggiornamenti, puoi indicare di `dnf` esaminare i metadati di una particolare versione AL2 023 o i metadati dell'ultima versione. 

**Nota**  
 Una volta creata, una versione AL2 023 è immutabile. Pertanto, gli avvisi nuovi o aggiornati su [Amazon Linux Security Center](https://alas.aws.amazon.com/alas2023.html) vengono aggiunti solo ai metadati delle *nuove versioni di 023*. AL2 

 Ora esamineremo alcuni esempi di come gli avvisi si applicano ad alcune AL2 immagini di container 023. Questi comandi funzionano tutti su ambienti non containerizzati come le istanze. EC2 

------
#### [ Listing advisories in a specific version ]

 [In questo esempio vedremo quali avvisi della versione [2023.1.20230628 sono rilevanti in un'immagine del contenitore della versione 2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html).](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

**Nota**  
 [Questo esempio utilizza le versioni [2023.0.20230315 e [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html)](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html), che non sono l'ultima versione della 023. Consulta le note di rilascio 023 per le ultime versioni, che contengono *gli* ultimi aggiornamenti di sicurezza. AL2 AL2](https://docs.aws.amazon.com/linux/al2023/release-notes/) 

 [In questo esempio inizieremo con un'immagine del contenitore per la versione 2023.0.20230315.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.0` parte finale indica la versione dell'immagine per una particolare versione; questa versione dell'immagine di solito è zero. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale chiederemo di `dnf` elencare quali avvisi sono rilevanti per i pacchetti installati nel contenitore. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  bash-5.2#
```

 Il `dnf updateinfo` comando viene ora utilizzato per visualizzare un riepilogo di quali avvisi nella versione [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) sono rilevanti per i pacchetti installati. 

```
$ dnf updateinfo --releasever=2023.1.20230628
Amazon Linux 2023 repository                     42 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 20:24:24 2024.
Updates Information Summary: available
    8 Security notice(s)
        1 Important Security notice(s)
        5 Medium Security notice(s)
        2 Low Security notice(s)
```

 Per ottenere un elenco degli avvisi, è possibile assegnare l'opzione a. `--list` `dnf updateinfo` 

```
$ dnf updateinfo --releasever=2023.1.20230628 --list
Last metadata expiration check: 0:01:22 ago on Mon Jul 22 20:24:24 2024.
ALAS2023-2023-193 Medium/Sec.    curl-minimal-8.0.1-1.amzn2023.x86_64
ALAS2023-2023-225 Medium/Sec.    glib2-2.74.7-688.amzn2023.0.1.x86_64
ALAS2023-2023-195 Low/Sec.       libcap-2.48-2.amzn2023.0.3.x86_64
ALAS2023-2023-193 Medium/Sec.    libcurl-minimal-8.0.1-1.amzn2023.x86_64
ALAS2023-2023-145 Low/Sec.       libgcc-11.3.1-4.amzn2023.0.3.x86_64
ALAS2023-2023-145 Low/Sec.       libgomp-11.3.1-4.amzn2023.0.3.x86_64
ALAS2023-2023-145 Low/Sec.       libstdc++-11.3.1-4.amzn2023.0.3.x86_64
ALAS2023-2023-163 Medium/Sec.    libxml2-2.10.4-1.amzn2023.0.1.x86_64
ALAS2023-2023-220 Important/Sec. ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch
ALAS2023-2023-220 Important/Sec. ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64
ALAS2023-2023-181 Medium/Sec.    openssl-libs-1:3.0.8-1.amzn2023.0.2.x86_64
ALAS2023-2023-222 Medium/Sec.    openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64
```

------
#### [ Listing advisories in the latest version ]

 In questo esempio vedremo quali aggiornamenti sono disponibili nella versione AL2 023 se lanciamo un contenitore della `latest` versione [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html). Al momento della stesura, la `latest` versione è [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html), quindi gli aggiornamenti elencati in questo esempio saranno aggiornati a quella versione. 

**Nota**  
 *Questo esempio utilizza le versioni [2023.4.20240319 e 2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html)[, quest'ultima è la versione più recente al momento](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) della stesura.* [Per ulteriori informazioni sulle versioni più recenti, consulta le note di rilascio 023. AL2](https://docs.aws.amazon.com/linux/al2023/release-notes/) 

 In questo esempio inizieremo con un'immagine del contenitore per la versione [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html). 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.1` parte finale indica la versione dell'immagine per una particolare versione. Sebbene la versione dell'immagine sia in genere zero, questo esempio utilizza una versione in cui la versione dell'immagine è una. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale controlleremo gli aggiornamenti. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  bash-5.2#
```

 Il `dnf updateinfo` comando viene ora utilizzato per visualizzare un riepilogo degli avvisi dell'ultima versione relativi ai pacchetti installati. Al momento della stesura, [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) era l'ultima versione. 

```
$ dnf --releasever=latest updateinfo
Amazon Linux 2023 repository                     76 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 20:59:54 2024.
Updates Information Summary: available
    9 Security notice(s)
        4 Important Security notice(s)
        4 Medium Security notice(s)
        1 Low Security notice(s)
```

 Per ottenere un elenco degli avvisi, l'opzione può essere data a. `--list` `dnf updateinfo` 

```
$ dnf updateinfo --releasever=latest --list
Last metadata expiration check: 0:00:58 ago on Mon Jul 22 20:59:54 2024.
ALAS2023-2024-581 Low/Sec.       curl-minimal-8.5.0-1.amzn2023.0.3.x86_64
ALAS2023-2024-596 Medium/Sec.    curl-minimal-8.5.0-1.amzn2023.0.4.x86_64
ALAS2023-2024-576 Important/Sec. expat-2.5.0-1.amzn2023.0.4.x86_64
ALAS2023-2024-589 Important/Sec. glibc-2.34-52.amzn2023.0.10.x86_64
ALAS2023-2024-589 Important/Sec. glibc-common-2.34-52.amzn2023.0.10.x86_64
ALAS2023-2024-589 Important/Sec. glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64
ALAS2023-2024-586 Medium/Sec.    krb5-libs-1.21-3.amzn2023.0.4.x86_64
ALAS2023-2024-581 Low/Sec.       libcurl-minimal-8.5.0-1.amzn2023.0.3.x86_64
ALAS2023-2024-596 Medium/Sec.    libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64
ALAS2023-2024-592 Important/Sec. libnghttp2-1.59.0-3.amzn2023.0.1.x86_64
ALAS2023-2024-640 Medium/Sec.    openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64
ALAS2023-2024-605 Medium/Sec.    python3-3.9.16-1.amzn2023.0.7.x86_64
ALAS2023-2024-616 Important/Sec. python3-3.9.16-1.amzn2023.0.8.x86_64
ALAS2023-2024-605 Medium/Sec.    python3-libs-3.9.16-1.amzn2023.0.7.x86_64
ALAS2023-2024-616 Important/Sec. python3-libs-3.9.16-1.amzn2023.0.8.x86_64
```

------

# Applicazione degli aggiornamenti di sicurezza in loco
<a name="security-inplace-update"></a>

 Per una panoramica sull'applicazione degli aggiornamenti, vedere[Applicazione degli aggiornamenti di sicurezza utilizzando DNF e le versioni del repository](managing-repos-os-updates.md#apply-security-updates). L'`--security`opzione consente di limitare `dnf upgrade` gli aggiornamenti dei pacchetti solo a quelli che dispongono di un avviso. Il resto di questa sezione illustrerà come installare solo aggiornamenti di sicurezza specifici. 

**Nota**  
 Si consiglia di applicare *tutti* gli aggiornamenti disponibili in una nuova versione AL2 023. Scegliere solo gli aggiornamenti di sicurezza o solo gli aggiornamenti specifici dovrebbe essere l'eccezione piuttosto che la regola. 

## Applicazione degli aggiornamenti menzionati in un avviso
<a name="applying-advisory-updates"></a>

 Gli identificatori degli avvisi nella prima colonna dell'output di `dnf upgradeinfo` possono essere utilizzati per applicare gli aggiornamenti ai pacchetti menzionati nell'avviso. Il gestore dei `dnf` pacchetti può essere incaricato di aggiornare i pacchetti dell'avviso agli ultimi disponibili o solo fino alle versioni menzionate nell'avviso. Se gli aggiornamenti sono già installati, il comando update è impossibile. 

 Per applicare gli aggiornamenti ai pacchetti interessati *solo fino alla versione menzionata nell'avviso*, utilizzate il `dnf upgrade-minimal` comando mentre utilizzate l'`--advisory`opzione per specificare l'avviso. [L'esempio seguente è `dnf upgrade-minimal` in esecuzione in un contenitore della versione AL2 023 2023.0.20230315.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

```
$ dnf upgrade-minimal -y --releasever=2023.1.20230628 --advisory ALAS2023-2023-193
Amazon Linux 2023 repository                     46 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:03 ago on Mon Jul 22 20:36:13 2024.
Dependencies resolved.
================================================================================
 Package              Arch        Version                Repository        Size
================================================================================
Upgrading:
 curl-minimal         x86_64      8.0.1-1.amzn2023       amazonlinux      150 k
 libcurl-minimal      x86_64      8.0.1-1.amzn2023       amazonlinux      249 k

Transaction Summary
================================================================================
Upgrade  2 Packages

Total download size: 399 k
Downloading Packages:
(1/2): curl-minimal-8.0.1-1.amzn2023.x86_64.rpm 2.7 MB/s | 150 kB     00:00
(2/2): libcurl-minimal-8.0.1-1.amzn2023.x86_64. 3.8 MB/s | 249 kB     00:00
--------------------------------------------------------------------------------
Total                                           2.5 MB/s | 399 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Upgrading        : libcurl-minimal-8.0.1-1.amzn2023.x86_64                1/4
  Upgrading        : curl-minimal-8.0.1-1.amzn2023.x86_64                   2/4
  Cleanup          : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64              3/4
  Cleanup          : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           4/4
  Running scriptlet: libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           4/4
  Verifying        : libcurl-minimal-8.0.1-1.amzn2023.x86_64                1/4
  Verifying        : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           2/4
  Verifying        : curl-minimal-8.0.1-1.amzn2023.x86_64                   3/4
  Verifying        : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64              4/4

Upgraded:
  curl-minimal-8.0.1-1.amzn2023.x86_64  libcurl-minimal-8.0.1-1.amzn2023.x86_64

Complete!
```

 Le stesse versioni del pacchetto vengono aggiornate anche se `--releasever=latest` vengono utilizzate come richiesta per eseguire l'*aggiornamento minimo* richiesto `dnf` per rispondere all'avviso. 

 L'uso del `dnf upgrade` comando normale con l'`--advisory`opzione aggiornerà i pacchetti pertinenti menzionati nell'avviso alla versione *più recente* disponibile, che potrebbe essere più recente della versione menzionata nell'avviso. 

**Nota**  
 *A meno che il `system-release` pacchetto non venga aggiornato, la versione dei repository AL2 023 su cui `dnf` è bloccato non cambia.* 

**avvertimento**  
 Quando si installano aggiornamenti da una versione diversa di AL2 023 senza modificare la versione del repository su cui `dnf` è bloccato, è *necessario* prestare attenzione alle successive operazioni di modifica. `dnf` Ad esempio, quando si installano o si aggiornano i pacchetti, poiché le dipendenze dei pacchetti potrebbero essere cambiate nella versione più recente, la versione precedente utilizzata potrebbe non essere in grado di soddisfare queste nuove dipendenze. 

 [L'esempio seguente viene eseguito in un contenitore della versione AL2 023 [2023.0.20230315 che fa riferimento all'ultima versione di 023, la cui data di AL2 scrittura era 2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html).](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) Nota che entrambe le versioni a cui `curl` viene effettuato l'aggiornamento sono più recenti della versione a cui è stato aggiornato, ma che questa versione più recente introduce nuove dipendenze. `update-minimal` 

```
$ dnf upgrade -y --releasever=latest --advisory ALAS2023-2023-193
Amazon Linux 2023 repository                     80 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 20:48:38 2024.
Dependencies resolved.
================================================================================
 Package                   Arch     Version                 Repository     Size
================================================================================
Upgrading:
 curl-minimal              x86_64   8.5.0-1.amzn2023.0.4    amazonlinux   160 k
 libcurl-minimal           x86_64   8.5.0-1.amzn2023.0.4    amazonlinux   275 k
 libnghttp2                x86_64   1.59.0-3.amzn2023.0.1   amazonlinux    79 k
Installing dependencies:
 libpsl                    x86_64   0.21.1-3.amzn2023.0.2   amazonlinux    61 k
 publicsuffix-list-dafsa   noarch   20240212-61.amzn2023    amazonlinux    59 k

Transaction Summary
================================================================================
Install  2 Packages
Upgrade  3 Packages

Total download size: 634 k
Downloading Packages:
(1/5): publicsuffix-list-dafsa-20240212-61.amzn 1.1 MB/s |  59 kB     00:00
(2/5): curl-minimal-8.5.0-1.amzn2023.0.4.x86_64 2.6 MB/s | 160 kB     00:00
(3/5): libpsl-0.21.1-3.amzn2023.0.2.x86_64.rpm  949 kB/s |  61 kB     00:00
(4/5): libnghttp2-1.59.0-3.amzn2023.0.1.x86_64. 3.7 MB/s |  79 kB     00:00
(5/5): libcurl-minimal-8.5.0-1.amzn2023.0.4.x86 6.7 MB/s | 275 kB     00:00
--------------------------------------------------------------------------------
Total                                           3.5 MB/s | 634 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Upgrading        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64                1/8
  Installing       : publicsuffix-list-dafsa-20240212-61.amzn2023.noarch    2/8
  Installing       : libpsl-0.21.1-3.amzn2023.0.2.x86_64                    3/8
  Upgrading        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64            4/8
  Upgrading        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64               5/8
  Cleanup          : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64              6/8
  Cleanup          : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           7/8
  Cleanup          : libnghttp2-1.51.0-1.amzn2023.x86_64                    8/8
  Running scriptlet: libnghttp2-1.51.0-1.amzn2023.x86_64                    8/8
  Verifying        : libpsl-0.21.1-3.amzn2023.0.2.x86_64                    1/8
  Verifying        : publicsuffix-list-dafsa-20240212-61.amzn2023.noarch    2/8
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64               3/8
  Verifying        : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64              4/8
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64            5/8
  Verifying        : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           6/8
  Verifying        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64                7/8
  Verifying        : libnghttp2-1.51.0-1.amzn2023.x86_64                    8/8

Upgraded:
  curl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  libnghttp2-1.59.0-3.amzn2023.0.1.x86_64
Installed:
  libpsl-0.21.1-3.amzn2023.0.2.x86_64
  publicsuffix-list-dafsa-20240212-61.amzn2023.noarch

Complete!
```

# Impostazione SELinux delle modalità per AL2 023
<a name="selinux-modes"></a>

Per impostazione predefinita, Security Enhanced Linux (SELinux) è `enabled` impostata sulla `permissive` modalità 023. AL2 In modalità permissiva, i dinieghi di autorizzazione vengono registrati ma non applicati. SELinux è una raccolta di funzionalità e utilità del kernel per fornire un'architettura MAC (Mandatory Access Control) solida, flessibile e obbligatoria ai principali sottosistemi del kernel. 

SELinux fornisce un meccanismo avanzato per imporre la separazione delle informazioni in base ai requisiti di riservatezza e integrità. Questa separazione delle informazioni riduce le minacce di manomissione e aggiramento dei meccanismi di sicurezza delle applicazioni. Inoltre limita i danni che possono essere causati da applicazioni dannose o difettose. 

SELinux include una serie di esempi di file di configurazione delle politiche di sicurezza progettati per soddisfare gli obiettivi di sicurezza quotidiani.

Per ulteriori informazioni su SELinux caratteristiche e funzionalità, consulta «[SELinux Notebook](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) and [Policy Languages»](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/policy_languages.md). 

**Topics**
+ [SELinux Stato e modalità predefiniti per AL2 023](default-SELinux-modes-states.md)
+ [Passaggio alla modalità `enforcing`](enforcing-mode.md)
+ [Opzione da disabilitare SELinux per AL2 023](disable-option-selinux.md)

# SELinux Stato e modalità predefiniti per AL2 023
<a name="default-SELinux-modes-states"></a>

Per AL2 023, per impostazione SELinux predefinita è `enabled` e impostato su mode. `permissive` In modalità `permissive`, le negazioni di autorizzazione vengono registrate ma non applicate.

I **sestatus** comandi **getenforce** or indicano lo SELinux stato, la politica e la modalità correnti. 

Con lo stato predefinito impostato su `enabled` e `permissive`, il comando **getenforce** restituisce `permissive`. 

Il **sestatus** comando restituisce lo SELinux stato e la SELinux politica corrente, come illustrato nell'esempio seguente: 

```
$ sestatus
SELinux status:                 enabled
  SELinuxfs mount:                /sys/fs/selinux
  SELinux root directory:         /etc/selinux
  Loaded policy name:             targeted
  Current mode:                   permissive
  Mode from config file:          permissive
  Policy MLS status:              enabled
  Policy deny_unknown status:     allowed
  Memory protection checking:     actual (secure)
  Max kernel policy version:      33
```

Quando si esegue SELinux in `permissive` modalità, gli utenti potrebbero etichettare i file in modo errato. Quando esegui SELinux nello `disabled` stato, i file non sono etichettati. Sia i file errati che quelli senza etichetta possono causare problemi quando passi alla modalità `enforcing`.

SELinux rietichetta automaticamente i file per evitare questo problema. SELinux previene i problemi di etichettatura grazie alla rietichettatura automatica quando si modifica lo stato in. `enabled`

# Passaggio alla modalità `enforcing`
<a name="enforcing-mode"></a>

Quando corri SELinux in `enforcing` modalità, il SELinux l'utilità è `enforcing` la politica configurata. SELinux regola le funzionalità di determinate applicazioni consentendo o negando l'accesso in base alle regole della politica.

Per trovare la corrente SELinux modalità, esegui il `getenforce` comando.

```
getenforce
Permissive
```

## Modifica del file di configurazione per abilitare la modalità `enforcing`
<a name="config-file-enforcing"></a>

Per cambiare la modalità in`enforcing`, utilizzare la procedura seguente.

1. Modifica il file `/etc/selinux/config` per passare alla modalità `enforcing`. L'`SELINUX`impostazione dovrebbe essere simile all'esempio seguente.

   ```
   SELINUX=enforcing
   ```

1. Riavvia il sistema per completare il passaggio alla modalità `enforcing`.

   ```
   $ sudo reboot
   ```

All'avvio successivo, SELinux riassegna tutti i file e le cartelle del sistema. SELinux aggiunge anche il SELinux contesto per i file e le directory che sono stati creati quando SELinux era`disabled`.

Dopo il passaggio alla `enforcing` modalità, SELinux potrebbe negare alcune azioni perché errate o mancanti SELinux regole politiche. È possibile visualizzare le azioni che SELinux nega con il seguente comando.

```
$ sudo ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent
```

## Utilizzo cloud-init per abilitare la modalità `enforcing`
<a name="cloud-init-enforcing"></a>

In alternativa, quando avvii l'istanza, passa la seguente `cloud-config` come dati utente per abilitare la modalità `enforcing`. 

```
#cloud-config
selinux: 
  mode: enforcing
```

Per impostazione predefinita, questa impostazione causa il riavvio dell'istanza. Per una maggiore stabilità, consigliamo di riavviare l'istanza. Tuttavia, se preferisci, puoi saltare il riavvio fornendo la seguente `cloud-config`.

```
#cloud-config
selinux:
  mode: enforcing
  selinux_no_reboot: 1
```

# Opzione da disabilitare SELinux per AL2 023
<a name="disable-option-selinux"></a>

Quando si disattiva SELinux, SELinux la policy non viene caricata o applicata e i messaggi di Access Vector Cache (AVC) non vengono registrati. Perdi tutti i vantaggi della corsa SELinux. 

Invece di disabilitare SELinux, si consiglia di utilizzare la `permissive` modalità. L'esecuzione in `permissive` modalità costa solo un po' di più rispetto alla disattivazione SELinux completamente. La transizione da una `permissive` `enforcing` modalità all'altra richiede una regolazione della configurazione molto inferiore rispetto al ritorno alla `enforcing` modalità dopo la disabilitazione SELinux. È possibile etichettare i file e il sistema può tenere traccia e registrare le azioni che la politica attiva potrebbe aver negato. 

## Modifica SELinux alla `permissive` modalità
<a name="change-to-permissive"></a>

Quando corri SELinux in `permissive` modalità, SELinux la politica non viene applicata. In `permissive` modalità, SELinux registra i messaggi AVC ma non nega le operazioni. È possibile utilizzare questi messaggi AVC per la risoluzione dei problemi, il debug e SELinux miglioramenti delle politiche. 

Cambiare SELinux alla modalità permissiva, utilizzare i seguenti passaggi.

1. Modifica il file `/etc/selinux/config` per passare alla modalità `permissive`. Il `SELINUX` valore dovrebbe essere simile all'esempio seguente.

   ```
   SELINUX=permissive
   ```

1. Riavvia il sistema per completare il passaggio alla modalità `permissive`.

   ```
   sudo reboot
   ```

## Disabilita SELinux
<a name="disable-selinux"></a>

Quando si disattiva SELinux, SELinux la politica non viene caricata o applicata e i messaggi AVC non vengono registrati. Perdi tutti i vantaggi della corsa SELinux.

Per disabilitare SELinux, attenersi alla seguente procedura.

1. Assicurarsi che il `grubby` pacchetto sia installato.

   ```
   rpm -q grubby
   grubby-version
   ```

1. Configura il bootloader per aggiungere `selinux=0` alla riga di comando del kernel.

   ```
   sudo grubby --update-kernel ALL --args selinux=0
   ```

1. Riavvia il sistema.

   ```
   sudo reboot
   ```

1. Esegui il `getenforce ` comando per confermarlo SELinux è`Disabled`.

   ```
   $ getenforce
   Disabled
   ```

Per ulteriori informazioni sull' SELinux, vedi il [SELinux Notebook ](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) e [SELinux configurazione](http://selinuxproject.org/page/Guide/Mode#SELinux_Config).

# Abilita la modalità FIPS su 023 AL2
<a name="fips-mode"></a>

Questa sezione spiega come abilitare gli standard federali di elaborazione delle informazioni (FIPS) su 023. AL2 Per ulteriori informazioni sul FIPS, consulta:
+ [Federal Information Processing Standard (FIPS)](https://aws.amazon.com/compliance/fips/)
+ [Conformità FAQs: standard federali per l'elaborazione delle informazioni](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips)

**Nota**  
Questa sezione illustra come abilitare FIPS in modalità AL2 023, non copre lo stato di certificazione dei moduli crittografici AL2 023.

**Prerequisiti**
+ Un' EC2 istanza Amazon AL2 023 (AL2023.2 o superiore) esistente con accesso a Internet per scaricare i pacchetti richiesti. Per ulteriori informazioni sul lancio di un' EC2 istanza AL2 Amazon 023, consulta. [Avvio di AL2023 tramite la console Amazon EC2](ec2.md#launch-from-ec2-console)
+ Devi connetterti alla tua EC2 istanza Amazon tramite SSH o AWS Systems Manager. Per ulteriori informazioni, consulta [AL2023 Connessione alle istanze](connecting-to-instances.md).

**Importante**  
ED25519 Le chiavi utente SSH non sono supportate in modalità FIPS. Se hai avviato l' EC2 istanza Amazon utilizzando una coppia di chiavi ED25519 SSH, devi generare nuove chiavi utilizzando un altro algoritmo (come RSA) o potresti perdere l'accesso all'istanza dopo aver abilitato la modalità FIPS. Per ulteriori informazioni, consulta [Create key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) nella *Amazon EC2 User Guide*.

**Abilitazione della modalità FIPS**

1. Connect alla propria istanza AL2 023 utilizzando SSH o. AWS Systems Manager

1. Verifica che il sistema sia aggiornato. Per ulteriori informazioni, consulta [Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023](managing-repos-os-updates.md).

1. Assicurati che le `crypto-policies` utilità siano installate e. up-to-date

   ```
   sudo dnf -y install crypto-policies crypto-policies-scripts
   ```

1. Abilita la modalità FIPS eseguendo il seguente comando. [Ciò abiliterà la modalità FIPS a livello di sistema per i moduli elencati nelle domande frequenti 023 AL2](https://aws.amazon.com/linux/amazon-linux-2023/faqs/) 

   ```
   sudo fips-mode-setup --enable
   ```

1. Riavvia l'istanza utilizzando il comando seguente.

   ```
   sudo reboot
   ```

1. Per verificare che la modalità FIPS sia abilitata, riconnettiti all'istanza ed esegui il comando seguente.

   ```
   sudo fips-mode-setup --check
   ```

   Il seguente esempio di output mostra che la modalità FIPS è abilitata:

   ```
   FIPS mode is enabled.
   ```

# Abilita la modalità FIPS in un contenitore AL2 023
<a name="fips-mode-container"></a>

Questa sezione spiega come abilitare gli standard federali di elaborazione delle informazioni (FIPS) in un contenitore AL2 023. Per ulteriori informazioni sul FIPS, consulta:
+ [Federal Information Processing Standard (FIPS)](https://aws.amazon.com/compliance/fips/)
+ [Conformità FAQs: standard federali per l'elaborazione delle informazioni](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips)

**Nota**  
Questa sezione illustra come abilitare FIPS modalità in un contenitore AL2 023. Non copre lo stato di certificazione dei moduli crittografici AL2 023.

**Prerequisiti**
+ Un' EC2 istanza Amazon AL2 023 (AL2023.2 o superiore) esistente con accesso a Internet per scaricare i pacchetti richiesti. Per ulteriori informazioni sul lancio di un' EC2 istanza AL2 Amazon 023, consulta. [Avvio di AL2023 tramite la console Amazon EC2](ec2.md#launch-from-ec2-console)
+ Devi connetterti alla tua EC2 istanza Amazon tramite SSH o AWS Systems Manager. Per ulteriori informazioni, consulta [AL2023 Connessione alle istanze](connecting-to-instances.md).

**Importante**  
Il `fips-mode-setup` comando non funzionerà correttamente dall'interno del contenitore. Leggi i passaggi seguenti per configurare correttamente la modalità FIPS in un contenitore AL2 023.

**Abilita la modalità FIPS in un contenitore 023 AL2**

1. La modalità FIPS deve essere prima abilitata sull'host del contenitore AL2 023. Segui le istruzioni riportate [Abilita la modalità FIPS su 023 AL2](fips-mode.md) per abilitare la modalità FIPS sull'host.

1. Connect all'istanza host del contenitore AL2 023 utilizzando SSH o. AWS Systems Manager

1. La modalità FIPS verrà abilitata automaticamente in un contenitore AL2 023 se l'host AL2 023 è in modalità FIPS ed `/proc/sys/crypto/fips_enabled` è accessibile dall'interno del contenitore. Se il contenuto di `/proc/sys/crypto/fips_enabled` è, `0` allora FIPS non è abilitato e il valore di `1` indica che la modalità FIPS è abilitata.

   È possibile verificare che FIPS sia abilitato eseguendo il comando seguente sia sull'host AL2 023 che sul contenitore:

   ```
   cat /proc/sys/crypto/fips_enabled
   ```

1. Successivamente, abilita le crypto-policies FIPS all'interno del contenitore. Esistono diversi modi per eseguire questa operazione, descritti nelle opzioni seguenti. Utilizzate l'opzione più adatta al vostro ambiente.

   1. Abilita manualmente le crypto-policies FIPS all'interno del contenitore utilizzando il comando: `update-crypto-policies`

      ```
      # Run these commands inside the container
      dnf install -y crypto-policies-scripts
      update-crypto-policies --set FIPS
      ```

   1. Crea `bind` mount all'interno del contenitore AL2 023 (è simile a come `podman` funziona in altre distribuzioni):

      ```
      # Run these commands inside the container
      mount --bind /usr/share/crypto-policies/back-ends/FIPS /etc/crypto-policies/back-ends
      echo "FIPS" > /usr/share/crypto-policies/default-fips-config
      mount --bind /usr/share/crypto-policies/default-fips-config /etc/crypto-policies/config
      ```

   1. È anche possibile creare un bind mount in modo che il contenitore AL2 023 corrisponda alle crypto-policies dell' AL2host 023. Quanto segue è fornito solo come esempio. Questa configurazione potrebbe causare problemi in caso di differenze incompatibili nelle crypto-policies e nelle versioni dei pacchetti tra il contenitore e l'host:

      ```
      sudo docker pull amazonlinux:2023
      sudo docker run --mount type=bind,readonly,src=/etc/crypto-policies,dst=/etc/crypto-policies -it amazonlinux:2023
      ```

1. Dopo aver eseguito i passaggi precedenti, puoi verificare nuovamente che FIPS sia abilitato nel contenitore con i seguenti comandi:

   ```
   $ cat /etc/crypto-policies/config
   FIPS
   
   $ cat /proc/sys/crypto/fips_enabled
   1
   ```

# Scambia i provider FIPS OpenSSL su 023 AL2
<a name="fips-openssl-swap-provider"></a>

Questa sezione spiega come passare dai provider FIPS `latest` `certified` OpenSSL su 023. AL2

Per ulteriori informazioni sul FIPS, consulta:
+ [Federal Information Processing Standard (FIPS)](https://aws.amazon.com/compliance/fips/)
+ [Conformità FAQs: standard federali per l'elaborazione delle informazioni](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips)
+ [Politica FedRAMP per la selezione e l'uso dei moduli crittografici](https://www.fedramp.gov/rev5/fips/)

**Importante**  
A partire dalla versione AL2 023.7, il provider FIPS OpenSSL predefinito è il `openssl-fips-provider-latest` pacchetto, che riceve regolarmente correzioni di bug e aggiornamenti di sicurezza.  
Le istruzioni riportate di seguito sono solo per i clienti che desiderano aggiungerlo al pacchetto. `openssl-fips-provider-certified` Questa versione del provider FIPS corrisponderà al checksum del certificato NIST e potrebbe non disporre degli ultimi aggiornamenti.  
Consulta le [domande frequenti AL2 023](https://aws.amazon.com/linux/amazon-linux-2023/faqs/) per ulteriori informazioni sui moduli certificati FIPS e sulle versioni dei pacchetti.

**Prerequisiti**
+ Un' EC2 istanza Amazon AL2 023 (AL2023.7 o superiore) esistente con accesso a Internet per scaricare i pacchetti richiesti. Per ulteriori informazioni sul lancio di un' EC2 istanza AL2 Amazon 023, consulta. [Avvio di AL2023 tramite la console Amazon EC2](ec2.md#launch-from-ec2-console)
+ Devi connetterti alla tua EC2 istanza Amazon tramite SSH o AWS Systems Manager. Per ulteriori informazioni, consulta [AL2023 Connessione alle istanze](connecting-to-instances.md).
+ Per abilitare la modalità FIPS su AL2 023, segui le istruzioni all'indirizzo. [Abilita la modalità FIPS su 023 AL2](fips-mode.md)

**Passa da e `openssl-fips-provider-latest` `openssl-fips-provider-certified`**

1. Utilizzare `dnf` per cambiare il provider FIPS OpenSSL:

   ```
   sudo dnf -y swap openssl-fips-provider-latest openssl-fips-provider-certified
   ```

1. Verifica di utilizzare il provider FIPS certificato OpenSSL. Con AL2 023 in modalità FIPS, esegui il seguente comando:

   ```
   openssl list -providers
   ```

   Verrà visualizzato l'output seguente:

   ```
   Providers:
     base
       name: OpenSSL Base Provider
       version: 3.2.2
       status: active
     default
       name: OpenSSL Default Provider
       version: 3.2.2
       status: active
     fips
       name: Amazon Linux 2023 - OpenSSL FIPS Provider
       version: 3.0.8-d694bfa693b76001
       status: active
   ```

# AL2023 Indurimento del kernel
<a name="kernel-hardening"></a>

 Il kernel Linux 6.1 AL2023 è configurato e costruito con diverse opzioni e funzionalità di rafforzamento. 

## Opzioni di rafforzamento del kernel (indipendenti dall'architettura)
<a name="kernel-hardening-common"></a>


| Opzione `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ACPI_CUSTOM_METHOD`](#CONFIG_ACPI_CUSTOM_METHOD)  |  n  |  n  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_BINFMT_MISC`](#CONFIG_BINFMT_MISC)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_BUG`](#CONFIG_BUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_BUG_ON_DATA_CORRUPTION`](#CONFIG_BUG_ON_DATA_CORRUPTION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_CFI_CLANG`](#CONFIG_CFI_CLANG)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_CFI_PERMISSIVE`](#CONFIG_CFI_PERMISSIVE)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_COMPAT`](#CONFIG_COMPAT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_COMPAT_BRK`](#CONFIG_COMPAT_BRK)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_COMPAT_VDSO`](#CONFIG_COMPAT_VDSO)  | N/D |  n  | N/D |  n  | N/D |  n  | 
|  [`CONFIG_DEBUG_CREDENTIALS`](#CONFIG_DEBUG_CREDENTIALS)  |  n  |  n  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_DEBUG_LIST`](#CONFIG_DEBUG_LIST)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_DEBUG_NOTIFIERS`](#CONFIG_DEBUG_NOTIFIERS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_SG`](#CONFIG_DEBUG_SG)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_VIRTUAL`](#CONFIG_DEBUG_VIRTUAL)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_WX`](#CONFIG_DEBUG_WX)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEFAULT_MMAP_MIN_ADDR`](#CONFIG_DEFAULT_MMAP_MIN_ADDR)  |  65536  |  65536  |  65536  |  65536  |  65536  |  65536  | 
|  [`CONFIG_DEVKMEM`](compare-with-al2-kernel.md#CONFIG_DEVKMEM)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_DEVMEM`](compare-with-al2-kernel.md#CONFIG_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_EFI_DISABLE_PCI_DMA`](#CONFIG_EFI_DISABLE_PCI_DMA)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_FORTIFY_SOURCE`](compare-with-al2-kernel.md#CONFIG_FORTIFY_SOURCE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY`](#CONFIG_HARDENED_USERCOPY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY_FALLBACK`](#CONFIG_HARDENED_USERCOPY_FALLBACK)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_HARDENED_USERCOPY_PAGESPAN`](#CONFIG_HARDENED_USERCOPY_PAGESPAN)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_HIBERNATION`](#CONFIG_HIBERNATION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HW_RANDOM_TPM`](#CONFIG_HW_RANDOM_TPM)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_INET_DIAG`](#CONFIG_INET_DIAG)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_INIT_ON_ALLOC_DEFAULT_ON`](#CONFIG_INIT_ON_ALLOC_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_ON_FREE_DEFAULT_ON`](#CONFIG_INIT_ON_FREE_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_STACK_ALL_ZERO`](#CONFIG_INIT_STACK_ALL_ZERO)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_IOMMU_DEFAULT_DMA_STRICT`](#CONFIG_IOMMU_DEFAULT_DMA_STRICT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_IOMMU_SUPPORT`](#CONFIG_IOMMU_SUPPORT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_IO_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_IO_STRICT_DEVMEM)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_KEXEC`](#CONFIG_KEXEC)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_KFENCE`](#CONFIG_KFENCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LDISC_AUTOLOAD`](compare-with-al2-kernel.md#CONFIG_LDISC_AUTOLOAD)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LEGACY_PTYS`](#CONFIG_LEGACY_PTYS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY`](#CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULES`](#CONFIG_MODULES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG`](#CONFIG_MODULE_SIG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_ALL`](#CONFIG_MODULE_SIG_ALL)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_FORCE`](#CONFIG_MODULE_SIG_FORCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULE_SIG_HASH`](#CONFIG_MODULE_SIG_HASH)  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  | 
|  [`CONFIG_MODULE_SIG_KEY`](#CONFIG_MODULE_SIG_KEY)  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  | 
|  [`CONFIG_MODULE_SIG_SHA512`](#CONFIG_MODULE_SIG_SHA512)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PAGE_POISONING`](#CONFIG_PAGE_POISONING)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_PAGE_POISONING_NO_SANITY`](#CONFIG_PAGE_POISONING_NO_SANITY)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_PAGE_POISONING_ZERO`](#CONFIG_PAGE_POISONING_ZERO)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_PANIC_ON_OOPS`](compare-with-al2-kernel.md#CONFIG_PANIC_ON_OOPS)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PANIC_TIMEOUT`](#CONFIG_PANIC_TIMEOUT)  |  0  |  0  |  0  |  0  |  0  |  0  | 
|  [`CONFIG_PROC_KCORE`](#CONFIG_PROC_KCORE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT`](#CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_RANDOM_TRUST_BOOTLOADER`](#CONFIG_RANDOM_TRUST_BOOTLOADER)  |  y  |  y  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_RANDOM_TRUST_CPU`](#CONFIG_RANDOM_TRUST_CPU)  |  y  |  y  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_REFCOUNT_FULL`](#CONFIG_REFCOUNT_FULL)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_SCHED_CORE`](#CONFIG_SCHED_CORE)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_SCHED_STACK_END_CHECK`](#CONFIG_SCHED_STACK_END_CHECK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP`](#CONFIG_SECCOMP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP_FILTER`](#CONFIG_SECCOMP_FILTER)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY`](#CONFIG_SECURITY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_DMESG_RESTRICT`](compare-with-al2-kernel.md#CONFIG_SECURITY_DMESG_RESTRICT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LANDLOCK`](#CONFIG_SECURITY_LANDLOCK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM`](#CONFIG_SECURITY_LOCKDOWN_LSM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM_EARLY`](#CONFIG_SECURITY_LOCKDOWN_LSM_EARLY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_BOOTPARAM`](#CONFIG_SECURITY_SELINUX_BOOTPARAM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DEVELOP`](#CONFIG_SECURITY_SELINUX_DEVELOP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DISABLE`](compare-with-al2-kernel.md#CONFIG_SECURITY_SELINUX_DISABLE)  |  n  |  n  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_SECURITY_WRITABLE_HOOKS`](#CONFIG_SECURITY_WRITABLE_HOOKS)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_SECURITY_YAMA`](#CONFIG_SECURITY_YAMA)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SHUFFLE_PAGE_ALLOCATOR`](#CONFIG_SHUFFLE_PAGE_ALLOCATOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_HARDENED`](#CONFIG_SLAB_FREELIST_HARDENED)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_RANDOM`](#CONFIG_SLAB_FREELIST_RANDOM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLUB_DEBUG`](#CONFIG_SLUB_DEBUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR`](#CONFIG_STACKPROTECTOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR_STRONG`](#CONFIG_STACKPROTECTOR_STRONG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STATIC_USERMODEHELPER`](#CONFIG_STATIC_USERMODEHELPER)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_STRICT_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_KERNEL_RWX`](#CONFIG_STRICT_KERNEL_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STRICT_MODULE_RWX`](#CONFIG_STRICT_MODULE_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SYN_COOKIES`](#CONFIG_SYN_COOKIES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_VMAP_STACK`](#CONFIG_VMAP_STACK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_WERROR`](#CONFIG_WERROR)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_ZERO_CALL_USED_REGS`](#CONFIG_ZERO_CALL_USED_REGS)  |  n  |  n  |  n  |  n  |  n  |  n  | 

### Consenti ai metodi ACPI di essere in fase di esecuzione (CONFIG\$1ACPI\$1CUSTOM\$1METHOD) inserted/replaced
<a name="CONFIG_ACPI_CUSTOM_METHOD"></a>

Amazon Linux disabilita questa opzione in quanto consente agli utenti `root` di scrivere nella memoria kernel arbitraria.

Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings).

### Formati binari vari (`binfmt_misc`)
<a name="CONFIG_BINFMT_MISC"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione come consigliata da KSPP](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). In AL2023, questa funzionalità è opzionale ed è integrata come modulo del kernel. 

### Supporto di `BUG()`
<a name="CONFIG_BUG"></a>

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `BUG()` se il kernel riscontra un danneggiamento dei dati durante la verifica della validità delle strutture di memoria del kernel
<a name="CONFIG_BUG_ON_DATA_CORRUPTION"></a>

 Alcune parti del kernel Linux controllano la coerenza interna delle strutture di dati e possono eseguire `BUG()` quando rilevano un danneggiamento dei dati. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `COMPAT_BRK`
<a name="CONFIG_COMPAT_BRK"></a>

 Con questa opzione disabilitata (che è il modo in cui Amazon Linux configura il kernel), l'impostazione predefinita per `randomize_va_space` `sysctl` è `2`, che abilita anche la randomizzazione degli heap sulla base `mmap`, sullo stack e sulla randomizzazione delle pagine VDSO. 

 Questa opzione esiste nel kernel per garantire la compatibilità con alcuni file binari `libc.so.5` obsoleti del 1996 e precedenti. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `COMPAT_VDSO`
<a name="CONFIG_COMPAT_VDSO"></a>

 Questa opzione di configurazione è rilevante per `x86-64` e non per `aarch64`. Impostandola su `n`, il kernel di Amazon Linux non rende visibile un Virtual Dynamic Shared Object (VDSO) a 32 bit a un indirizzo prevedibile. La più recente libreria `glibc` nota per essere danneggiata dall'impostazione di questa opzione su `n` è `glibc` 2.3.3, del 2004. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `CONFIG_DEBUG`indurimento recintato
<a name="CONFIG_DEBUG_KERNEL"></a>

 Le opzioni di configurazione del kernel Linux gated by `CONFIG_DEBUG` sono in genere progettate per l'uso in kernel creati per problemi di debug, e cose come le prestazioni non sono una priorità. AL2023 abilita l'opzione di rafforzamento. `CONFIG_DEBUG_LIST` 

### Disabilitazione di DMA per i dispositivi PCI nello stub EFI prima della configurazione di IOMMU
<a name="CONFIG_EFI_DISABLE_PCI_DMA"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Rafforzamento per la copia della memoria tra kernel e spazio utente
<a name="CONFIG_HARDENED_USERCOPY"></a>

 Quando il kernel deve copiare la memoria da o verso lo spazio utente, questa opzione abilita alcuni controlli che possono proteggere da alcune classi di problemi di overflow dell'heap. 

 L'opzione `CONFIG_HARDENED_USERCOPY_FALLBACK` esisteva nei kernel da 4.16 a 5.15 per aiutare gli sviluppatori del kernel a scoprire eventuali voci mancanti dell'elenco degli indirizzi consentiti tramite un `WARN()`. Poiché AL2023 viene fornito un kernel 6.1, questa opzione non è più rilevante per. AL2023 

 L'`CONFIG_HARDENED_USERCOPY_PAGESPAN`opzione esisteva nei kernel principalmente come opzione di debug per gli sviluppatori e non si applica più al kernel 6.1 in. AL2023 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Supporto per l'ibernazione
<a name="CONFIG_HIBERNATION"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Questa opzione deve essere abilitata per supportare la possibilità di [ibernare l'istanza on demand](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) e quella di [ibernare le istanze spot interrotte](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernate-spot-instances.html) 

### Generazione di numeri casuali
<a name="kernel-rng"></a>

 Il kernel AL2023 è configurato per garantire che sia disponibile un'entropia adeguata per l'utilizzo all'interno di EC2. 

### `CONFIG_INET_DIAG`
<a name="CONFIG_INET_DIAG"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. In AL2023, questa funzionalità è opzionale ed è integrata come modulo del kernel. 

### Azzera tutta la memoria del kernel, delle pagine e degli allocatori di slab durante l'allocazione e la deallocazione
<a name="kernel-init-on-alloc-free"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Queste opzioni sono disabilitate a AL2023 causa del possibile impatto sulle prestazioni derivante dall'attivazione di questa funzionalità per impostazione predefinita. Il comportamento `CONFIG_INIT_ON_ALLOC_DEFAULT_ON` può essere abilitato aggiungendolo `init_on_alloc=1` alla riga di comando del kernel e il comportamento `CONFIG_INIT_ON_FREE_DEFAULT_ON` può essere abilitato aggiungendo `init_on_free=1`. 

### Inizializzazione di tutte le variabili dello stack su zero (`CONFIG_INIT_STACK_ALL_ZERO`)
<a name="CONFIG_INIT_STACK_ALL_ZERO"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Questa opzione ne richiede GCC 12 o più, mentre AL2023 viene fornita con GCC 11. 

### Firma del modulo Kernel
<a name="kernel-config-modules"></a>

 AL2023 firma e convalida le firme dei moduli del kernel. L'opzione `CONFIG_MODULE_SIG_FORCE`, che richiederebbe ai moduli di avere una firma valida, non è abilitata per preservare la compatibilità per gli utenti che creano moduli di terze parti. Per gli utenti che vogliono assicurarsi che tutti i moduli del kernel siano firmati, [Modulo di sicurezza Linux Lockdown (LSM)](#CONFIG_SECURITY_LOCKDOWN_LSM) può essere configurato in modo da imporre questa condizione. 

### `kexec`
<a name="CONFIG_KEXEC"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Questa opzione è abilitata in modo da poter utilizzare la funzionalità `kdump`. 

### `IOMMU`Support
<a name="CONFIG_IOMMU_SUPPORT"></a>

 AL2023 abilita il supporto IOMMU. L'opzione `CONFIG_IOMMU_DEFAULT_DMA_STRICT` non è abilitata per impostazione predefinita, ma questa funzionalità può essere configurata aggiungendo `iommu.passthrough=0 iommu.strict=1` alla riga di comando del kernel. 

### `kfence`
<a name="CONFIG_KFENCE"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Supporto per `pty` legacy
<a name="CONFIG_LEGACY_PTYS"></a>

 AL2023 utilizza l'interfaccia moderna (). PTY `devpts` 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Modulo di sicurezza Linux Lockdown (LSM)
<a name="CONFIG_SECURITY_LOCKDOWN_LSM"></a>

 AL2023 crea l'`lockdown`LSM, che bloccherà automaticamente il kernel quando si usa Secure Boot. 

 L'opzione `CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY` non è abilitata. Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Quando non si utilizza Secure Boot, è possibile abilitare l'LSM Lockdown e configurarlo come desiderato. 

### Avvelenamento delle pagine
<a name="CONFIG_PAGE_POISONING"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Analogamente[Azzera tutta la memoria del kernel, delle pagine e degli allocatori di slab durante l'allocazione e la deallocazione](#kernel-init-on-alloc-free), questa opzione è disabilitata nel AL2023 kernel a causa del possibile impatto sulle prestazioni. 

### Stack Protector
<a name="CONFIG_STACKPROTECTOR"></a>

 Il AL2023 kernel è costruito con la funzionalità stack-protector abilitata con l'GCCopzione. `-fstack-protector-strong` 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### seccomp BPF API
<a name="CONFIG_SECCOMP"></a>

 La funzionalità di rafforzamento seccomp viene utilizzata da software come `systemd` e i runtime dei container per rafforzare le applicazioni dello spazio utente. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Timeout `panic()`
<a name="CONFIG_PANIC_TIMEOUT"></a>

 Il AL2023 kernel è configurato con questo valore impostato su`0`, il che significa che il kernel non si riavvierà in caso di panico. Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. È configurabile tramite `sysctl`, `/proc/sys/kernel/panic` e sulla riga di comando del kernel. 

### Modelli di sicurezza
<a name="CONFIG_SECURITY"></a>

 AL2023 abilita SELinux in modalità Permissiva per impostazione predefinita. Per ulteriori informazioni, consulta [Impostazione SELinux delle modalità per AL2 023](selinux-modes.md). 

 Anche i moduli [Modulo di sicurezza Linux Lockdown (LSM)](#CONFIG_SECURITY_LOCKDOWN_LSM) e `yama` sono abilitati. 

### `/proc/kcore`
<a name="CONFIG_PROC_KCORE"></a>

 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Randomizzazione dell'offset dello stack del kernel all'inserimento di syscall
<a name="CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Questa opzione può essere abilitata impostando `randomize_kstack_offset=on` sulla riga di comando del kernel. 

### Controlli di conteggio dei riferimenti (`CONFIG_REFCOUNT_FULL`)
<a name="CONFIG_REFCOUNT_FULL"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Attualmente questa opzione non è abilitata a causa del suo possibile impatto sulle prestazioni. 

### Consapevolezza del pianificatore dei core SMT (`CONFIG_SCHED_CORE`)
<a name="CONFIG_SCHED_CORE"></a>

 Il AL2023 kernel è costruito con, il che consente l'utilizzo da parte delle applicazioni dello `CONFIG_SCHED_CORE` spazio utente. `prctl(PR_SCHED_CORE)` Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Verifica della presenza di danneggiamento dello stack durante le chiamate a `schedule()` (`CONFIG_SCHED_STACK_END_CHECK`)
<a name="CONFIG_SCHED_STACK_END_CHECK"></a>

 Il AL2023 kernel è compilato con enabled. `CONFIG_SCHED_STACK_END_CHECK` Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Rafforzamento dell'allocatore di memoria
<a name="kernel-allocator-hardening"></a>

 Il AL2023 kernel abilita il rafforzamento dell'allocatore di memoria del kernel con le opzioni,, and. `CONFIG_SHUFFLE_PAGE_ALLOCATOR` `CONFIG_SLAB_FREELIST_HARDENED` `CONFIG_SLAB_FREELIST_RANDOM` Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Supporto per il debug SLUB
<a name="CONFIG_SLUB_DEBUG"></a>

 Il AL2023 kernel abilita `CONFIG_SLUB_DEBUG` poiché questa opzione abilita funzionalità di debug opzionali per l'allocatore che possono essere abilitate sulla riga di comando del kernel. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### CONFIG\$1STATIC\$1USERMODEHELPER
<a name="CONFIG_STATIC_USERMODEHELPER"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione in base a quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. Questo perché `CONFIG_STATIC_USERMODEHELPER` richiede un supporto speciale da parte della distribuzione, che attualmente non è presente in Amazon Linux. 

### Testo del kernel di sola lettura e rodata (`CONFIG_STRICT_KERNEL_RWX` e `CONFIG_STRICT_MODULE_RWX`)
<a name="CONFIG_STRICT_KERNEL_RWX"></a>

 Il AL2023 kernel è configurato per contrassegnare il testo e la memoria del kernel e dei moduli del kernel come di sola lettura e la rodata memoria non testuale contrassegnata come non eseguibile. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Supporto per TCP syncookie (`CONFIG_SYN_COOKIES`)
<a name="CONFIG_SYN_COOKIES"></a>

 Il AL2023 kernel è costruito con il supporto per i syncookie TCP. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Stack mappato virtualmente con pagine guard (`CONFIG_VMAP_STACK`)
<a name="CONFIG_VMAP_STACK"></a>

 Il AL2023 kernel è costruito con`CONFIG_VMAP_STACK`, abilita stack di kernel mappati virtualmente con pagine guard. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Compilazione tramite avvisi del compilatore come errori (`CONFIG_WERROR`)
<a name="CONFIG_WERROR"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione come consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Registrazione dell'azzeramento sulla funzione exit (`CONFIG_ZERO_CALL_USED_REGS`)
<a name="CONFIG_ZERO_CALL_USED_REGS"></a>

 Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Indirizzo minimo per l'allocazione dello spazio utente
<a name="CONFIG_DEFAULT_MMAP_MIN_ADDR"></a>

 Questa opzione di rafforzamento può aiutare a ridurre l'impatto dei bug dei puntatori NULL del kernel. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `clang`opzioni di indurimento specifiche
<a name="kernel-hardening-clang"></a>

 Il AL2023 kernel è compilato con GCC invece diclang, quindi l'opzione di `CONFIG_CFI_CLANG` rafforzamento non può essere abilitata, il che rende `CONFIG_CFI_PERMISSIVE` inoltre non applicabile. Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

## Opzioni di rafforzamento del kernel specifiche di x86-64
<a name="kernel-hardening-x86-64"></a>


| Opzione `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_AMD_IOMMU`](#CONFIG_AMD_IOMMU)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_AMD_IOMMU_V2`](#CONFIG_AMD_IOMMU_V2)  | N/D |  y  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_IA32_EMULATION`](#CONFIG_IA32_EMULATION)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_INTEL_IOMMU`](#CONFIG_INTEL_IOMMU)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_INTEL_IOMMU_DEFAULT_ON`](#CONFIG_INTEL_IOMMU_DEFAULT_ON)  | N/D |  n  | N/D |  n  | N/D |  n  | 
|  [`CONFIG_INTEL_IOMMU_SVM`](#CONFIG_INTEL_IOMMU_SVM)  | N/D |  n  | N/D |  n  | N/D |  n  | 
|  [`CONFIG_LEGACY_VSYSCALL_NONE`](#CONFIG_LEGACY_VSYSCALL_NONE)  | N/D |  n  | N/D |  n  | N/D |  n  | 
|  [`CONFIG_MODIFY_LDT_SYSCALL`](#CONFIG_MODIFY_LDT_SYSCALL)  | N/D |  n  | N/D |  n  | N/D |  n  | 
|  [`CONFIG_PAGE_TABLE_ISOLATION`](#CONFIG_PAGE_TABLE_ISOLATION)  | N/D |  y  | N/D | N/D | N/D | N/D | 
|  [`CONFIG_RANDOMIZE_MEMORY`](#CONFIG_RANDOMIZE_MEMORY)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_X86_64`](#CONFIG_X86_64)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_X86_MSR`](#CONFIG_X86_MSR)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_X86_VSYSCALL_EMULATION`](#CONFIG_X86_VSYSCALL_EMULATION)  | N/D |  y  | N/D |  y  | N/D |  y  | 
|  [`CONFIG_X86_X32`](#CONFIG_X86_X32)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_X86_X32_ABI`](#CONFIG_X86_X32_ABI)  | N/D |  n  | N/D |  n  | N/D |  n  | 

### Supporto per x86-64
<a name="CONFIG_X86_64"></a>

 Il supporto base per x86-64 include il supporto per i bit Physical Address Extension (PAE) e No eXecute (NX). Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Supporto per AMD e Intel IOMMU
<a name="kernel-x86-64-iommu"></a>

 Il AL2023 kernel viene compilato con il supporto per AMD e Intel. IOMMUs Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

 L'opzione `CONFIG_INTEL_IOMMU_DEFAULT_ON` non è impostata, ma può essere abilitata passando `intel_iommu=on` alla riga di comando del kernel. Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

 L'`CONFIG_INTEL_IOMMU_SVM`opzione non è attualmente abilitata in. AL2023 Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Support per lo spazio utente a 32 bit
<a name="kernel-hardening-32bit-support"></a>

**Importante**  
 Il supporto per lo spazio utente x86 a 32 bit è obsoleto e il supporto per l'esecuzione di file binari dello spazio utente a 32 bit potrebbe essere rimosso in una futura versione principale di Amazon Linux. 

**Nota**  
 Sebbene AL2023 non includa più pacchetti a 32 bit, il kernel supporterà comunque l'esecuzione di uno spazio utente a 32 bit. Per ulteriori informazioni, consulta [Pacchetti x86 (i686) a 32 bit](compare-with-al2.md#i686). 

 Per supportare l'esecuzione di applicazioni userspace a 32 bit, AL2023 non abilita l'`CONFIG_X86_VSYSCALL_EMULATION`opzione e abilita le opzioni, and. `CONFIG_IA32_EMULATION` `CONFIG_COMPAT` `CONFIG_X86_VSYSCALL_EMULATION` Sebbene questa opzione sia una delle [impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

 L'ABI x32 nativo a 32 bit per processori a 64 bit non è abilitato (`CONFIG_X86_X32` e `CONFIG_X86_X32_ABI`). Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Supporto per Model Specific Register x86 (MSR)
<a name="CONFIG_X86_MSR"></a>

 L'opzione `CONFIG_X86_MSR` è abilitata per supportare `turbostat`. Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### syscall `modify_ldt`
<a name="CONFIG_MODIFY_LDT_SYSCALL"></a>

 AL2023 non consente ai programmi utente di modificare la Local Descriptor Table (LDT) x86 con syscall. `modify_ldt` Questa chiamata è necessaria per eseguire codice a 16 bit o segmentato e la sua assenza può compromettere software come `dosemu`, l'esecuzione di alcuni programmi in WINE e alcune librerie di threading molto vecchie. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Rimozione della mappatura del kernel in modalità utente
<a name="CONFIG_PAGE_TABLE_ISOLATION"></a>

 AL2023 configura il kernel in modo che la maggior parte degli indirizzi del kernel non sia mappata nello spazio utente. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Randomizzazione delle sezioni di memoria del kernel
<a name="CONFIG_RANDOMIZE_MEMORY"></a>

 AL2023 configura il kernel per randomizzare gli indirizzi virtuali di base delle sezioni di memoria del kernel. Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

## Opzioni di rafforzamento del kernel specifiche di aarch64
<a name="kernel-hardening-aarch64"></a>


| Opzione `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ARM64_BTI`](#CONFIG_ARM64_BTI)  |  y  | N/D |  y  | N/D |  y  | N/D | 
|  [`CONFIG_ARM64_BTI_KERNEL`](#CONFIG_ARM64_BTI_KERNEL)  | N/D | N/D | N/D | N/D | N/D | N/D | 
|  [`CONFIG_ARM64_PTR_AUTH`](#CONFIG_ARM64_PTR_AUTH)  |  y  | N/D |  y  | N/D |  y  | N/D | 
|  [`CONFIG_ARM64_PTR_AUTH_KERNEL`](#CONFIG_ARM64_PTR_AUTH_KERNEL)  |  y  | N/D |  y  | N/D |  y  | N/D | 
|  [`CONFIG_ARM64_SW_TTBR0_PAN`](#CONFIG_ARM64_SW_TTBR0_PAN)  |  y  | N/D |  y  | N/D |  y  | N/D | 
|  [`CONFIG_UNMAP_KERNEL_AT_EL0`](#CONFIG_UNMAP_KERNEL_AT_EL0)  |  y  | N/D |  y  | N/D |  y  | N/D | 

### Identificazione dei target di ramo
<a name="CONFIG_ARM64_BTI"></a>

 Il AL2023 kernel abilita il supporto per Branch Target Identification (). `CONFIG_ARM64_BTI` Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

 [L'`CONFIG_ARM64_BTI_KERNEL`opzione non è abilitata in AL2023 quanto è stata compilata conGCC, e il supporto per la compilazione del kernel con questa opzione è [attualmente disabilitato nel kernel upstream](https://github.com/torvalds/linux/commit/c0a454b9044fdc99486853aa424e5b3be2107078) a causa di un bug di gcc.](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671) Sebbene questa opzione sia una delle impostazioni consigliate dal [Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione in base a quanto consigliato](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) da KSPP. 

### Autenticazione dei puntatori (`CONFIG_ARM64_PTR_AUTH`)
<a name="CONFIG_ARM64_PTR_AUTH"></a>

 Il AL2023 kernel è costruito con il supporto per l'estensione Pointer Authentication (parte delle estensioni ARMv8 .3), che può essere utilizzata per aiutare a mitigare le tecniche ROP (Return Oriented Programming). Il supporto hardware richiesto per l'autenticazione dei puntatori su [Graviton](https://aws.amazon.com/ec2/graviton) è stato introdotto con Graviton 3. 

 L'opzione `CONFIG_ARM64_PTR_AUTH` è abilitata e fornisce supporto per l'autenticazione dei puntatori per lo spazio utente. Poiché anche l'`CONFIG_ARM64_PTR_AUTH_KERNEL`opzione è abilitata, il AL2023 kernel è in grado di utilizzare autonomamente la protezione dell'indirizzo di ritorno. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Emulazione dell'accesso con privilegi che non usa mai lo switching `TTBR0_EL1`
<a name="CONFIG_ARM64_SW_TTBR0_PAN"></a>

 Questa opzione impedisce al kernel di accedere direttamente alla memoria dello spazio utente, con `TTBR0_EL1` che viene impostato solo temporaneamente su un valore valido dalle routine di accesso utente. 

 Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Annullamento della mappatura del kernel durante l'esecuzione nello spazio utente
<a name="CONFIG_UNMAP_KERNEL_AT_EL0"></a>

 Il AL2023 kernel è configurato per demappare il kernel quando viene eseguito in userspace (). `CONFIG_UNMAP_KERNEL_AT_EL0` Questa opzione è una delle [impostazioni consigliate per Kernel Self Protection Project](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

# Accesso ai metadati del repository AL2023
<a name="repo-metadata-signing"></a>

A partire dalla release`2023.11.20260406`, i AL2023 repository includono firme crittografiche per i metadati dei repository. Ogni file del repository è accompagnato da un `repomd.xml` file di firma GPG separato (`repomd.xml.asc`) che è possibile utilizzare per verificare l'autenticità e l'integrità dei metadati del repository prima che i pacchetti vengano scaricati.

Questa firma si aggiunge alla firma del pacchetto RPM esistente ()`gpgcheck`, che verifica i singoli pacchetti. La firma dei metadati del repository verifica i metadati che descrivono il contenuto del repository, come l'elenco dei pacchetti disponibili e i relativi checksum.

## Come funziona la firma dei metadati nel repository
<a name="repo-metadata-signing-overview"></a>

Quando i AL2023 repository vengono pubblicati, i metadati del repository (`repomd.xml`) vengono firmati utilizzando una chiave KMS. AWS La firma distaccata risultante (`repomd.xml.asc`) viene posizionata accanto ai metadati nel repository.

Quando la abiliti `repo_gpgcheck` nella configurazione del repository, scarica e verifica DNF automaticamente la `repomd.xml.asc` firma rispetto alla chiave pubblica GPG prima di utilizzare i metadati del repository. Se la verifica della firma fallisce, DNF rifiuta i metadati del repository e non procede con le operazioni sui pacchetti da quel repository. [Per ulteriori informazioni in merito`repo_gpgcheck`, consulta il Configuration Reference. DNF](https://dnf.readthedocs.io/en/latest/conf_ref.html)

I seguenti AL2023 repository includono metadati firmati:
+ Archivio principale () `amazonlinux`
+ Archivio Kernel Livepatch () `kernel-livepatch`
+ Archivio NVIDIA () `amazonlinux-nvidia`
+ Pacchetti supplementari per il repository Amazon Linux () `amazonlinux-spal`

## Differenza tra e `gpgcheck` `repo_gpgcheck`
<a name="repo-metadata-signing-gpgcheck-vs-repo-gpgcheck"></a>


| Impostazione | Cosa verifica | Impostazione predefinita in AL2023 | 
| --- | --- | --- | 
| gpgcheck=1 | Verifica la firma GPG dei singoli pacchetti RPM prima dell'installazione. | Abilitato | 
| repo\$1gpgcheck=1 | Verifica la firma GPG dei metadati del repository () prima di utilizzare il repository. repomd.xml | Disabilitato (abilitato di default a partire dalla versione trimestrale) 2023.12 | 

Ti consigliamo vivamente di abilitare entrambi `gpgcheck` e. `repo_gpgcheck` Ciò garantisce che sia i metadati del repository che i singoli pacchetti vengano verificati prima dell'uso.

## Abilitazione della verifica dei metadati del repository
<a name="repo-metadata-signing-enable"></a>

È possibile abilitare la verifica dei metadati del repository per i singoli repository aggiornando i relativi file di configurazione.

**Importante**  
A partire dalla versione `2023.12` trimestrale, `repo_gpgcheck=1` sarà abilitata per impostazione predefinita nei file di configurazione del repository. AL2023 

### Abilita per un repository specifico
<a name="repo-metadata-signing-enable-per-repo"></a>

I file di configurazione AL2023 del repository sono `/etc/yum.repos.d/` impostati di `repo_gpgcheck=0` default. Per abilitare la verifica dei metadati del repository, modifica questo valore `1` in nella configurazione del repository. Ad esempio, per abilitarlo per il repository principale:

```
[amazonlinux]
name=Amazon Linux 2023 repository
...
gpgcheck=1
repo_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
```

## Verifica del funzionamento della firma dei metadati del repository
<a name="repo-metadata-signing-verify"></a>

Dopo l'attivazione`repo_gpgcheck=1`, puoi verificare che la verifica dei metadati funzioni svuotando la DNF cache e aggiornando i metadati:

```
[ec2-user ~]$ sudo dnf clean metadata
[ec2-user ~]$ sudo dnf makecache
```

Se la verifica dei metadati ha esito positivo, DNF importa la chiave GPG (se non è già stata importata) e crea la cache dei metadati senza errori. Verrà visualizzato un output simile al seguente:

```
Amazon Linux 2023 repository                    1.7 MB/s | 1.8 kB     00:00
Importing GPG key 0xD832C631:
 Userid     : "Amazon Linux <amazon-linux@amazon.com>"
 Fingerprint: B21C 50FA 44A9 9720 EAA7 2F7F E951 904A D832 C631
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
Amazon Linux 2023 repository                      18 MB/s |  55 MB     00:03
Metadata cache created.
```

Se la verifica della firma fallisce, DNF visualizza un messaggio di errore che indica un errore di verifica della firma GPG e la creazione della cache dei metadati non riesce.

## Chiavi pubbliche GPG per i repository AL2023
<a name="repo-metadata-signing-gpg-keys"></a>

Le chiavi pubbliche GPG utilizzate per la verifica dei metadati del repository vengono installate dalla configurazione del repository corrispondente su. RPMs `/etc/pki/rpm-gpg/` La tabella seguente elenca le chiavi pubbliche utilizzate da ciascun repository.


| Repository | Chiave di firma del pacchetto | Chiave di firma Repodata | Distribuito in | 
| --- | --- | --- | --- | 
| Nucleo (amazonlinux) | RPM-GPG-KEY-amazon-linux-2023 | RPM-GPG-KEY-amazon-linux-2023 | system-release | 
| Kernel Livepatch () kernel-livepatch | RPM-GPG-KEY-amazon-linux-2023 | RPM-GPG-KEY-amazon-linux-2023 | system-release | 
| NVIDIA () amazonlinux-nvidia | RPM-GPG-KEY-NVIDIA-D42D0685 | RPM-GPG-KEY-amazon-linux-2023-nvidia | nvidia-release | 
| SPAL () amazonlinux-spal | RPM-GPG-KEY-amazonlinux-spal | RPM-GPG-KEY-amazonlinux-spal | spal-release | 

Queste chiavi vengono installate automaticamente quando si installa l'RPM di configurazione del repository corrispondente.

# Avvio sicuro UEFI attivo AL2023
<a name="uefi-secure-boot"></a>

AL2023 supporta UEFI Secure Boot a partire dalla versione 2023.1. Devi utilizzare AL2023 con istanze Amazon EC2 che supportano sia UEFI che UEFI Secure Boot. Per ulteriori informazioni, consulta [Requisiti per il lancio di un'istanza Amazon EC2 in modalità di avvio UEFI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launch-instance-boot-mode.html) nella *Amazon* EC2 User Guide.

AL2023 le istanze con UEFI Secure Boot abilitato accettano solo codice a livello di kernel, incluso il kernel Linux e i moduli, che sono firmati da, Amazon così puoi assicurarti che l'istanza esegua solo codici a livello di kernel firmati da. AWS

 *Per ulteriori informazioni sulle istanze Amazon EC2 e UEFI Secure Boot, consulta [UEFI Secure Boot for Amazon Amazon EC2 nella Amazon EC2 User Guide](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html).*

**Prerequisiti**
+ È necessario utilizzare un'AMI con AL2023 versione 2023.1 o successiva.
+ Il tipo di istanza deve supportare UEFI Secure Boot. Per ulteriori informazioni, consulta [Requisiti per il lancio di un'istanza Amazon EC2 in modalità di avvio UEFI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launch-instance-boot-mode.html) nella *Amazon* EC2 User Guide.

## Abilita UEFI Secure Boot su AL2023
<a name="enablement"></a>

Lo standard AL2023 AMIs incorpora un bootloader e un kernel firmati dalle nostre chiavi. È possibile abilitare UEFI Secure Boot registrando le istanze esistenti o creando AMIs con UEFI Secure Boot preabilitato registrando un'immagine da un'istantanea. UEFI Secure Boot non è abilitato per impostazione predefinita sullo standard. AL2023 AMIs

La modalità di avvio di AL2023 AMIs è impostata in modo da garantire `uefi-preferred` che le istanze avviate con questi dispositivi AMIs utilizzino il firmware UEFI, se il tipo di istanza supporta UEFI. Se il tipo di istanza non supporta UEFI, l'istanza viene avviata con il firmware BIOS legacy. Quando un'istanza viene avviata in modalità BIOS legacy, UEFI Secure Boot non viene applicato.

*Per ulteriori informazioni sulle modalità di avvio AMI sulle istanze Amazon EC2, consulta il comportamento di avvio delle istanze [con le modalità di avvio di Amazon Amazon EC2 nella Amazon EC2 User](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html) Guide.*

**Topics**
+ [Abilita UEFI Secure Boot su AL2023](#enablement)
+ [Registrazione di un'istanza esistente](#enrollment-existing-instance)
+ [Registrazione di un'immagine dallo snapshot](#secure-boot-amis)
+ [Aggiornamenti di revoca](#revocation-updates)
+ [Come funziona UEFI Secure Boot su AL2023](#shim-use)
+ [Registrazione di chiavi personalizzate](#enrolling-own-keys)

## Registrazione di un'istanza esistente
<a name="enrollment-existing-instance"></a>

Per registrare un'istanza esistente, compila le variabili specifiche del firmware UEFI con un set di chiavi che consentono al firmware di verificare il bootloader e al bootloader di verificare il kernel all'avvio successivo.

1. Amazon Linux fornisce uno strumento per semplificare il processo di registrazione. Esegui il comando seguente per effettuare il provisioning dell'istanza con il set di chiavi e certificati necessario. 

   ```
   sudo amazon-linux-sb enroll
   ```

1. Esegui il seguente comando per riavviare l'istanza. Dopo il riavvio dell'istanza, verrà abilitato UEFI Secure Boot. 

   ```
   sudo reboot
   ```

**Nota**  
Amazon Linux AMIs attualmente non supporta Nitro Trusted Platform Module (NitroTPM). Se hai bisogno di NitroTPM oltre a UEFI Secure Boot, usa le informazioni nella sezione seguente.

## Registrazione di un'immagine dallo snapshot
<a name="secure-boot-amis"></a>

Quando registri un'AMI da uno snapshot di un volume root di Amazon EBS utilizzando l'API `register-image` Amazon EC2, puoi effettuare il provisioning dell'AMI con un blob binario che contiene lo stato dell'archivio di variabili UEFI. Fornendo AL2023 `UefiData`, abiliti UEFI Secure Boot e non devi seguire i passaggi della sezione precedente.

Per ulteriori informazioni sulla creazione e l'utilizzo di un blob binario, consulta [Creare un blob binario contenente un archivio di variabili precompilato](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionB) nella *Amazon* EC2 User Guide.

AL2023 fornisce un blob binario predefinito che può essere utilizzato direttamente sulle istanze Amazon EC2. Il blob binario si trova in `/usr/share/amazon-linux-sb-keys/uefi.vars` su un'istanza in esecuzione. Questo blob è fornito dal pacchetto `amazon-linux-sb-keys` RPM che viene installato di default a partire dalla versione 2023.1. AL2023 AMIs 

**Nota**  
Per assicurarti di utilizzare la versione più recente delle chiavi e delle revoche, usa il blob della stessa versione AL2023 che usi per creare l'AMI.

Quando registri un'immagine, si consiglia di utilizzare il parametro `BootMode` dell'API [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html) impostata su `uefi`. Ciò consente di abilitare NitroTPM impostando il parametro `TpmSupport` su. `v2.0` Inoltre, impostando `BootMode` su `uefi` è possibile garantire che UEFI Secure Boot sia abilitato e non possa essere disabilitato accidentalmente quando si passa a un tipo di istanza che non supporta UEFI.

*Per ulteriori informazioni su NitroTPM, consulta [NitroTPM per istanze Amazon Amazon EC2 nella Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) User Guide.*

## Aggiornamenti di revoca
<a name="revocation-updates"></a>

Potrebbe essere necessario che Amazon Linux distribuisca una nuova versione del bootloader `grub2` o del kernel Linux firmata con chiavi aggiornate. In tal caso, potrebbe essere necessario revocare la vecchia chiave per evitare la possibilità che bug sfruttabili delle versioni precedenti del bootloader possano aggirare il processo di verifica di UEFI Secure Boot.

Gli aggiornamenti dei pacchetti ai pacchetti `grub2` o `kernel` aggiornano sempre automaticamente l'elenco delle revoche nell'archivio di variabili UEFI dell'istanza in esecuzione. Ciò significa che con UEFI Secure Boot abilitato, non è più possibile eseguire la versione obsoleta di un pacchetto dopo aver installato un aggiornamento di sicurezza per il pacchetto.

## Come funziona UEFI Secure Boot su AL2023
<a name="shim-use"></a>

A differenza di altre distribuzioni Linux, Amazon Linux non fornisce un componente aggiuntivo, chiamato shim, che funge da bootloader di prima fase. Lo shim è generalmente firmato con chiavi Microsoft. Ad esempio, nelle distribuzioni Linux con shim, lo shim carica il bootloader `grub2` che usa il codice dello shim per verificare il kernel Linux. Inoltre, lo shim mantiene il proprio set di chiavi e revoche nel database Machine Owner Key (MOK) situato nell'archivio di variabili UEFI e controllato con lo strumento `mokutil`.

Amazon Linux non fornisce uno shim. Poiché il proprietario dell'AMI controlla le variabili UEFI, questo passaggio intermedio non è necessario e può influire negativamente sui tempi di avvio e lancio. Inoltre, per impostazione predefinita, abbiamo scelto di non includere l'attendibilità nelle chiavi di tutti i fornitori, per ridurre la possibilità che i file binari indesiderati possano essere eseguiti. Come sempre, i clienti possono includere file binari se lo desiderano. 

Con Amazon Linux, UEFI carica e verifica direttamente il nostro bootloader `grub2`. Il bootloader `grub2` è stato modificato per utilizzare UEFI per verificare il kernel Linux dopo averlo caricato. Pertanto, il kernel Linux viene verificato utilizzando gli stessi certificati memorizzati nella normale variabile `db` UEFI (database delle chiavi autorizzate) e testato rispetto alla stessa variabile `dbx` (database delle revoche) del bootloader e di altri file binari UEFI. Poiché forniamo le nostre chiavi PK e KEK, che controllano l'accesso al database db e al database dbx, possiamo distribuire le revoche e gli aggiornamenti firmati secondo necessità senza un intermediario come lo shim.

*Per ulteriori informazioni su UEFI Secure Boot, consulta [Come funziona UEFI Secure Boot con le istanze Amazon Amazon EC2 nella Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-uefi-secure-boot-works.html) User Guide.*

## Registrazione di chiavi personalizzate
<a name="enrolling-own-keys"></a>

Come documentato nella sezione precedente, Amazon Linux non richiede uno `shim` per UEFI Secure Boot su Amazon EC2. Quando leggi la documentazione per altre distribuzioni Linux, potresti trovare la documentazione per la gestione del database Machine Owner Key (MOK), che non è presente su. `mokutil` AL2023 Gli ambienti `shim` e MOK aggirano alcune limitazioni della registrazione delle chiavi nel firmware UEFI che non sono applicabili al modo in cui Amazon EC2 implementa UEFI Secure Boot. Con Amazon EC2 sono disponibili meccanismi per manipolare facilmente e direttamente le chiavi nell'archivio di variabili UEFI.

Se desideri registrare le tue chiavi, puoi farlo manipolando l'archivio delle variabili all'interno di un'istanza esistente (vedi [Aggiungere chiavi all'archivio delle variabili dall'interno dell'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionA)) o costruendo un blob binario precompilato (vedi [Creare un blob binario contenente un archivio di variabili precompilato](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionB)).