AWS Lambda controlli - AWS Security Hub

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

AWS Lambda controlli

Questi controlli sono correlati alle risorse Lambda.

Questi controlli potrebbero non essere disponibili in tutti Regioni AWS. Per ulteriori informazioni, consulta Disponibilità dei controlli per regione.

[Lambda.1] Le politiche delle funzioni Lambda dovrebbero vietare l'accesso pubblico

Requisiti correlati: PCI DSS versione 3.2.1/1.2.1, PCI DSS versione 3.2.1/1.3.1, PCI DSS versione 3.2.1/1.3.2, PCI DSS versione 3.2.1/1.3.4, PCI DSS versione 3.2.1/7.2.1, NIST.800-53.r5 AC-21, NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3 (7), NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4 (21), NIST.800-53.r5 AC-6, NIST.800-53.r5 SC-7, NIST.800-53.R5 SC-7 (11), NIST.800-53.r5 SC-7 (16), NIST.800-53.r5 SC-7 (20), NIST.800-53.r5 SC-7 (20), NIST.800-53.r5 SC-7 (20) R5 SC-7 (21), NIS.800-53.r5 SC-7 (3), NIS.800-53.r5 SC-7 (4), NIT 800-53.r5 SC-7 (9)

Categoria: Protezione > Configurazione di rete protetta

Severità: critica

Tipo di risorsa: AWS::Lambda::Function

Regola AWS Config : lambda-function-public-access-prohibited

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se la politica basata sulle risorse della funzione Lambda proibisce l'accesso pubblico all'esterno dell'account. Il controllo fallisce se è consentito l'accesso pubblico. Il controllo fallisce anche se una funzione Lambda viene richiamata da Amazon S3 e la policy non include una condizione per limitare l'accesso pubblico, ad esempio. AWS:SourceAccount Ti consigliamo di utilizzare altre condizioni S3 oltre alla tua policy sui bucket per un accesso più preciso. AWS:SourceAccount

La funzione Lambda non dovrebbe essere accessibile al pubblico, in quanto ciò potrebbe consentire l'accesso involontario al codice della funzione.

Correzione

Per risolvere questo problema, è necessario aggiornare la politica basata sulle risorse della funzione per rimuovere le autorizzazioni o aggiungere la condizione. AWS:SourceAccount Puoi aggiornare la policy basata sulle risorse solo dall'API Lambda o. AWS CLI

Per iniziare, consulta la policy basata sulle risorse sulla console Lambda. Identifica la dichiarazione politica con valori di Principal campo che rendono pubblica la policy, ad esempio o. "*" { "AWS": "*" }

Non è possibile modificare la policy dalla console. Per rimuovere le autorizzazioni dalla funzione, esegui il remove-permissioncomando da. AWS CLI

$ aws lambda remove-permission --function-name <function-name> --statement-id <statement-id>

Sostituisci <function-name> con il nome della funzione Lambda e <statement-id> con l'istruzione ID (Sid) dell'istruzione che desideri rimuovere.

[Lambda.2] Le funzioni Lambda devono utilizzare runtime supportati

Requisiti correlati: NIST.800-53.r5 CA-9 (1), NIST.800-53.r5 CM-2, NIST.800-53.r5 SI-2, NIST.800-53.r5 SI-2 (2), NIST.800-53.r5 SI-2 (4), NIST.800-53.r5 SI-2 (5)

Categoria: Protezione > Sviluppo protetto

Gravità: media

Tipo di risorsa: AWS::Lambda::Function

Regola AWS Config : lambda-function-settings-check

Tipo di pianificazione: modifica attivata

Parametri:

  • runtime: dotnet8, dotnet6, java21, java17, java11, java8.al2, nodejs20.x, nodejs18.x, nodejs16.x, python3.12, python3.11, python3.10, python3.9, python3.8, ruby3.3, ruby3.2 (non personalizzabile)

