Implementazione dell'osservabilità per la sicurezza e la conformità Lambda - AWS Lambda

Implementazione dell'osservabilità per la sicurezza e la conformità Lambda

AWS Config è uno strumento utile per trovare e correggere risorse serverless AWS non conformi. Ogni modifica apportata alle risorse serverless viene registrata in AWS Config. Inoltre, AWS Config ti consente di archiviare i dati degli snapshot di configurazione in S3. Puoi utilizzare Amazon Athena e Amazon QuickSight per creare dashboard e visualizzare i dati di AWS Config. In Rilevare implementazioni e configurazioni Lambda non conformi con AWS Config, abbiamo discusso come visualizzare una determinata configurazione quali i livelli Lambda. Il presente argomento approfondisce tali concetti.

Visibilità sulle configurazioni Lambda

Puoi utilizzare le query per ottenere configurazioni importanti come l'ID dell'Account AWS, Regione, la configurazione del tracciamento AWS X-Ray, la configurazione del VPC, la dimensione della memoria, il runtime e i tag. Di seguito è riportato un esempio di query che puoi utilizzare per ottenere queste informazioni da Athena:

WITH unnested AS ( SELECT item.awsaccountid AS account_id, item.awsregion AS region, item.configuration AS lambda_configuration, item.resourceid AS resourceid, item.resourcename AS resourcename, item.configuration AS configuration, json_parse(item.configuration) AS lambda_json FROM default.aws_config_configuration_snapshot, UNNEST(configurationitems) as t(item) WHERE "dt" = 'latest' AND item.resourcetype = 'AWS::Lambda::Function' ) SELECT DISTINCT account_id, tags, region as Region, resourcename as FunctionName, json_extract_scalar(lambda_json, '$.memorySize') AS memory_size, json_extract_scalar(lambda_json, '$.timeout') AS timeout, json_extract_scalar(lambda_json, '$.runtime') AS version json_extract_scalar(lambda_json, '$.vpcConfig.SubnetIds') AS vpcConfig json_extract_scalar(lambda_json, '$.tracingConfig.mode') AS tracingConfig FROM unnested

Puoi utilizzare la query per creare una dashboard Amazon QuickSight e visualizzare i dati. Per aggregare i dati di configurazione delle risorse AWS, creare tabelle in Athena e sviluppare dashboard Amazon QuickSight in base ai dati di Athena, consulta Visualizing AWS Config data using Athena and Amazon QuickSight nel blog AWS Cloud Operations and Management. In particolare, questa query recupera anche le informazioni dei tag per le funzioni. Ciò consente di ottenere maggiori approfondimenti sui carichi di lavoro e sugli ambienti, soprattutto se impieghi tag personalizzati.

Query results in Quick Suite dashboard

Per ulteriori informazioni sulle azioni che puoi intraprendere, consulta la sezione Risoluzione degli esiti di osservabilità più avanti in questo argomento.

Visibilità sulla conformità Lambda

Con i dati generati da AWS Config, puoi creare dashboard a livello di organizzazione per monitorare la conformità. Ciò consente il tracciamento e il monitoraggio coerenti di:

  • Pacchetti di conformità per punteggio di conformità

  • Regole per risorse non conformi

  • Compliance status (Stato di conformità)

AWS Config console dashboard

Controlla ogni regola per identificare le risorse non conformi alla stessa. Ad esempio, se l'organizzazione impone che tutte le funzioni Lambda siano associate a un VPC e se hai implementato una regola di AWS Config per identificare la conformità, puoi selezionare la regola lambda-inside-vpc nell'elenco precedente.

View non-compliant resources in AWS Config console

Per ulteriori informazioni sulle azioni che puoi intraprendere, consulta la sezione Risoluzione degli esiti di osservabilità di seguito.

Visibilità sui limiti delle funzioni Lambda con Centrale di sicurezza

Diagram of example AWS Security Hub CSPM inputs for Lambda, such as resource policy, runtime, and code

Per garantire che i servizi AWS, tra cui Lambda, vengano utilizzati in modo sicuro, AWS ha introdotto le Foundational Security Best Practices v1.0.0. Questo insieme di best practice fornisce linee guida chiare per proteggere risorse e dati nell'ambiente AWS, sottolineando l'importanza di mantenere una posizione di sicurezza solida. AWS Security Hub CSPM integra quanto descritto con l'offerta di un centro unificato per la sicurezza e la conformità. Questo aggrega, organizza e ordina secondo priorità gli esiti di sicurezza provenienti da più servizi AWS, come Amazon Inspector, AWS Identity and Access Management Access Analyzer e Amazon GuardDuty.

Se nella tua organizzazione AWS sono abilitati Centrale di sicurezza, Amazon Inspector, Sistema di analisi degli accessi IAM e GuardDuty, Centrale di sicurezza aggrega in automatico gli esiti di tali servizi. Prendiamo ad esempio Amazon Inspector. Utilizzando Centrale di sicurezza, puoi identificare in modo efficiente le vulnerabilità di codice e pacchetti nelle funzioni Lambda. Nella console di Centrale di sicurezza, accedi alla sezione inferiore, denominata Risultati più recenti delle integrazioni AWS. Qui puoi visualizzare e analizzare gli esiti provenienti da vari servizi AWS integrati.

