Best practice di sicurezza per Amazon S3 - Amazon Simple Storage Service

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

Best practice di sicurezza per Amazon S3

Amazon S3 fornisce una serie di caratteristiche di sicurezza che occorre valutare durante lo sviluppo e l'implementazione delle policy di sicurezza. Le seguenti best practice sono linee guida generali e non rappresentano una soluzione di sicurezza completa. Poiché queste best practice potrebbero non essere appropriate o sufficienti per il tuo ambiente, considerale come consigli utili più che prescrizioni.

Best practice di sicurezza per Amazon S3

Le seguenti best practice per Amazon S3 consentono di evitare incidenti di sicurezza.

Disabilitare le liste di controllo degli accessi (ACL)

S3 Proprietà dell'oggetto è un'impostazione a livello di bucket Amazon S3 che è possibile utilizzare per controllare la proprietà degli oggetti caricati nel bucket e per disabilitare o abilitare ACL. Per impostazione predefinita, Proprietà dell'oggetto è impostata su Proprietario del bucket applicato e tutte le ACL sono disabilitate. Quando le ACL sono disabilitate, il proprietario del bucket dispone di tutti gli oggetti nel bucket e gestisce l'accesso ai dati in maniera esclusiva utilizzando policy di gestione dell'accesso.

La maggior parte dei casi d'uso moderno in Amazon S3 non richiede più l'uso di liste di controllo degli accessi (ACL). È consigliabile disabilitare le ACL, tranne in circostanze insolite in cui è necessario controllare individualmente l'accesso per ciascun oggetto. Per disabilitare le ACL e assumere la proprietà di ogni oggetto del tuo bucket, applica l'impostazione Bucket owner enforced (Applicata da proprietario bucket) per S3 Object Ownership. Quando si disabilitano le ACL, è possibile mantenere facilmente un bucket con oggetti caricati da diversi Account AWS.

Quando le ACL sono disabilitate, il controllo degli accessi per i dati è basato su policy, come quelle elencate di seguito:

  • AWS Identity and Access Management politiche utente (IAM)

  • Policy di bucket S3

  • Policy di endpoint del cloud privato virtuale (VPC)

  • AWS Organizations politiche di controllo del servizio (SCP)

La disabilitazione delle ACL semplifica la gestione e il controllo delle autorizzazioni. Per impostazione predefinita, le ACL sono disabilitate per nuovi bucket. È anche possibile disabilitare le ACL per i bucket esistenti. Se hai un bucket esistente che contiene già oggetti, dopo aver disabilitato le ACL, l'oggetto e le ACL bucket non fanno più parte del processo di valutazione dell'accesso. L'accesso è invece concesso o negato in base alle policy.

Prima di disabilitare le ACL, assicurati di eseguire la seguente procedura:

  • Esamina la policy del bucket per assicurarti che copra tutti i modi in cui intendi concedere l'accesso al bucket al di fuori del tuo account.

  • Ripristina le impostazioni di default del bucket ACL (controllo completo per il proprietario del bucket).

Dopo aver disabilitato le ACL, si verificano i seguenti comportamenti:

  • Il bucket accetta solo richieste PUT che non specificano un ACL o richieste PUT con ACL di controllo completo del proprietario del bucket. Queste ACL includono l'ACL predefinita bucket-owner-full-control o forme equivalenti di questa ACL espresse in XML.

  • Le applicazioni esistenti che supportano le ACL di controllo completo del proprietario del bucket non subiranno alcun impatto.

  • PUTle richieste che contengono altri ACL (ad esempio, concessioni personalizzate a determinate Account AWS) hanno esito negativo e restituiscono un codice di stato HTTP 400 (Bad Request) con il codice di errore. AccessControlListNotSupported

Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Verifica che i bucket Amazon S3 utilizzino le policy corrette e non siano accessibili pubblicamente

