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à.
Riparazione delle esposizioni per le funzioni Lambda
Nota
Security Hub è in versione di anteprima ed è soggetto a modifiche.
AWS Security Hub può generare risultati di esposizione per le AWS Lambda funzioni (Lambda).
Sulla console Security Hub, la funzione Lambda coinvolta in un rilevamento dell'esposizione e le relative informazioni di identificazione sono elencate nella sezione Risorse dei dettagli del risultato. A livello di codice, puoi recuperare i dettagli delle risorse con il GetFindingsV2funzionamento dell'API Security Hub.
Dopo aver identificato la risorsa coinvolta in un rilevamento dell'esposizione, puoi eliminare la risorsa se non ti serve. L'eliminazione di una risorsa non essenziale può ridurre il profilo di esposizione e AWS i costi. Se la risorsa è essenziale, segui questi passaggi correttivi consigliati per mitigare il rischio. Gli argomenti relativi alla correzione sono suddivisi in base al tipo di caratteristica.
Un singolo risultato sull'esposizione contiene i problemi identificati in diversi argomenti relativi alla correzione. Al contrario, è possibile risolvere un problema di esposizione e ridurne il livello di gravità affrontando un solo argomento di correzione. L'approccio alla risoluzione dei rischi dipende dai requisiti organizzativi e dai carichi di lavoro.
Nota
Le linee guida sulla correzione fornite in questo argomento potrebbero richiedere ulteriori consultazioni in altre risorse. AWS
Nota
Le linee guida sulla riparazione fornite in questo argomento potrebbero richiedere ulteriori consultazioni in altre AWS risorse.
Indice
Caratteristiche di configurazione errate per le funzioni Lambda
Di seguito sono riportate le caratteristiche di errata configurazione delle funzioni Lambda e i passaggi di correzione suggeriti.
La funzione Lambda esegue un runtime non supportato
Lambda consente agli sviluppatori di eseguire codice senza effettuare il provisioning o la gestione di server tramite runtime che eseguono il codice in un ambiente gestito. Lambda applica automaticamente patch e aggiornamenti di sicurezza ai runtime gestiti e alle immagini di base dei contenitori corrispondenti. Quando una versione runtime non è più supportata, non riceve più aggiornamenti di sicurezza, correzioni di bug o supporto tecnico. Le funzioni in esecuzione su runtime obsoleti possono presentare vulnerabilità di sicurezza e alla fine possono smettere di funzionare a causa di problemi come la scadenza dei certificati. Inoltre, i runtime non supportati possono essere vulnerabili agli exploit di sicurezza scoperti di recente senza patch disponibili. Seguendo le best practice di sicurezza, consigliamo di utilizzare runtime patchati e supportati per le funzioni Lambda.
Aggiorna il runtime della funzione
Nella scheda Risorse dell'esposizione, apri la risorsa con il collegamento ipertestuale. Si aprirà la finestra della funzione Lambda. Per aggiornare la funzione a un runtime supportato, configura la configurazione di gestione del runtime. Puoi scegliere di aggiornare automaticamente la tua funzione alla versione di runtime più recente, ma prima di selezionare questa opzione, valuta se gli aggiornamenti automatici potrebbero influire sulle applicazioni in esecuzione. Per ulteriori informazioni, consulta Comprendere come Lambda gestisce gli aggiornamenti delle versioni di runtime.
La funzione Lambda viene implementata all'esterno di un Amazon VPC
Per impostazione predefinita, le funzioni Lambda vengono distribuite con accesso alla rete Internet pubblica. Questa configurazione predefinita offre alle funzioni Lambda la possibilità di raggiungere gli endpoint di AWS servizio e quelli esterni APIs, ma le espone anche a potenziali rischi per la sicurezza. Le funzioni con accesso a Internet potrebbero essere utilizzate per esfiltrare dati, comunicare con server non autorizzati o diventare punti di accesso per attori esterni se compromesse. Amazon VPC fornisce l'isolamento della rete limitando le funzioni Lambda a comunicare solo con risorse all'interno della rete privata definita. Seguendo i principi di sicurezza standard, consigliamo di implementare le funzioni Lambda all'interno di un VPC per migliorare la sicurezza attraverso l'isolamento della rete.
Collega la funzione al VPC
Nel rilevamento dell'esposizione, apri la risorsa con il collegamento ipertestuale. Si aprirà la finestra della funzione Lambda. Per proteggere la tua funzione Lambda limitandone l'accesso alla rete, collegala a un VPC dotato dei controlli di rete appropriati. Prima di collegare la tua funzione a un VPC, pianifica l'accesso al servizio di cui potrebbe aver bisogno, poiché le funzioni nelle sottoreti private AWS senza gateway NAT o endpoint VPC non saranno in grado di raggiungere il servizio. AWS APIs Per informazioni su come collegare una funzione Lambda a un Amazon VPC nel tuo account, consulta Allegare le funzioni Lambda a un Amazon VPC nel tuo. Account AWS Prendi in considerazione l'utilizzo di endpoint VPC per la connettività dei servizi senza accesso a Internet se la tua funzione richiede l'accesso ai AWS servizi da una sottorete privata. Configura un gateway NAT se hai bisogno di connettività Internet in uscita da sottoreti private.
La funzione Lambda è in grado di assumere un ruolo IAM
Le funzioni Lambda utilizzano i ruoli IAM per interagire con AWS i servizi. Questi ruoli concedono le autorizzazioni per la funzione Lambda per AWS accedere alle risorse durante l'esecuzione. Sebbene a volte questi ruoli siano necessari per consentire alle funzioni Lambda di svolgere le proprie attività, devono seguire il principio del privilegio minimo. Seguendo i principi di sicurezza standard, AWS consiglia di verificare se le autorizzazioni associate al ruolo sono appropriate in base alla funzionalità prevista della funzione.
-
Determina se è richiesto il ruolo IAM associato
Determina se la funzione Lambda richiede la configurazione di un ruolo di esecuzione IAM. La maggior parte delle funzioni Lambda necessita di autorizzazioni di base per funzionare, come la scrittura di log. CloudWatch Esamina le autorizzazioni associate al ruolo di esecuzione della funzione e determina se il ruolo IAM è richiesto per la funzione. Per informazioni sui ruoli di esecuzione Lambda, consulta Definizione delle autorizzazioni della funzione Lambda con un ruolo di esecuzione nella Guida per gli sviluppatori.AWS Lambda
-
Implementa l'accesso con privilegio minimo
Sostituisci le politiche eccessivamente permissive con quelle che concedono solo le autorizzazioni specifiche necessarie per il funzionamento della funzione. Per informazioni sulle migliori pratiche di sicurezza per i ruoli IAM, consulta Applica le autorizzazioni con privilegi minimi nella Guida per l'utente.AWS Identity and Access Management Per identificare le autorizzazioni non necessarie, puoi utilizzare IAM Access Analyzer per capire come modificare la tua policy in base alla cronologia degli accessi. Per ulteriori informazioni, consulta Findings for external and inused access nella Guida per l'AWS Identity and Access Management utente. In alternativa, puoi creare un nuovo ruolo IAM per evitare di influire su altre funzioni Lambda che utilizzano il ruolo esistente. In questo scenario, crea un nuovo ruolo IAM, quindi associa il nuovo ruolo IAM all'istanza. Per istruzioni su come sostituire un ruolo IAM con una funzione, consulta Aggiornare il ruolo di esecuzione di una funzione nella Guida per gli AWS Lambda sviluppatori.
Il ruolo IAM associato alla funzione Lambda ha una politica di accesso amministrativo
Le politiche di accesso amministrativo forniscono alle funzioni Lambda ampie autorizzazioni per AWS servizi e risorse. Queste politiche in genere includono autorizzazioni che non sono necessarie per la funzionalità. Fornire un'identità IAM con una politica di accesso amministrativo su una funzione Lambda, anziché il set minimo di autorizzazioni richiesto dal ruolo di esecuzione, può aumentare la portata di un attacco se la funzione è compromessa. Seguendo i principi di sicurezza standard, AWS consiglia di concedere i privilegi minimi, il che significa che si concedono solo le autorizzazioni necessarie per eseguire un'attività.
-
Rivedi e identifica le politiche amministrative
Nella rilevazione dell'esposizione, identifica il nome del ruolo. Vai alla dashboard IAM e trova il ruolo con il nome del ruolo identificato in precedenza. Rivedi la politica di autorizzazione allegata al ruolo IAM. Se la policy è una policy AWS gestita, cerca
AdministratorAccess
oIAMFullAccess
. Altrimenti, nel documento programmatico, cerca le dichiarazioni che contengono le dichiarazioni"Effect": "Allow", "Action": "*"
e"Resource": "*"
insieme. -
Implementa l'accesso con privilegio minimo
Sostituisci le politiche amministrative con quelle che concedono solo le autorizzazioni specifiche necessarie per il funzionamento della funzione. Per ulteriori informazioni sulle best practice di sicurezza per i ruoli IAM, consulta Applica le autorizzazioni con privilegi minimi nella Guida per l'utente.AWS Identity and Access Management Per identificare le autorizzazioni non necessarie, puoi utilizzare IAM Access Analyzer per capire come modificare la tua policy in base alla cronologia degli accessi. Per ulteriori informazioni, consulta Findings for external and inused access nella Guida per l'AWS Identity and Access Management utente. In alternativa, puoi creare un nuovo ruolo IAM per evitare di influire su altre funzioni Lambda utilizzando il ruolo esistente. In questo scenario, crea un nuovo ruolo IAM. Quindi associa il nuovo ruolo all'istanza. Per informazioni sulla sostituzione di un ruolo IAM con una funzione, consulta Aggiornare il ruolo di esecuzione di una funzione nella Guida per gli AWS Lambda sviluppatori.
-
Considerazioni sulla configurazione sicura
Se per l'istanza sono necessarie le autorizzazioni di accesso amministrativo, prendi in considerazione l'implementazione di questi controlli di sicurezza aggiuntivi per mitigare i rischi:
-
Autenticazione a più fattori (MFA): l'MFA aggiunge un ulteriore livello di sicurezza richiedendo una forma di autenticazione aggiuntiva. Questo aiuta a prevenire l'accesso non autorizzato anche se le credenziali sono compromesse. Per ulteriori informazioni, consulta Richiedere l'autenticazione a più fattori (MFA) nella Guida per AWS Identity and Access Management l'utente.
-
Condizioni IAM: l'impostazione degli elementi delle condizioni consente di limitare quando e come le autorizzazioni amministrative possono essere utilizzate in base a fattori come l'IP di origine o l'età dell'MFA. Per ulteriori informazioni, consulta Use conditions in IAM policy per limitare ulteriormente l'accesso nella IAM User Guide.
-
Limiti di autorizzazione: i limiti di autorizzazione stabiliscono le autorizzazioni massime che un ruolo può avere, fornendo barriere per i ruoli con accesso amministrativo. Per ulteriori informazioni, consulta Utilizzare i limiti delle autorizzazioni per delegare la gestione delle autorizzazioni all'interno di un account nella Guida per l'utente.AWS Identity and Access Management
-
Il ruolo IAM associato alla funzione Lambda ha una policy con accesso amministrativo a un servizio AWS
Le politiche di amministrazione del servizio consentono alle funzioni Lambda di eseguire tutte le azioni all'interno di un servizio specifico AWS . Queste politiche in genere concedono più autorizzazioni di quelle necessarie per il funzionamento di una funzione. Se una funzione Lambda con una policy di amministrazione del servizio viene compromessa, un utente malintenzionato potrebbe utilizzare tali autorizzazioni per accedere o modificare potenzialmente dati o servizi sensibili all'interno dell'ambiente. AWS Seguendo i principi di sicurezza standard, ti consigliamo di concedere i privilegi minimi, il che significa che concedi solo le autorizzazioni necessarie per eseguire un'attività.
-
Rivedi e identifica le politiche amministrative
Nella rilevazione dell'esposizione, identificare il nome del ruolo nell'ARN. Vai alla dashboard IAM e trova il nome del ruolo. Rivedi la politica di autorizzazione allegata al ruolo. Se la politica è una politica AWS gestita, cerca
AdministratorAccess
oIAMFullAccess
. Altrimenti, nel documento sulla politica, cerca le dichiarazioni che contengono le dichiarazioni"Effect": "Allow", "Action": "*"
e"Resource": "*"
. -
Implementa l'accesso con privilegio minimo
Sostituisci le politiche amministrative con quelle che concedono solo le autorizzazioni specifiche necessarie per il funzionamento della funzione. Per ulteriori informazioni, consulta Applicazione delle autorizzazioni del privilegio minimo nella Guida per l'utente di AWS Identity and Access Management . Per identificare le autorizzazioni non necessarie, puoi utilizzare IAM Access Analyzer per capire come modificare la tua policy in base alla cronologia degli accessi. Per ulteriori informazioni, consulta Findings for external and inused access nella Guida per l'AWS Identity and Access Management utente. In alternativa, puoi creare un nuovo ruolo IAM per evitare di influire su altre funzioni Lambda che utilizzano il ruolo esistente. In questo scenario, crea un nuovo ruolo IAM, quindi associa il nuovo ruolo IAM all'istanza. Per istruzioni su come sostituire un ruolo IAM con una funzione, consulta Aggiornare il ruolo di esecuzione di una funzione nella Guida per gli AWS Lambda sviluppatori.
-
Considerazioni sulla configurazione sicura
Se per l'istanza sono necessarie autorizzazioni amministrative a livello di servizio, prendi in considerazione l'implementazione di questi controlli di sicurezza aggiuntivi per mitigare i rischi:
-
Autenticazione a più fattori (MFA): l'MFA aggiunge un ulteriore livello di sicurezza richiedendo una forma di autenticazione aggiuntiva. Questo aiuta a prevenire l'accesso non autorizzato anche se le credenziali sono compromesse. Per ulteriori informazioni, consulta Richiedere l'autenticazione a più fattori (MFA) nella Guida per AWS Identity and Access Management l'utente.
-
Condizioni IAM: l'impostazione degli elementi delle condizioni consente di limitare quando e come le autorizzazioni amministrative possono essere utilizzate in base a fattori come l'IP di origine o l'età dell'MFA. Per ulteriori informazioni, consulta Usa le condizioni nelle politiche IAM per limitare ulteriormente l'accesso nella Guida per l'AWS Identity and Access Management utente.
-
Limiti delle autorizzazioni: i limiti delle autorizzazioni stabiliscono le autorizzazioni massime che un ruolo può avere, fornendo barriere per i ruoli con accesso amministrativo. Per ulteriori informazioni, consulta Utilizzare i limiti delle autorizzazioni per delegare la gestione delle autorizzazioni nella Guida per l'utente.AWS Identity and Access Management
-
Caratteristiche di raggiungibilità per le funzioni Lambda
Di seguito sono riportati i tratti di raggiungibilità per le funzioni Lambda e i passaggi di correzione suggeriti.
La funzione Lambda può essere invocata pubblicamente
Le policy basate sulle risorse di Lambda determinano chi può richiamare le tue funzioni. Una funzione con una politica delle risorse che include «*» come principale (o nessuna) consente a qualsiasi utente autenticato AWS di richiamarla. Ciò comporta un rischio significativo, in particolare per le funzioni che elaborano dati sensibili, modificano risorse o dispongono di autorizzazioni elevate. Gli utenti non autorizzati potrebbero sfruttare questa configurazione per eseguire operazioni indesiderate, esponendo potenzialmente dati, manipolando risorse o abusando delle funzionalità. Seguendo le migliori pratiche di sicurezza, consigliamo di limitare l'accesso alla funzione Lambda solo ai principali autorizzati.
Modifica la politica basata sulle risorse della funzione
Nella scheda Risorse dell'esposizione, apri la risorsa con il collegamento ipertestuale. Si aprirà la finestra della funzione Lambda. Limita l'accesso alla tua funzione Lambda specificando solo AWS account autorizzati IDs o principali IAM specifici (utenti, ruoli o servizi) nella policy basata sulle risorse. È possibile modificare le politiche basate sulle risorse solo a livello di codice.
Caratteristiche di vulnerabilità per le funzioni Lambda
Di seguito sono riportati i tratti di vulnerabilità per le funzioni Lambda e le procedure di correzione suggerite.
La funzione Lambda presenta vulnerabilità software sfruttabili dalla rete
I pacchetti software utilizzati nel codice della funzione Lambda possono contenere vulnerabilità ed esposizioni comuni (CVEs) che hanno un'alta probabilità di essere sfruttate. Critical CVEs rappresenta un rischio significativo per la sicurezza dell'ambiente. AWS Gli aggressori possono sfruttare queste vulnerabilità prive di patch per compromettere la riservatezza, l'integrità o la disponibilità dei dati o per accedere ad altri sistemi. Le vulnerabilità critiche con un'elevata probabilità di sfruttamento rappresentano minacce immediate alla sicurezza, poiché il codice di exploit potrebbe già essere disponibile al pubblico e utilizzato attivamente dagli aggressori o dagli strumenti di scansione automatizzati. Seguendo le migliori pratiche di sicurezza, consigliamo di correggere queste vulnerabilità per proteggere la funzione dagli attacchi.
Aggiorna le funzioni interessate
Consultate la sezione Riferimenti nella scheda Vulnerabilità per conoscere la caratteristica. La documentazione del fornitore può includere linee guida specifiche per la correzione. Aggiorna le librerie vulnerabili alle versioni sicure più recenti seguendo le procedure consigliate dal fornitore. In genere, il flusso di lavoro di riparazione dipende dal fatto che il pacchetto Lambda sia stato distribuito caricando un file zip o creando una funzione Lambda con un'immagine del contenitore. Dopo aver aggiornato le librerie, aggiorna il codice della funzione Lambda per utilizzare la versione fissa. Successivamente, distribuisci la versione aggiornata.
La funzione Lambda presenta vulnerabilità software
Le funzioni Lambda utilizzano spesso librerie e dipendenze di terze parti che possono contenere vulnerabilità di sicurezza con gravità o sfruttabilità inferiori rispetto a quelle critiche. CVEs Sebbene queste vulnerabilità non critiche possano non essere sfruttabili immediatamente, rappresentano comunque punti deboli di sicurezza che potrebbero essere concatenati ad altre vulnerabilità per compromettere la funzionalità dell'utente. Nel corso del tempo, potrebbero emergere anche nuove tecniche di exploit che aumentano il rischio di queste vulnerabilità. Seguendo i principi di sicurezza standard, consigliamo di correggere queste vulnerabilità per mantenere un ambiente sicuro.
Consulta la sezione Riferimenti nella scheda Vulnerabilità per conoscere la caratteristica. La documentazione del fornitore può includere linee guida specifiche per la correzione. Aggiorna le librerie vulnerabili alle versioni sicure più recenti seguendo le procedure consigliate dal fornitore. In genere, il flusso di lavoro di riparazione dipende dal fatto che il pacchetto Lambda sia stato distribuito caricando un file zip o creando una funzione Lambda con un'immagine del contenitore. Dopo aver aggiornato le librerie, aggiorna il codice della funzione Lambda per utilizzare la versione fissa. Successivamente, distribuisci la versione aggiornata.