Questo controllo verifica se le impostazioni di runtime della AWS Lambda funzione corrispondono ai valori previsti impostati per i runtime supportati in ogni lingua. Il controllo fallisce se la funzione Lambda non utilizza un runtime supportato, indicato in precedenza nei parametri. Security Hub ignora le funzioni che hanno un tipo di pacchetto diImage.

I runtime Lambda si basano su una combinazione di sistema operativo, linguaggio di programmazione e librerie software soggette a manutenzione e aggiornamenti di sicurezza. Quando un componente di runtime non è più supportato per gli aggiornamenti di sicurezza, Lambda rende obsoleto il runtime. Anche se non è possibile creare funzioni che utilizzano il runtime obsoleto, la funzione è comunque disponibile per elaborare gli eventi di invocazione. Ti consigliamo di assicurarti che le tue funzioni Lambda siano aggiornate e non utilizzino ambienti di runtime obsoleti. Per un elenco dei runtime supportati, consulta i runtime Lambda nella AWS Lambda Developer Guide.

Correzione

Per ulteriori informazioni sui runtime e sulle pianificazioni di obsolescenza supportati, consulta la politica di deprecazione del runtime nella Developer Guide.AWS Lambda Quando esegui la migrazione dei runtime alla versione più recente, segui la sintassi e le indicazioni fornite dagli editori del linguaggio. Consigliamo inoltre di applicare gli aggiornamenti di runtime per ridurre il rischio di impatto sui carichi di lavoro nel raro caso di incompatibilità di una versione di runtime.

[Lambda.3] Le funzioni Lambda devono trovarsi in un VPC

Requisiti correlati: PCI DSS versione 3.2.1/1.2.1, PCI DSS versione 3.2.1/1.3.1, PCI DSS versione 3.2.1/1.3.2, PCI DSS versione 3.2.1/1.3.4, NIST.800-53.r5 AC-21, NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3 (7), NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4 (21), NIST.800-53.r5 AC-6, NIST.800-53.r5 SC-7, NIST.800-53.r5 SC-7 (11), NIST.800-53.r5 SC-7 (16), NIST.800-53.r5 SC-7 (20), NIST.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), nist.800-53.r5 SC-7 (21), n800-53.r5 SC-7 (3), NIT 800-53.r5 SC-7 (4), NIST.800-53.5 SC-7 (9)

Categoria: Protezione > Configurazione di rete protetta

Gravità: bassa

Tipo di risorsa: AWS::Lambda::Function

AWS Config regola: lambda-inside-vpc

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se una funzione Lambda è implementata in un cloud privato virtuale (VPC). Il controllo fallisce se la funzione Lambda non è distribuita in un VPC. Security Hub non valuta la configurazione del routing della sottorete VPC per determinare la raggiungibilità pubblica. È possibile che vengano visualizzati risultati non riusciti per le risorse Lambda @Edge.

L'implementazione di risorse in un VPC rafforza la sicurezza e il controllo sulle configurazioni di rete. Tali implementazioni offrono anche scalabilità e un'elevata tolleranza agli errori in più zone di disponibilità. È possibile personalizzare le implementazioni VPC per soddisfare diversi requisiti applicativi.

Correzione

Per configurare una funzione esistente per la connessione a sottoreti private nel tuo VPC, consulta Configuring VPC access nella Developer Guide.AWS Lambda Consigliamo di scegliere almeno due sottoreti private per un'elevata disponibilità e almeno un gruppo di sicurezza che soddisfi i requisiti di connettività della funzione.

[Lambda.5] Le funzioni VPC Lambda devono funzionare in più zone di disponibilità

Requisiti correlati: NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6 (2), NIST.800-53.r5 SC-36, NIST.800-53.r5 SC-5 (2), NIST.800-53.r5 SI-13 (5)

Categoria: Recupero > Resilienza > Alta disponibilità

Gravità: media

Tipo di risorsa: AWS::Lambda::Function

Regola AWS Config : lambda-vpc-multi-az-check

Tipo di pianificazione: modifica attivata

Parametri:

Parametro Descrizione Type Valori personalizzati consentiti Valore predefinito di Security Hub

availabilityZones

Numero minimo di zone di disponibilità