A meno che non venga richiesto in maniera esplicita che gli utenti su Internet siano in grado di leggere o scrivere nel bucket S3, assicurati che il bucket S3 non sia pubblico. Di seguito sono riportate alcune delle fasi che è possibile eseguire per bloccare l'accesso pubblico:

  • Utilizza Blocco dell'accesso pubblico S3. Con il Blocco dell'accesso pubblico, è possibile configurare facilmente controlli centralizzati per limitare l'accesso pubblico alle risorse Amazon S3. Questi controlli centralizzati vengono applicati a prescindere da come vengono create le risorse. Per ulteriori informazioni, consulta Blocco dell'accesso pubblico allo storage Amazon S3.

  • Identifica le policy di bucket Amazon S3 che consentono l'uso di un'identità jolly, ad esempio "Principal": "*" (che significa di fatto "tutti"). Inoltre, cerca policy che consentono un'azione jolly "*" (che di fatto consente all'utente di eseguire qualsiasi azione nel bucket Amazon S3).

  • Allo stesso modo, cerca le liste di controllo degli accessi (ACL) dei bucket di Amazon S3 che forniscono lettura, scrittura o accesso completo a «Everyone» o «Qualsiasi utente autenticato». AWS

  • Utilizza l'operazione API ListBuckets per eseguire la scansione di tutti i bucket Amazon S3. Quindi, utilizza GetBucketAcl, GetBucketWebsite e GetBucketPolicy per determinare se ciascun bucket dispone di controlli sugli accessi conformi e configurazione conforme.

  • Utilizza AWS Trusted Advisor per ispezionare l'implementazione di Amazon S3.

  • Valuta se implementare controlli di rilevamento continui utilizzando s3-bucket-public-read-prohibited e s3-bucket-public-write-prohibited gestito Regole di AWS Config.

Per ulteriori informazioni, consulta Identity and Access Management in Amazon S3.

Applica l'accesso con privilegi minimi

Quando concedi le autorizzazioni, puoi decidere quali autorizzazioni assegnare, a chi e per quali risorse Amazon S3. Puoi abilitare operazioni specifiche che desideri consentire su tali risorse. Pertanto, è consigliabile concedere solo le autorizzazioni necessarie richieste per eseguire un'attività. L'implementazione dell'accesso con privilegi minimi è fondamentale per ridurre i rischi di sicurezza e l'impatto risultante da errori o intenzioni dannose.

Gli strumenti seguenti sono disponibili per implementare l'accesso con privilegi minimi:

Per indicazioni sugli aspetti da tenere in considerazione quando scegli uno o più dei meccanismi precedenti, consulta Linee guida per le policy di accesso.

Usa i ruoli IAM per applicazioni Servizi AWS che richiedono l'accesso ad Amazon S3

Affinché le applicazioni in esecuzione su Amazon EC2 o altro possano accedere Servizi AWS alle risorse Amazon S3, devono includere credenziali AWS valide nelle loro richieste API. AWS Consigliamo di non archiviare AWS le credenziali direttamente nell'applicazione o nell'istanza Amazon EC2. Si tratta di credenziali a lungo termine che non vengono automaticamente ruotate e potrebbero avere un impatto aziendale significativo se vengono compromesse.

Utilizza invece un ruolo IAM per gestire credenziali temporanee per le applicazioni o i servizi che devono accedere ad Amazon S3. Quando utilizzi un ruolo, non devi distribuire credenziali a lungo termine (come nome utente e password o chiavi di accesso) a un'istanza Amazon EC2 Servizio AWS o, ad esempio. AWS Lambda Il ruolo fornisce autorizzazioni temporanee che le applicazioni possono utilizzare quando effettuano chiamate ad altre risorse. AWS

Per ulteriori informazioni, consulta gli argomenti seguenti nella Guida per l'utente IAM:

Prendi in considerazione la crittografia dei dati inattivi