Security Hub console "Latest findings from AWS integrations" section

Per visualizzare i dettagli, scegli il link Vedi risultati nella seconda colonna. Viene visualizzato un elenco di risultati filtrati per prodotto, ad esempio Amazon Inspector. Per limitare la ricerca alle funzioni Lambda, imposta ResourceType su AwsLambdaFunction. Vengono visualizzati gli esiti di Amazon Inspector relativi alle funzioni Lambda.

Filter for Amazon Inspector results related to Lambda functions

Con GuardDuty, puoi identificare modelli di traffico di rete sospetti. Tali anomalie potrebbero suggerire l'esistenza di codice potenzialmente dannoso all'interno della funzione Lambda.

Con Sistema di analisi degli accessi IAM, puoi controllare le policy, in particolare quelle con istruzioni condizionali che concedono l'accesso alle funzioni a entità esterne. Inoltre, Sistema di analisi degli accessi IAM valuta le autorizzazioni impostate quando utilizzi l'operazione AddPermission nell'API Lambda insieme a EventSourceToken.

Risoluzione degli esiti di osservabilità

Data l'ampia gamma di configurazioni possibili per le funzioni Lambda e i relativi requisiti distinti, una soluzione di automazione standardizzata per la riparazione potrebbe non essere adatta a ogni situazione. Inoltre, le modifiche vengono implementate in modo diverso nei vari ambienti. Se riscontri una configurazione che sembra non conforme, tieni presente le seguenti linee guida:

  1. Strategia di assegnazione tag

    Consigliamo di implementare una strategia di assegnazione tag completa. A ogni funzione Lambda si dovrebbero assegnare tag con informazioni chiave come le seguenti:

    • Proprietario: la persona o il team responsabile della funzione.

    • Ambiente: produzione, staging, sviluppo o ambiente di sperimentazione (sandbox).

    • Applicazione: il contesto più ampio a cui appartiene la funzione, se applicabile.

  2. Contatto del proprietario

    Anziché automatizzare le modifiche sostanziali (come la regolazione della configurazione del VPC), contatta in modo proattivo i proprietari delle funzioni non conformi (identificati dal tag del proprietario) fornendo loro il tempo sufficiente per adottare una delle misure seguenti:

    • Regolare le configurazioni non conformi sulle funzioni Lambda.

    • Fornire una spiegazione e richiedere un'eccezione oppure perfezionare gli standard di conformità.

  3. Mantenimento di un database di gestione della configurazione (CMDB)

    Sebbene i tag possano fornire un contesto immediato, mantenere un CMDB centralizzato può fornire maggiori approfondimenti. Il database può contenere informazioni più granulari in merito a ogni funzione Lambda, alle relative dipendenze e altri metadati critici. Un CMDB è una risorsa di valore inestimabile per l'audit, i controlli di conformità e l'identificazione dei proprietari delle funzioni.

Poiché il panorama dell'infrastruttura serverless è in continua evoluzione, è essenziale adottare un atteggiamento proattivo nei confronti del monitoraggio. Con strumenti come AWS Config, Centrale di sicurezza e Amazon Inspector, è possibile identificare rapidamente potenziali anomalie o configurazioni non conformi. Tuttavia, gli strumenti da soli non possono garantire la conformità totale o configurazioni ottimali. È fondamentale abbinare tali strumenti a processi e best practice ben documentati.

  • Ciclo di feedback: una volta intraprese le misure correttive, assicurati che vi sia un ciclo di feedback. Ciò significa riesaminare su base periodica le risorse non conformi per confermare se sono state aggiornate o se presentano ancora gli stessi problemi.

  • Documentazione: documenta sempre le osservazioni, le azioni intraprese e le eventuali eccezioni concesse. Una documentazione adeguata non solo aiuta durante gli audit, ma contribuisce anche a migliorare il processo per ottenere una maggiore conformità e sicurezza in futuro.

  • Formazione e consapevolezza: assicurati che tutte le parti interessate, in particolare i responsabili delle funzioni Lambda, ricevano una formazione periodica e siano informate su best practice, policy dell'organizzazione e obblighi di conformità. Workshop, webinar o sessioni di formazione regolari possono dare un contributo notevole per garantire che tutti siano sulla stessa lunghezza d'onda in materia di sicurezza e conformità.

In conclusione, mentre gli strumenti e le tecnologie forniscono funzionalità solide per rilevare e segnalare potenziali problemi, l'elemento umano (comprensione, comunicazione, formazione e documentazione) rimane di cruciale importanza. Insieme, questi aspetti formano una combinazione molto efficace per garantire che le funzioni Lambda e l'infrastruttura in senso lato rimangano conformi, sicure e ottimizzate per le esigenze aziendali.