Enum

2, 3, 4, 5, 6

2

Questo controllo verifica se una AWS Lambda funzione che si connette a un cloud privato virtuale (VPC) opera almeno nel numero specificato di zone di disponibilità (AZ). Il controllo fallisce se la funzione non funziona almeno nel numero specificato di AZ. A meno che non si fornisca un valore di parametro personalizzato per il numero minimo di AZ, Security Hub utilizza un valore predefinito di due AZ.

La distribuzione di risorse su più AZ è una AWS best practice per garantire un'elevata disponibilità all'interno dell'architettura. La disponibilità è un pilastro fondamentale del modello di sicurezza della triade di riservatezza, integrità e disponibilità. Tutte le funzioni Lambda che si connettono a un VPC devono disporre di un'implementazione Multi-AZ per garantire che una singola zona di errore non provochi un'interruzione totale delle operazioni.

Correzione

Se configuri la funzione per la connessione a un VPC nel tuo account, specifica le sottoreti in più AZ per garantire un'elevata disponibilità. Per istruzioni, consulta Configurazione dell'accesso al VPC nella Guida per AWS Lambda gli sviluppatori.

Lambda esegue automaticamente altre funzioni in più AZ per garantire che sia disponibile per elaborare gli eventi in caso di interruzione del servizio in una singola zona.

[Lambda.6] Le funzioni Lambda devono essere etichettate

Categoria: Identificazione > Inventario > Etichettatura

Gravità: bassa

Tipo di risorsa: AWS::Lambda::Function

AWS Config regola: tagged-lambda-function (regola Security Hub personalizzata)

Tipo di pianificazione: modifica attivata

Parametri:

Parametro Descrizione Type Valori personalizzati consentiti Valore predefinito di Security Hub
requiredTagKeys Elenco delle chiavi di tag non di sistema che la risorsa valutata deve contenere. Le chiavi dei tag prevedono una distinzione tra lettere maiuscole e minuscole. StringList Elenco di tag che soddisfano i requisiti AWS No default value

Questo controllo verifica se una AWS Lambda funzione ha tag con i tasti specifici definiti nel parametrorequiredTagKeys. Il controllo fallisce se la funzione non ha alcuna chiave tag o se non ha tutte le chiavi specificate nel parametrorequiredTagKeys. Se il parametro requiredTagKeys non viene fornito, il controllo verifica solo l'esistenza di una chiave tag e fallisce se la funzione non è etichettata con alcun tasto. I tag di sistema, che vengono applicati automaticamente e iniziano conaws:, vengono ignorati.

Un tag è un'etichetta che si assegna a una AWS risorsa e consiste in una chiave e un valore opzionale. È possibile creare tag per suddividere le risorse in categorie in base a scopo, proprietari, ambiente o ad altri criteri. I tag possono aiutarti a identificare, organizzare, cercare e filtrare le risorse. L'etichettatura consente inoltre di tenere traccia delle azioni e delle notifiche dei proprietari delle risorse responsabili. Quando si utilizza l'etichettatura, è possibile implementare il controllo degli accessi basato sugli attributi (ABAC) come strategia di autorizzazione, che definisce le autorizzazioni in base ai tag. Puoi allegare tag alle entità IAM (utenti o ruoli) e alle risorse. AWS Puoi creare una singola policy ABAC o un set separato di policy per i tuoi presidi IAM. Puoi progettare queste politiche ABAC per consentire le operazioni quando il tag del principale corrisponde al tag della risorsa. Per ulteriori informazioni, consulta A cosa serve ABAC? AWS nella Guida per l'utente di IAM.

Nota

Non aggiungere informazioni di identificazione personale (PII) o altre informazioni riservate o sensibili nei tag. I tag sono accessibili a molti Servizi AWS, tra cui. AWS Billing Per ulteriori best practice sull'etichettatura, consulta Taggare le AWS risorse in. Riferimenti generali di AWS

Correzione

Per aggiungere tag a una funzione Lambda, consulta Using tags on Lambda functions nella Developer Guide.AWS Lambda