Per la protezione dei dati inattivi in Amazon S3 sono disponibili le opzioni seguenti:

  • Crittografia lato server: tutti i bucket Amazon S3 hanno la crittografia configurata di default e tutti i nuovi oggetti caricati in un bucket S3 vengono crittografati automaticamente quando sono inattivi. La crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste PUT S3 oppure impostare la configurazione di crittografia predefinita nel bucket di destinazione.

    Amazon S3 offre anche queste opzioni di crittografia lato server:

    • Crittografia lato server con AWS Key Management Service () chiavi (SSE-KMS)AWS KMS

    • Crittografia lato server a doppio livello con () chiavi (DSSE-KMS) AWS Key Management Service AWS KMS

    • Crittografia lato server con chiavi fornite dal cliente (SSE-C)

    Per ulteriori informazioni, consulta Protezione dei dati con la crittografia lato server.

  • Crittografia lato client: esegui la crittografia dei dati dal lato client e carica i dati crittografati in Amazon S3. In questo caso, è l'utente a gestire la procedura di crittografia, nonché le chiavi e gli strumenti correlati. Come per la crittografia lato server, la crittografia lato client riduce i rischi crittografando i dati con una chiave che viene archiviata in un meccanismo diverso rispetto a quello utilizzato per archiviare i dati stessi.

    Amazon S3 fornisce più opzioni di crittografia lato client. Per ulteriori informazioni, consulta Protezione dei dati con la crittografia lato client.

Applica la crittografia dei dati in transito

È possibile utilizzare HTTPS (TLS) per impedire a potenziali aggressori di intercettare o manipolare il traffico di rete utilizzando o meno attacchi simili. person-in-the-middle Si consiglia di consentire solo connessioni crittografate su HTTPS (TLS) utilizzando la condizione aws:SecureTransport nelle policy di bucket Amazon S3.

Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola s3-bucket-ssl-requests-only gestita da AWS Config .

Valutazione dell'utilizzo di S3 Object Lock

Con S3 Object Lock, puoi archiviare gli oggetti utilizzando il modello "Write Once Read Many" (WORM). Il blocco oggetti S3 può contribuire a evitare l'eliminazione accidentale o inappropriata dei dati. Ad esempio, puoi utilizzare S3 Object Lock per proteggere i tuoi log. AWS CloudTrail

Per ulteriori informazioni, consulta Utilizzo del blocco oggetti S3.

Abilitazione del controllo delle versioni S3

Il controllo delle versioni S3 è un modo per conservare più versioni di un oggetto nello stesso bucket. Si può utilizzare questa funzione per conservare, recuperare e ripristinare qualsiasi versione di ogni oggetto archiviato nel bucket . Con la funzione Controllo delle versioni si può facilmente eseguire il ripristino dopo errori dell'applicazione e operazioni non intenzionali dell'utente.

Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola s3-bucket-versioning-enabled gestita da AWS Config .

Per ulteriori informazioni, consulta Utilizzo della funzione Controllo delle versioni nei bucket S3.

Valutazione dell'utilizzo della replica tra regioni S3

Sebbene Amazon S3 per impostazione predefinita archivi i dati in più zone di disponibilità geograficamente distanti, per soddisfare i requisiti di conformità potrebbe essere necessario archiviarli a distanze ancora maggiori. Con S3 Cross-Region Replication (CRR), puoi replicare i dati tra distanti per soddisfare questi requisiti. Regioni AWS CRR consente la copia automatica e asincrona di oggetti tra bucket diversi. Regioni AWS Per ulteriori informazioni, consulta Replica di oggetti.

Nota

CRR richiede che il controllo delle versioni sia abilitato per i bucket S3 di origine e destinazione.

Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola s3-bucket-replication-enabled gestita da AWS Config .

Valutazione dell'utilizzo degli endpoint VPC per l'accesso ad Amazon S3

Un endpoint Virtual Private Cloud (VPC) Amazon S3 è un'entità logica all'interno di un VPC che consente la connettività solo ad Amazon S3 Gli endpoint VPC impediscono al traffico di attraversare la rete Internet aperta.

Gli endpoint VPC per Amazon S3 offrono diversi modi per controllare l'accesso ai dati di Amazon S3:

  • È possibile controllare le richieste, gli utenti o i gruppi autorizzati tramite un endpoint VPC specifico utilizzando policy del bucket S3.

  • È possibile controllare quali VPC o endpoint VPC hanno accesso ai bucket S3 utilizzando le policy di bucket S3.

  • Puoi impedire l'esfiltrazione di dati utilizzando un VPC che non dispone di un Internet gateway.

Per ulteriori informazioni, consulta Controllo dell'accesso dagli endpoint VPC con policy di bucket.

Utilizza servizi di sicurezza gestiti AWS per monitorare la sicurezza dei dati

Diversi servizi AWS di sicurezza gestiti possono aiutarti a identificare, valutare e monitorare i rischi di sicurezza e conformità per i tuoi dati Amazon S3. Questi servizi consentono anche di proteggere i dati da tali rischi. Questi servizi includono funzionalità di rilevamento, monitoraggio e protezione automatizzate progettate per scalare dalle risorse di Amazon S3 per una singola unità Account AWS a risorse per organizzazioni con migliaia di account.

Per ulteriori informazioni, consulta Monitoraggio della sicurezza dei dati con servizi AWS di sicurezza gestiti.

Best practice di monitoraggio e audit di Amazon S3

Le best practice seguenti per Amazon S3 consentono di rilevare potenziali debolezze e incidenti di sicurezza.

Identificazione e audit di tutti i bucket Amazon S3

L'identificazione degli asset IT è un aspetto essenziale di governance e sicurezza. È richiesta la visibilità di tutte le risorse Amazon S3 per valutare il loro assetto di sicurezza e intervenire su aree di debolezza potenziali. Per eseguire l'audit delle risorse, procedi come segue:

  • Utilizza Tag Editor per identificare e applicare tag a risorse sensibili alla sicurezza e risorse sensibili al controllo; quindi, utilizza questi tag quando devi cercare le risorse. Per ulteriori informazioni, consulta Searching for Resources to Tag nella Tagging AWS Resources User Guide.

  • Utilizza S3 Inventory per eseguire l'audit e creare report sullo stato di replica e crittografia degli oggetti per esigenze aziendali, di conformità e normative. Per ulteriori informazioni, consulta Amazon S3 Inventory.

  • Crea gruppi di risorse per le risorse Amazon S3. Per ulteriori informazioni, consulta Che cosa sono i gruppi di risorse? nella Guida per l'utente di AWS Resource Groups .

Implementa il monitoraggio utilizzando strumenti AWS di monitoraggio

Il monitoraggio è una parte importante per mantenere l'affidabilità, la sicurezza, la disponibilità e le prestazioni di Amazon S3 e delle tue AWS soluzioni. AWS fornisce diversi strumenti e servizi per aiutarti a monitorare Amazon S3 e gli altri. Servizi AWS Ad esempio, puoi monitorare i CloudWatch parametri di Amazon per Amazon S3, in particolare PutRequests i parametriGetRequests,4xxErrors, DeleteRequests e. Per ulteriori informazioni, consultare Monitoraggio delle metriche con Amazon CloudWatch e Monitoraggio di Amazon S3.

Per un secondo esempio, consulta Esempio: attività del bucket Amazon S3. Questo esempio descrive come creare un CloudWatch allarme che viene attivato quando viene effettuata una chiamata API Amazon S3 o una policy del bucket, un ciclo di vita del bucket DELETE o una configurazione di replica del bucket o PUT verso un bucket ACL. PUT

Abilita la registrazione degli accessi al server Amazon S3

La registrazione degli accessi al server fornisce record dettagliati delle richieste che sono effettuate a un bucket. I log di accesso al server possono essere utili durante gli audit di sicurezza e accesso, per conoscere la base clienti e comprendere la fattura Amazon S3. Per istruzioni sull'abilitazione della registrazione degli accessi al server, consulta Registrazione delle richieste con registrazione dell'accesso al server.

Prendi in considerazione anche l'implementazione di controlli investigativi continui utilizzando la regola gestita. s3-bucket-logging-enabled AWS Config

Utilizza AWS CloudTrail

AWS CloudTrail fornisce un registro delle azioni intraprese da un utente, da un ruolo o da un utente Servizio AWS in Amazon S3. Puoi utilizzare le informazioni raccolte da CloudTrail per determinare quanto segue:

  • La richiesta effettuata ad Amazon S3

  • L'indirizzo IP dal quale è stata effettuata la richiesta

  • L'utente che ha effettuato la richiesta

  • L'ora in cui è stata effettuata la richiesta

  • Dettagli aggiuntivi relativi alla richiesta

Ad esempio, è possibile identificare le CloudTrail voci relative alle PUT azioni che influiscono sull'accesso ai datiPutBucketAcl, in particolarePutObjectAcl,PutBucketPolicy, ePutBucketWebsite.

Quando si configura il Account AWS, CloudTrail è abilitato per impostazione predefinita. È possibile visualizzare gli eventi recenti nella CloudTrail console. Per creare un record continuo di attività ed eventi per i tuoi bucket Amazon S3, puoi creare un percorso nella console. CloudTrail Per ulteriori informazioni, consultare Registrazione di eventi di dati nella Guida per l'utente di AWS CloudTrail .

Quando crei un percorso, puoi configurare la registrazione degli eventi relativi CloudTrail ai dati. Gli eventi di dati sono le registrazioni delle operazioni eseguite per una risorsa o al suo interno. In Amazon S3, gli eventi relativi ai dati registrano l'attività delle API a livello di oggetto per singoli bucket. CloudTrail supporta un sottoinsieme di operazioni API a livello di oggetto Amazon S3, ad esempioGetObject, e. DeleteObject PutObject Per ulteriori informazioni su come CloudTrail funziona con Amazon S3, consulta. Registrazione delle chiamate API Amazon S3 tramite AWS CloudTrail Nella console di Amazon S3, puoi configurare i tuoi bucket S3 anche su Abilitazione della registrazione CloudTrail degli eventi per bucket e oggetti S3.

AWS Config fornisce una regola gestita (cloudtrail-s3-dataevents-enabled) che puoi utilizzare per confermare che almeno un CloudTrail trail registri gli eventi relativi ai dati per i tuoi bucket S3. Per ulteriori informazioni, consulta la sezione cloudtrail-s3-dataevents-enabled nella Guida per gli sviluppatori di AWS Config .

Attiva AWS Config

Diverse delle best practice elencate in questo argomento suggeriscono la creazione di regole. AWS Config AWS Config ti aiuta a valutare, controllare e valutare le configurazioni delle tue AWS risorse. AWS Config monitora le configurazioni delle risorse in modo da poter valutare le configurazioni registrate rispetto alle configurazioni sicure desiderate. Con AWS Config, è possibile effettuare le seguenti operazioni:

  • Rivedere le modifiche nelle configurazioni e nelle relazioni tra le risorse AWS

  • Investigare le cronologie dettagliate della configurazione delle risorse

  • Determinare la conformità complessiva rispetto alle configurazioni specificate nelle linee guida interne

Using AWS Config può aiutarvi a semplificare il controllo della conformità, l'analisi della sicurezza, la gestione delle modifiche e la risoluzione dei problemi operativi. Per ulteriori informazioni, consulta Configurazione AWS Config con la console nella Guida per gli AWS Config sviluppatori. Durante la specifica dei tipi di risorse da registrare, assicurati di includere le risorse Amazon S3.

Importante

AWS Config le regole gestite supportano solo bucket generici durante la valutazione delle risorse Amazon S3. AWS Config non registra le modifiche alla configurazione per i bucket di directory. Per ulteriori informazioni, consulta AWS Config Managed Rules e List of AWS Config Managed Rules nella AWS Config Developer Guide.

Per un esempio di utilizzo AWS Config, consulta How to Use AWS Config to Monitor for and Respond to Amazon S3 Bucket Allowing Public Access sul blog sulla AWS sicurezza.

Scoprire dati sensibili utilizzando Amazon Macie

Amazon Macie è un servizio di sicurezza che rileva dati sensibili utilizzando il machine learning e la corrispondenza del modello. Macie fornisce visibilità sui rischi legati alla sicurezza dei dati e consente una protezione automatizzata da tali rischi. Con Macie, puoi automatizzare l'individuazione e la creazione di report dei dati sensibili nel tuo patrimonio di dati Amazon S3 per una migliore comprensione dei dati archiviati dall'organizzazione in S3.

Per individuare dati sensibili con Macie, puoi utilizzare criteri e tecniche integrati progettati per rilevare un elenco ampio e in continua espansione di tipi di dati sensibili per molti Paesi e regioni. Questi tipi di dati sensibili includono diversi tipi di informazioni di identificazione personale (PII), dati finanziari e dati delle credenziali. Puoi anche utilizzare criteri personalizzati: espressioni regolari che definiscono modelli di testo da abbinare e, facoltativamente, sequenze di caratteri e regole di prossimità per perfezionare i risultati.

Se Macie rileva dati sensibili in un oggetto S3, genera un risultato relativo alla sicurezza per informare l'utente. Questo risultato fornisce informazioni sull'oggetto interessato, i tipi e il numero di occorrenze dei dati sensibili individuati da Macie e dettagli aggiuntivi per facilitare l'analisi del bucket S3 e dell'oggetto interessati. Per ulteriori informazioni, consultare la Guida per l'utente di Amazon Macie.

Utilizzo di S3 Storage Lens

S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. S3 Storage Lens analizza i parametri di archiviazione per fornire raccomandazioni contestuali che puoi usare per ottimizzare i costi di archiviazione e applicare le best practice sulla protezione dei dati.

Con S3 Storage Lens puoi usare i parametri per generare approfondimenti, ad esempio per scoprire la quantità di spazio di archiviazione disponibile nell'intera organizzazione o quali sono i bucket e i prefissi caratterizzati da una crescita più rapida. Puoi utilizzare i parametri di Amazon S3 Storage Lens anche per individuare le opportunità di ottimizzazione dei costi, implementare le best practice di protezione dei dati e gestione degli accessi e migliorare le prestazioni dei carichi di lavoro delle applicazioni.

Ad esempio, puoi identificare i bucket che non hanno regole del ciclo di vita S3 per interrompere i caricamenti in più parti incompleti che risalgono a più di 7 giorni. Puoi anche individuare i bucket non conformi alle best practice di protezione dei dati, come quelli che usano la replica S3 o il controllo delle versioni S3. Per maggiori informazioni, consulta Informazioni su Amazon S3 Storage Lens.

Monitora i suggerimenti di sicurezza di AWS

È opportuno controllare regolarmente i consigli di sicurezza pubblicati in Trusted Advisor per il tuo Account AWS. In particolare, cerca gli avvisi relativi ai bucket Amazon S3 con "autorizzazioni di accesso aperte". Puoi eseguire questa operazione a livello di codice o utilizzando describe-trusted-advisor-checks.

Inoltre, monitora attivamente l'indirizzo e-mail principale registrato su ciascuno dei tuoi. Account AWS AWS utilizza questo indirizzo email per contattarti in merito a problemi di sicurezza emergenti che potrebbero interessarti.

AWS i problemi operativi di ampio impatto sono pubblicati sulla pagina AWS Health Dashboard - Stato del servizio. I problemi operativi sono anche pubblicati sui singoli account tramite AWS Health Dashboard. Per ulteriori informazioni, consulta la documentazione relativa ad AWS Health.