Questa pagina fornisce un elenco di guide di riferimento e tecniche per la correzione degli indicatori di Security Health Analytics utilizzando Security Command Center.
Per visualizzare o modificare i risultati e per accedere o modificare le risorse Google Cloud, devi disporre di ruoli IAM adeguati. Se riscontri errori di autorizzazione quando accedi a Security Command Center nella console Google Cloud, rivolgiti all'amministratore per ricevere assistenza e, per informazioni sui ruoli, consulta Controllo dell'accesso. Per risolvere gli errori relativi alle risorse, leggi la documentazione dei prodotti interessati.
Correzione di Security Health Analytics
Questa sezione include le istruzioni per la correzione di tutti i risultati di Security Health Analytics.
Per trovare i tipi mappati ai benchmark CIS, le indicazioni per la correzione provengono dal Center for Internet Security (CIS), se non diversamente specificato. Per ulteriori informazioni, consulta la pagina Rilevatori e conformità.
Disattivazione dei risultati dopo la correzione
Dopo aver risolto un problema di vulnerabilità o di configurazione errata, Security Health Analytics imposta automaticamente lo stato del problema su INACTIVE
la volta successiva che lo cerca.
Il tempo necessario a Security Health Analytics per impostare un risultato corretto su INACTIVE
dipende dal momento in cui il problema viene risolto e dalla pianificazione della scansione che lo rileva.
Security Health Analytics imposta inoltre lo stato di un risultato su INACTIVE
quando una scansione rileva che la risorsa interessata dal risultato è stata eliminata. Se vuoi rimuovere un rilevamento relativo a una risorsa eliminata dal tuo display mentre aspetti che Security Health Analytics rilevi l'eliminazione della risorsa, puoi disattivare l'audio del rilevamento. Per disattivare l'audio di un risultato, consulta
Disattivare l'audio dei risultati in Security Command Center.
Non utilizzare la disattivazione per nascondere i risultati corretti per le risorse esistenti.
Se il problema si ripresenta e Security Health Analytics ripristina lo stato ACTIVE
del rilevamento, potresti non vedere il rilevamento riattivato, perché
i rilevamenti disattivati sono esclusi da qualsiasi query sui rilevamenti che specifica NOT mute="MUTED"
, ad esempio la query sui rilevamenti predefinita.
Per informazioni sugli intervalli di scansione, consulta Tipi di scansione di Security Health Analytics.
Access Transparency disabled
Nome della categoria nell'API: ACCESS_TRANSPARENCY_DISABLED
Access Transparency registra quando i dipendenti di Google Cloud accedono ai progetti della tua organizzazione per fornire assistenza. Attiva Access Transparency per registrare chi accede alle tue informazioni da Google Cloud, quando e perché. Per ulteriori informazioni, consulta Access Transparency.
Per attivare Access Transparency in un progetto, il progetto deve essere associato a un account di fatturazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eseguire questa attività, chiedi all'amministratore di concederti il ruolo IAM Amministratore Access Transparency (roles/axt.admin
) a livello di organizzazione. Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni axt.labels.get
e
axt.labels.set
, necessarie per eseguire questa attività. Potresti anche ottenere queste autorizzazioni con un ruolo personalizzato o altri ruoli predefiniti.
Passaggi per correggere l'errore
Per risolvere il problema, segui questi passaggi:
Controlla le autorizzazioni a livello di organizzazione:
Vai alla pagina Identity and Access Management nella console Google Cloud.
Se richiesto, seleziona l'organizzazione Google Cloud nel menu del selettore.
Seleziona un progetto Google Cloud all'interno dell'organizzazione utilizzando il menu del selettore.
Access Transparency viene configurato nella pagina di un progetto Google Cloud, ma è abilitato per l'intera organizzazione.
Vai alla pagina IAM e amministrazione > Impostazioni.
Fai clic su Abilita Access Transparency.
AlloyDB auto backup disabled
Nome della categoria nell'API: ALLOYDB_AUTO_BACKUP_DISABLED
Un cluster AlloyDB per PostgreSQL non ha i backup automatici abilitati.
Per evitare perdite di dati, attiva i backup automatici per il cluster. Per ulteriori informazioni, consulta Configurare altri backup automatici.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Fai clic su un cluster nella colonna Nome risorsa.
Fai clic su Protezione dei dati.
Nella sezione Criterio di backup automatico, fai clic su Modifica nella riga Backup automatici.
Seleziona la casella di controllo Backup automatici.
Fai clic su Aggiorna.
AlloyDB backups disabled
Nome della categoria nell'API: ALLOYDB_BACKUPS_DISABLED
Un cluster AlloyDB per PostgreSQL non ha attivato i backup automatici né continui.
Per evitare perdite di dati, attiva i backup automatici o continui per il tuo cluster. Per ulteriori informazioni, vedi Configurare backup aggiuntivi.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Nella colonna Nome risorsa, fai clic sul nome del cluster identificato nel rilevamento.
Fai clic su Protezione dei dati.
Configura un criterio di backup.
AlloyDB CMEK disabled
Nome della categoria nell'API: ALLOYDB_CMEK_DISABLED
Un cluster AlloyDB non utilizza le chiavi di crittografia gestite dal cliente (CMEK).
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati. Per ulteriori informazioni, consulta Informazioni su CMEK. CMEK comporta costi aggiuntivi relativi a Cloud KMS.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Nella colonna Nome risorsa, fai clic sul nome del cluster identificato nel rilevamento.
Fai clic su Crea backup. Imposta un ID di backup.
Fai clic su Crea.
Nella sezione Backup/Ripristino, fai clic su Ripristina accanto alla voce ID backup che hai scelto.
Imposta un nuovo ID cluster e una nuova rete.
Fai clic su Opzioni di crittografia avanzate. Seleziona la CMEK con cui vuoi criptare il nuovo cluster.
Fai clic su Ripristina.
AlloyDB log min error statement severity
Nome della categoria nell'API: ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY
In un'istanza AlloyDB per PostgreSQL il flag di database log_min_error_statement
non è impostato su error
o su un altro valore consigliato.
Il flag log_min_error_statement
controlla se le istruzioni SQL che causano condizioni di errore vengono registrate nei log del server. Vengono registrate le istruzioni SQL con il livello di gravità specificato o superiore. Più elevata è la gravità, minore è il numero di messaggi registrati. Se impostato su un livello di gravità troppo elevato, i messaggi di errore potrebbero non essere registrati.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Fai clic sul cluster nella colonna Nome risorsa.
Nella sezione Istanze nel cluster, fai clic su Modifica per l'istanza.
Fai clic su Opzioni di configurazione avanzata.
Nella sezione Flag, imposta il
log_min_error_statement
flag di database su uno dei seguenti valori consigliati, in base ai criteri di logging della tua organizzazione.debug5
debug4
debug3
debug2
debug1
info
notice
warning
error
Fai clic su Aggiorna istanza.
AlloyDB log min messages
Nome della categoria nell'API: ALLOYDB_LOG_MIN_MESSAGES
Per un'istanza AlloyDB per PostgreSQL, il flag di database log_min_messages
non è impostato almeno su warning
.
Il flag log_min_messages
controlla quali livelli di messaggi vengono registrati nei log del server. Più elevata è la gravità, minore è il numero di messaggi registrati. L'impostazione di una soglia troppo bassa può comportare un aumento della dimensione e della durata dell'archiviazione dei log, il che complica l'individuazione di errori effettivi.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Fai clic sul cluster nella colonna Nome risorsa.
Nella sezione Istanze nel cluster, fai clic su Modifica per l'istanza.
Fai clic su Opzioni di configurazione avanzata.
Nella sezione Flag, imposta il
log_min_messages
flag di database su uno dei seguenti valori consigliati, in base ai criteri di logging della tua organizzazione.debug5
debug4
debug3
debug2
debug1
info
notice
warning
Fai clic su Aggiorna istanza.
AlloyDB log error verbosity
Nome della categoria nell'API: ALLOYDB_LOG_ERROR_VERBOSITY
In un'istanza AlloyDB per PostgreSQL il flag di database log_error_verbosity
non è impostato su default
o su un altro valore meno restrittivo.
Il flag log_error_verbosity
controlla la quantità di dettagli nei messaggi registrati. Maggiore è il livello di dettaglio, maggiori saranno i dettagli registrati nei messaggi.
Ti consigliamo di impostare questo flag su default
o su un altro valore meno restrittivo.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Fai clic sul cluster nella colonna Nome risorsa.
Nella sezione Istanze nel cluster, fai clic su Modifica per l'istanza.
Fai clic su Opzioni di configurazione avanzata.
Nella sezione Flag, imposta il
log_error_verbosity
flag di database su uno dei seguenti valori consigliati, in base ai criteri di logging della tua organizzazione.default
verbose
Fai clic su Aggiorna istanza.
AlloyDB Public IP
Nome della categoria nell'API: ALLOYDB_PUBLIC_IP
Un'istanza del database AlloyDB per PostgreSQL ha un indirizzo IP pubblico.
Per ridurre la superficie di attacco della tua organizzazione, utilizza indirizzi IP privati anziché pubblici. Gli indirizzi IP privati offrono maggiore sicurezza di rete e minore latenza per l'applicazione.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Nella colonna Nome risorsa, fai clic sul nome del cluster identificato nel rilevamento.
Nella sezione Istanze nel cluster, fai clic su Modifica per l'istanza.
Nella sezione Connettività, deseleziona la casella Abilita IP pubblico.
Fai clic su Aggiorna istanza.
AlloyDB SSL not enforced
Nome della categoria nell'API: ALLOYDB_SSL_NOT_ENFORCED
Un'istanza del database AlloyDB per PostgreSQL non richiede che tutte le connessioni in entrata utilizzino SSL.
Per evitare fughe di dati sensibili in transito tramite comunicazioni non criptate, tutte le connessioni in entrata nell'istanza di database AlloyDB devono utilizzare SSL. Scopri di più sulla configurazione di SSL/TLS.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei cluster AlloyDB per PostgreSQL nella console Google Cloud.
Nella colonna Nome risorsa, fai clic sul nome del cluster identificato nel rilevamento.
Nella sezione Istanze nel cluster, fai clic su Modifica per l'istanza.
Nella sezione Sicurezza di rete, fai clic sulla casella per Richiedi crittografia SSL.
Fai clic su Aggiorna istanza.
Admin service account
Nome della categoria nell'API: ADMIN_SERVICE_ACCOUNT
Un account di servizio nella tua organizzazione o nel tuo progetto ha i privilegi Amministratore, Proprietario o Editor assegnati. Questi ruoli dispongono di autorizzazioni ampie e non devono essere assegnati agli account di servizio. Per informazioni sugli account di servizio e sui ruoli disponibili, consulta Account di servizio.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei criteri IAM nella console Google Cloud.
Per ogni entità identificata nel rilevamento:
- Fai clic su Modifica entità accanto all'entità.
- Per rimuovere le autorizzazioni, fai clic su Elimina ruolo accanto al ruolo.
- Fai clic su Salva.
Alpha cluster enabled
Nome della categoria nell'API: ALPHA_CLUSTER_ENABLED
Le funzionalità del cluster alpha sono abilitate per un cluster Google Kubernetes Engine (GKE).
I cluster alpha consentono agli early adopter di sperimentare con carichi di lavoro che utilizzano nuove funzionalità prima che vengano rilasciate al pubblico. I cluster alpha dispongono di tutte le funzionalità dell'API GKE abilitate, ma non sono coperti dallo SLA GKE, non ricevono aggiornamenti di sicurezza, hanno l'upgrade automatico dei nodi e la riparazione automatica dei nodi disattivati e non possono essere sottoposti ad upgrade. Inoltre, vengono eliminati automaticamente dopo 30 giorni.
Per risolvere il problema, segui questi passaggi:
I cluster alpha non possono essere disattivati. Devi creare un nuovo cluster con le funzionalità alpha disabilitate.
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic su Crea.
Seleziona Configura accanto al tipo di cluster che vuoi creare.
Nella scheda Funzionalità, assicurati che l'opzione Abilita le funzionalità alpha di Kubernetes in questo cluster sia disabilitata.
Fai clic su Crea.
Per spostare i carichi di lavoro nel nuovo cluster, consulta Migrazione dei carichi di lavoro su tipi di macchine diversi.
Per eliminare il cluster originale, consulta Eliminare un cluster.
API key APIs unrestricted
Nome della categoria nell'API: API_KEY_APIS_UNRESTRICTED
Esistono chiavi API utilizzate in modo troppo generico.
Le chiavi API senza restrizioni non sono sicure perché è possibile recuperarle da dispositivi su cui la chiave viene archiviata o può essere visualizzata pubblicamente, ad esempio da un browser. In conformità al principio del privilegio minimo, configura le chiavi API in modo da chiamare solo le API richieste dall'applicazione. Per ulteriori informazioni, consulta Applicare limitazioni alle chiavi API.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi API nella console Google Cloud.
Per ogni chiave API:
- Nella sezione Chiavi API, fai clic su Azioni nella riga di ciascuna chiave API per la quale devi limitare le API.
- Dal menu Azioni, fai clic su Modifica chiave API. Viene visualizzata la pagina Modifica chiave API.
- Nella sezione Restrizioni delle API, seleziona Limita API. Viene visualizzato il menu a discesa Seleziona API.
- Nell'elenco a discesa Seleziona API, seleziona le API da autorizzare.
- Fai clic su Salva. Potrebbero essere necessari fino a cinque minuti prima che le impostazioni diventino effettive.
API key apps unrestricted
Nome della categoria nell'API: API_KEY_APPS_UNRESTRICTED
Esistono chiavi API utilizzate senza restrizioni, il che consente l'utilizzo da parte di qualsiasi app non attendibile.
Le chiavi API senza restrizioni non sono sicure perché è possibile recuperarle su dispositivi in cui la chiave viene archiviata o può essere visualizzata pubblicamente, ad esempio da un browser. In conformità al principio del privilegio minimo, limita l'utilizzo delle chiavi API a host, referrer HTTP e app attendibili. Per ulteriori informazioni, consulta Applicare limitazioni alle chiavi API.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi API nella console Google Cloud.
Per ogni chiave API:
- Nella sezione Chiavi API, fai clic su Azioni nella riga di ciascuna chiave API per la quale devi limitare le applicazioni.
- Dal menu Azioni, fai clic su Modifica chiave API. Viene visualizzata la pagina Modifica chiave API.
- Nella pagina Modifica chiave API, in Restrizioni delle applicazioni, selezionare una categoria di limitazione. Puoi impostare una limitazione delle applicazioni per ogni chiave.
- Nel campo Aggiungi un elemento visualizzato quando selezioni una restrizione, fai clic su Aggiungi un elemento per aggiungere restrizioni in base alle esigenze della tua applicazione.
- Al termine dell'aggiunta di elementi, fai clic su Fine.
- Fai clic su Salva.
API key exists
Nome della categoria nell'API: API_KEY_EXISTS
Un progetto utilizza chiavi API anziché l'autenticazione standard.
Le chiavi API sono meno sicure di altri metodi di autenticazione in quanto sono semplici stringhe criptate e facili da scoprire e utilizzare da parte di altri. È possibile recuperarle su dispositivi in cui la chiave viene archiviata o può essere visualizzata pubblicamente, ad esempio da un browser. Inoltre, le chiavi API non identificano in modo univoco gli utenti o le applicazioni che inviano richieste. In alternativa, puoi utilizzare un flusso di autenticazione standard con account di servizio o account utente.
Per risolvere il problema, segui questi passaggi:
- Assicurati che le tue applicazioni siano configurate con una forma di autenticazione alternativa.
Vai alla pagina Credenziali API nella console Google Cloud.
Nella sezione Chiavi API della riga di ciascuna chiave API che devi eliminare, fai clic su
Azioni.Dal menu Azioni, fai clic su Elimina chiave API.
API key not rotated
Nome della categoria nell'API: API_KEY_NOT_ROTATED
Una chiave API non è stata ruotata per più di 90 giorni.
Le chiavi API non scadono, per cui una chiave trafugata potrebbe essere utilizzata per un tempo illimitato a meno che il proprietario del progetto non esegua la revoca o la rotazione. La rigenerazione frequente delle chiavi API riduce l'intervallo di tempo durante il quale è possibile utilizzare una chiave API rubata per accedere ai dati su un account compromesso o chiuso. Ruota le chiavi API almeno ogni 90 giorni. Per ulteriori informazioni, consulta le best practice per la gestione delle chiavi API.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi API nella console Google Cloud.
Per ogni chiave API:
- Nella sezione Chiavi API, fai clic su Azioni nella riga di ciascuna chiave API che devi ruotare.
- Dal menu Azioni, fai clic su Modifica chiave API. Viene visualizzata la pagina Modifica chiave API.
- Nella pagina Modifica chiave API, se la data nel campo Data di creazione è precedente a 90 giorni, fai clic su Rigenera chiave. Viene generata una nuova chiave.
- Fai clic su Salva.
- Per assicurarti che le tue applicazioni continuino a funzionare senza interruzioni, aggiornale perché utilizzino la nuova chiave API. La vecchia chiave API funziona per 24 ore prima di essere disattivata in modo permanente.
Audit config not monitored
Nome della categoria nell'API: AUDIT_CONFIG_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alla configurazione di controllo.
Cloud Logging produce log di accesso ai dati e alle attività di amministrazione che consentono analisi di sicurezza, monitoraggio delle modifiche delle risorse e controllo di conformità. Il monitoraggio delle modifiche alla configurazione dell'audit assicura che tutte le attività nel progetto possano essere controllate in qualsiasi momento. Per ulteriori informazioni, consulta Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, crea metriche, se necessario, e criteri di avviso:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
protoPayload.methodName="SetIamPolicy" AND protoPayload.serviceData.policyDelta.auditConfigDeltas:*
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Audit logging disabled
Nome della categoria nell'API: AUDIT_LOGGING_DISABLED
Questo risultato non è disponibile per le attivazioni a livello di progetto.
La registrazione degli audit è disattivata per uno o più servizi Google Cloud oppure uno o più principali sono esenti dalla registrazione degli audit di accesso ai dati.
Abilita Cloud Logging per tutti i servizi per monitorare tutte le attività di amministrazione, l'accesso in lettura e l'accesso in scrittura ai dati utente. A seconda della quantità di informazioni, i costi di Cloud Logging possono essere significativi. Per comprendere il tuo utilizzo del servizio e il relativo costo, consulta i prezzi di Google Cloud Observability.
Se alcune entità sono esenti dall'audit logging di accesso ai dati nella configurazione predefinita dell'audit logging di accesso ai dati o nelle configurazioni di logging per singoli servizi, rimuovi l'esenzione.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Configurazione predefinita degli audit log di accesso ai dati nella console Google Cloud.
Nella scheda Tipi di log, attiva la registrazione degli audit log di accesso ai dati nella configurazione predefinita:
- Seleziona Lettura amministratore, Lettura dati e Scrittura dati.
- Fai clic su Salva.
Nella scheda Enti esenti, rimuovi tutti gli utenti esenti dalla configurazione predefinita:
- Rimuovi ogni entità elencata facendo clic su Elimina accanto a ogni nome.
- Fai clic su Salva.
Vai alla pagina Audit log.
Rimuovi eventuali entità esenti dalle configurazioni degli audit log di accesso ai dati di singoli servizi.
- In Configurazione degli audit log di accesso ai dati, fai clic sul servizio per ciascun servizio che mostra un'entità esente. Si apre un riquadro di configurazione dell'audit log per il servizio.
- Nella scheda Enti esenti, rimuovi tutte le entità esenti facendo clic su Elimina accanto a ciascun nome.
- Fai clic su Salva.
Auto backup disabled
Nome della categoria nell'API: AUTO_BACKUP_DISABLED
Per un database Cloud SQL non sono abilitati i backup automatici.
Per evitare perdite di dati, attiva i backup automatici per le tue istanze SQL. Per ulteriori informazioni, consulta Creare e gestire i backup on demand e automatici.
Per risolvere il problema, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
Fai clic sul nome dell'istanza.
Fai clic su Backup.
Accanto a Impostazioni, fai clic su
Modifica.Seleziona la casella di controllo Backup giornalieri automatici.
(Facoltativo) Nella casella Numero di giorni, inserisci il numero di giorni di backup che vuoi conservare.
(Facoltativo) Nell'elenco Finestra di backup, seleziona la finestra temporale in cui eseguire i backup.
Fai clic su Salva.
Auto repair disabled
Nome della categoria nell'API: AUTO_REPAIR_DISABLED
La funzionalità di riparazione automatica di un cluster Google Kubernetes Engine (GKE), che mantiene i nodi in uno stato di esecuzione e integro, è disattivata.
Se abiliti questa funzionalità, GKE esegue controlli periodici dello stato di integrità di ciascun nodo nel tuo cluster. Se un nodo non supera controlli di integrità consecutivi per un periodo di tempo prolungato, GKE avvia un processo di riparazione per quel nodo. Per ulteriori informazioni, consulta Nodi con riparazione automatica.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic sulla scheda Nodi.
Per ogni node pool:
- Fai clic sul nome del pool di nodi per passare alla pagina dei dettagli corrispondente.
- Fai clic su Modifica.
- In Gestione, seleziona Abilita riparazione automatica.
- Fai clic su Salva.
Auto upgrade disabled
Nome della categoria nell'API: AUTO_UPGRADE_DISABLED
La funzionalità di upgrade automatico di un cluster GKE, che mantiene i cluster e i pool di nodi sull'ultima versione stabile di Kubernetes, è disabilitata.
Per ulteriori informazioni, consulta Eseguire l'upgrade automatico dei nodi.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nell'elenco dei cluster, fai clic sul nome del cluster.
Fai clic sulla scheda Nodi.
Per ogni node pool:
- Fai clic sul nome del pool di nodi per passare alla pagina dei dettagli corrispondente.
- Fai clic su Modifica.
- In Gestione, seleziona Abilita upgrade automatico.
- Fai clic su Salva.
BigQuery table CMEK disabled
Nome della categoria nell'API: BIGQUERY_TABLE_CMEK_DISABLED
Una tabella BigQuery non è configurata per utilizzare una chiave di crittografia gestita dal cliente (CMEK).
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google Cloud per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati. Per saperne di più, consulta Protezione dei dati con le chiavi Cloud KMS.
Per risolvere il problema, segui questi passaggi:
- Crea una tabella protetta da Cloud Key Management Service.
- Copia la tabella nella nuova tabella con CMEK abilitata.
- Elimina la tabella originale.
Per impostare una chiave CMEK predefinita che cripta tutte le nuove tabelle in un set di dati, consulta Impostare una chiave predefinita per un set di dati.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoBinary authorization disabled
Nome della categoria nell'API: BINARY_AUTHORIZATION_DISABLED
L'autorizzazione binaria è disattivata su un cluster GKE.
Autorizzazione binaria include una funzionalità facoltativa che protegge la sicurezza della catena di approvvigionamento consentendo il deployment nel cluster solo di immagini container firmate da autorità attendibili durante il processo di sviluppo. Se imposti il deployment basato su firme, puoi controllare più strettamente l'ambiente dei container, garantendo che sia consentito il deployment solo di immagini verificate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nella sezione Sicurezza, fai clic su
Modifica nella riga Autorizzazione binaria.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nella finestra di dialogo, seleziona Attiva Autorizzazione binaria.
Fai clic su Salva modifiche.
Vai alla pagina di configurazione dell'autorizzazione binaria.
Assicurati che sia configurato un criterio che richiede attestatori e che la regola predefinita del progetto non sia configurata su Consenti tutte le immagini. Per ulteriori informazioni, vedi Configurazione per GKE.
Per assicurarti che le immagini che violano il criterio possano essere di cui è consentito il deployment e che le violazioni vengano registrate in Cloud Audit Logs, puoi abilitare la modalità di prova.
Bucket CMEK disabled
Nome della categoria nell'API: BUCKET_CMEK_DISABLED
Un bucket non è criptato con chiavi di crittografia gestite dal cliente (CMEK).
L'impostazione di una chiave CMEK predefinita in un bucket offre un maggiore controllo sull'accesso ai tuoi dati. Per saperne di più, vedi Chiavi di crittografia gestite dal cliente.
Per risolvere il problema, utilizza le chiavi CMEK con un bucket seguendo le istruzioni riportate in Utilizzo delle chiavi di crittografia gestite dal cliente. Le chiavi CMEK comportano costi aggiuntivi relativi a Cloud KMS.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoBucket IAM not monitored
Nome della categoria nell'API: BUCKET_IAM_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alle autorizzazioni IAM di Cloud Storage.
Il monitoraggio delle modifiche alle autorizzazioni dei bucket Cloud Storage ti aiuta a identificare gli utenti con privilegi in eccesso o le attività sospette. Per ulteriori informazioni, consulta Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
resource.type=gcs_bucket AND protoPayload.methodName="storage.setIamPermissions"
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Bucket logging disabled
Nome della categoria nell'API: BUCKET_LOGGING_DISABLED
Esiste un bucket di archiviazione senza il logging abilitato.
Per semplificare l'analisi dei problemi di sicurezza e il monitoraggio del consumo dello spazio di archiviazione, abilita i log degli accessi e le informazioni sullo spazio di archiviazione per i bucket di Cloud Storage. I log di accesso forniscono informazioni per tutte le richieste effettuate per un bucket specificato, mentre i log di archiviazione forniscono informazioni sul consumo dello spazio di archiviazione di quel bucket.
Per risolvere il problema, configura il logging per il bucket indicato dal risultato di Security Health Analytics completando la guida su log di utilizzo e log di archiviazione.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoBucket policy only disabled
Nome della categoria nell'API: BUCKET_POLICY_ONLY_DISABLED
L'accesso uniforme a livello di bucket, precedentemente chiamato Solo criterio bucket, non è configurato.
L'accesso uniforme a livello di bucket semplifica il controllo dell'accesso al bucket disattivando le autorizzazioni a livello di oggetto (ACL). Quando sono attive, soltanto le autorizzazioni IAM a livello di bucket garantiscono l'accesso al bucket e agli oggetti che contiene. Per saperne di più, consulta Accesso uniforme a livello di bucket.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Browser Cloud Storage nella console Google Cloud.
Nell'elenco dei bucket, fai clic sul nome del bucket desiderato.
Fai clic sulla scheda Configuration (Configurazione).
In Autorizzazioni, nella riga relativa a Controllo dell'accesso, fai clic su
Modifica modello di controllo dell'accesso dell'accesso.Nella finestra di dialogo, seleziona Uniforme.
Fai clic su Salva.
Cloud Asset API disabled
Nome della categoria nell'API: CLOUD_ASSET_API_DISABLED
Il servizio Cloud Asset Inventory non è abilitato per il progetto.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Libreria API nella console Google Cloud.
Cerca
Cloud Asset Inventory
.Seleziona il risultato per il servizio API Cloud Asset.
Assicurati che sia visualizzata l'opzione API abilitata.
Cluster logging disabled
Nome della categoria nell'API: CLUSTER_LOGGING_DISABLED
Il logging non è abilitato per un cluster GKE.
Per semplificare l'analisi dei problemi di sicurezza e il monitoraggio dell'utilizzo, abilita Cloud Logging nei cluster.
A seconda della quantità di informazioni, i costi di Cloud Logging possono essere significativi. Per informazioni sul tuo utilizzo del servizio e sul relativo costo, consulta i prezzi di Google Cloud Observability.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Seleziona il cluster elencato nel risultato di Security Health Analytics.
Fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nell'elenco a discesa Stackdriver Logging legacy o Stackdriver Kubernetes Engine monitoring, seleziona Abilitato.
Queste opzioni non sono compatibili. Assicurati di utilizzare Stackdriver Kubernetes Engine Monitoring da solo oppure Stackdriver Logging legacy con Stackdriver Monitoring legacy.
Fai clic su Salva.
Cluster monitoring disabled
Nome della categoria nell'API: CLUSTER_MONITORING_DISABLED
Il monitoraggio è disabilitato sui cluster GKE.
Per semplificare l'analisi dei problemi di sicurezza e il monitoraggio dell'utilizzo, abilita Cloud Monitoring nei cluster.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Seleziona il cluster elencato nel risultato di Security Health Analytics.
Fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nell'elenco a discesa Stackdriver Monitoring legacy o Stackdriver Kubernetes Engine monitoring, seleziona Abilitato.
Queste opzioni non sono compatibili. Assicurati di utilizzare Stackdriver Kubernetes Engine Monitoring da solo o Stackdriver Monitoring legacy con Stackdriver Logging legacy.
Fai clic su Salva.
Cluster private Google access disabled
Nome della categoria nell'API: CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED
Gli host del cluster non sono configurati per utilizzare solo indirizzi IP interni privati per accedere alle API di Google.
L'accesso privato Google consente alle istanze di macchine virtuali (VM) con soli indirizzi IP interni privati di raggiungere gli indirizzi IP pubblici delle API e dei servizi Google. Per ulteriori informazioni, consulta Configurare l'accesso privato Google.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti Virtual Private Cloud nella console Google Cloud.
Nell'elenco delle emittenti, fai clic sul nome della rete che ti interessa.
Nella pagina Dettagli rete VPC, fai clic sulla scheda Subnet.
Nell'elenco delle subnet, fai clic sul nome della subnet associata al cluster Kubernetes nel rilevamento.
Nella pagina Dettagli subnet, fai clic su
Modifica.In Accesso privato Google, seleziona On.
Fai clic su Salva.
Per rimuovere gli IP pubblici (esterni) dalle istanze VM il cui unico traffico esterno è verso le API di Google, consulta Annullare l'assegnazione di un indirizzo IP esterno statico.
Cluster secrets encryption disabled
Nome della categoria nell'API: CLUSTER_SECRETS_ENCRYPTION_DISABLED
La crittografia dei secret a livello di applicazione è disattivata su un cluster GKE.
La crittografia dei secret a livello di applicazione garantisce che i secret di GKE siano criptati utilizzando le chiavi Cloud KMS. La funzionalità offre un ulteriore livello di sicurezza per i dati sensibili, come i secret definiti dall'utente e i secret necessari per il funzionamento del cluster, ad esempio le chiavi degli account di servizio, che sono tutte archiviate in etcd.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi Cloud KMS nella console Google Cloud.
Controlla le chiavi delle tue applicazioni o crea una chiave di crittografia del database (DEK). Per maggiori informazioni, consulta la sezione Creare una chiave Cloud KMS.
Vai alla pagina Cluster Kubernetes.
Seleziona il cluster nel rilevamento.
In Sicurezza, nel campo Crittografia dei secret a livello di applicazione, fai clic su
Modifica crittografia dei secret a livello di applicazione.Seleziona la casella di controllo Abilita la crittografia dei secret a livello di applicazione e scegli la DEK che hai creato.
Fai clic su Salva modifiche.
Cluster shielded nodes disabled
Nome della categoria nell'API: CLUSTER_SHIELDED_NODES_DISABLED
I nodi GKE schermati non sono abilitati per un cluster.
Senza nodi GKE protetti, gli utenti malintenzionati possono sfruttare una vulnerabilità in un pod per esfiltrare le credenziali di bootstrap e simulare l'identità dei nodi nel cluster. La vulnerabilità può consentire agli utenti malintenzionati di accedere ai secret del cluster.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Seleziona il cluster nel rilevamento.
In Sicurezza, nel campo Nodi GKE schermati, fai clic su
Modifica nodi GKE schermati.Seleziona la casella di controllo Abilita Shielded GKE Nodes.
Fai clic su Salva modifiche.
Compute project wide SSH keys allowed
Nome della categoria nell'API: COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED
Vengono utilizzate chiavi SSH a livello di progetto, che consentono di accedere a tutte le istanze del progetto.
L'utilizzo di chiavi SSH a livello di progetto semplifica la gestione delle chiavi SSH, ma, se compromesse, costituisce un rischio per la sicurezza che può interessare tutte le istanze di un progetto. Devi utilizzare chiavi SSH specifiche dell'istanza, che limitano la superficie di attacco se le chiavi SSH sono compromesse. Per saperne di più, consulta la sezione Gestire le chiavi SSH nei metadati.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Nella pagina Dettagli istanza VM, fai clic su
Modifica.In Chiavi SSH, seleziona Chiavi SSH di blocco a livello di progetto.
Fai clic su Salva.
Compute Secure Boot disabled
Nome della categoria nell'API: COMPUTE_SECURE_BOOT_DISABLED
In una Shielded VM non è abilitato l'avvio protetto.
L'uso dell'avvio protetto aiuta a proteggere le tue macchine virtuali da rootkit e bootkit. Compute Engine non abilita Avvio protetto per impostazione predefinita perché alcuni driver non firmati e software di basso livello non sono compatibili. Se la tua VM non utilizza software incompatibile e si avvia con l'avvio protetto abilitato, Google consiglia di utilizzare l'avvio protetto. Se utilizzi moduli di terze parti con driver Nvidia, assicurati che siano compatibili con Avvio protetto prima di attivarlo.
Per ulteriori informazioni, vedi Avvio protetto.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Nella pagina Dettagli istanza VM, fai clic su
Arresta.Dopo l'arresto dell'istanza, fai clic su
Modifica.In VM protetta, seleziona Attiva Avvio protetto.
Fai clic su Salva.
Fai clic su
Avvia per avviare l'istanza.
Compute serial ports enabled
Nome della categoria nell'API: COMPUTE_SERIAL_PORTS_ENABLED
Le porte seriali sono abilitate per un'istanza, consentendo le connessioni alla console seriale dell'istanza.
Se abiliti la console seriale interattiva su un'istanza, i client possono tentare di connettersi a questa istanza da qualsiasi indirizzo IP. Pertanto, il supporto della console seriale interattiva deve essere disabilitato. Per scoprire di più, consulta la sezione Attivare l'accesso per un progetto.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Nella pagina Dettagli istanza VM, fai clic su
Modifica.In Accesso remoto, deseleziona Abilita connessione a porte seriali.
Fai clic su Salva.
Confidential Computing disabled
Nome della categoria nell'API: CONFIDENTIAL_COMPUTING_DISABLED
In un'istanza Compute Engine non è abilitato Confidential Computing.
Confidential Computing aggiunge un terzo pilastro all'intero processo della crittografia end-to-end mediante la crittografia dei dati in uso. Grazie agli ambienti di esecuzione riservati offerti da Confidential Computing e AMD Secure Encrypted Virtualization (SEV), Google Cloud mantiene criptati in memoria il codice sensibile e gli altri dati durante l'elaborazione.
Confidential Computing può essere abilitato solo quando viene creata un'istanza. Pertanto, devi eliminare l'istanza corrente e crearne una nuova.
Per ulteriori informazioni, consulta VM riservate e Compute Engine.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Nella pagina Dettagli istanza VM, fai clic su
Elimina.Crea una VM Confidential utilizzando la console Google Cloud.
COS not used
Nome della categoria nell'API: COS_NOT_USED
Le VM Compute Engine non utilizzano Container-Optimized OS, che è progettato per eseguire in sicurezza i container Docker su Google Cloud.
Container-Optimized OS è il sistema operativo consigliato da Google per ospitare ed eseguire container su Google Cloud. Le dimensioni ridotte di OS minimizzano i rischi per la sicurezza e, allo stesso tempo, gli aggiornamenti automatici applicano patch alle vulnerabilità di sicurezza con tempestività. Per ulteriori informazioni, consulta la Panoramica di Container-Optimized OS.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nell'elenco dei cluster, fai clic sul nome del cluster nel risultato.
Fai clic sulla scheda Nodi.
Per ogni node pool:
- Fai clic sul nome del pool di nodi per passare alla pagina dei dettagli corrispondente.
- Fai clic su Modifica .
- In Nodi -> Tipo di immagine, fai clic su Cambia.
- Seleziona Sistema operativo ottimizzato per i container e poi fai clic su Modifica.
- Fai clic su Salva.
Custom role not monitored
Nome della categoria nell'API: CUSTOM_ROLE_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche ai ruoli personalizzati.
IAM fornisce ruoli predefiniti e personalizzati che consentono l'accesso a specifiche risorse Google Cloud. Il monitoraggio delle attività di creazione, eliminazione e aggiornamento dei ruoli ti consente di identificare i ruoli con privilegi in eccesso nelle fasi iniziali. Per ulteriori informazioni, consulta la Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
resource.type="iam_role" AND (protoPayload.methodName="google.iam.admin.v1.CreateRole" OR protoPayload.methodName="google.iam.admin.v1.DeleteRole" OR protoPayload.methodName="google.iam.admin.v1.UpdateRole")
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Dataproc CMEK disabled
Nome della categoria nell'API: DATAPROC_CMEK_DISABLED
È stato creato un cluster Dataproc senza una chiave CMEK per la configurazione della crittografia. Con CMEK, le chiavi che crei e gestisci in Cloud Key Management Service coprono le chiavi utilizzate da Google Cloud per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Dataproc nella console Google Cloud.
Seleziona il progetto e fai clic su Crea cluster.
Nella sezione Gestisci sicurezza, fai clic su Crittografia e seleziona Chiave gestita dal cliente.
Seleziona una chiave gestita dal cliente dall'elenco.
Se non hai una chiave gestita dal cliente, devi crearne una da utilizzare. Per ulteriori informazioni, consulta Chiavi di crittografia gestite dal cliente.
Assicurati che alla chiave KMS selezionata sia assegnato il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio Dataproc Cluster ("serviceAccount:service-project_number@compute-system.iam.gserviceaccount.com").
Una volta creato il cluster, esegui la migrazione di tutti i workload dal cluster precedente a quello nuovo.
Vai a Cluster Dataproc e seleziona il tuo progetto.
Seleziona il cluster precedente e fai clic su
Elimina cluster.Ripeti tutti i passaggi precedenti per gli altri cluster Dataproc disponibili nel progetto selezionato.
Dataproc image outdated
Nome della categoria nell'API: DATAPROC_IMAGE_OUTDATED
È stato creato un cluster Dataproc utilizzando una versione dell'immagine Dataproc soggetta a vulnerabilità di sicurezza nell'utilità Apache Log4j 2 (CVE-2021-44228 e CVE-2021-45046).
Questo rilevatore trova le vulnerabilità controllando se il campo softwareConfig.imageVersion
nella proprietà config
di un
Cluster
presenta una delle seguenti versioni interessate:
- Versioni delle immagini precedenti alla 1.3.95.
- Versioni immagine secondarie precedenti a 1.4.77, 1.5.53 e 2.0.27.
Il numero di versione di un'immagine Dataproc personalizzata può essere override manualmente. Considera i seguenti scenari:
- È possibile modificare la versione di un'immagine personalizzata interessata in modo che non venga visualizzata come interessata. In questo caso, il rilevatore non genera un rilevamento.
- È possibile sostituire la versione di un'immagine personalizzata non interessata con una di cui è nota la vulnerabilità. In questo caso, il rilevatore emette un risultato falso positivo. Per eliminare questi risultati di falsi positivi, puoi silenziarli.
Per risolvere il problema, ricrea e aggiorna il cluster interessato.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoDataset CMEK disabled
Nome della categoria nell'API: DATASET_CMEK_DISABLED
Un set di dati BigQuery non è configurato per utilizzare una chiave di crittografia gestita dal cliente (CMEK) predefinita.
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google Cloud per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati. Per saperne di più, consulta Protezione dei dati con le chiavi Cloud KMS.
Per risolvere il problema, segui questi passaggi:
Non puoi passare da una tabella all'altra tra le crittografie predefinite e la crittografia CMEK. Per impostare una chiave CMEK predefinita con cui criptare tutte le nuove tabelle nel set di dati, segui le istruzioni per impostare una chiave predefinita del set di dati.
L'impostazione di una chiave predefinita non esegue nuovamente la crittografia retroattiva delle tabelle attualmente nel set di dati con una nuova chiave. Per utilizzare CMEK per i dati esistenti:
- Crea un nuovo set di dati.
- Imposta una chiave CMEK predefinita sul set di dati che hai creato.
- Per copiare le tabelle nel set di dati abilitato per CMEK, segui le istruzioni per la copia di una tabella.
- Dopo aver copiato i dati correttamente, elimina i set di dati originali.
Default network
Nome della categoria nell'API: DEFAULT_NETWORK
La rete predefinita esiste in un progetto.
Le reti predefinite hanno creato automaticamente regole firewall e configurazioni di rete che potrebbero non essere sicure. Per saperne di più, consulta la sezione Rete predefinita.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco delle reti, fai clic sul nome della rete predefinita.
Nella pagina Dettagli rete VPC, fai clic su
Elimina rete VPC.Per creare una nuova rete con regole firewall personalizzate, consulta la sezione sulla creazione di reti.
Default service account used
Nome della categoria nell'API: DEFAULT_SERVICE_ACCOUNT_USED
Un'istanza Compute Engine è configurata per utilizzare l'account di servizio predefinito.
L'account di servizio Compute Engine predefinito ha il ruolo Editor nel progetto, che consente l'accesso in lettura e scrittura alla maggior parte dei servizi Google Cloud. Per difenderti da escalation dei privilegi e accessi non autorizzati, non utilizzare l'account di servizio predefinito di Compute Engine. Crea invece un nuovo account di servizio e assegna solo le autorizzazioni necessarie per la tua istanza. Per informazioni su ruoli e autorizzazioni, consulta Controllo dell'accesso.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Seleziona l'istanza relativa al risultato di Security Health Analytics.
Nella pagina Dettagli istanza che si carica, fai clic su
Interrompi.Dopo l'arresto dell'istanza, fai clic su
Modifica.Nella sezione Account di servizio, seleziona un account di servizio diverso da quello predefinito di Compute Engine. Prima potrebbe essere necessario creare un nuovo account di servizio. Per informazioni su ruoli e autorizzazioni IAM, consulta Controllo dell'accesso.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Dettagli istanza.
Disk CMEK disabled
Nome della categoria nell'API: DISK_CMEK_DISABLED
I dischi di questa VM non sono criptati con chiavi di crittografia gestite dal cliente (CMEK).
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google Cloud per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati. Per ulteriori informazioni, consulta Proteggere le risorse con le chiavi Cloud KMS.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Dischi Compute Engine nella console Google Cloud.
Nell'elenco dei dischi, fai clic sul nome del disco indicato nel rilevamento.
Nella pagina Gestisci disco, fai clic su
Elimina.Per creare un nuovo disco con CMEK abilitata, consulta Crittografare un nuovo disco permanente con le tue chiavi. Le chiavi CMEK comportano costi aggiuntivi relativi a Cloud KMS.
Disk CSEK disabled
Nome della categoria nell'API: DISK_CSEK_DISABLED
I dischi di questa VM non sono criptati con chiavi di crittografia fornite dal cliente (CSEK). I dischi per le VM critiche devono essere criptati con CSEK.
Se fornisci le tue chiavi di crittografia, Compute Engine le utilizza per proteggere le chiavi generate da Google utilizzate per criptare e decriptare i tuoi dati. Per maggiori informazioni, consulta Chiavi di crittografia fornite dal cliente. Le chiavi CSEK comportano costi aggiuntivi relativi a Cloud KMS.
Per risolvere il problema, segui questi passaggi:
Eliminare e creare un disco
Puoi criptare solo nuovi dischi permanenti con la tua chiave. Non puoi criptare i dischi permanenti esistenti con la tua chiave.
Vai alla pagina Dischi Compute Engine nella console Google Cloud.
Nell'elenco dei dischi, fai clic sul nome del disco indicato nel rilevamento.
Nella pagina Gestisci disco, fai clic su
Elimina.Per creare un nuovo disco con la CSEK abilitata, consulta Crittografia dei dischi con chiavi fornite dal cliente.
Completa i passaggi rimanenti per attivare il rilevatore.
Attiva il rilevatore
Vai alla pagina Asset di Security Command Center nella console Google Cloud.
Nella sezione Tipo di risorsa del riquadro Filtri rapidi, seleziona compute.Disk.
Se non vedi compute.Disk, fai clic su Visualizza altro, inserisci
Disk
nel campo di ricerca e poi fai clic su Applica.Il riquadro Risultati si aggiorna per mostrare solo le istanze del tipo di risorsa
compute.Disk
.Nella colonna Nome visualizzato, seleziona la casella accanto al nome del disco che vuoi utilizzare con CSEK e poi fai clic su Imposta indicatori di sicurezza.
Nella finestra di dialogo, fai clic su Aggiungi segno.
Nel campo chiave, inserisci
enforce_customer_supplied_disk_encryption_keys
e nel campo valore, inseriscitrue
.Fai clic su Salva.
DNS logging disabled
Nome della categoria nell'API: DNS_LOGGING_DISABLED
Il monitoraggio dei log di Cloud DNS offre visibilità sui nomi DNS richiesti dai client all'interno della rete VPC. Questi log possono essere monitorati per verificare la presenza di nomi di dominio anomali ed essere valutati in base alla threat intelligence. Ti consigliamo di abilitare il logging DNS per le reti VPC.
A seconda della quantità di informazioni, i costi di registrazione di Cloud DNS possono essere significativi. Per informazioni sul tuo utilizzo del servizio e sul relativo costo, consulta Prezzi per l'osservabilità di Google Cloud: Cloud Logging.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco delle reti, fai clic sul nome della rete VPC.
Crea un nuovo criterio del server (se non esiste) o modificane uno esistente:
Se la rete non dispone di un criterio per il server DNS, segui questi passaggi:
- Fai clic su Modifica.
- Nel campo Policy del server DNS, fai clic su Crea una nuova policy del server.
- Inserisci un nome per il nuovo criterio del server.
- Imposta Log su On.
- Fai clic su Salva.
Se la rete dispone di un criterio del server DNS, completa i seguenti passaggi:
- Nel campo Policy del server DNS, fai clic sul nome della policy DNS.
- Fai clic su Modifica criterio.
- Imposta Log su On.
- Fai clic su Salva.
DNSSEC disabled
Nome della categoria nell'API: DNSSEC_DISABLED
Le estensioni DNSSEC (Domain Name System Security Extensions) sono disattivate per le zone Cloud DNS.
DNSSEC convalida le risposte DNS e riduce i rischi, come la compromissione DNS e gli attacchi person in the middle, mediante la firma crittografica dei record DNS. Devi attivare DNSSEC. Per saperne di più, consulta la panoramica delle estensioni di sicurezza DNS (DNSSEC).
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cloud DNS nella console Google Cloud.
Individua la riga con la zona DNS indicata nel rilevamento.
Fai clic sull'impostazione DNSSEC nella riga e, in DNSSEC, seleziona On.
Esamina la finestra di dialogo visualizzata. Se le impostazioni sono corrette, fai clic su Attiva.
Effectively Anonymous Users Granted GKE Cluster Access
Nome della categoria nell'API: GKE_PRIVILEGE_ESCALATION_DEFAULT_USERS_GROUPS
Qualcuno ha creato un'associazione RBAC che fa riferimento a uno dei seguenti utenti o gruppi:
system:anonymous
system:authenticated
system:unauthenticated
Questi utenti e gruppi sono effettivamente anonimi e non devono essere utilizzati in RoleBinding o ClusterRoleBindings. Per maggiori dettagli, vedi Evitare ruoli e gruppi predefiniti.
Per risolvere il problema, svolgi i seguenti passaggi per le risorse interessate:
- Apri il manifest per ogni ClusterRoleBinding o RoleBinding interessato.
- Imposta i campi con restrizioni elencati di seguito su uno dei valori consentiti.
Campi con restrizioni
subjects[*].name
Valori consentiti
- Eventuali gruppi, utenti o service account che non includono
system:anonymous
,system:authenticated
osystem:unauthenticated
.
Egress deny rule not set
Nome della categoria nell'API: EGRESS_DENY_RULE_NOT_SET
Una regola di negazione per il traffico in uscita non è impostata su un firewall.
Un firewall che nega tutto il traffico di rete in uscita impedisce qualsiasi connessione di rete in uscita indesiderata, ad eccezione di quelle autorizzate esplicitamente da altri firewall. Per ulteriori informazioni, consulta Caso di esportazione.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Fai clic su Crea regola firewall.
Assegna un nome e, facoltativamente, una descrizione al firewall.
In Direzione del traffico, seleziona In uscita.
In Azione in caso di corrispondenza, seleziona Nega.
Nel menu a discesa Destinazioni, seleziona Tutte le istanze nella rete.
Nel menu a discesa Filtro di destinazione, seleziona Intervalli IP, quindi digita
0.0.0.0/0
nella casella Intervalli IP di destinazione.In Protocolli e porte, seleziona Nega tutti.
Fai clic su Disattiva regola e poi, in Applicazione, seleziona Attivata.
Fai clic su Crea.
Essential contacts not configured
Nome della categoria nell'API: ESSENTIAL_CONTACTS_NOT_CONFIGURED
La tua organizzazione non ha designato una persona o un gruppo per ricevere notifiche da Google Cloud su eventi importanti come attacchi, vulnerabilità e incidenti relativi ai dati all'interno della tua organizzazione Google Cloud. Ti consigliamo di designare come contatto necessario una o più persone o gruppi della tua organizzazione aziendale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Contatti fondamentali nella console Google Cloud.
Assicurati che l'organizzazione venga visualizzata nel selettore di risorse nella parte superiore della pagina. Il selettore di risorse indica il progetto, la cartella o l'organizzazione per cui stai gestendo i contatti.
Fai clic su +Aggiungi contatto. Si apre il riquadro Aggiungi un contatto.
Nei campi Email e Conferma email, inserisci l'indirizzo email del contatto.
Nella sezione Categorie di notifica, seleziona le categorie di notifica per cui vuoi che il contatto riceva le comunicazioni. Assicurati di aver configurato gli indirizzi email appropriati per ognuna delle seguenti categorie di notifica:
- Legale
- Sicurezza
- Sospensione
- Tecnico
Fai clic su Salva.
Firewall not monitored
Nome della categoria nell'API: FIREWALL_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alle regole del firewall di rete VPC.
Il monitoraggio degli eventi di creazione e aggiornamento delle regole firewall ti consente di ricavare insight sulle modifiche dell'accesso alla rete e può aiutarti a rilevare rapidamente le attività sospette. Per maggiori informazioni, consulta la Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
resource.type="gce_firewall_rule" AND (protoPayload.methodName:"compute.firewalls.insert" OR protoPayload.methodName:"compute.firewalls.patch" OR protoPayload.methodName:"compute.firewalls.delete")
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Firewall rule logging disabled
Nome della categoria nell'API: FIREWALL_RULE_LOGGING_DISABLED
Il logging delle regole firewall è disattivato.
Il logging delle regole del firewall consente di controllare, verificare e analizzare gli effetti delle regole del firewall. Può essere utile per controllare l'accesso alla rete o per fornire un avviso in anteprima che la rete viene utilizzata in un modo non approvato. Il costo degli archivi può essere elevato. Per saperne di più sul logging delle regole firewall e sul relativo costo, consulta Utilizzare il logging delle regole firewall.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola che ti interessa.
Fai clic su
Modifica.In Log, seleziona On.
Fai clic su Salva.
Flow logs disabled
Nome della categoria nell'API: FLOW_LOGS_DISABLED
Esiste una subnet VPC in cui i log di flusso sono disabilitati.
I log di flusso VPC registrano un campione di flussi di rete inviati e ricevuti dalle istanze VM. Questi log possono essere utilizzati per monitoraggio della rete, analisi forense, analisi della sicurezza in tempo reale e ottimizzazione delle spese. Per ulteriori informazioni sui log di flusso e sul relativo costo, consulta Utilizzare i log di flusso VPC.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco delle emittenti, fai clic sul nome della rete che ti interessa.
Nella pagina Dettagli rete VPC, fai clic sulla scheda Subnet.
Nell'elenco delle sottoreti, fai clic sul nome della sottorete indicato nel risultato.
Nella pagina Dettagli subnet, fai clic su
Modifica.In Log di flusso, seleziona On.
Flow logs settings not recommended
Nome della categoria nell'API: VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED
Nella configurazione di una subnet in una rete VPC, il servizio Log di flusso VPC è disattivato o non è configurato in base ai suggerimenti di CIS Benchmark 1.3. I log di flusso VPC registrano un campione di flussi di rete inviati e ricevuti dalle istanze VM, che può essere utilizzato per rilevare minacce.
Per ulteriori informazioni sui log di flusso VPC e sul relativo costo, consulta Utilizzare i log di flusso VPC.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco delle emittenti, fai clic sul nome della rete.
Nella pagina Dettagli rete VPC, fai clic sulla scheda Subnet.
Nell'elenco delle sottoreti, fai clic sul nome della sottorete indicato nel risultato.
Nella pagina Dettagli subnet, fai clic su
Modifica.In Log di flusso, seleziona On.
- Facoltativamente, modifica la configurazione dei log facendo clic sul pulsante Configura log per espandere la scheda. CIS Benchmarks consiglia le seguenti impostazioni:
- Imposta Intervallo di aggregazione su 5 sec.
- Per la casella di controllo Campi aggiuntivi, seleziona l'opzione Includi metadati.
- Imposta la frequenza di campionamento su 100%.
- Fai clic sul pulsante SALVA.
- Facoltativamente, modifica la configurazione dei log facendo clic sul pulsante Configura log per espandere la scheda. CIS Benchmarks consiglia le seguenti impostazioni:
Full API access
Nome della categoria nell'API: FULL_API_ACCESS
Un'istanza Compute Engine è configurata per utilizzare l'account di servizio predefinito con accesso completo a tutte le API Google Cloud.
Un'istanza configurata con l'account di servizio predefinito e l'ambito di accesso alle API impostato su Consenti l'accesso completo a tutte le API Cloud potrebbe consentire agli utenti di eseguire operazioni o chiamate API per le quali non dispongono delle autorizzazioni IAM. Per ulteriori informazioni, consulta Account di servizio predefinito di Compute Engine.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Se l'istanza è in esecuzione, fai clic su
Arresta.Quando l'istanza è arrestata, fai clic su
Modifica.Nella sezione Sicurezza e accesso, in Account di servizio, seleziona Account di servizio predefinito di Compute Engine.
In Ambiti di accesso, seleziona Consenti l'accesso predefinito o Imposta l'accesso per ogni API. Ciò limita le API a cui possono accedere qualsiasi processo o carico di lavoro che utilizza l'account di servizio VM predefinito.
Se hai selezionato Imposta l'accesso per ogni API, procedi nel seguente modo:
- Disattiva Cloud Platform impostandolo su Nessuna.
- Abilita le API specifiche a cui l'account di servizio VM predefinito richiede accesso.
Fai clic su Salva.
Fai clic su
Avvia per avviare l'istanza.
HTTP load balancer
Nome della categoria nell'API: HTTP_LOAD_BALANCER
Un'istanza Compute Engine utilizza un bilanciatore del carico configurato per utilizzare un proxy HTTP di destinazione anziché un proxy HTTPS di destinazione.
Per proteggere l'integrità dei tuoi dati e impedire a intrusi di manomettere le comunicazioni, configura i bilanciatori del carico HTTP(S) in modo da consentire solo il traffico HTTPS. Per ulteriori informazioni, consulta la panoramica del bilanciamento del carico HTTP(S) esterno.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Proxy di destinazione nella console Google Cloud.
Nell'elenco dei proxy di destinazione, fai clic sul nome del proxy di destinazione nel risultato.
Fai clic sul link nella sezione Mappa URL.
Fai clic su
Modifica.Fai clic su Configurazione frontend.
Elimina tutte le configurazioni di IP frontend e porta che consentono il traffico HTTP e crea nuove configurazioni che consentono il traffico HTTPS.
Instance OS login disabled
Nome della categoria nell'API: INSTANCE_OS_LOGIN_DISABLED
L'OS Login è disabilitato in questa istanza Compute Engine.
L'OS Login consente la gestione centralizzata delle chiavi SSH con IAM e disattiva la configurazione delle chiavi SSH basata su metadati in tutte le istanze di un progetto. Scopri come configurare e impostare l'accesso OS.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Nella pagina Dettagli istanza che si carica, fai clic su
Interrompi.Dopo l'arresto dell'istanza, fai clic su
Modifica.Nella sezione Metadati personalizzati, assicurati che l'elemento con la chiave enable-oslogin abbia il valore TRUE.
Fai clic su Salva.
Fai clic su
Avvia per avviare l'istanza.
Integrity monitoring disabled
Nome della categoria nell'API: INTEGRITY_MONITORING_DISABLED
Il monitoraggio dell'integrità è disabilitato in un cluster GKE.
Il monitoraggio dell'integrità consente di controllare e verificare l'integrità in fase di avvio runtime dei nodi protetti mediante il monitoraggio. Questo consente di rispondere a errori di integrità e di impedire il deployment dei nodi compromessi nel cluster.
Per risolvere il problema, segui questi passaggi:
Una volta eseguito il provisioning di un nodo, non è possibile aggiornarlo per abilitare il monitoraggio dell'integrità. Devi creare un nuovo pool di nodi con il monitoraggio dell'integrità abilitato.
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic sul nome del cluster nel rilevamento.
Fai clic su Aggiungi pool di nodi.
Nella scheda Sicurezza, assicurati che l'opzione Abilita il monitoraggio dell'integrità sia attivata.
Fai clic su Crea.
Per eseguire la migrazione dei workload dai node pool non conformi esistenti ai nuovi node pool, consulta Migrazione dei workload in tipi di macchine diversi.
Dopo aver spostato i workload, elimina il pool di nodi non conforme originale.
- Nella pagina del cluster Kubernetes, fai clic sul nome del pool di nodi che vuoi eliminare nel menu Node pool.
- Fai clic su Rimuovi node pool.
Intranode visibility disabled
Nome della categoria nell'API: INTRANODE_VISIBILITY_DISABLED
La visibilità tra nodi è disabilitata per un cluster GKE.
Se abiliti la visibilità tra nodi, il traffico tra i pod dei vari nodi sarà visibile nell'infrastruttura di networking. Questa funzionalità consente di utilizzare il logging del flusso VPC o altre funzionalità VPC per monitorare o controllare il traffico tra nodi. Per ottenere i log, devi abilitare quelli del flusso VPC nella subnet selezionata. Per ulteriori informazioni, consulta Utilizzare i log di flusso VPC.
Per risolvere il problema, segui questi passaggi:
Una volta eseguito il provisioning di un nodo, non è possibile aggiornarlo per abilitare il monitoraggio dell'integrità. Devi creare un nuovo pool di nodi con il monitoraggio dell'integrità abilitato.
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nella sezione Networking, fai clic su
Modifica visibilità tra nodi nella riga Visibilità tra nodi.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nella finestra di dialogo, seleziona Abilita visibilità tra nodi.
Fai clic su Salva modifiche.
IP alias disabled
Nome della categoria nell'API: IP_ALIAS_DISABLED
È stato creato un cluster GKE con gli intervalli IP alias disattivati.
Quando abiliti gli intervalli IP alias, i cluster GKE allocano indirizzi IP da un blocco CIDR noto, per cui il cluster è scalabile e interagisce meglio con i prodotti e le entità Google Cloud. Per ulteriori informazioni, consulta la panoramica degli intervalli IP alias.
Per risolvere il problema, segui questi passaggi:
Non puoi eseguire la migrazione di un cluster esistente per utilizzare IP alias. Per creare un nuovo cluster con IP alias abilitati, segui queste istruzioni:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic su Crea.
Nel riquadro di navigazione, in Cluster, fai clic su Networking.
In Opzioni di networking avanzate, seleziona Abilita routing del traffico VPC nativo (mediante IP alias).
Fai clic su Crea.
IP forwarding enabled
Nome della categoria nell'API: IP_FORWARDING_ENABLED
L'IP forwarding è abilitato sulle istanze Compute Engine.
Impedisci la perdita di dati e la divulgazione di informazioni disattivando l'IP forwarding dei pacchetti di dati per le tue VM.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, seleziona la casella accanto al nome dell'istanza nel risultato.
Fai clic su
Elimina.Seleziona Crea istanza per creare una nuova istanza che sostituisca quella eliminata.
Per assicurarti che il forwarding IP sia disattivato, fai clic su Gestione, dischi, networking, chiavi SSH e poi su Networking.
In Interfacce di rete, fai clic su
Modifica.In Inoltro IP, nel menu a discesa, assicurati che sia selezionata l'opzione Off.
Specifica eventuali altri parametri dell'istanza e fai clic su Crea. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.
KMS key not rotated
Nome della categoria nell'API: KMS_KEY_NOT_ROTATED
La rotazione non è configurata su una chiave di crittografia Cloud KMS.
La rotazione regolare delle chiavi di crittografia fornisce protezione nel caso in cui una chiave venga compromessa e limita il numero di messaggi criptati disponibili per la crittoanalisi per una versione specifica della chiave. Per ulteriori informazioni, consulta la sezione Rotazione delle chiavi.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi Cloud KMS nella console Google Cloud.
Fai clic sul nome del keyring indicato nel rilevamento.
Fai clic sul nome della chiave indicato nel rilevamento.
Fai clic su Modifica periodo di rotazione.
Imposta il periodo di rotazione su un massimo di 90 giorni.
Fai clic su Salva.
KMS project has owner
Nome della categoria nell'API: KMS_PROJECT_HAS_OWNER
Un utente dispone delle autorizzazioni roles/Owner
per un progetto protetto da chiavi di crittografia.
Per ulteriori informazioni, vedi Autorizzazioni e ruoli.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina IAM nella console Google Cloud.
Se necessario, seleziona il progetto nel risultato.
Per ogni entità a cui è stato assegnato il ruolo Proprietario:
- Fai clic su Modifica.
- Nel riquadro Modifica autorizzazioni, fai clic su Elimina accanto al ruolo Proprietario.
- Fai clic su Salva.
KMS public key
Nome della categoria nell'API: KMS_PUBLIC_KEY
Una chiave di crittografia Cloud KMS o una raccolta di chiavi Cloud KMS è pubblica e accessibile a chiunque su internet. Per ulteriori informazioni, consulta Utilizzo di IAM con Cloud KMS.
Per risolvere il problema, se è correlato a una crittografia:
Vai alla pagina Chiavi crittografiche nella console Google Cloud.
In Nome, seleziona la chiave automatizzata contenente la chiave di crittografia correlata al rilevamento di Security Health Analytics.
Nella pagina Dettagli portachiavi che viene caricata, seleziona la casella di controllo accanto alla chiave criptata.
Se il RIQUADRO INFORMAZIONI non è visualizzato, fai clic sul pulsante MOSTRA RIQUADRO INFORMAZIONI.
Utilizza la casella di filtro precedente a Ruolo / principale per cercare tra le entità allUsers e allAuthenticatedUsers e fai clic su
Elimina per rimuovere l'accesso per queste entità.
Per risolvere il problema, se è correlato a un portachiavi:
Vai alla pagina Chiavi crittografiche nella console Google Cloud.
Trova la riga con la chiave automatizzata nel rilevamento e seleziona la casella di controllo.
Se il RIQUADRO INFORMAZIONI non è visualizzato, fai clic sul pulsante MOSTRA RIQUADRO INFORMAZIONI.
Utilizza la casella di filtro precedente a Ruolo / principale per cercare tra le entità allUsers e allAuthenticatedUsers e fai clic su
Elimina per rimuovere l'accesso per queste entità.
KMS role separation
Nome della categoria nell'API: KMS_ROLE_SEPARATION
Questo risultato non è disponibile per le attivazioni a livello di progetto.
A una o più entità sono assegnate più autorizzazioni Cloud KMS. Consigliamo di evitare di assegnare autorizzazioni di Amministratore Cloud KMS e altre autorizzazioni Cloud KMS allo stesso account. Per ulteriori informazioni, consulta Autorizzazioni e ruoli.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina IAM nella console Google Cloud.
Per ogni entità elencata nel rilevamento, svolgi le seguenti operazioni:
- Per verificare se il ruolo è stato ereditato da una cartella o una risorsa dell'organizzazione, controlla la colonna Ereditarietà. Se la colonna contiene un link a una risorsa principale, fai clic sul link per accedere alla pagina IAM della risorsa principale.
- Fai clic su Modifica accanto a un'entità.
- Per rimuovere le autorizzazioni, fai clic su Elimina accanto a Amministratore Cloud KMS. Se vuoi rimuovere tutte le autorizzazioni per l'entità, fai clic su Elimina accanto a tutte le altre autorizzazioni.
Fai clic su Salva.
Legacy authorization enabled
Nome della categoria nell'API: LEGACY_AUTHORIZATION_ENABLED
L'autorizzazione precedente è abilitata sui cluster GKE.
In Kubernetes, controllo dell'accesso basato sui ruoli (RBAC) consente di definire i ruoli con regole che contengono un insieme di autorizzazioni, nonché di concedere le autorizzazioni a livello di cluster e spazio dei nomi. Questa funzionalità garantisce una maggiore sicurezza in quanto gli utenti possono accedere solo a risorse specifiche. Valuta la possibilità di disattivare il controllo dell'controllo dell'accesso basato su attributi (ABAC) legacy.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Seleziona il cluster elencato nel risultato di Security Health Analytics.
Fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nell'elenco a discesa Autorizzazione precedente, seleziona Disabilitata.
Fai clic su Salva.
Legacy metadata enabled
Nome della categoria nell'API: LEGACY_METADATA_ENABLED
I metadati legacy sono abilitati sui cluster GKE.
Il server di metadati di istanza di Compute Engine espone gli endpoint legacy /0.1/
e
/v1beta1/
, che non applicano intestazioni di query di metadati. Questa è una funzionalità delle API /v1/
che rende più difficile per un potenziale utente malintenzionato recuperare i metadati dell'istanza. Se non obbligatorio, ti consigliamo di disattivare queste API /0.1/
e /v1beta1/
legacy.
Per ulteriori informazioni, consulta Disattivare le API di metadati legacy e passare a quelle nuove.
Per risolvere il problema, segui questi passaggi:
Puoi disattivare le API di metadati legacy solo quando crei un nuovo cluster o quando aggiungi un nuovo pool di nodi a un cluster esistente. Per aggiornare un cluster esistente e disattivare le API dei metadati legacy, consulta Eseguire la migrazione dei carichi di lavoro su tipi di macchine diversi.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoLegacy network
Nome della categoria nell'API: LEGACY_NETWORK
In un progetto esiste una rete legacy.
Le reti legacy sono sconsigliate perché molte nuove funzionalità di sicurezza di Google Cloud non sono supportate nelle reti legacy. Utilizza invece le reti VPC. Per ulteriori informazioni, consulta Reti legacy.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Per creare una nuova rete non legacy, fai clic su Crea rete.
Torna alla pagina Reti VPC.
Nell'elenco delle reti, fai clic su legacy_network.
Nella pagina Dettagli rete VPC, fai clic su
Elimina rete VPC.
Load balancer logging disabled
Nome della categoria nell'API: LOAD_BALANCER_LOGGING_DISABLED
Il logging è disabilitato per il servizio di backend in un bilanciatore del carico.
L'abilitazione del logging per un bilanciatore del carico consente di visualizzare il traffico di rete HTTP(S) per le applicazioni web. Per ulteriori informazioni, consulta Bilanciatore del carico.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Bilanciamento del carico Cloud nella console Google Cloud.
Fai clic sul nome del bilanciatore del carico.
Fai clic su
Modifica.Fai clic su Configurazione backend.
Nella pagina Configurazione backend, fai clic su
Modifica.Nella sezione Logging, seleziona Abilita il logging e scegli la frequenza di campionamento migliore per il progetto.
Per completare la modifica del servizio di backend, fai clic su Aggiorna.
Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.
Locked retention policy not set
Nome della categoria nell'API: LOCKED_RETENTION_POLICY_NOT_SET
Non è impostata una policy di conservazione bloccata per i log.
Un criterio di conservazione bloccato impedisce la sovrascrittura dei log e l'eliminazione del bucket di log. Per ulteriori informazioni, consulta la sezione Blocco del bucket.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Browser di archiviazione nella console Google Cloud.
Seleziona il bucket elencato nel risultato di Security Health Analytics.
Nella pagina Dettagli bucket, fai clic sulla scheda Conservazione.
Se non è stato impostato un criterio di conservazione, fai clic su Imposta criterio di conservazione.
Inserisci un periodo di conservazione.
Fai clic su Salva. Il criterio di conservazione viene visualizzato nella scheda Conservazione.
Fai clic su Blocca per assicurarti che il periodo di conservazione non venga ridotto o rimosso.
Log not exported
Nome della categoria nell'API: LOG_NOT_EXPORTED
Per una risorsa non è configurato un sink di log appropriato.
Cloud Logging consente di trovare rapidamente la causa principale dei problemi del sistema e delle applicazioni. Tuttavia, per impostazione predefinita, la maggior parte dei log viene conservata solo per 30 giorni. Esporta copie di tutte le voci di log per estendere il periodo di archiviazione. Per ulteriori informazioni, consulta Panoramica delle esportazioni dei log.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Router dei log nella console Google Cloud.
Fai clic su Crea sink.
Per garantire che tutti i log vengano esportati, lascia vuoti i filtri di inclusione ed esclusione.
Fai clic su Crea sink.
Master authorized networks disabled
Nome della categoria nell'API: MASTER_AUTHORIZED_NETWORKS_DISABLED
Le reti autorizzate del piano di controllo non sono abilitate sui cluster GKE.
Le reti autorizzate del piano di controllo migliorano la sicurezza del tuo cluster di container, impedendo a specifici indirizzi IP di accedere al piano di controllo del cluster. Per ulteriori informazioni, consulta Aggiungere reti autorizzate per l'accesso al control plane.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Seleziona il cluster elencato nel risultato di Security Health Analytics.
Fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nell'elenco a discesa Reti autorizzate del piano di controllo, seleziona Abilitata.
Fai clic su Aggiungi rete autorizzata.
Specifica le reti autorizzate che vuoi utilizzare.
Fai clic su Salva.
MFA not enforced
Nome della categoria nell'API: MFA_NOT_ENFORCED
Questo risultato non è disponibile per le attivazioni a livello di progetto.
L'autenticazione a più fattori, nello specifico la verifica in due passaggi (V2P), è disabilitata per alcuni utenti della tua organizzazione.
L'autenticazione a più fattori viene utilizzata per proteggere gli account da accessi non autorizzati ed è lo strumento più importante per la protezione della tua organizzazione contro la compromissione delle credenziali di accesso. Per saperne di più, vedi Proteggere la tua attività con la verifica in due passaggi.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Console di amministrazione nella console Google Cloud.
Applica in modo forzato la verifica in due passaggi a tutte le unità organizzative.
Ignorare i risultati di questo tipo
Per eliminare i risultati di questo tipo, definisci una regola di disattivazione che disattivi automaticamente i risultati futuri di questo tipo. Per ulteriori informazioni, consulta Disattivare i risultati in Security Command Center.
Anche se non è un modo consigliato per eliminare i risultati, puoi anche aggiungere indicatori di sicurezza dedicati agli asset in modo che i rilevatori di Security Health Analytics non creino risultati di sicurezza per questi asset.
- Per evitare che questo rilevamento venga attivato di nuovo, aggiungi all'asset il contrassegno di sicurezza
allow_mfa_not_enforced
con un valore ditrue
. - Per ignorare potenziali violazioni per unità organizzative specifiche, aggiungi il contrassegno di sicurezza
excluded_orgunits
alla risorsa con un elenco separato da virgole dei percorsi delle unità organizzative nel campo value. Ad esempio,excluded_orgunits:/people/vendors/vendorA,/people/contractors/contractorA
.
Network not monitored
Nome della categoria nell'API: NETWORK_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alla rete VPC.
Per rilevare modifiche errate o non autorizzate alla tua configurazione di rete, monitora le modifiche alla rete VPC. Per ulteriori informazioni, consulta la panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
resource.type="gce_network" AND (protoPayload.methodName:"compute.networks.insert" OR protoPayload.methodName:"compute.networks.patch" OR protoPayload.methodName:"compute.networks.delete" OR protoPayload.methodName:"compute.networks.removePeering" OR protoPayload.methodName:"compute.networks.addPeering")
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Network policy disabled
Nome della categoria nell'API: NETWORK_POLICY_DISABLED
Il criterio di rete è disabilitato nei cluster GKE.
La comunicazione pod-to-pod è aperta per impostazione predefinita. La comunicazione aperta consente ai pod di connettersi
direttamente attraverso i nodi, con o senza Network Address Translation. Una risorsa NetworkPolicy
è come un firewall a livello di pod che limita le connessioni tra pod, a meno che la risorsa NetworkPolicy
non consenta esplicitamente la connessione. Scopri come definire un criterio di rete.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic sul nome del cluster elencato nel risultato di Security Health Analytics.
In Networking, nella riga Criterio di rete di Calico Kubernetes, fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nella finestra di dialogo, seleziona Abilita il criterio di rete di Calico Kubernetes per il control plane e Abilita il criterio di rete di Calico Kubernetes per i nodi.
Fai clic su Salva modifiche.
Nodepool boot CMEK disabled
Nome della categoria nell'API: NODEPOOL_BOOT_CMEK_DISABLED
I dischi di avvio in questo pool di nodi non sono criptati con chiavi di crittografia gestite dal cliente (CMEK). CMEK consente all'utente di configurare le chiavi di crittografia predefinite per i dischi di avvio in un pool di nodi.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nell'elenco dei cluster, fai clic sul nome del cluster nel risultato.
Fai clic sulla scheda Nodi.
Per ogni pool di nodi default-pool, fai clic su
Elimina.Quando ti viene richiesto di confermare, fai clic su Elimina.
Per creare nuovi node pool utilizzando le chiavi CMEK, consulta Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK). Le chiavi CMEK comportano costi aggiuntivi relativi a Cloud KMS.
Nodepool secure boot disabled
Nome della categoria nell'API: NODEPOOL_SECURE_BOOT_DISABLED
L'avvio protetto è disattivato per un cluster GKE.
Abilita l'avvio protetto per Shielded GKE Nodes per verificare le firme digitali dei componenti di avvio dei nodi. Per ulteriori informazioni, vedi Avvio protetto.
Per risolvere il problema, segui questi passaggi:
Una volta eseguito il provisioning di un node pool, non è possibile aggiornarlo per abilitare l'avvio protetto. Devi creare un nuovo node pool con l'avvio protetto abilitato.
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic sul nome del cluster nel rilevamento.
Fai clic su Aggiungi pool di nodi.
Nel menu Node pool, procedi nel seguente modo:
- Fai clic sul nome del nuovo pool di nodi per espandere la scheda.
- Seleziona Sicurezza, quindi, in Opzioni per nodi schermati, seleziona Abilita l'avvio protetto.
- Fai clic su Crea.
- Per eseguire la migrazione dei workload dai node pool non conformi esistenti ai nuovi node pool, consulta Migrazione dei workload in tipi di macchine diversi.
- Dopo aver spostato i workload, elimina il pool di nodi non conforme originale.
Non org IAM member
Nome della categoria nell'API: NON_ORG_IAM_MEMBER
Un utente esterno all'organizzazione o al progetto dispone di autorizzazioni IAM su un progetto o un'organizzazione. Scopri di più sulle autorizzazioni IAM.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina IAM nella console Google Cloud.
Seleziona la casella di controllo accanto agli utenti esterni all'organizzazione o al progetto.
Fai clic su Rimuovi.
Object versioning disabled
Nome della categoria nell'API: OBJECT_VERSIONING_DISABLED
Il controllo delle versioni degli oggetti non è abilitato in un bucket di archiviazione in cui sono configurati i sink.
Per supportare il recupero di oggetti eliminati o sovrascritti, Cloud Storage offre la funzionalità di controllo delle versioni degli oggetti. Abilita il Controllo delle versioni degli oggetti per proteggere i dati di Cloud Storage dalla sovrascrittura o dall'eliminazione accidentale. Scopri come attivare il controllo delle versioni degli oggetti.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, utilizza il flag --versioning
in un
gcloud storage buckets update
comando con il valore appropriato:
gcloud storage buckets update gs://finding.assetDisplayName --versioning
Sostituisci finding.assetDisplayName
con il nome del
bucket pertinente.
Open Cassandra port
Nome della categoria nell'API: OPEN_CASSANDRA_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte Cassandra potrebbero esporre i tuoi servizi Cassandra a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio Cassandra sono:
TCP - 7000, 7001, 7199, 8888, 9042, 9160, 61620, 61621
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open ciscosecure websm port
Nome della categoria nell'API: OPEN_CISCOSECURE_WEBSM_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte CiscoSecure/WebSM potrebbero esporre i tuoi servizi CiscoSecure/WebSM a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole firewall VPC.
Le porte di servizio CiscoSecure/WebSM sono:
TCP - 9090
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open directory services port
Nome della categoria nell'API: OPEN_DIRECTORY_SERVICES_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte di Directory potrebbero esporre i tuoi servizi di directory a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio Directory sono:
TCP - 445
UDP - 445
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. Se abilitati, i risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open DNS port
Nome della categoria nell'API: OPEN_DNS_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte DNS potrebbero esporre i tuoi servizi DNS a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio DNS sono:
TCP - 53
UDP - 53
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open Elasticsearch port
Nome della categoria nell'API: OPEN_ELASTICSEARCH_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte Elasticsearch potrebbero esporre i tuoi servizi Elasticsearch a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio Elasticsearch sono:
TCP - 9200, 9300
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open firewall
Nome della categoria nell'API: OPEN_FIREWALL
Le regole del firewall che consentono le connessioni da tutti gli indirizzi IP, ad esempio 0.0.0.0/0
,
o da tutte le porte possono esporre inutilmente le risorse ad attacchi provenienti da origini
indesiderate. Queste regole dovrebbero essere rimosse o esplicitamente ristrette alle porte o agli intervalli IP di origine che ti interessano. Ad esempio, nelle applicazioni destinate a essere pubbliche,
valuta la possibilità di limitare le porte consentite a quelle necessarie per l'applicazione, come 80
e 443. Se la tua applicazione deve consentire le connessioni da tutti gli indirizzi IP o tutte le porte, ti consigliamo di aggiungere l'asset a una lista consentita. Scopri di più sull'aggiornamento delle regole firewall.
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. Se abilitati, i risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Regole firewall nella console Google Cloud.
Fai clic sulla regola firewall elencata nel risultato di Security Health Analytics e poi su
Modifica.In Intervalli IP di origine, modifica i valori IP per limitare l'intervallo di IP consentiti.
In Protocolli e porte, seleziona Protocolli e porte specificati, seleziona i protocolli consentiti e inserisci le porte consentite.
Fai clic su Salva.
Open FTP port
Nome della categoria nell'API: OPEN_FTP_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte FTP potrebbero esporre i tuoi servizi FTP a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio FTP sono:
TCP - 21
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open group IAM member
Nome della categoria nell'API: OPEN_GROUP_IAM_MEMBER
Uno o più entità che hanno accesso a un'organizzazione, a un progetto o a una cartella sono account Google Gruppi a cui è possibile partecipare senza approvazione.
I clienti Google Cloud possono utilizzare Google Gruppi per gestire i ruoli e le autorizzazioni per i membri delle loro organizzazioni oppure applicare criteri di accesso a raccolte di utenti. Anziché concedere i ruoli direttamente ai membri, gli amministratori possono concedere ruoli e autorizzazioni ai gruppi Google e poi aggiungere i membri a gruppi specifici. I membri del gruppo ereditano tutti i ruoli e le autorizzazioni del gruppo, il che consente loro di accedere a risorse e servizi specifici.
Se un account Google Gruppi aperto viene utilizzato come entità in un'associazione IAM, chiunque può ereditare il ruolo associato semplicemente aderendo al gruppo direttamente o indirettamente (tramite un sottogruppo). Ti consigliamo di revocare i ruoli dei gruppi aperti o di limitare l'accesso a questi gruppi.
Per risolvere il problema, esegui una delle seguenti procedure.
Rimuovi il gruppo dal criterio IAM
Vai alla pagina IAM nella console Google Cloud.
Se necessario, seleziona il progetto, la cartella o l'organizzazione nel rilevamento.
Rimuovi il ruolo di ogni gruppo aperto identificato nel rilevamento.
Limita l'accesso ai gruppi aperti
- Accedi a Google Gruppi.
- Aggiorna le impostazioni di ogni gruppo aperto e dei relativi sottogruppi per specificare chi può iscriversi al gruppo e chi deve approvare le richieste di iscrizione.
Open HTTP port
Nome della categoria nell'API: OPEN_HTTP_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte HTTP potrebbero esporre i tuoi servizi HTTP a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio HTTP sono:
TCP - 80
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open LDAP port
Nome della categoria nell'API: OPEN_LDAP_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte LDAP potrebbero esporre i tuoi servizi LDAP a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio LDAP sono:
TCP - 389, 636
UDP - 389
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open Memcached port
Nome della categoria nell'API: OPEN_MEMCACHED_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte Memcached potrebbero esporre i tuoi servizi Memcached a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio Memcached sono:
TCP - 11211, 11214, 11215
UDP - 11211, 11214, 11215
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open MongoDB port
Nome della categoria nell'API: OPEN_MONGODB_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte MongoDB potrebbero esporre i tuoi servizi MongoDB a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio MongoDB sono:
TCP - 27017, 27018, 27019
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open MySQL port
Nome della categoria nell'API: OPEN_MYSQL_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte MySQL potrebbero esporre i tuoi servizi MySQL a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio MySQL sono:
TCP - 3306
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open NetBIOS port
Nome della categoria nell'API: "OPEN_NETBIOS_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte NetBIOS potrebbero esporre i tuoi servizi NetBIOS a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio NetBIOS sono:
TCP - 137, 138, 139
UDP - 137, 138, 139
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open OracleDB port
Nome della categoria nell'API: OPEN_ORACLEDB_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte OracleDB potrebbero esporre i tuoi servizi OracleDB a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio OracleDB sono:
TCP - 1521, 2483, 2484
UDP - 2483, 2484
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open POP3 port
Nome della categoria nell'API: OPEN_POP3_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte POP3 potrebbero esporre i tuoi servizi POP3 a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio POP3 sono:
TCP - 110
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open PostgreSQL port
Nome della categoria nell'API: OPEN_POSTGRESQL_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte PostgreSQL potrebbero esporre i tuoi servizi PostgreSQL a utenti malintenzionati. Per ulteriori informazioni, consulta Panoramica delle regole firewall VPC.
Le porte del servizio PostgreSQL sono:
TCP - 5432
UDP - 5432
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open RDP port
Nome della categoria nell'API: OPEN_RDP_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte RDP potrebbero esporre i tuoi servizi RDP a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio RDP sono:
TCP - 3389
UDP - 3389
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open Redis port
Nome della categoria nell'API: OPEN_REDIS_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte Redis potrebbero esporre i tuoi servizi Redis a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio Redis sono:
TCP - 6379
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open SMTP port
Nome della categoria nell'API: OPEN_SMTP_PORT
Le regole del firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte SMTP potrebbero esporre i tuoi servizi SMTP a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio SMTP sono:
TCP - 25
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open SSH port
Nome della categoria nell'API: OPEN_SSH_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte SSH potrebbero esporre i tuoi servizi SSH a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio SSH sono:
SCTP - 22
TCP - 22
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Open Telnet port
Nome della categoria nell'API: OPEN_TELNET_PORT
Le regole firewall che consentono a qualsiasi indirizzo IP di connettersi alle porte Telnet potrebbero esporre i tuoi servizi Telnet a utenti malintenzionati. Per ulteriori informazioni, consulta la panoramica delle regole del firewall VPC.
Le porte del servizio Telnet sono:
TCP - 23
Questo risultato viene generato per le regole firewall vulnerabili, anche se le disattivi intenzionalmente. I risultati attivi per le regole firewall disattivate ti avvisano delle configurazioni non sicure che consentono il traffico indesiderato se abilitate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Firewall nella console Google Cloud.
Nell'elenco delle regole firewall, fai clic sul nome della regola firewall nel risultato.
Fai clic su
Modifica.In Intervalli IP di origine, elimina
0.0.0.0/0
.Aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi consentire di connettersi all'istanza.
Aggiungi i protocolli specifici e le porte che vuoi aprire sull'istanza.
Fai clic su Salva.
Org policy Confidential VM policy
Nome della categoria nell'API: ORG_POLICY_CONFIDENTIAL_VM_POLICY
Una risorsa Compute Engine non è conforme alle norme dell'organizzazione constraints/compute.restrictNonConfidentialComputing
. Per ulteriori informazioni su questo vincolo delle norme dell'organizzazione, consulta Applicare i vincoli delle norme dell'organizzazione.
La tua organizzazione richiede che questa VM abbia il servizio Confidential VM attivo. Le VM per cui questo servizio non è abilitato non utilizzeranno la crittografia della memoria di runtime, saranno pertanto esposte ad attacchi alla memoria di runtime.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, fai clic sul nome dell'istanza nel rilevamento.
Se la VM non richiede il servizio Confidential VM, spostala in una nuova cartella o in un nuovo progetto.
Se la VM richiede Confidential VM, fai clic su
Elimina.Per creare una nuova istanza con Confidential VM abilitata, consulta Guida introduttiva: creazione di un'istanza Confidential VM.
Org policy location restriction
Nome della categoria nell'API: ORG_POLICY_LOCATION_RESTRICTION
Il vincolo gcp.resourceLocations
dei criteri dell'organizzazione ti consente di limitare la creazione di nuove risorse alle regioni Cloud selezionate.
Per ulteriori informazioni, consulta Limitare le località delle risorse.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Il rilevatore ORG_POLICY_LOCATION_RESTRICTION
copre molti tipi di risorse e le istruzioni di correzione sono diverse per ogni risorsa. L'approccio generale per rimediare alle violazioni relative alla posizione include quanto segue:
- Copia, sposta o esegui il backup della risorsa al di fuori della regione o dei relativi dati in una risorsa all'interno della regione. Leggi la documentazione dei singoli servizi per ricevere istruzioni su come spostare le risorse.
- Elimina la risorsa originale al di fuori della regione o i relativi dati.
Questo approccio non è possibile per tutti i tipi di risorse. Per indicazioni, consulta i consigli personalizzati forniti nel rilevamento.
Ulteriori considerazioni
Per risolvere il problema, tieni presente quanto segue.
Risorse gestite
A volte i cicli di vita delle risorse vengono gestiti e controllati da altre risorse. Ad esempio, un gruppo di istanze Compute Engine gestite crea e distrugge le istanze Compute Engine in conformità con il criterio di scalabilità automatica del gruppo di istanze. Se le risorse gestite e di gestione rientrano nell'ambito dell'applicazione della località, entrambe potrebbero essere segnalate come in violazione delle norme dell'organizzazione. La correzione dei problemi relativi alle risorse gestite deve essere eseguita sulla risorsa di gestione per garantire la stabilità operativa.
Risorse in uso
Alcune risorse vengono utilizzate da altre risorse. Ad esempio, un disco Compute Engine collegato a un'istanza Compute Engine in esecuzione è considerato in uso dall'istanza. Se la risorsa in uso viola i criteri dell'organizzazione relativi alla località, devi assicurarti che la risorsa non sia in uso prima di risolvere la violazione della località.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoOS login disabled
Nome della categoria nell'API: OS_LOGIN_DISABLED
L'OS Login è disabilitato in questa istanza Compute Engine.
L'OS Login consente la gestione centralizzata delle chiavi SSH con IAM e disattiva la configurazione delle chiavi SSH basata su metadati in tutte le istanze di un progetto. Scopri come configurare e impostare l'accesso OS.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Metadati nella console Google Cloud.
Fai clic prima su Modifica e poi su Aggiungi elemento.
Aggiungi un elemento con chiave enable-oslogin e valore TRUE.
Over privileged account
Nome della categoria nell'API: OVER_PRIVILEGED_ACCOUNT
Un nodo GKE utilizza il nodo di servizio predefinito di Compute Engine, che dispone di un accesso esteso per impostazione predefinita e potrebbe disporre di privilegi in eccesso per l'esecuzione del tuo cluster GKE.
Per risolvere il problema, segui questi passaggi:
Segui le istruzioni per utilizzare gli account di servizio Google con privilegi minimi.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoOver privileged scopes
Nome della categoria nell'API: OVER_PRIVILEGED_SCOPES
Un account di servizio del nodo ha ambiti di accesso ampi.
Gli ambiti di accesso sono il metodo legacy per specificare le autorizzazioni per l'istanza. Per ridurre la possibilità di una escalation dei privilegi in un attacco, crea e utilizza un account di servizio con privilegi minimi per eseguire il cluster GKE.
Per risolvere il problema, segui le istruzioni per utilizzare gli account di servizio Google con privilegio minimo minimi.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoOver privileged service account user
Nome della categoria nell'API: OVER_PRIVILEGED_SERVICE_ACCOUNT_USER
Un utente ha i ruoli iam.serviceAccountUser
o iam.serviceAccountTokenCreator
a livello di progetto, cartella o organizzazione, anziché per un
account di servizio specifico.
La concessione di questi ruoli a un utente per un progetto, una cartella o un'organizzazione consente all'utente di accedere a tutti gli account di servizio esistenti e futuri in quell'ambito. Questa situazione può comportare un'escalation involontaria dei privilegi. Per ulteriori informazioni, consulta Autorizzazioni degli account di servizio.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina IAM nella console Google Cloud.
Se necessario, seleziona il progetto, la cartella o l'organizzazione nel rilevamento.
Per ogni entità assegnata a
roles/iam.serviceAccountUser
oroles/iam.serviceAccountTokenCreator
, procedi nel seguente modo:- Fai clic su Modifica.
- Nel riquadro Modifica autorizzazioni, fai clic su Elimina accanto ai ruoli.
- Fai clic su Salva.
Segui questa guida per concedere ai singoli utenti l'autorizzazione a impersonare un singolo account di servizio. Devi seguire la guida per ogni account di servizio per cui vuoi autorizzare la simulazione dell'identità da parte di utenti selezionati.
Owner not monitored
Nome della categoria nell'API: OWNER_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le assegnazioni o le modifiche alla proprietà del progetto.
Il ruolo Proprietario IAM ha il livello di privilegio massimo per un progetto. Per proteggere le tue risorse, configura gli avvisi per ricevere notifiche quando vengono aggiunti o rimossi nuovi proprietari. Per ulteriori informazioni, consulta la Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
(protoPayload.serviceName="cloudresourcemanager.googleapis.com") AND (ProjectOwnership OR projectOwnerInvitee) OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="REMOVE" AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner") OR (protoPayload.serviceData.policyDelta.bindingDeltas.action="ADD" AND protoPayload.serviceData.policyDelta.bindingDeltas.role="roles/owner")
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Pod security policy disabled
Nome della categoria nell'API: POD_SECURITY_POLICY_DISABLED
PodSecurityPolicy
è disattivato in un cluster GKE.
Un PodSecurityPolicy
è una risorsa controller di ammissione che convalida le richieste di creazione e aggiornamento di pod in un cluster. I cluster non accettano i pod che
non soddisfano le condizioni definite in PodSecurityPolicy
.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, definisci e autorizza PodSecurityPolicies
e attiva il controller PodSecurityPolicy
. Per le istruzioni, consulta
Utilizzare PodSecurityPolicies
.
Primitive roles used
Nome della categoria nell'API: PRIMITIVE_ROLES_USED
Un utente dispone di uno dei seguenti ruoli IAM di base: roles/owner
,
roles/editor
o roles/viewer
. Questi ruoli sono troppo permissivi e non devono essere utilizzati. Devono invece essere assegnati solo per progetto.
Per ulteriori informazioni, consulta Informazioni sui ruoli.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei criteri IAM nella console Google Cloud.
Per ogni utente a cui è stato assegnato un ruolo primitivo, ti consigliamo di utilizzare ruoli più granulari.
Private cluster disabled
Nome della categoria nell'API: PRIVATE_CLUSTER_DISABLED
Un cluster GKE ha un cluster privato disabilitato.
I cluster privati consentono ai nodi di avere solo indirizzi IP privati. Questa funzionalità limita l'accesso a internet in uscita per i nodi. Se un nodo cluster non ha un indirizzo IP pubblico, non può essere trovato o esposto alla rete internet pubblica. Puoi ancora instradare traffico a un nodo utilizzando un bilanciatore del carico interno. Per ulteriori informazioni, consulta Cluster privati.
Non puoi rendere privato un cluster esistente. Per risolvere il problema, crea un nuovo cluster privato:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic su Crea cluster.
Nel menu di navigazione, in Cluster, seleziona Networking.
Seleziona il pulsante di opzione Cluster privato.
In Opzioni di networking avanzate, seleziona la casella di controllo Abilita routing del traffico VPC nativo (mediante IP alias).
Fai clic su Crea.
Private Google access disabled
Nome della categoria nell'API: PRIVATE_GOOGLE_ACCESS_DISABLED
Esistono subnet private senza accesso alle API pubbliche di Google.
L'accesso privato Google consente alle istanze VM con soli indirizzi IP interni (privati) di raggiungere gli indirizzi IP pubblici delle API e dei servizi Google.
Per ulteriori informazioni, consulta Configurare l'accesso privato Google.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Reti VPC nella console Google Cloud.
Nell'elenco delle emittenti, fai clic sul nome della rete che ti interessa.
Nella pagina Dettagli rete VPC, fai clic sulla scheda Subnet.
Nell'elenco delle subnet, fai clic sul nome della subnet associata al cluster Kubernetes nel rilevamento.
Nella pagina Dettagli subnet, fai clic su
Modifica.In Accesso privato Google, seleziona On.
Fai clic su Salva.
Per rimuovere gli IP pubblici (esterni) dalle istanze VM il cui unico traffico esterno è verso le API di Google, consulta Annullare l'assegnazione di un indirizzo IP esterno statico.
Public bucket ACL
Nome della categoria nell'API: PUBLIC_BUCKET_ACL
Un bucket è pubblico e chiunque su internet può accedervi.
Per ulteriori informazioni, consulta la Panoramica del controllo dell'accesso.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Browser di archiviazione nella console Google Cloud.
Seleziona il bucket elencato nel risultato di Security Health Analytics.
Nella pagina Dettagli bucket, fai clic sulla scheda Autorizzazioni.
Accanto a Visualizza per, fai clic su Ruoli.
Nella casella Filtra, cerca allUsers e allAuthenticatedUsers.
Fai clic su
Elimina per rimuovere tutte le autorizzazioni IAM concesse a allUsers e allAuthenticatedUsers.
Public Compute image
Nome della categoria nell'API: PUBLIC_COMPUTE_IMAGE
Un'immagine Compute Engine è pubblica ed è accessibile a chiunque su internet. allUsers rappresenta tutti gli utenti su internet, mentre allAuthenticatedUsers rappresenta chiunque sia autenticato con un Account Google; nessuno dei due è limitato agli utenti all'interno della tua organizzazione.
Le immagini Compute Engine potrebbero contenere informazioni sensibili, ad esempio chiavi di crittografia o software concesso in licenza. che non devono essere accessibili al pubblico. Se hai intenzione di rendere pubblica l'immagine Compute Engine, assicurati che non contenga informazioni sensibili.
Per ulteriori informazioni, consulta la panoramica del controllo dell'accesso.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina delle immagini Compute Engine nella console Google Cloud.
Seleziona la casella accanto all'immagine public-image, poi fai clic su Mostra riquadro informazioni.
Nella casella Filtra, cerca allUsers e allAuthenticatedUsers tra le entità.
Espandi il ruolo per cui vuoi rimuovere gli utenti.
Fai clic su
Elimina per rimuovere un utente dal ruolo.
Public dataset
Nome della categoria nell'API: PUBLIC_DATASET
Un set di dati BigQuery è pubblico e accessibile a chiunque su internet. L'entità IAM allUsers rappresenta chiunque su internet, mentre allAuthenticatedUsers rappresenta chiunque abbia eseguito l'accesso a un servizio Google; nessuno dei due è vincolato agli utenti all'interno della tua organizzazione.
Per ulteriori informazioni, consulta Controllare l'accesso ai set di dati.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Explorer di BigQuery nella console Google Cloud.
Nell'elenco dei set di dati, fai clic sul nome del set di dati identificato nel rilevamento. Viene visualizzato il riquadro Informazioni set di dati.
Nella parte superiore del riquadro Informazioni set di dati, fai clic su CONDIVISIONE.
Nel menu a discesa, fai clic su Autorizzazioni.
Nel riquadro Autorizzazioni set di dati, inserisci allUsers e allAuthenticatedUsers e rimuovi l'accesso per queste entità.
Public IP address
Nome della categoria nell'API: PUBLIC_IP_ADDRESS
Un'istanza Compute Engine ha un indirizzo IP pubblico.
Per ridurre la superficie di attacco delle tue organizzazioni, evita di assegnare indirizzi IP pubblici alle tue VM. Le istanze arrestate potrebbero essere ancora segnalate con un esito IP pubblico, ad esempio se le interfacce di rete sono configurate per assegnare un IP pubblico temporaneo all'avvio. Assicurati che le configurazioni di rete delle istanze arrestate non includano l'accesso esterno.
Per ulteriori informazioni, consulta Connessione sicura alle istanze VM.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Nell'elenco delle istanze, seleziona la casella accanto al nome dell'istanza nel risultato.
Fai clic su
Modifica.Per ogni interfaccia in Interfacce di rete, fai clic su
Modifica e imposta IP esterno su Nessuno.Fai clic su Fine e poi su Salva.
Public log bucket
Nome della categoria nell'API: PUBLIC_LOG_BUCKET
Questo risultato non è disponibile per le attivazioni a livello di progetto.
Un bucket di archiviazione è pubblico e viene utilizzato come sink di log, il che significa che chiunque su internet può accedere ai log archiviati in questo bucket. allUsers rappresenta tutti gli utenti su internet, mentre allAuthenticatedUsers rappresenta chiunque abbia eseguito l'accesso a un servizio Google. Nessuno dei due è limitato agli utenti all'interno della tua organizzazione.
Per ulteriori informazioni, consulta la Panoramica del controllo dell'accesso.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Browser Cloud Storage nella console Google Cloud.
Nell'elenco dei bucket, fai clic sul nome del bucket indicato nel risultato.
Fai clic sulla scheda Autorizzazioni.
Rimuovi allUsers e allAuthenticatedUsers dall'elenco di entità.
Public SQL instance
Nome della categoria nell'API: PUBLIC_SQL_INSTANCE
La tua istanza SQL ha 0.0.0.0/0
come rete consentita. Questa occorrenza significa
che qualsiasi client IPv4 può superare il firewall di rete ed eseguire tentativi di accesso
alla tua istanza, inclusi i client che potresti non voler consentire. I client devono comunque avere credenziali valide per accedere correttamente all'istanza.
Per ulteriori informazioni, consulta Autorizzazione con reti autorizzate.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nel pannello di navigazione, fai clic su Connessioni.
In Reti autorizzate, elimina
0.0.0.0/0
e aggiungi indirizzi IP o intervalli di indirizzi IP specifici che vuoi autorizzare a connettersi all'istanza.Fai clic su Fine e poi su Salva.
Pubsub CMEK disabled
Nome della categoria nell'API: PUBSUB_CMEK_DISABLED
Un argomento Pub/Sub non è criptato con le chiavi di crittografia gestite dal cliente (CMEK).
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati.
Per risolvere il problema, elimina l'argomento esistente e creane uno nuovo:
Vai alla pagina Argomenti di Pub/Sub nella console Google Cloud.
Se necessario, seleziona il progetto contenente l'argomento Pub/Sub.
Seleziona la casella di controllo accanto all'argomento elencato nel rilevamento e poi fai clic su
Elimina.Per creare un nuovo argomento Pub/Sub con la CMEK abilitata, consulta Utilizzo delle chiavi di crittografia gestite dal cliente. Le chiavi CMEK comportano costi aggiuntivi relativi a Cloud KMS.
Pubblica i risultati o altri dati nell'argomento Pub/Sub abilitato per CMEK.
Route not monitored
Nome della categoria nell'API: ROUTE_NOT_MONITORED
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alle route della rete VPC.
Le route Google Cloud sono destinazioni e hop che definiscono il percorso seguito dal traffico di rete da un'istanza VM a un IP di destinazione. Monitorando le modifiche alle tabelle delle route, puoi contribuire a garantire che tutto il traffico VPC passi attraverso un percorso previsto.
Per ulteriori informazioni, consulta la Panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
resource.type="gce_route" AND (protoPayload.methodName:"compute.routes.delete" OR protoPayload.methodName:"compute.routes.insert")
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Redis role used on org
Nome della categoria nell'API: REDIS_ROLE_USED_ON_ORG
Questo risultato non è disponibile per le attivazioni a livello di progetto.
Un ruolo IAM Redis viene assegnato a livello di organizzazione o cartella.
I seguenti ruoli IAM Redis devono essere assegnati solo per progetto, non a livello di organizzazione o cartella:
roles/redis.admin
roles/redis.viewer
roles/redis.editor
Per ulteriori informazioni, consulta Controllo dell'accesso e autorizzazioni.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina dei criteri IAM nella console Google Cloud.
Rimuovi i ruoli IAM Redis indicati nel rilevamento e aggiungili ai singoli progetti.
Release channel disabled
Nome della categoria nell'API: RELEASE_CHANNEL_DISABLED
Un cluster GKE non è iscritto a un canale di rilascio.
Abbonati a un canale di rilascio per automatizzare gli upgrade delle versioni al cluster GKE. Inoltre, riducono la complessità della gestione delle versioni in base al numero di funzionalità e al livello di stabilità richiesti. Per maggiori informazioni, consulta la pagina Canali di rilascio.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Nella sezione Impostazioni di base del cluster, fai clic su
Esegui l'upgrade della versione master del cluster nella riga Canale di rilascio.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Nella finestra di dialogo, seleziona Canale di rilascio, quindi scegli il canale di rilascio a cui vuoi iscriverti.
Se non è possibile eseguire l'upgrade della versione del piano di controllo del tuo cluster a un canale di rilascio, l'opzione del canale potrebbe essere disattivata.
Fai clic su Salva modifiche.
RSASHA1 for signing
Nome della categoria nell'API: RSASHA1_FOR_SIGNING
RSASHA1 viene utilizzato per la firma delle chiavi nelle zone Cloud DNS. L'algoritmo utilizzato per la firma della chiave non deve essere debole.
Per risolvere il problema, sostituisci l'algoritmo con uno consigliato seguendo la guida Utilizzare le opzioni di firma avanzate.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoService account key not rotated
Nome della categoria nell'API: SERVICE_ACCOUNT_KEY_NOT_ROTATED
Questo risultato non è disponibile per le attivazioni a livello di progetto.
Una chiave dell'account di servizio gestita dall'utente non è stata ruotata da più di 90 giorni.
In generale, le chiavi del account di servizio gestite dall'utente devono essere ruotate almeno ogni 90 giorni per garantire che non sia possibile accedere ai dati con una vecchia chiave che potrebbe essere stata persa, compromessa o rubata. Per ulteriori informazioni, consulta Eseguire la rotazione delle chiavi degli account di servizio per ridurre il rischio per la sicurezza causato dalle chiavi divulgate.
Se hai generato autonomamente la coppia di chiave pubblica/privata, hai memorizzato la chiave privata in un modulo di sicurezza hardware (HSM) e hai caricato la chiave pubblica su Google, potresti non dover ruotare la chiave ogni 90 giorni. In alternativa, puoi ruotare la chiave se temi che possa essere stata compromessa.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Account di servizio nella console Google Cloud.
Se necessario, seleziona il progetto indicato nel risultato.
Nell'elenco degli account di servizio, individua l'account di servizio elencato nel ritrovato e fai clic su
Elimina. Prima di procedere, valuta l'impatto che l'eliminazione di un account di servizio potrebbe avere sulle risorse di produzione.Crea una nuova chiave dell'account di servizio per sostituire quella precedente. Per maggiori informazioni, consulta la sezione Creare chiavi dell'account di servizio.
Service account role separation
Nome della categoria nell'API: SERVICE_ACCOUNT_ROLE_SEPARATION
Questo risultato non è disponibile per le attivazioni a livello di progetto.
A una o più entità dell'organizzazione sono assegnate più autorizzazioni per il account di servizio. Nessun account deve avere contemporaneamente l'autorizzazione Amministratore account di servizio e altre autorizzazioni per gli account di servizio. Per informazioni sugli account di servizio e sui ruoli a loro disponibili, consulta Account di servizio.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina IAM nella console Google Cloud.
Per ogni entità elencata nel rilevamento, svolgi le seguenti operazioni:
- Per verificare se il ruolo è stato ereditato da una cartella o una risorsa dell'organizzazione, controlla la colonna Ereditarietà. Se la colonna contiene un link a una risorsa principale, fai clic sul link per accedere alla pagina IAM della risorsa principale.
- Fai clic su Modifica accanto a un'entità.
- Per rimuovere le autorizzazioni, fai clic su Elimina accanto a Amministratore account di servizio. Per rimuovere tutte le autorizzazioni dell'account di servizio, fai clic su Elimina accanto a tutte le altre autorizzazioni.
Fai clic su Salva.
Shielded VM disabled
Nome della categoria nell'API: SHIELDED_VM_DISABLED
Shielded VM è disabilitata in questa istanza Compute Engine.
Le Shielded VM sono macchine virtuali (VM) su Google Cloud protette da un set di controlli di sicurezza che contribuiscono alla difesa da rootkit e bootkit. Le Shielded VM aiutano a garantire che il bootloader e il firmware siano firmati e verificati. Scopri di più sulle Shielded VM.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze VM nella console Google Cloud.
Seleziona l'istanza relativa al risultato di Security Health Analytics.
Nella pagina Dettagli istanza che si carica, fai clic su
Interrompi.Dopo l'arresto dell'istanza, fai clic su
Modifica.Nella sezione Shielded VM, seleziona Attiva vTPM e Attiva il monitoraggio dell'integrità per abilitare la Shielded VM.
Facoltativamente, se non usi driver personalizzati o non firmati, abilita anche l'avvio protetto.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Dettagli istanza.
Fai clic su
Avvia per avviare l'istanza.
SQL CMEK disabled
Nome della categoria nell'API: SQL_CMEK_DISABLED
Un'istanza del database SQL non utilizza le chiavi di crittografia gestite dal cliente (CMEK).
Con CMEK, le chiavi che crei e gestisci in Cloud KMS criptano le chiavi utilizzate da Google per criptare i tuoi dati, offrendoti un maggiore controllo sull'accesso ai tuoi dati. Per saperne di più, consulta le panoramiche di CMEK per il tuo prodotto: Cloud SQL per MySQL, Cloud SQL per PostgreSQL o Cloud SQL per SQL Server. Le chiavi CMEK comportano costi aggiuntivi correlati a Cloud KMS.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Elimina.Per creare una nuova istanza con CMEK abilitato, segui le istruzioni per configurare CMEK per il tuo prodotto:
SQL contained database authentication
Nome della categoria nell'API: SQL_CONTAINED_DATABASE_AUTHENTICATION
Un'istanza di database Cloud SQL per SQL Server non ha il flag di database autenticazione database indipendente impostato su Off.
Il flag Autenticazione database indipendenti determina se puoi creare o collegare database contenuti al motore del database. Un database indipendente include tutte le impostazioni e i metadati necessari per definire il database e non ha dipendenze di configurazione sull'istanza del motore del database in cui è installato.
L'attivazione di questo flag non è consigliata per i seguenti motivi:
- Gli utenti possono connettersi al database senza autenticazione a livello del motore di database.
- Isolare il database dal motore di database consente di spostarlo in un'altra istanza di SQL Server.
I database contenuti affrontano minacce uniche che devono essere comprese e mitigate dagli amministratori del motore di database SQL Server. La maggior parte delle minacce deriva dal processo di autenticazione UTENTE CON PASSWORD, che sposta il confine di autenticazione dal livello del motore del database a quello del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database autenticazione database indipendente sul valore Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL cross DB ownership chaining
Nome della categoria nell'API: SQL_CROSS_DB_OWNERSHIP_CHAINING
Un'istanza di database Cloud SQL per SQL Server non ha il flag di database cross_db_ownership_chaining impostato su Off.
Il flag cross_db_ownership_chaining consente di controllare il concatenamento della proprietà tra database a livello di database o di permettere il concatenamento della proprietà tra database per tutte le istruzioni di database.
L'abilitazione di questo flag non è consigliata a meno che tutti i database ospitati dall'istanza di SQL Server non partecipino al concatenamento della proprietà tra database e tenendo presenti le implicazioni per la sicurezza di questa impostazione.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database cross db ownership chaining su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL external scripts enabled
Nome della categoria nell'API: SQL_EXTERNAL_SCRIPTS_ENABLED
Un'istanza di database Cloud SQL per SQL Server non ha il flag di database script esterni abilitati impostato su Off.
Se attivata, questa impostazione consente l'esecuzione di script con determinate estensioni di linguaggio remote. Poiché questa funzionalità può influire negativamente sulla sicurezza del sistema, ti consigliamo di disattivarla.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database external script enabled su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL instance not monitored
Nome della categoria nell'API: SQL_INSTANCE_NOT_MONITORED
Questo risultato non è disponibile per le attivazioni a livello di progetto.
Le metriche e gli avvisi dei log non sono configurati per monitorare le modifiche alla configurazione dell'istanza Cloud SQL.
La configurazione errata delle opzioni delle istanze SQL può causare rischi per la sicurezza. La disattivazione delle opzioni di backup automatico e alta disponibilità potrebbe influire sulla continuità aziendale e la mancata limitazione delle reti autorizzate potrebbe aumentare l'esposizione a reti non attendibili. Il monitoraggio delle modifiche alla configurazione delle istanze SQL ti consente di ridurre il tempo necessario per rilevare e correggere gli errori di configurazione.
Per ulteriori informazioni, consulta la panoramica delle metriche basate su log.
A seconda della quantità di informazioni, i costi di Cloud Monitoring possono essere significativi. Per comprendere il tuo utilizzo del servizio e i relativi costi, consulta i prezzi di Google Cloud Observability.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Crea metrica
Vai alla pagina Metriche basate su log nella console Google Cloud.
Fai clic su Crea metrica.
In Tipo di metrica, seleziona Contatore.
In Dettagli:
- Imposta un Nome metrica di log.
- Aggiungi una descrizione.
- Imposta Unità su 1.
In Selezione dei filtri, copia e incolla il testo seguente nella casella Crea filtro, sostituendo il testo esistente, se necessario:
protoPayload.methodName="cloudsql.instances.update" OR protoPayload.methodName="cloudsql.instances.create" OR protoPayload.methodName="cloudsql.instances.delete"
Fai clic su Crea metrica. Viene visualizzata una conferma.
Crea policy di avviso
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Nella sezione Metriche definite dall'utente, seleziona la metrica che hai creato nella sezione precedente.
-
Fai clic su Altro
, quindi su Crea avviso da metrica.Viene visualizzata la finestra di dialogo Nuova condizione con le opzioni di trasformazione dei dati e delle metriche precompilate.
- Fai clic su Avanti.
- Rivedi le impostazioni precompilate. Ti consigliamo di modificare il valore soglia.
- Fai clic su Nome condizione e inserisci un nome per la condizione.
- Fai clic su Avanti.
Per aggiungere notifiche al tuo criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
Per ricevere una notifica quando gli incidenti vengono aperti e chiusi, seleziona Invia una notifica alla chiusura dell'incidente. Per impostazione predefinita, le notifiche vengono inviate solo quando vengono aperti gli incidenti.
- (Facoltativo) Aggiorna la Durata chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
SQL local infile
Nome della categoria nell'API: SQL_LOCAL_INFILE
Un'istanza di database Cloud SQL per MySQL non ha il flag di database local_infile impostato su Off. A causa di problemi di sicurezza associati al flag local_infile, deve essere disattivato. Per ulteriori informazioni, consulta la pagina sulla configurazione dei flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag del database local_infile sul valore Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log checkpoints disabled
Nome della categoria nell'API: SQL_LOG_CHECKPOINTS_DISABLED
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_checkpoints impostato su On.
L'abilitazione di log_checkpoints fa sì che i punti di controllo e i punti di riavvio vengano registrati nel log del server. Alcune statistiche sono incluse nei messaggi di log, tra cui il numero di buffer scritti e il tempo di scrittura.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_checkpoints sul valore On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log connections disabled
Nome della categoria nell'API: SQL_LOG_CONNECTIONS_DISABLED
In un'istanza di database Cloud SQL per PostgreSQL il flag di database log_connections non è impostato su On.
L'abilitazione dell'impostazione log_connections comporta la registrazione dei tentativi di connessione al server e il corretto completamento dell'autenticazione client. I log possono essere utili per la risoluzione dei problemi e per verificare i tentativi di connessione insoliti al server.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag del database log_connections sul valore On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log disconnections disabled
Nome della categoria nell'API: SQL_LOG_DISCONNECTIONS_DISABLED
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_disconnections impostato su On.
Se si abilita l'impostazione log_disconnections vengono create voci di log alla fine di ogni sessione. I log sono utili per la risoluzione dei problemi e per la conferma di attività insolite in un periodo di tempo. Per ulteriori informazioni, consulta la sezione Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_disconnections sul valore On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log duration disabled
Nome della categoria nell'API: SQL_LOG_DURATION_DISABLED
L'istanza di database Cloud SQL per PostgreSQL non ha il log_duration impostato su On.
Quando log_duration è attivato, questa impostazione fa sì che vengano registrati i tempi di esecuzione e la durata di ogni istruzione completata. Monitorare il tempo necessario per eseguire le query può essere fondamentale per identificare le query lente e risolvere i problemi relativi al database.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_duration su On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log error verbosity
Nome della categoria nell'API: SQL_LOG_ERROR_VERBOSITY
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_error_verbosity impostato su default o verbose.
Il flag log_error_verbosity controlla la quantità di dettagli nei messaggi registrati. Maggiore è il livello di dettaglio, maggiori saranno i dettagli registrati nei messaggi. Ti consigliamo di impostare questo flag su default o verbose.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_error_verbosity su default o verbose.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log lock waits disabled
Nome della categoria nell'API: SQL_LOG_LOCK_WAITS_DISABLED
In un'istanza di database Cloud SQL per PostgreSQL il flag di database log_lock_waits non è impostato su On.
L'abilitazione dell'impostazione log_lock_waits crea voci di log quando il tempo di attesa della sessione è più lungo rispetto a quello richiesto da deadlock_timeout per acquisire un blocco. I log sono utili per determinare se le attese del blocco compromettono le prestazioni.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_lock_waits sul valore On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log min duration statement enabled
Nome della categoria nell'API: SQL_LOG_MIN_DURATION_STATEMENT_ENABLED
L'istanza di database Cloud SQL per PostgreSQL non ha il flag di database log_min_duration_statement impostato su -1.
Il flag log_min_duration_statement causa la registrazione delle istruzioni SQL eseguite per un periodo di tempo più lungo di quello specificato. Valuta la possibilità di disattivare questa impostazione poiché le istruzioni SQL potrebbero contenere informazioni sensibili che non devono essere registrate. Per maggiori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_min_duration_statement sul valore -1.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log min error statement
Nome della categoria nell'API: SQL_LOG_MIN_ERROR_STATEMENT
In un'istanza di database Cloud SQL per PostgreSQL non è impostato correttamente il flag di database log_min_error_statement.
Il flag log_min_error_statement controlla se le istruzioni SQL che causano condizioni di errore vengono registrate nei log del server. Le istruzioni SQL con il livello di gravità specificato o superiore vengono registrate con messaggi per le istruzioni con errori. Più elevata è la gravità, minore è il numero di messaggi registrati.
Se il valore impostato per log_min_error_statement non è quello corretto, i messaggi potrebbero non essere classificati come messaggi di errore. Se la gravità impostata è troppo bassa, il numero di messaggi potrebbe aumentare e sarebbe difficile trovare gli errori veri e propri. Se la gravità impostata è troppo elevata, è possibile che i messaggi relativi agli errori effettivi non vengano registrati.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il log_min_error_statement su uno dei seguenti valori consigliati, in base al criterio di logging della tua organizzazione.
debug5
debug4
debug3
debug2
debug1
info
notice
warning
error
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log min error statement severity
Nome della categoria nell'API: SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY
In un'istanza di database Cloud SQL per PostgreSQL non è impostato correttamente il flag di database log_min_error_statement.
Il flag log_min_error_statement controlla se le istruzioni SQL che causano condizioni di errore vengono registrate nei log del server. Le istruzioni SQL con il livello di gravità specificato o superiore vengono registrate con messaggi per le istruzioni con errori. Maggiore è la gravità, minore è il numero di messaggi registrati.
Se il valore impostato per log_min_error_statement non è quello corretto, i messaggi potrebbero non essere classificati come messaggi di errore. Se la gravità impostata è troppo bassa, il numero di messaggi potrebbe aumentare e sarebbe difficile trovare gli errori veri e propri. Un livello di gravità troppo elevato (troppo rigoroso) potrebbe causare la mancata registrazione dei messaggi di errore relativi agli errori effettivi.
Ti consigliamo di impostare questo flag su error o su un valore più restrittivo.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il log_min_error_statement su uno dei seguenti valori consigliati, in base al criterio di logging della tua organizzazione.
error
log
fatal
panic
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log min messages
Nome della categoria nell'API: SQL_LOG_MIN_MESSAGES
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_min_messages impostato almeno su warning.
Il flag log_min_messages controlla quali livelli di messaggi vengono registrati nei log del server. Più elevata è la gravità, minore è il numero di messaggi registrati. L'impostazione di una soglia troppo bassa può comportare un aumento della dimensione e della durata dell'archiviazione dei log, il che complica l'individuazione di errori effettivi.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il log_min_messages su uno dei seguenti valori consigliati, in base al criterio di logging della tua organizzazione.
debug5
debug4
debug3
debug2
debug1
info
notice
warning
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log executor stats enabled
Nome della categoria nell'API: SQL_LOG_EXECUTOR_STATS_ENABLED
In un'istanza di database Cloud SQL per PostgreSQL il flag di database log_executor_stats non è impostato su Off.
Quando il flag log_executor_stats è attivato, le statistiche sulle prestazioni degli esecutori vengono incluse nei log PostgreSQL per ogni query. Questa impostazione può essere utile per la risoluzione dei problemi, ma può aumentare notevolmente il numero di log e il sovraccarico delle prestazioni.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_executor_stats su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log hostname enabled
Nome della categoria nell'API: "SQL_LOG_HOSTNAME_ENABLED"
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_hostname impostato su Off.
Quando il flag log_hostname è attivato, viene registrato il nome host dell'host che si connette. Per impostazione predefinita, i messaggi di log della connessione mostrano solo l'indirizzo IP. Questa impostazione può essere utile per la risoluzione dei problemi. Tuttavia, può verificarsi l'overhead delle prestazioni del server, poiché per ciascuna istruzione registrata, è necessaria una risoluzione DNS per convertire un indirizzo IP in un nome host.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_hostname su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log parser stats enabled
Nome della categoria nell'API: SQL_LOG_PARSER_STATS_ENABLED
Un'istanza di database Cloud SQL per PostgreSQL non ha il log_parser_stats impostato su Off.
Quando il flag log_parser_stats è attivato, le statistiche sulle prestazioni dell'analizzatore sintattico vengono incluse nei log PostgreSQL per ogni query. Questo può essere utile per la risoluzione dei problemi, ma può aumentare notevolmente il numero di log e il sovraccarico delle prestazioni.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_parser_stats su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log planner stats enabled
Nome della categoria nell'API: SQL_LOG_PLANNER_STATS_ENABLED
In un'istanza di database Cloud SQL per PostgreSQL il flag di database log_planner_stats non è impostato su Off.
Quando il flag log_planner_stats è attivato, viene utilizzato un metodo di profilazione non elaborato per il logging delle statistiche sulle prestazioni dello strumento di pianificazione PostgreSQL. Questo può essere utile per la risoluzione dei problemi, ma può aumentare notevolmente il numero di log e il sovraccarico delle prestazioni.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_planner_stats su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log statement
Nome della categoria nell'API: SQL_LOG_STATEMENT
L'istanza di database Cloud SQL per PostgreSQL non ha il
log_statement impostato su ddl
.
Il valore di questo flag controlla quali istruzioni SQL vengono registrate. Il logging aiuta a risolvere i problemi operativi e consente l'analisi forense. Se questo flag non è impostato sul valore corretto, le informazioni pertinenti potrebbero essere ignorate o nascoste in troppi messaggi. Si consiglia un valore ddl
(tutte le istruzioni di definizione dei dati), se non diversamente indicato dal criterio di logging dell'organizzazione.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_statement su
ddl
.Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log statement stats enabled
Nome della categoria nell'API: SQL_LOG_STATEMENT_STATS_ENABLED
Un'istanza di database Cloud SQL per PostgreSQL non ha il flag di database log_statement_stats impostato su Off.
Quando il flag log_statement_stats è attivato, le statistiche sulle prestazioni end-to-end vengono incluse nei log PostgreSQL per ogni query. Questa impostazione può essere utile per la risoluzione dei problemi, ma può aumentare notevolmente il numero di log e il sovraccarico delle prestazioni.
Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_statement_stats su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL log temp files
Nome della categoria nell'API: SQL_LOG_TEMP_FILES
Un'istanza del database Cloud SQL per PostgreSQL non ha il log_temp_files impostato su 0.
Potrebbero essere creati file temporanei per ordinamenti, hash e risultati temporanei delle query. Se imposti il flag log_temp_files su 0, vengono registrate tutte le informazioni relative ai file temporanei. La registrazione di tutti i file temporanei è utile per identificare eventuali problemi di prestazioni. Per ulteriori informazioni, consulta la sezione Configurare i flag del database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta il flag di database log_temp_files sul valore 0.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL no root password
Nome della categoria nell'API: SQL_NO_ROOT_PASSWORD
Per un'istanza del database MySQL non è impostata una password per l'account root. Devi aggiungere una password all'istanza del database MySQL. Per ulteriori informazioni, consulta Utenti MySQL.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Nella pagina Dettagli istanza visualizzata, seleziona la scheda Utenti.
Accanto all'utente
root
, fai clic su Altro e poi seleziona Cambia password.Inserisci una nuova password efficace e fai clic su Ok.
SQL public IP
Nome della categoria nell'API: SQL_PUBLIC_IP
Un database Cloud SQL ha un indirizzo IP pubblico.
Per ridurre la superficie di attacco della tua organizzazione, i database Cloud SQL non devono avere indirizzi IP pubblici. Gli indirizzi IP privati offrono maggiore sicurezza di rete e minore latenza per l'applicazione.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Nel menu a sinistra, fai clic su Connessioni.
Fai clic sulla scheda Networking e deseleziona la casella di controllo IP pubblico.
Se l'istanza non è già configurata per l'utilizzo di un IP privato, consulta Configurare l'IP privato per un'istanza esistente.
Fai clic su Salva.
SQL remote access enabled
Nome della categoria nell'API: SQL_REMOTE_ACCESS_ENABLED
L'istanza di database Cloud SQL per SQL Server non ha il flag di database remote access impostato su Off.
Se attivata, questa impostazione concede l'autorizzazione per eseguire stored procedure locali da server remoti o stored procedure remote dal server locale. Questa funzionalità può essere utilizzata in modo illecito per lanciare un attacco denial of service (DoS) su server remoti trasferendo l'elaborazione delle query a una destinazione. Per evitare abusi, consigliamo di disattivare questa impostazione.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag, imposta remote access su Off.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL skip show database disabled
Nome della categoria nell'API: SQL_SKIP_SHOW_DATABASE_DISABLED
In un'istanza di database Cloud SQL per MySQL il flag di database skip_show_database non è impostato su On.
Se attivato, questo flag impedisce agli utenti di utilizzare l'istruzione SHOW DATABASES se non dispongono del privilegio SHOW DATABASES. Con questa impostazione, gli utenti senza autorizzazione esplicita non possono visualizzare i database che appartengono ad altri utenti. Ti consigliamo di attivare questo flag.
Per ulteriori informazioni, consulta la pagina sulla configurazione dei flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag, imposta skip_show_database su On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL trace flag 3625
Nome della categoria nell'API: SQL_TRACE_FLAG_3625
Un'istanza di database Cloud SQL per SQL Server non ha il flag di database 3625 (flag di traccia) impostato su On.
Questo flag limita la quantità di informazioni restituite agli utenti che non sono membri del ruolo predefinito del server sysadmin, mascherando i parametri di alcuni messaggi di errore con asterischi (******
). Per evitare la divulgazione di informazioni sensibili, ti consigliamo di attivare questo flag.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, imposta 3625 su On.
Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL user connections configured
Nome della categoria nell'API: SQL_USER_CONNECTIONS_CONFIGURED
In un'istanza di database Cloud SQL per SQL Server è configurato il flag di database user connections.
L'opzione user connections specifica il numero massimo di connessioni utente simultanee consentite in un'istanza SQL Server. Poiché è un'opzione dinamica (con autoconfigurazione), SQL Server regola automaticamente il numero massimo di connessioni utente necessarie in base alle esigenze, fino al valore massimo consentito. Il valore predefinito è 0, il che significa che sono consentite fino a 32.767 connessioni utente. Per questo motivo, non consigliamo di configurare il flag del database user connections.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, accanto a user connections, fai clic su
Elimina.Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL user options configured
Nome della categoria nell'API: SQL_USER_OPTIONS_CONFIGURED
In un'istanza di database Cloud SQL per SQL Server è configurato il flag di database user options.
Questa impostazione sostituisce i valori predefiniti globali delle opzioni SET per tutti gli utenti. Poiché gli utenti e le applicazioni potrebbero assumere che le opzioni SET di database predefinite siano in uso, l'impostazione delle opzioni utente potrebbe causare risultati imprevisti. Per questo motivo, non consigliamo di configurare il flag di database user options.
Per ulteriori informazioni, consulta la pagina Configurare i flag di database.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Fai clic su
Modifica.Nella sezione Flag di database, accanto a user options, fai clic su
Elimina.Fai clic su Salva. La nuova configurazione viene visualizzata nella pagina Panoramica dell'istanza.
SQL weak root password
Nome della categoria nell'API: SQL_WEAK_ROOT_PASSWORD
In un'istanza del database MySQL è impostata una password debole per l'account root. Devi impostare una password efficace per l'istanza. Per ulteriori informazioni, consulta Utenti MySQL.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Nella pagina Dettagli istanza visualizzata, seleziona la scheda Utenti.
Accanto all'utente
root
, fai clic su Altro e poi seleziona Cambia password.Inserisci una nuova password efficace e fai clic su Ok.
SSL not enforced
Nome della categoria nell'API: SSL_NOT_ENFORCED
Un'istanza del database Cloud SQL non richiede che tutte le connessioni in entrata utilizzino SSL.
Per evitare fughe di dati sensibili in transito tramite comunicazioni non criptate, tutte le connessioni in entrata nell'istanza di database SQL devono utilizzare SSL. Scopri di più sulla configurazione di SSL/TLS.
Per risolvere il problema, consenti solo le connessioni SSL per le tue istanze SQL:
Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
Seleziona l'istanza elencata nel risultato di Security Health Analytics.
Nella scheda Connessioni, fai clic su Consenti solo connessioni SSL o Richiedi certificati client attendibili. Per ulteriori informazioni, consulta Applicare la crittografia SSL/TLS.
Se hai scelto Richiedi certificati client attendibili, crea un nuovo certificato client. Per saperne di più, consulta Creare un nuovo certificato client.
Too many KMS users
Nome della categoria nell'API: TOO_MANY_KMS_USERS
Limita a tre il numero di utenti principali che possono utilizzare le chiavi di crittografia. I seguenti ruoli predefiniti concedono le autorizzazioni per criptare, decriptare o firmare i dati utilizzando chiavi di crittografia:
roles/owner
roles/cloudkms.cryptoKeyEncrypterDecrypter
roles/cloudkms.cryptoKeyEncrypter
roles/cloudkms.cryptoKeyDecrypter
roles/cloudkms.signer
roles/cloudkms.signerVerifier
Per ulteriori informazioni, vedi Autorizzazioni e ruoli.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Chiavi Cloud KMS nella console Google Cloud.
Fai clic sul nome del keyring indicato nel rilevamento.
Fai clic sul nome della chiave indicato nel rilevamento.
Seleziona la casella accanto alla versione principale, quindi fai clic su Mostra riquadro informazioni.
Riduci il numero di entità con autorizzazioni per criptare, decriptare o firmare i dati a un massimo di tre. Per revocare le autorizzazioni, fai clic su
Elimina accanto a ogni entità.
Unconfirmed AppArmor profile
Nome della categoria nell'API: GKE_APP_ARMOR
Un contenitore può essere configurato esplicitamente per essere non limitato da AppArmor. In questo modo, viene garantito che nessun profilo AppArmor venga applicato al contenitore, che quindi non è costretto da un profilo. Se si disattiva il controllo di sicurezza preventivo, aumenta il rischio di attacco container escape.
Per risolvere il problema, applica i seguenti passaggi ai tuoi workload interessati:
- Apri il file manifest per ogni carico di lavoro interessato.
- Imposta i campi con restrizioni elencati di seguito su uno dei valori consentiti.
Campi con restrizioni
metadata.annotations["container.apparmor.security.beta.kubernetes.io/*"]
Valori consentiti
- falso
User managed service account key
Nome della categoria nell'API: USER_MANAGED_SERVICE_ACCOUNT_KEY
Un utente gestisce una chiave dell'account di servizio. Le chiavi degli account di servizio comportano un rischio per la sicurezza se non vengono gestite correttamente. Dovresti scegliere un'alternativa più sicura alle chiavi degli account di servizio quando è possibile. Se devi effettuare l'autenticazione con una chiave dell'account di servizio, sei responsabile della sicurezza della chiave privata e di altre operazioni descritte dalle best practice per la gestione delle chiavi degli account di servizio. Se non riesci a creare una chiave del account di servizio, la creazione di chiavi del account di servizio potrebbe essere disabilitata per la tua organizzazione. Per ulteriori informazioni, vedi Gestire le risorse dell'organizzazione sicure per impostazione predefinita.
Per risolvere il problema, segui questi passaggi:
Vai alla pagina Account di servizio nella console Google Cloud.
Se necessario, seleziona il progetto indicato nel risultato.
Elimina le chiavi degli account di servizio gestite dall'utente indicate nel rilevamento, se non vengono utilizzate da alcuna applicazione.
Weak SSL policy
Nome della categoria nell'API: WEAK_SSL_POLICY
Un'istanza Compute Engine ha un criterio SSL debole o utilizza il criterio SSL predefinito di Google Cloud con una versione TLS inferiore a 1.2.
I bilanciatori del carico HTTPS e del proxy SSL utilizzano i criteri SSL per definire il protocollo e i pacchetti di crittografia utilizzati nelle connessioni TLS stabilite tra gli utenti e internet. Queste connessioni criptano i dati sensibili per proteggerli da intercettazioni dannose. Un criterio SSL debole consente ai client che utilizzano versioni obsolete di TLS di connettersi a un protocollo o a un pacchetto di crittografia meno sicuro. Per un elenco di suite di crittografia consigliate e obsolete, visita la pagina relativa ai parametri TLS su iana.org.
Per le attivazioni a livello di progetto del livello Security Command Center Premium, questo risultato è disponibile solo se il livello Standard è abilitato nell'organizzazione principale.
I passaggi per la correzione di questo rilevamento variano a seconda che sia stato attivato dall'utilizzo di un criterio SSL predefinito di Google Cloud o di un criterio SSL che consente una suite di crittografia debole o una versione TLS minima inferiore a 1.2. Segui la procedura riportata di seguito corrispondente all'attivatore del rilevamento.
Correzione del criterio SSL predefinito di Google Cloud
Vai alla pagina Proxy di destinazione nella console Google Cloud.
Individua il proxy di destinazione indicato nel rilevamento e prendi nota delle regole di inoltro nella colonna Utilizzato da.
Per creare un nuovo criterio SSL, consulta Utilizzo dei criteri SSL. Il criterio deve avere una versione TLS minima di 1.2 e un profilo con restrizioni o moderno.
Per utilizzare un profilo Personalizzato , assicurati che le seguenti suite di crittografia siano disabilitate:
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Applica la policy SSL a ogni regola di forwarding osservata in precedenza.
È stato consentito il rimedio per una suite di crittografia debole o una versione TLS precedente
Nella console Google Cloud, vai alla pagina Criteri SSL .
Individua il bilanciatore del carico indicato nella colonna Utilizzato da.
Fai clic sotto il nome del criterio.
Fai clic su
Modifica.Modifica la versione TLS minima impostandola su TLS 1.2 e il profilo su Moderno o Con restrizioni.
Per utilizzare un profilo Personalizzato, assicurati che le seguenti suite di crittografia siano disabilitate:
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Fai clic su Salva.
Web UI enabled
Nome della categoria nell'API: WEB_UI_ENABLED
L'interfaccia utente web (dashboard) di GKE è abilitata.
L'interfaccia web di Kubernetes è supportata da un account di servizio Kubernetes con privilegi elevati. Se compromesso, l'account di servizio può essere utilizzato in modo improprio. Se stai già utilizzando la console Google Cloud, l'interfaccia web di Kubernetes aumenta inutilmente la superficie di attacco. Scopri di più sulla disattivazione dell'interfaccia web di Kubernetes.
Per risolvere il problema, disattiva l'interfaccia web di Kubernetes:
Vai alla pagina Cluster Kubernetes nella console Google Cloud.
Fai clic sul nome del cluster elencato nel risultato di Security Health Analytics.
Fai clic su
Modifica.Se la configurazione del cluster è stata modificata di recente, il pulsante di modifica potrebbe essere disabilitato. Se non riesci a modificare le impostazioni del cluster, attendi alcuni minuti e riprova.
Fai clic su Componenti aggiuntivi. La sezione si espande per mostrare i componenti aggiuntivi disponibili.
Nell'elenco a discesa Dashboard Kubernetes, seleziona Disabilitata.
Fai clic su Salva.
Workload Identity disabled
Nome della categoria nell'API: WORKLOAD_IDENTITY_DISABLED
Workload Identity è disabilitato in un cluster GKE.
Workload Identity è il metodo consigliato per accedere ai servizi Google Cloud dall'interno di GKE, grazie al miglioramento delle sue proprietà di sicurezza e della sua gestibilità. Abilitando questo servizio puoi proteggere alcuni metadati di sistema potenzialmente sensibili dai carichi di lavoro degli utenti in esecuzione nel cluster. Scopri di più sull'occultamento dei metadati.
Per risolvere il problema, segui la guida per abilitare Workload Identity in un cluster.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoCorreggi le configurazioni errate di AWS
AWS Cloud Shell Full Access Restricted
Nome della categoria nell'API: ACCESS_AWSCLOUDSHELLFULLACCESS_RESTRICTED
AWS CloudShell è un modo pratico per eseguire comandi CLI sui servizi AWS. Un criterio IAM gestito ("AWSCloudShellFullAccess") fornisce l'accesso completo a CloudShell, che consente di caricare e scaricare file tra il sistema locale di un utente e l'ambiente CloudShell. Nell'ambiente CloudShell un utente dispone delle autorizzazioni sudo e può accedere a internet. Pertanto, è possibile installare software di trasferimento file (ad esempio) e spostare i dati da CloudShell a server internet esterni.
Consiglio: assicurati che l'accesso ad AWSCloudShellFullAccess sia limitato Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
- Nel riquadro a sinistra, seleziona Norme
- Cerca e seleziona AWSCloudShellFullAccess
- Nella scheda Entità collegate, seleziona la casella per ogni elemento e seleziona Scollega.
Access Keys Rotated Every 90 Days or Less
Nome della categoria nell'API: ACCESS_KEYS_ROTATED_90_DAYS_LESS
Le chiavi di accesso sono costituite da un ID chiave di accesso e da una chiave di accesso segreta, che vengono utilizzate per firmare le richieste programmatiche che invii ad AWS. Gli utenti AWS hanno bisogno delle proprie chiavi di accesso per effettuare chiamate programmatiche ad AWS dall'interfaccia a riga di comando di AWS (AWS CLI), dagli strumenti per Windows PowerShell, dagli SDK AWS o da chiamate HTTP dirette utilizzando le API per i singoli servizi AWS. Consigliamo di ruotare regolarmente tutte le chiavi di accesso.
Consiglio: assicurati che le chiavi di accesso vengano ruotate ogni 90 giorni o meno Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Vai alla Console di gestione (https://console.aws.amazon.com/iam)
- Fai clic su
Users
. - Fai clic su
Security Credentials
. - Come amministratore
: fai clic suMake Inactive
per le chiavi che non sono state ruotate da90
giorni - In qualità di utente IAM
: fai clic suMake Inactive
oDelete
per le chiavi che non sono state ruotate o utilizzate negli ultimi90
giorni - Fai clic su
Create Access Key
. - Aggiorna la chiamata programmatica con le nuove credenziali della chiave di accesso
AWS CLI
- Mentre la prima chiave di accesso è ancora attiva, crea una seconda chiave di accesso, che è attiva per impostazione predefinita. Esegui questo comando:
aws iam create-access-key
A questo punto, l'utente ha due chiavi di accesso attive.
- Aggiorna tutte le applicazioni e gli strumenti in modo che utilizzino la nuova chiave di accesso.
- Determina se la prima chiave di accesso è ancora in uso utilizzando questo comando:
aws iam get-access-key-last-used
- Un approccio è attendere diversi giorni e poi controllare se la vecchia chiave di accesso è in uso prima di procedere.
Anche se il passaggio 3 indica che la vecchia chiave non viene utilizzata, ti consigliamo di non eliminare immediatamente la prima chiave di accesso. Modifica invece lo stato della prima chiave di accesso su Inattivo utilizzando questo comando:
aws iam update-access-key
-
Utilizza solo la nuova chiave di accesso per verificare che le tue applicazioni funzionino. A questo punto, tutte le applicazioni e gli strumenti che utilizzano ancora la chiave di accesso originale non funzioneranno più perché non hanno più accesso alle risorse AWS. Se trovi un'applicazione o uno strumento di questo tipo, puoi ripristinare lo stato Attivo per riattivare la prima chiave di accesso. Quindi torna al passaggio 2 e aggiorna questa applicazione per utilizzare la nuova chiave.
-
Dopo aver atteso un po' di tempo per assicurarti che tutte le applicazioni e gli strumenti siano stati aggiornati, puoi eliminare la prima chiave di accesso con questo comando:
aws iam delete-access-key
All Expired Ssl Tls Certificates Stored Aws Iam Removed
Nome della categoria nell'API: ALL_EXPIRED_SSL_TLS_CERTIFICATES_STORED_AWS_IAM_REMOVED
Per abilitare le connessioni HTTPS al tuo sito web o alla tua applicazione in AWS, devi disporre di un certificato del server SSL/TLS. Puoi utilizzare ACM o IAM per archiviare ed eseguire il deployment dei certificati del server.
Utilizza IAM come gestore dei certificati solo se devi supportare le connessioni HTTPS in una regione non supportata da ACM. IAM cripta in modo sicuro le tue chiavi private e archivia la versione criptata nello spazio di archiviazione dei certificati SSL IAM. IAM supporta il deployment dei certificati del server in tutte le regioni, ma devi ottenere il certificato da un provider esterno per utilizzarlo con AWS. Non puoi caricare un certificato ACM in IAM. Inoltre, non puoi gestire i certificati dalla console IAM.
Console AWS
La rimozione dei certificati scaduti tramite la console di gestione AWS non è attualmente supportata. Per eliminare i certificati SSL/TLS archiviati in IAM tramite l'API AWS, utilizza l'interfaccia a riga di comando (CLI).
AWS CLI
Per eliminare il certificato scaduto, esegui il seguente comando sostituendo CERTIFICATE_NAME
con il nome del certificato da eliminare:
aws iam delete-server-certificate --server-certificate-name <CERTIFICATE_NAME>
Quando il comando precedente ha esito positivo, non restituisce alcun output.
Autoscaling Group Elb Healthcheck Required
Nome della categoria nell'API: AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED
Controlla se i gruppi di scalabilità automatica associati a un bilanciatore del carico utilizzano i controlli di integrità di Elastic Load Balancing.
In questo modo, il gruppo può determinare lo stato di un'istanza in base a test aggiuntivi forniti dal bilanciatore del carico. L'utilizzo dei controlli di integrità di Elastic Load Balancing può contribuire a supportare la disponibilità delle applicazioni che utilizzano i gruppi di scalabilità automatica EC2.
Consiglio: controlla che tutti i gruppi di scalabilità automatica associati a un bilanciatore del carico utilizzino controlli di integrità Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per abilitare i controlli di integrità di Elastic Load Balancing
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, in Scalabilità automatica, scegli Gruppi di scalabilità automatica.
- Seleziona la casella di controllo per il gruppo.
- Scegli Modifica.
- In Controlli di integrità, per Tipo di controllo di integrità, scegli ELB.
- Per il periodo di tolleranza del controllo di integrità, inserisci 300.
- In fondo alla pagina, scegli Aggiorna.
Per ulteriori informazioni sull'utilizzo di un bilanciatore del carico con un gruppo di scalabilità automatica, consulta la Guida dell'utente di AWS Auto Scaling.
Auto Minor Version Upgrade Feature Enabled Rds Instances
Nome della categoria nell'API: AUTO_MINOR_VERSION_UPGRADE_FEATURE_ENABLED_RDS_INSTANCES
Assicurati che per le istanze di database RDS sia attivato il flag di upgrade automatico della versione secondaria per ricevere automaticamente gli upgrade del motore secondario durante la periodo di manutenzione specificata. Di conseguenza, le istanze RDS possono ricevere le nuove funzionalità, le correzioni di bug e le patch di sicurezza per i relativi motori di database.
Consiglio: assicurati che la funzionalità di upgrade automatico della versione secondaria sia abilitata per le istanze RDS Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e vai alla dashboard di RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel pannello di navigazione a sinistra, fai clic su
Databases
. - Seleziona l'istanza RDS da aggiornare.
- Fai clic sul pulsante
Modify
in alto a destra. - Nella pagina
Modify DB Instance: <instance identifier>
, nella sezioneMaintenance
, selezionaAuto minor version upgrade
fai clic sul pulsante di opzioneYes
. - Nella parte inferiore della pagina, fai clic su
Continue
, seleziona Applica immediatamente per applicare immediatamente le modifiche oApply during the next scheduled maintenance window
per evitare tempi di riposo. - Esamina le modifiche e fai clic su
Modify DB Instance
. Lo stato dell'istanza dovrebbe passare da disponibile a modifica e tornare a disponibile. Una volta attivata la funzionalità, lo statoAuto Minor Version Upgrade
dovrebbe cambiare inYes
.
AWS CLI
- Esegui il comando
describe-db-instances
per elencare tutti i nomi delle istanze di database RDS disponibili nella regione AWS selezionata:
aws rds describe-db-instances --region <regionName> --query 'DBInstances[*].DBInstanceIdentifier'
- L'output del comando deve restituire ogni identificatore di istanza del database.
- Esegui il comando
modify-db-instance
per modificare la configurazione dell'istanza RDS selezionata. Questo comando applicherà le modifiche immediatamente. Rimuovi--apply-immediately
per applicare le modifiche durante il successivo periodo di manutenzione pianificato ed evitare tempi di inattività:
aws rds modify-db-instance --region <regionName> --db-instance-identifier <dbInstanceIdentifier> --auto-minor-version-upgrade --apply-immediately
- L'output del comando dovrebbe mostrare i nuovi metadati di configurazione per l'istanza RDS e controllare il valore parametro
AutoMinorVersionUpgrade
. - Esegui il comando
describe-db-instances
per verificare se la funzionalità di upgrade automatico della versione secondaria è stata attivata correttamente:
aws rds describe-db-instances --region <regionName> --db-instance-identifier <dbInstanceIdentifier> --query 'DBInstances[*].AutoMinorVersionUpgrade'
- L'output comando dovrebbe restituire lo stato corrente della funzionalità impostato su
true
, la funzionalità èenabled
e gli upgrade del motore secondario verranno applicati all'istanza RDS selezionata.
Aws Config Enabled All Regions
Nome della categoria nell'API: AWS_CONFIG_ENABLED_ALL_REGIONS
AWS Config è un servizio web che esegue la gestione della configurazione delle risorse AWS supportate all'interno del tuo account e ti fornisce i file di log. Le informazioni registrate includono l'elemento di configurazione (risorsa AWS), le relazioni tra gli elementi di configurazione (risorse AWS) e eventuali modifiche alla configurazione tra le risorse. Ti consigliamo di abilitare AWS Config in tutte le regioni.
Consiglio: assicurati che AWS Config sia abilitato in tutte le regioni Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Seleziona la regione su cui vuoi concentrarti in alto a destra nella console
- Fai clic su Servizi
- Fai clic su Configurazione
- Se in questa regione è attivato un registratore di configurazione, devi andare alla pagina Impostazioni dal menu di navigazione a sinistra. Se in questa regione non è ancora stato attivato un registratore di configurazione, seleziona "Inizia".
- Seleziona "Registra tutte le risorse supportate in questa regione"
- Scegli di includere le risorse globali (risorse IAM)
- Specifica un bucket S3 nello stesso account o in un altro account AWS gestito
- Crea un argomento SNS dallo stesso account AWS o da un altro account AWS gestito
AWS CLI
- Assicurati che siano presenti un bucket S3, un argomento SNS e un ruolo IAM appropriati in base ai prerequisiti del servizio AWS Config.
- Esegui questo comando per creare un nuovo registratore di configurazione:
aws configservice put-configuration-recorder --configuration-recorder name=default,roleARN=arn:aws:iam::012345678912:role/myConfigRole --recording-group allSupported=true,includeGlobalResourceTypes=true
- Crea localmente un file di configurazione del canale di importazione che specifichi gli attributi del canale, compilati dai prerequisiti configurati in precedenza:
{
"name": "default",
"s3BucketName": "my-config-bucket",
"snsTopicARN": "arn:aws:sns:us-east-1:012345678912:my-config-notice",
"configSnapshotDeliveryProperties": {
"deliveryFrequency": "Twelve_Hours"
}
}
- Esegui questo comando per creare un nuovo canale di importazione facendo riferimento al file di configurazione JSON creato nel passaggio precedente:
aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
- Avvia il registratore di configurazione eseguendo il seguente comando:
aws configservice start-configuration-recorder --configuration-recorder-name default
Aws Security Hub Enabled
Nome della categoria nell'API: AWS_SECURITY_HUB_ENABLED
Security Hub raccoglie i dati di sicurezza da tutti gli account, i servizi e i prodotti partner di terze parti supportati da AWS e ti aiuta ad analizzare le tendenze di sicurezza e a identificare i problemi di sicurezza con la massima priorità. Quando attivi Security Hub, questo inizia a utilizzare, aggregare, organizzare e dare la priorità ai risultati dei servizi AWS che hai attivato, come Amazon GuardDuty, Amazon Inspector e Amazon Macie. Puoi anche attivare le integrazioni con i prodotti di sicurezza dei partner AWS.
Consiglio: assicurati che AWS Security Hub sia abilitato Per risolvere il problema, segui questi passaggi:Console AWS
- Utilizza le credenziali dell'identità IAM per accedere alla console di Security Hub.
- Quando apri la console Security Hub per la prima volta, scegli Abilita AWS Security Hub.
- Nella pagina di benvenuto, gli standard di sicurezza elencano gli standard di sicurezza supportati da Security Hub.
- Scegli Abilita Security Hub.
AWS CLI
- Esegui il comando enable-security-hub. Per attivare gli standard predefiniti, includi
--enable-default-standards
.
aws securityhub enable-security-hub --enable-default-standards
- Per attivare l'hub di sicurezza senza gli standard predefiniti, includi
--no-enable-default-standards
.
aws securityhub enable-security-hub --no-enable-default-standards
Cloudtrail Logs Encrypted Rest Using Kms Cmks
Nome della categoria nell'API: CLOUDTRAIL_LOGS_ENCRYPTED_REST_USING_KMS_CMKS
AWS CloudTrail è un servizio web che registra le chiamate all'API AWS per un account e rende disponibili questi log per gli utenti e le risorse in conformità con i criteri IAM. AWS Key Management Service (KMS) è un servizio gestito che consente di creare e controllare le chiavi di crittografia utilizzate per criptare i dati dell'account e utilizza moduli di sicurezza hardware (HSM) per proteggere la sicurezza delle chiavi di crittografia. I log di CloudTrail possono essere configurati per sfruttare la crittografia lato server (SSE) e le chiavi master (CMK) create dal cliente di KMS per proteggere ulteriormente i log di CloudTrail. Ti consigliamo di configurare CloudTrail in modo da utilizzare SSE-KMS.
Consiglio: assicurati che i log di CloudTrail siano criptati at-rest mediante chiavi CMK di KMS Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console CloudTrail all'indirizzo https://console.aws.amazon.com/cloudtrail
- Nel riquadro di navigazione a sinistra, scegli
Trails
. - Fai clic su un percorso
- Nella sezione
S3
, fai clic sul pulsante di modifica (icona a forma di matita). - Fai clic su
Advanced
. - Seleziona una CMK esistente dal menu a discesa
KMS key Id
- Nota: assicurati che la CMK si trovi nella stessa regione del bucket S3
- Nota: dovrai applicare un criterio per le chiavi KMS alla CMK selezionata affinché CloudTrail come servizio cripta e decripta i file di log utilizzando la CMK fornita. Qui sono riportati i passaggi per modificare il criterio della chiave CMK selezionata - Fai clic su
Save
. - Viene visualizzato un messaggio di notifica che indica che devi disporre delle autorizzazioni di decrittografia per la chiave KMS specificata per decriptare i file di log.
- Fai clic su
Yes
.
AWS CLI
aws cloudtrail update-trail --name <trail_name> --kms-id <cloudtrail_kms_key>
aws kms put-key-policy --key-id <cloudtrail_kms_key> --policy <cloudtrail_kms_key_policy>
Cloudtrail Log File Validation Enabled
Nome della categoria nell'API: CLOUDTRAIL_LOG_FILE_VALIDATION_ENABLED
La convalida del file di log di CloudTrail crea un file digest firmato digitalmente contenente un hash di ogni log scritto da CloudTrail in S3. Questi file di digest possono essere utilizzati per determinare se un file di log è stato modificato, eliminato o non modificato dopo che CloudTrail ha inviato il log. Ti consigliamo di abilitare la convalida dei file su tutti i CloudTrail.
Consiglio: assicurati che la convalida del file di log di CloudTrail sia abilitata Per risolvere il problema, segui questi passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/cloudtrail
- Fai clic su
Trails
nel riquadro di navigazione a sinistra. - Fai clic sul percorso target
- Nella sezione
General details
, fai clic suedit
. - Nella sezione
Advanced settings
- Seleziona la casella di attivazione in
Log file validation
- Fai clic su
Save changes
.
AWS CLI
aws cloudtrail update-trail --name <trail_name> --enable-log-file-validation
Tieni presente che la convalida periodica dei log che utilizzano questi digest può essere eseguita eseguendo il seguente comando:
aws cloudtrail validate-logs --trail-arn <trail_arn> --start-time <start_time> --end-time <end_time>
Cloudtrail Trails Integrated Cloudwatch Logs
Nome della categoria nell'API: CLOUDTRAIL_TRAILS_INTEGRATED_CLOUDWATCH_LOGS
AWS CloudTrail è un servizio web che registra le chiamate all'API AWS effettuate in un determinato account AWS. Le informazioni registrate includono l'identità dell'autore della chiamata API, l'ora della chiamata API, l'indirizzo IP di origine dell'autore della chiamata API, i parametri di richiesta e gli elementi di risposta restituiti dal servizio AWS. CloudTrail utilizza Amazon S3 per l'archiviazione e la consegna dei file di log, pertanto i file di log vengono archiviati in modo duraturo. Oltre a acquisire i log di CloudTrail in un bucket S3 specificato per l'analisi a lungo termine, puoi eseguire l'analisi in tempo reale configurando CloudTrail in modo da inviare i log a CloudWatch Logs. Per un trail abilitato in tutte le regioni di un account, CloudTrail invia i file di log da tutte queste regioni a un gruppo di log di CloudWatch Logs. Ti consigliamo di inviare i log di CloudTrail a CloudWatch Logs.
Nota: lo scopo di questo consiglio è garantire che l'attività dell'account AWS venga acquisita, monitorata e generata in modo appropriato. CloudWatch Logs è un modo nativo per farlo utilizzando i servizi AWS, ma non preclude l'utilizzo di una soluzione alternativa.
Consiglio: assicurati che i trail di CloudTrail siano integrati con i log di CloudWatch Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla console CloudTrail all'indirizzo
https://console.aws.amazon.com/cloudtrail/
- Seleziona il
Trail
da aggiornare. - Scorri verso il basso fino a
CloudWatch Logs
- Fai clic su
Edit
. - In
CloudWatch Logs
, fai clic sulla casellaEnabled
- In
Log Group
scegli un nuovo gruppo di log o selezionane uno esistente - Modifica
Log group name
in modo che corrisponda a CloudTrail o scegli il gruppo CloudWatch esistente. - In
IAM Role
scegli Nuovo o selezionane uno esistente. - Modifica
Role name
in modo che corrisponda a CloudTrail o scegli il ruolo IAM esistente. - Fai clic su "Salva modifiche".
AWS CLI
aws cloudtrail update-trail --name <trail_name> --cloudwatch-logs-log-group-arn <cloudtrail_log_group_arn> --cloudwatch-logs-role-arn <cloudtrail_cloudwatchLogs_role_arn>
Cloudwatch Alarm Action Check
Nome della categoria nell'API: CLOUDWATCH_ALARM_ACTION_CHECK
Controlla se in Amazon CloudWatch sono definite azioni quando un allarme passa da uno stato all'altro tra "OK", "ALLARME" e "INSUFFICIENT_DATA".
La configurazione delle azioni per lo stato ALARM negli avvisi Amazon CloudWatch è molto importante per attivare una risposta immediata quando le metriche monitorate superano le soglie.
Garantisce una rapida risoluzione dei problemi, riduce i tempi di inattività e consente la correzione automatica, mantenendo l'integrità del sistema e prevenendo le interruzioni del servizio.
Gli allarmi hanno almeno un'azione.
Gli allarmi hanno almeno un'azione quando passano allo stato "INSUFFICIENT_DATA" da qualsiasi altro stato.
(Facoltativo) Gli allarmi hanno almeno un'azione quando passano allo stato "OK" da qualsiasi altro stato.
Console AWS
Per configurare le azioni ALARM per gli avvisi Amazon CloudWatch, svolgi i seguenti passaggi.
- Apri la console Amazon CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.
- Nel riquadro di navigazione, seleziona "Tutti gli allarmi" in "Allarmi".
- Scegli l'avviso Amazon CloudWatch che vuoi modificare, scegli "Azioni" e seleziona "Modifica".
- A sinistra, scegli "Passaggio 2: configurazione facoltativa delle azioni".
- Per "Attivazione stato sveglia", seleziona l'opzione "In allarme" per configurare un'azione basata su ALARM.
- Per inviare una notifica a un argomento SNS appena creato, seleziona "Crea nuovo argomento".
- Nella casella "Crea nuovo argomento…", specifica un nome univoco per l'argomento SNS.
- Nella casella "Endpoint email che riceveranno la notifica…", specifica uno o più indirizzi email.
- Quindi, seleziona "Crea argomento" per creare l'argomento Amazon SNS richiesto.
- In basso a destra, seleziona "Avanti", "Avanti" e scegli "Aggiorna sveglia" per applicare le modifiche.
- Apri il tuo client di posta e fai clic sul link nell'email di AWS Notifications per confermare la tua iscrizione all'argomento SNS in questione.
- Ripeti i passaggi da 4 a 11 e, durante il passaggio 5, scegli "OK" e "Dati insufficienti" per l'"Attivazione stato avviso" per configurare le azioni per questi due stati.
- Ripeti la procedura per tutti gli altri avvisi CloudWatch all'interno della stessa regione AWS.
- Ripeti la procedura per tutti gli altri avvisi CloudWatch in tutte le altre regioni AWS.
Cloudwatch Log Group Encrypted
Nome della categoria nell'API: CLOUDWATCH_LOG_GROUP_ENCRYPTED
Questo controllo garantisce che i log di CloudWatch siano configurati con KMS.
I dati del gruppo di log sono sempre criptati in CloudWatch Logs. Per impostazione predefinita, CloudWatch Logs utilizza la crittografia lato server per i dati dei log at-rest. In alternativa, puoi utilizzare AWS Key Management Service per questa crittografia. In questo caso, la crittografia viene eseguita utilizzando una chiave KMS AWS. La crittografia con AWS KMS è abilitata a livello di gruppo di log associando una chiave KMS a un gruppo di log, quando lo crei o dopo che è stato creato.
Consiglio: controlla che tutti i gruppi di log in Amazon CloudWatch Logs siano criptati con KMSPer ulteriori informazioni, consulta Crittografia dei dati dei log in CloudWatch Logs utilizzando AWS Key Management Service nella guida dell'utente di Amazon CloudWatch.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoCloudTrail CloudWatch Logs Enabled
Nome della categoria nell'API: CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED
Questo controllo verifica se i trail di CloudTrail sono configurati per inviare i log a CloudWatch Logs. Il controllo non va a buon fine se la proprietà CloudWatchLogsLogGroupArn del tracciato è vuota.
CloudTrail registra le chiamate all'API AWS effettuate in un determinato account. Le informazioni registrate includono quanto segue:
- L'identità del chiamante dell'API
- L'ora della chiamata API
- L'indirizzo IP di origine dell'utente che chiama l'API
- I parametri di richiesta
- Gli elementi di risposta restituiti dal servizio AWS
CloudTrail utilizza Amazon S3 per l'archiviazione e la consegna dei file di log. Puoi acquisire i log di CloudTrail in un bucket S3 specificato per l'analisi a lungo termine. Per eseguire analisi in tempo reale, puoi configurare CloudTrail in modo da inviare i log a CloudWatch Logs.
Per un trail abilitato in tutte le regioni di un account, CloudTrail invia i file di log da tutte queste regioni a un gruppo di log di CloudWatch Logs.
Security Hub consiglia di inviare i log di CloudTrail a CloudWatch Logs. Tieni presente che questo consiglio ha lo scopo di garantire che l'attività dell'account venga acquisita, monitorata e segnalata in modo appropriato. Puoi utilizzare CloudWatch Logs per configurare questa operazione con i tuoi servizi AWS. Questo consiglio non preclude l'utilizzo di una soluzione diversa.
L'invio dei log di CloudTrail a CloudWatch Logs semplifica la registrazione delle attività in tempo reale e storiche in base a utente, API, risorsa e indirizzo IP. Puoi utilizzare questo approccio per impostare avvisi e notifiche per attività anomale o sensibili dell'account.
Consiglio: controlla che tutti i trail di CloudTrail siano configurati in modo da inviare i log ad AWS CloudWatchPer integrare CloudTrail con i log di CloudWatch, consulta Invio di eventi ai log di CloudWatch nella Guida dell'utente di AWS CloudTrail.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoNo AWS Credentials in CodeBuild Project Environment Variables
Nome della categoria nell'API: CODEBUILD_PROJECT_ENVVAR_AWSCRED_CHECK
Viene controllato se il progetto contiene le variabili di ambiente AWS_ACCESS_KEY_ID
e AWS_SECRET_ACCESS_KEY
.
Le credenziali di autenticazione AWS_ACCESS_KEY_ID
e AWS_SECRET_ACCESS_KEY
non devono mai essere memorizzate in testo normale, in quanto ciò potrebbe comportare l'esposizione indesiderata dei dati e l'accesso non autorizzato.
Per rimuovere le variabili di ambiente da un progetto CodeBuild, consulta Modificare le impostazioni di un progetto di compilazione in AWS CodeBuild nella Guida dell'utente di AWS CodeBuild. Assicurati che non sia selezionata alcuna variabile di ambiente.
Puoi archiviare le variabili di ambiente con valori sensibili nel Parameter Store di AWS Systems Manager o in AWS Secrets Manager e poi recuperarle dalla specifica di compilazione. Per istruzioni, consulta la casella Importante nella sezione Ambiente della Guida dell'utente di AWS CodeBuild.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoCodebuild Project Source Repo Url Check
Nome della categoria nell'API: CODEBUILD_PROJECT_SOURCE_REPO_URL_CHECK
Controlla se l'URL del repository di origine Bitbucket di un progetto AWS CodeBuild contiene token di accesso personali o un nome utente e una password. Il controllo non va a buon fine se l'URL del repository di origine Bitbucket contiene token di accesso personali o un nome utente e una password.
Le credenziali di accesso non devono essere memorizzate o trasmesse in testo normale né comparire nell'URL del repository di origine. Anziché token di accesso personali o credenziali di accesso, devi accedere al tuo provider di origine in CodeBuild e modificare l'URL del repository di origine in modo che contenga solo il percorso della posizione del repository Bitbucket. L'utilizzo di token di accesso personali o credenziali di accesso potrebbe comportare l'esposizione indesiderata dei dati o l'accesso non autorizzato.
Consiglio: controlla che tutti i progetti che usano github o bitbucket come origine utilizzino oauthPuoi aggiornare il progetto CodeBuild in modo che utilizzi OAuth.
Per rimuovere l'autenticazione di base/il token di accesso personale (GitHub) dal codice sorgente del progetto CodeBuild
- Apri la console CodeBuild all'indirizzo https://console.aws.amazon.com/codebuild/.
- Scegli il progetto di compilazione che contiene token di accesso personali o un nome utente e una password.
- In Modifica, scegli Origine.
- Scegli Scollega da GitHub / Bitbucket.
- Scegli Connetti utilizzando OAuth, quindi Connetti a GitHub / Bitbucket.
- Quando richiesto, scegli Autorizza.
- Configura di nuovo l'URL del repository e le impostazioni di configurazione aggiuntive, se necessario.
- Scegli Aggiorna origine.
Per ulteriori informazioni, consulta la sezione Esempi basati su casi d'uso di CodeBuild nella Guida dell'utente di AWS CodeBuild.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoCredentials Unused 45 Days Greater Disabled
Nome della categoria nell'API: CREDENTIALS_UNUSED_45_DAYS_GREATER_DISABLED
Gli utenti IAM AWS possono accedere alle risorse AWS utilizzando diversi tipi di credenziali, come password o chiavi di accesso. Ti consigliamo di disattivare o rimuovere tutte le credenziali non utilizzate da almeno 45 giorni.
Consiglio: assicurati che le credenziali non utilizzate per almeno 45 giorni siano disattivate Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per gestire la password inutilizzata (accesso alla console utente IAM), svolgi i seguenti passaggi
- Accedi alla Console di gestione AWS:
- Fai clic su
Services
. - Fai clic su
IAM
. - Fai clic su
Users
. - Fai clic su
Security Credentials
. - Seleziona l'utente il cui
Console last sign-in
è superiore a 45 giorni - Fai clic su
Security credentials
. - Nella sezione
Sign-in credentials
,Console password
fai clic suManage
- In Accesso alla console, seleziona
Disable
. 10. Fai clic suApply
.
Per disattivare le chiavi di accesso:
- Accedi alla Console di gestione AWS:
- Fai clic su
Services
. - Fai clic su
IAM
. - Fai clic su
Users
. - Fai clic su
Security Credentials
. - Seleziona le chiavi di accesso che risalgono a più di 45 giorni fa e che sono state utilizzate e
- Fai clic suMake Inactive
- Seleziona le chiavi di accesso che risalgono a più di 45 giorni fa e che non sono state utilizzate e
- Fai clic sulla X perDelete
Default Security Group Vpc Restricts All Traffic
Nome della categoria nell'API: DEFAULT_SECURITY_GROUP_VPC_RESTRICTS_ALL_TRAFFIC
Un VPC è dotato di un gruppo di sicurezza predefinito le cui impostazioni iniziali negano tutto il traffico in entrata, consentono tutto il traffico in uscita e consentono tutto il traffico tra le istanze assegnate al gruppo di sicurezza. Se non specifichi un gruppo di sicurezza quando avvii un'istanza, l'istanza viene assegnata automaticamente a questo gruppo di sicurezza predefinito. I gruppi di sicurezza forniscono il filtro stateful del traffico di rete in entrata/in uscita verso le risorse AWS. È consigliabile che il gruppo di sicurezza predefinito limiti tutto il traffico.
Il gruppo di sicurezza predefinito del VPC predefinito in ogni regione deve essere aggiornato per essere conforme. Le VPC appena create conterranno automaticamente un gruppo di sicurezza predefinito che dovrà essere sottoposto a correzione per essere conforme a questo consiglio.
NOTA:quando implementi questo consiglio, il logging dei flussi VPC è fondamentale per determinare l'accesso alle porte con privilegio minimo richiesto dai sistemi per funzionare correttamente, perché può registrare tutte le accettazioni e i rifiuti dei pacchetti che si verificano nei gruppi di sicurezza attuali. Ciò riduce drasticamente la principale barriera all'ingegneria privilegio minimo: la scoperta delle porte minime richieste dai sistemi nell'ambiente. Anche se il consiglio per la registrazione dei flussi VPC in questo benchmark non viene adottato come misura di sicurezza permanente, deve essere utilizzato durante qualsiasi periodo di rilevamento e progettazione per i gruppi di sicurezza con privilegi minimi.
Consiglio: assicurati che il gruppo di sicurezza predefinito di ogni VPC limiti tutto il trafficoMembri del gruppo di sicurezza
Per implementare lo stato prescritto:
- Identifica le risorse AWS esistenti nel gruppo di sicurezza predefinito
- Crea un insieme di gruppi di sicurezza con privilegio minimo per queste risorse
- Inserisci le risorse in questi gruppi di sicurezza
- Rimuovi le risorse indicate nel punto 1 dal gruppo di sicurezza predefinito
Stato del gruppo di sicurezza
- Accedi alla Console di gestione AWS all'indirizzo https://console.aws.amazon.com/vpc/home
- Ripeti i passaggi successivi per tutti i VPC, incluso il VPC predefinito in ogni regione AWS:
- Nel riquadro a sinistra, fai clic su
Security Groups
- Per ogni gruppo di sicurezza predefinito, svolgi i seguenti passaggi:
- Seleziona il gruppo di sicurezza
default
- Fai clic sulla scheda
Inbound Rules
. - Rimuovi eventuali regole in entrata
- Fai clic sulla scheda
Outbound Rules
. - Rimuovi eventuali regole in uscita
Consigliato:
I gruppi IAM ti consentono di modificare il campo "name". Dopo aver corretto le regole dei gruppi predefiniti per tutti i VPC in tutte le regioni, modifica questo campo per aggiungere un testo simile a "NON UTILIZZARE". NON AGGIUNGERE REGOLE"
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoDms Replication Not Public
Nome della categoria nell'API: DMS_REPLICATION_NOT_PUBLIC
Controlla se le istanze di replica di AWS DMS sono pubbliche. A questo scopo, esamina il valore del campo PubliclyAccessible
.
Un'istanza di replica privata ha un indirizzo IP privato a cui non puoi accedere dall'esterno della rete di replica. Un'istanza di replica deve avere un indirizzo IP privato quando i database di origine e di destinazione si trovano nella stessa rete. La rete deve essere collegata anche al VPC dell'istanza di replica utilizzando una VPN, AWS Direct Connect o il peering VPC. Per scoprire di più sulle istanze di replica pubbliche e private, consulta la sezione Istanze di replica pubbliche e private nella Guida dell'utente di AWS Database Migration Service.
Devi anche assicurarti che l'accesso alla configurazione dell'istanza AWS DMS sia limitato solo agli utenti autorizzati. A questo scopo, limita le autorizzazioni IAM degli utenti alla modifica delle impostazioni e delle risorse AWS DMS.
Consiglio: controlla se le istanze di replica di AWS Database Migration Service sono pubblicheNon puoi modificare l'impostazione di accesso pubblico per un'istanza di replica DMS dopo averla creata. Per modificare l'impostazione di accesso pubblico, elimina l'istanza corrente e poi ricreala. Non selezionare l'opzione Accessibile pubblicamente.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoDo Setup Access Keys During Initial User Setup All Iam Users Console
Nome della categoria nell'API: DO_SETUP_ACCESS_KEYS_DURING_INITIAL_USER_SETUP_ALL_IAM_USERS_CONSOLE
Per impostazione predefinita, la console AWS non seleziona alcuna casella di controllo quando viene creato un nuovo utente IAM. Quando crei le credenziali utente IAM, devi determinare il tipo di accesso richiesto.
Accesso programmatico: l'utente IAM potrebbe dover effettuare chiamate API, utilizzare AWS CLI o gli strumenti per Windows PowerShell. In questo caso, crea una chiave di accesso (ID chiave di accesso e chiave di accesso segreta) per l'utente.
Accesso alla Console di gestione AWS: se l'utente deve accedere alla Console di gestione AWS, crea una password per l'utente.
Consiglio: non impostare le chiavi di accesso durante la configurazione utente iniziale per tutti gli utenti IAM che dispongono di una password della console Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS:
- Fai clic su
Services
. - Fai clic su
IAM
. - Fai clic su
Users
. - Fai clic su
Security Credentials
. - In qualità di amministratore
: fai clic sull'X(Delete)
per le chiavi create contemporaneamente al profilo utente, ma che non sono state utilizzate. - In qualità di utente IAM
: fai clic sull'X(Delete)
per le chiavi create contemporaneamente al profilo utente, ma che non sono state utilizzate.
AWS CLI
aws iam delete-access-key --access-key-id <access-key-id-listed> --user-name <users-name>
Dynamodb Autoscaling Enabled
Nome della categoria nell'API: DYNAMODB_AUTOSCALING_ENABLED
Verifica se una tabella Amazon DynamoDB può scalare la capacità di lettura e scrittura in base alle esigenze. Questo controllo viene superato se la tabella utilizza la modalità di capacità on demand o la modalità di provisioning con la scalabilità automatica configurata. La scalabilità della capacità in base alla domanda evita le eccezioni di throttling, il che contribuisce a mantenere la disponibilità delle applicazioni.
Le tabelle DynamoDB in modalità di capacità on demand sono limitate solo dalle quote di tabella predefinite per il throughput di DynamoDB. Per aumentare queste quote, puoi aprire un ticket di assistenza tramite l'assistenza AWS.
Le tabelle DynamoDB in modalità di provisioning con la scalabilità automatica regolano dinamicamente la capacità di throughput di cui è stato eseguito il provisioning in base ai pattern di traffico. Per ulteriori informazioni sulla limitazione delle richieste di DynamoDB, consulta la sezione Limitazione delle richieste e capacità di picco nella Guida per gli sviluppatori di Amazon DynamoDB.
Consiglio: le tabelle DynamoDB devono scalare automaticamente la capacità in base alla domandaPer istruzioni dettagliate su come attivare la scalabilità automatica di DynamoDB nelle tabelle esistenti in modalità di capacità, consulta Attivare la scalabilità automatica di DynamoDB nelle tabelle esistenti nella Guida per gli sviluppatori di Amazon DynamoDB.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoDynamodb In Backup Plan
Nome della categoria nell'API: DYNAMODB_IN_BACKUP_PLAN
Questo controllo valuta se una tabella DynamoDB è coperta da un piano di backup. Il controllo non va a buon fine se una tabella DynamoDB non è coperta da un piano di backup. Questo controllo valuta solo le tabelle DynamoDB nello stato ACTIVE.
I backup ti aiutano a recuperare più rapidamente da un incidente di sicurezza. Inoltre, rafforzano la resilienza dei tuoi sistemi. L'inclusione delle tabelle DynamoDB in un piano di backup ti aiuta a proteggere i tuoi dati da perdita o eliminazione involontarie.
Consiglio: le tabelle DynamoDB devono essere coperte da un piano di backupPer aggiungere una tabella DynamoDB a un piano di backup di AWS Backup, consulta la sezione Assegnazione di risorse a un piano di backup nella Guida per gli sviluppatori di AWS Backup.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoDynamodb Pitr Enabled
Nome della categoria nell'API: DYNAMODB_PITR_ENABLED
Il recupero point-in-time (PITR) è uno dei meccanismi disponibili per il backup delle tabelle DynamoDB.
Un backup in un determinato momento viene conservato per 35 giorni. Se il tuo requisito prevede una conservazione più lunga, consulta Configurare i backup pianificati per Amazon DynamoDB utilizzando AWS Backup nella documentazione AWS.
Consiglio: controlla che il recupero point-in-time (PITR) sia abilitato per tutte le tabelle AWS DynamoDB Per risolvere il problema, segui questi passaggi:Terraform
Per impostare il PITR per le tabelle DynamoDB, imposta il blocco point_in_time_recovery
:
resource "aws_dynamodb_table" "example" {
# ... other configuration ...
point_in_time_recovery {
enabled = true
}
}
Console AWS
Per abilitare il recupero point-in-time di DynamoDB per una tabella esistente
- Apri la console DynamoDB all'indirizzo https://console.aws.amazon.com/dynamodb/.
- Scegli la tabella con cui vuoi lavorare e poi scegli Backup.
- Nella sezione Recupero point-in-time, in Stato, scegli Abilita.
- Scegli di nuovo Attiva per confermare la modifica.
AWS CLI
aws dynamodb update-continuous-backups \
--table-name "GameScoresOnDemand" \
--point-in-time-recovery-specification "PointInTimeRecoveryEnabled=true"
Dynamodb Table Encrypted Kms
Nome della categoria nell'API: DYNAMODB_TABLE_ENCRYPTED_KMS
Controlla se tutte le tabelle DynamoDB sono criptate con una chiave KMS gestita dal cliente (non predefinita).
Consiglio: controlla che tutte le tabelle DynamoDB siano criptate con AWS Key Management Service (KMS) Per risolvere il problema, segui questi passaggi:Terraform
Per risolvere il problema relativo a questo controllo, crea una chiave KMS AWS e utilizzala per criptare la risorsa DynamoDB in violazione.
resource "aws_kms_key" "dynamodb_encryption" {
description = "Used for DynamoDB encryption configuration"
enable_key_rotation = true
}
resource "aws_dynamodb_table" "example" {
# ... other configuration ...
server_side_encryption {
enabled = true
kms_key_arn = aws_kms_key.dynamodb_encryption.arn
}
}
Console AWS
Supponiamo che sia già disponibile una chiave AWS KMS per la crittografia di DynamoDB.
Per modificare la crittografia di una tabella DynamoDB in una chiave KMS gestita e di proprietà del cliente.
- Apri la console DynamoDB all'indirizzo https://console.aws.amazon.com/dynamodb/.
- Scegli la tabella con cui vuoi lavorare e poi seleziona Impostazioni aggiuntive.
- In Crittografia, scegli Gestisci crittografia.
- Per la crittografia a riposo, scegli Archiviati nel tuo account e di tua proprietà e gestiti da te.
- Seleziona la chiave AWS da utilizzare. Salva le modifiche.
AWS CLI
aws dynamodb update-table \
--table-name <value> \
--sse-specification "Enabled=true,SSEType=KMS,KMSMasterKeyId=<kms_key_arn>"
Ebs Optimized Instance
Nome della categoria nell'API: EBS_OPTIMIZED_INSTANCE
Controlla se l'ottimizzazione EBS è abilitata per le istanze EC2 che possono essere ottimizzate per EBS
Consiglio: controlla che l'ottimizzazione EBS sia abilitata per tutte le istanze che la supportanoPer configurare le impostazioni delle istanze ottimizzate per EBS, consulta Istanze ottimizzate per Amazon EBS nella guida dell'utente di Amazon EC2.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoEbs Snapshot Public Restorable Check
Nome della categoria nell'API: EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK
Controlla se gli snapshot di Amazon Elastic Block Store non sono pubblici. Il controllo non va a buon fine se gli snapshot Amazon EBS sono ripristinabili da chiunque.
Gli snapshot EBS vengono utilizzati per eseguire il backup dei dati sui volumi EBS in Amazon S3 in un determinato momento. Puoi utilizzare gli snapshot per ripristinare gli stati precedenti dei volumi EBS. È raramente accettabile condividere uno snapshot con il pubblico. In genere, la decisione di condividere uno snapshot pubblicamente è stata presa per errore o senza una comprensione completa delle implicazioni. Questo controllo contribuisce a garantire che tutte le suddette condivisioni siano state pianificate e intenzionali.
Consiglio: gli snapshot Amazon EBS non devono essere ripristinabili pubblicamente Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per risolvere il problema, aggiorna lo snapshot EBS in modo che sia privato anziché pubblico.
Per rendere privato uno snapshot EBS pubblico:
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, in Elastic Block Store, scegli il menu Istantanee e poi lo snapshot pubblico.
- In Azioni, scegli Modifica autorizzazioni.
- Scegli Privato.
- (Facoltativo) Aggiungi i numeri degli account AWS degli account autorizzati con cui condividere lo snapshot e scegli Aggiungi autorizzazione.
- Scegli Salva.
Ebs Volume Encryption Enabled All Regions
Nome della categoria nell'API: EBS_VOLUME_ENCRYPTION_ENABLED_ALL_REGIONS
Elastic Compute Cloud (EC2) supporta la crittografia at-rest quando utilizzi il servizio Elastic Block Store (EBS). Sebbene sia disabilitata per impostazione predefinita, la crittografia forzata durante la creazione del volume EBS è supportata.
Consiglio: assicurati che la crittografia del volume EBS sia abilitata in tutte le regioni Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
- In
Account attributes
, fai clic suEBS encryption
. - Fai clic su
Manage
. - Fai clic sulla casella di controllo
Enable
. - Fai clic su
Update EBS encryption
. - Ripeti l'operazione per ogni regione che richiede la modifica.
Nota:la crittografia del volume EBS è configurata per regione.
AWS CLI
- Esegui
aws --region <region> ec2 enable-ebs-encryption-by-default
- Verifica che venga visualizzato
"EbsEncryptionByDefault": true
. - Ripeti l'operazione per ogni regione che richiede la modifica.
Nota:la crittografia del volume EBS è configurata per regione.
Ec2 Instances In Vpc
Nome della categoria nell'API: EC2_INSTANCES_IN_VPC
Amazon VPC offre più funzionalità di sicurezza rispetto a EC2 Classic. È consigliabile che tutti i nodi appartengano a un VPC Amazon.
Consiglio: assicurati che tutte le istanze appartengano a un VPC Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Se hai istanze EC2 Classic definite in Terraform, puoi modificare le risorse in modo che facciano parte di un VPC. Questa migrazione dipenderà da un'architettura più adatta alle tue esigenze. Di seguito è riportato un semplice esempio di Terraform che illustra un'istanza EC2 esposta pubblicamente in una VPC.
resource "aws_vpc" "example_vpc" {
cidr_block = "10.0.0.0/16"
}
resource "aws_subnet" "example_public_subnet" {
vpc_id = aws_vpc.example_vpc.id
cidr_block = "10.0.1.0/24"
availability_zone = "1a"
}
resource "aws_internet_gateway" "example_igw" {
vpc_id = aws_vpc.example_vpc.id
}
resource "aws_key_pair" "example_key" {
key_name = "web-instance-key"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com"
}
resource "aws_security_group" "web_sg" {
name = "http and ssh"
vpc_id = aws_vpc.some_custom_vpc.id
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = -1
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "web" {
ami = <ami_id>
instance_type = <instance_flavor>
key_name = aws_key_pair.example_key.name
monitoring = true
subnet_id = aws_subnet.example_public_subnet.id
vpc_security_group_ids = [aws_security_group.web_sg.id]
metadata_options {
http_tokens = "required"
}
}
Console AWS
Per eseguire la migrazione da EC2 Classic a VPC, consulta Eseguire la migrazione da EC2 Classic a un VPC
AWS CLI
Questo esempio di AWS CLI illustra la stessa infrastruttura definita con Terraform. È un semplice esempio di istanza EC2 esposta pubblicamente in una VPC
Crea VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16
Crea subnet pubblica
aws ec2 create-subnet \
--availability-zone 1a \
--cidr-block 10.0.1.0/24 \
--vpc-id <id_from_create-vpc_command>
Crea gateway internet
aws ec2 create-internet-gateway
Collega il gateway internet alla VPC
aws ec2 attach-internet-gateway \
--internet-gateway-id <id_from_create-internet-gateway_command> \
--vpc-id <id_from_create-vpc_command>
Crea coppia di chiavi: la chiave privata verrà salvata in /.ssh/web-instance-key.pem
aws ec2 create-key-pair \
--key-name web-instance-key \
--query "KeyMaterial" \
--output text > ~/.ssh/web-instance-key.pem && \
chmod 400 ~/.ssh/web-instance-key.pem
Crea gruppo di sicurezza
aws ec2 create-security-group \
--group-name "http and ssh" \
--vpc-id <id_from_create-vpc_command>
Crea regole per i gruppi di sicurezza: per un accesso più limitato, definisci un CIDR più limitato per SSH sulla porta 22
aws ec2 authorize-security-group-ingress \
--group-id <id_from_create-security-group_command>
--protocol tcp \
--port 80 \
--cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id <id_from_create-security-group_command>
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0
aws ec2 authorize-security-group-egress \
--group-id <id_from_create-security-group_command>
--protocol -1 \
--port 0 \
--cidr 0.0.0.0/0
Crea istanza EC2
aws ec2 run-instances \
--image-id <ami_id> \
--instance-type <instance_flavor> \
--metadata-options "HttpEndpoint=enabled,HttpTokens=required" \
--monitoring true \
--key-name web-instance-key \
--subnet-id <id_from_create-subnet_command> \
--security-group-ids <id_from_create-security-group_command>
Ec2 Instance No Public Ip
Nome della categoria nell'API: EC2_INSTANCE_NO_PUBLIC_IP
Le istanze EC2 con un indirizzo IP pubblico sono a maggior rischio di compromissione. È consigliabile non configurare le istanze EC2 con un indirizzo IP pubblico.
Consiglio: assicurati che nessuna istanza abbia un IP pubblico Per risolvere il problema, segui questi passaggi:Terraform
Utilizza l'argomento associate_public_ip_address = false
con la risorsa aws_instance
per assicurarti che le istanze EC2 vengano provisionate senza un indirizzo IP pubblico
resource "aws_instance" "no_public_ip" {
...
associate_public_ip_address = false
}
Console AWS
Per impostazione predefinita, l'attributo di indirizzamento pubblico IPv4 è impostato su false per le subnet non predefinite e su true per le subnet predefinite. Un'eccezione è una subnet non predefinita creata dalla procedura guidata di lancio dell'istanza Amazon EC2, che imposta l'attributo su true. Puoi modificare questo attributo utilizzando la console Amazon VPC.
Per modificare il comportamento di indirizzamento IPv4 pubblico della subnet
- Apri la console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/.
- Nel riquadro di navigazione, scegli Subnet.
- Seleziona la subnet e scegli Azioni, Modifica impostazioni subnet.
- La casella di controllo Attiva l'assegnazione automatica dell'indirizzo IPv4 pubblico, se selezionata, richiede un indirizzo IPv4 pubblico per tutte le istanze avviate nella subnet selezionata. Seleziona o deseleziona la casella di controllo in base alle esigenze, quindi scegli Salva.
AWS CLI
Il seguente comando esegue un'istanza EC2 in una subnet predefinita senza associarle un indirizzo IP pubblico.
aws ec2 run-instances \
--image-id <ami_id> \
--instance-type <instance_flavor> \
--no-associate-public-ip-address \
--key-name MyKeyPair
Ec2 Managedinstance Association Compliance Status Check
Nome della categoria nell'API: EC2_MANAGEDINSTANCE_ASSOCIATION_COMPLIANCE_STATUS_CHECK
Un'associazione di State Manager è una configurazione assegnata alle istanze gestite. La configurazione definisce lo stato che vuoi mantenere nelle istanze. Ad esempio, un'associazione può specificare che il software antivirus deve essere installato ed eseguito nelle istanze o che determinate porte devono essere chiuse. Le istanze EC2 associate ad AWS Systems Manager sono sotto la gestione di Systems Manager, il che semplifica l'applicazione delle patch, la correzione delle configurazioni errate e la risposta agli eventi di sicurezza.
Consiglio: controlla lo stato di conformità dell'associazione dei gestori di sistema AWS Per risolvere il problema, svolgi i seguenti passaggi:Terraform
L'esempio seguente mostra come creare un'istanza EC2 semplice, un documento AWS Systems Manager (SSM) e un'associazione tra SSM e l'istanza EC2. I documenti supportati sono di tipo Command
e Policy
.
resource "aws_instance" "web" {
ami = "<iam_id>"
instance_type = "<instance_flavor>"
}
resource "aws_ssm_document" "check_ip" {
name = "check-ip-config"
document_type = "Command"
content = <<DOC
{
"schemaVersion": "1.2",
"description": "Check ip configuration of a Linux instance.",
"parameters": {
},
"runtimeConfig": {
"aws:runShellScript": {
"properties": [
{
"id": "0.aws:runShellScript",
"runCommand": ["ifconfig"]
}
]
}
}
}
DOC
}
resource "aws_ssm_association" "check_ip_association" {
name = aws_ssm_document.check_ip.name
targets {
key = "InstanceIds"
values = [aws_instance.web.id]
}
}
Console AWS
Per informazioni sulla configurazione delle associazioni con AWS Systems Manager utilizzando la console, consulta Creare associazioni nella documentazione di AWS Systems Manager.
AWS CLI
Creare un documento SSM
aws ssm create-document \
--name <document_name> \
--content file://path/to-file/document.json \
--document-type "Command"
Creare un'associazione SSM
aws ssm create-association \
--name <association_name> \
--targets "Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>"
Ec2 Managedinstance Patch Compliance Status Check
Nome della categoria nell'API: EC2_MANAGEDINSTANCE_PATCH_COMPLIANCE_STATUS_CHECK
Questo controllo verifica se lo stato di conformità dell'associazione di AWS Systems Manager è COMPLIANT o NON_COMPLIANT dopo l'esecuzione dell'associazione su un'istanza. Il controllo non va a buon fine se lo stato di conformità dell'associazione è NON_COMPLIANT.
Un'associazione di State Manager è una configurazione assegnata alle istanze gestite. La configurazione definisce lo stato che vuoi mantenere nelle istanze. Ad esempio, un'associazione può specificare che il software antivirus deve essere installato ed eseguito nelle istanze o che determinate porte devono essere chiuse.
Dopo aver creato una o più associazioni di gestori dello stato, le informazioni sullo stato della conformità sono immediatamente disponibili. Puoi visualizzare lo stato di conformità nella console o in risposta ai comandi AWS CLI o alle azioni dell'API Systems Manager corrispondenti. Per le associazioni, la conformità della configurazione mostra lo stato di conformità (Conforme o Non conforme). Mostra anche il livello di gravità assegnato all'associazione, ad esempio Critica o Media.
Per scoprire di più sulla conformità dell'associazione di State Manager, consulta la sezione Informazioni sulla conformità dell'associazione di State Manager nella Guida dell'utente di AWS Systems Manager.
Consiglio: controlla lo stato di conformità delle patch di AWS Systems ManagerUn'associazione non riuscita può essere correlata a diversi elementi, inclusi i target e i nomi dei documenti SSM. Per risolvere il problema, devi prima identificare e esaminare l'associazione visualizzando la cronologia delle associazioni. Per istruzioni su come visualizzare la cronologia delle associazioni, consulta Visualizzare le cronologie delle associazioni nella Guida dell'utente di AWS Systems Manager.
Dopo aver effettuato accertamenti, puoi modificare l'associazione per correggere il problema identificato. Puoi modificare un'associazione per specificare un nuovo nome, una pianificazione, un livello di gravità o dei target. Dopo aver modificato un'associazione, AWS Systems Manager ne crea una nuova versione. Per istruzioni su come modificare un'associazione, consulta Modificare e creare una nuova versione di un'associazione nella Guida dell'utente di AWS Systems Manager.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoEc2 Metadata Service Allows Imdsv2
Nome della categoria nell'API: EC2_METADATA_SERVICE_ALLOWS_IMDSV2
Quando attivano il servizio di metadati sulle istanze AWS EC2, gli utenti hanno la possibilità di utilizzare la versione 1 del servizio di metadati dell'istanza (IMDSv1; un metodo di richiesta/risposta) o la versione 2 del servizio di metadati dell'istanza (IMDSv2; un metodo orientato alla sessione).
Consiglio: assicurati che il servizio di metadati EC2 consenta solo IMDSv2Da Console:
1. Accedi alla Console di gestione AWS e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
2. Nel menu Istanze, seleziona Istanze.
3. Per ogni istanza, selezionala e scegli Azioni > Modifica opzioni dei metadati dell'istanza.
4. Se il servizio di metadati dell'istanza è attivo, imposta IMDSv2 su Obbligatorio.
Dalla riga di comando:
aws ec2 modify-instance-metadata-options --instance-id <instance_id> --http-tokens required
Ec2 Volume Inuse Check
Nome della categoria nell'API: EC2_VOLUME_INUSE_CHECK
Identifica e rimuovi i volumi Elastic Block Store (EBS) non collegati (inutilizzati) nel tuo account AWS per ridurre il costo della fattura mensile di AWS. L'eliminazione dei volumi EBS inutilizzati riduce anche il rischio che i dati riservati/sensibili escano dalla tua sede. Inoltre, questo controllo verifica anche se le istanze EC2 archiviate sono configurate per eliminare i volumi al termine.
Per impostazione predefinita, le istanze EC2 sono configurate per eliminare i dati in tutti i volumi EBS associati all'istanza e per eliminare il volume EBS principale dell'istanza. Tuttavia, per impostazione predefinita, tutti i volumi EBS non principali collegati all'istanza al momento del lancio o durante l'esecuzione vengono mantenuti dopo l'interruzione.
Consiglio: controlla se i volumi EBS sono collegati alle istanze EC2 e configurati per l'eliminazione al termine dell'istanza Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per evitare questo scenario utilizzando Terraform, crea istanze EC2 con blocchi EBS incorporati. In questo modo, tutti i blocchi EBS associati all'istanza (non solo il principale) verranno eliminati al termine dell'istanza impostando l'attributo ebs_block_device.delete_on_termination
su true
per impostazione predefinita.
resource "aws_instance" "web" {
ami = <ami_id>
instance_type = <instance_flavor>
ebs_block_device {
delete_on_termination = true # Default
device_name = "/dev/sdh"
}
Console AWS
Per eliminare un volume EBS utilizzando la console
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, scegli Volumi.
- Seleziona il volume da eliminare e scegli Azioni, Elimina volume.
- Nota: se l'opzione Elimina volume non è selezionabile, significa che il volume è collegato a un'istanza. Devi scollegare il volume dall'istanza prima che possa essere eliminato.
- Nella finestra di dialogo di conferma, scegli Elimina.
AWS CLI
Questo comando di esempio elimina un volume disponibile con l'ID vol-049df61146c4d7901. Se il comando va a buon fine, non viene restituito alcun output.
aws ec2 delete-volume --volume-id vol-049df61146c4d7901
Efs Encrypted Check
Nome della categoria nell'API: EFS_ENCRYPTED_CHECK
Amazon EFS supporta due forme di crittografia per i file system: crittografia dei dati in transito e crittografia at-rest. Questo verifica che tutti i file system EFS siano configurati con la crittografia at-rest in tutte le regioni abilitate dell'account.
Consiglio: controlla se EFS è configurato per criptare i dati dei file utilizzando KMS Per risolvere il problema, segui questi passaggi:Terraform
Il seguente snippet di codice può essere utilizzato per creare un volume EFS criptato con KMS (nota: l'attributo kms_key_id
è facoltativo e verrà creata una chiave se non viene passato alcun ID chiave KMS)
resource "aws_efs_file_system" "encrypted-efs" {
creation_token = "my-kms-encrypted-efs"
encrypted = true
kms_key_id = "arn:aws:kms:us-west-2:12344375555:key/16393ebd-3348-483f-b162-99b6648azz23"
tags = {
Name = "MyProduct"
}
}
Console AWS
Per configurare EFS con crittografia utilizzando la console AWS, consulta Crittografia at-rest di un file system utilizzando la console.
AWS CLI
È importante notare che, sebbene la creazione di EFS dalla console attivi la crittografia at-rest per impostazione predefinita, questo non vale per gli EFS creati utilizzando l'interfaccia a riga di comando, l'API o l'SDK. Il seguente esempio ti consente di creare un file system criptato nella tua infrastruttura.
aws efs create-file-system \
--backup \
--encrypted \
--region us-east-1 \
Efs In Backup Plan
Nome della categoria nell'API: EFS_IN_BACKUP_PLAN
Le best practice di Amazon consigliano di configurare i backup per i file system Elastic (EFS). Verranno controllati tutti i file system EFS in tutte le regioni abilitate del tuo account AWS per verificare la presenza di backup abilitati.
Consiglio: controlla se i file system EFS sono inclusi nei piani di backup AWS Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Utilizza la risorsa aws_efs_backup_policy
per configurare un criterio di backup per i file system EFS.
resource "aws_efs_file_system" "encrypted-efs" {
creation_token = "my-encrypted-efs"
encrypted = true
tags = merge({
Name = "${local.resource_prefix.value}-efs"
}, {
git_file = "terraform/aws/efs.tf"
git_org = "your_git_org"
git_repo = "your_git_repo"
})
}
resource "aws_efs_backup_policy" "policy" {
file_system_id = aws_efs_file_system.encrypted-efs.id
backup_policy {
status = "ENABLED"
}
}
Console AWS
Esistono due opzioni per eseguire il backup di EFS: il servizio AWS Backup e la soluzione di backup EFS-to-EFS. Per risolvere i problemi relativi a EFS di cui non è stato eseguito il backup utilizzando la console, consulta:
AWS CLI
Esistono alcune opzioni per creare file system EFS conformi utilizzando la CLI:
- Crea un volume EFS con il backup automatico abilitato (valore predefinito per lo spazio di archiviazione One Zone e soggetto alla disponibilità del backup nella regione AWS)
- Crea un volume EFS e applica un criterio di backup
Tuttavia, se si presume che la correzione debba essere eseguita in EFS esistenti, l'opzione migliore è creare un criterio di backup e associarlo all'EFS non conforme. Dovrai avere un comando per ogni EFS nell'infrastruttura.
arr=( $(aws efs describe-file-systems | jq -r '.FileSystems[].FileSystemId') )
for efs in "${arr[@]}"
do
aws efs put-backup-policy \
--file-system-id "${efs}" \
--backup-policy "Status=ENABLED"
done
Elb Acm Certificate Required
Nome della categoria nell'API: ELB_ACM_CERTIFICATE_REQUIRED
Controlla se il bilanciatore del carico classico utilizza i certificati HTTPS/SSL forniti da AWS Certificate Manager (ACM). Il controllo non va a buon fine se il bilanciatore del carico classico configurato con il listener HTTPS/SSL non utilizza un certificato fornito da ACM.
Per creare un certificato, puoi utilizzare ACM o uno strumento che supporta i protocolli SSL e TLS, come OpenSSL. Security Hub consiglia di utilizzare ACM per creare o importare certificati per il bilanciatore del carico.
ACM si integra con i bilanciatori del carico classici in modo da poter eseguire il deployment del certificato sul bilanciatore del carico. Inoltre, devi rinnovare automaticamente questi certificati.
Consiglio: controlla che tutti i bilanciatori del carico classici utilizzino i certificati SSL forniti da AWS Certificate ManagerPer informazioni su come associare un certificato SSL/TLS ACM a un bilanciatore del carico classico, consulta l'articolo del Knowledge Center AWS Come faccio ad associare un certificato SSL/TLS ACM a un bilanciatore del carico classico, di rete o delle applicazioni?
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoElb Deletion Protection Enabled
Nome della categoria nell'API: ELB_DELETION_PROTECTION_ENABLED
Controlla se per un bilanciatore del carico delle applicazioni è abilitata la protezione dall'eliminazione. Il controllo non va a buon fine se la protezione da eliminazione non è configurata.
Attiva la protezione da eliminazione per proteggere il bilanciatore del carico delle applicazioni dall'eliminazione.
Consiglio: la protezione dall'eliminazione del bilanciatore del carico delle applicazioni deve essere abilitata Per risolvere il problema, segui questi passaggi:Console AWS
Per impedire l'eliminazione accidentale del bilanciatore del carico, puoi attivare la protezione dall'eliminazione. Per impostazione predefinita, la protezione da eliminazione è disabilitata per il bilanciatore del carico.
Se attivi la protezione da eliminazione per il bilanciatore del carico, devi disattivarla prima di poter eliminare il bilanciatore del carico.
Per attivare la protezione da eliminazione dalla console.
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, in BILANCAMENTO DEL CARICO, scegli Bilanciatori del carico.
- Scegli il bilanciatore del carico.
- Nella scheda Descrizione, scegli Modifica attributi.
- Nella pagina Modifica attributi bilanciatore del carico, seleziona Attiva per la protezione da eliminazione e poi scegli Salva.
- Scegli Salva.
Elb Logging Enabled
Nome della categoria nell'API: ELB_LOGGING_ENABLED
Viene controllato se la registrazione è abilitata per il bilanciatore del carico delle applicazioni e per il bilanciatore del carico classico. Il controllo non va a buon fine se access_logs.s3.enabled è false.
Elastic Load Balancing fornisce log di accesso che acquisiscono informazioni dettagliate sulle richieste inviate al bilanciatore del carico. Ogni log contiene informazioni quali l'ora di ricezione della richiesta, l'indirizzo IP del client, le latenze, i percorsi di richiesta e le risposte del server. Puoi utilizzare questi log di accesso per analizzare i pattern di traffico e risolvere i problemi.
Per saperne di più, consulta la sezione Log di accesso per il bilanciatore del carico classico nella Guida dell'utente per i bilanciatori del carico classici.
Consiglio: controlla se i bilanciatori del carico classici e delle applicazioni hanno la registrazione abilitata Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per risolvere il problema, aggiorna i bilanciatori del carico per attivare la registrazione.
Per attivare i log degli accessi
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, scegli Bilanciatori del carico.
- Scegli un bilanciatore del carico delle applicazioni o un bilanciatore del carico classico.
- In Azioni, scegli Modifica attributi.
- In Access logs (Log di accesso), scegli Enable (Attiva).
- Inserisci la posizione S3. Questa località può esistere o può essere creata per te. Se non specifichi un prefisso, i log di accesso vengono archiviati nella directory principale del bucket S3.
- Scegli Salva.
Elb Tls Https Listeners Only
Nome della categoria nell'API: ELB_TLS_HTTPS_LISTENERS_ONLY
Questo controllo garantisce che tutti i bilanciatori del carico classici siano configurati per utilizzare la comunicazione sicura.
Un listener è un processo che controlla le richieste di connessione. È configurato con un protocollo e una porta per le connessioni di frontend (client al bilanciatore del carico) e un protocollo e una porta per le connessioni di backend (bilanciatore del carico all'istanza). Per informazioni su porte, protocolli e configurazioni degli ascoltatori supportati da Elastic Load Balancing, consulta Ascoltatori per il bilanciatore del carico classico.
Consiglio: controlla che tutti i bilanciatori del carico classici siano configurati con listener SSL o HTTPSPer configurare SSL o TLS per i bilanciatori del carico classici, consulta Creare un bilanciatore del carico HTTPS/SSL utilizzando la Console di gestione AWS.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoEncrypted Volumes
Nome della categoria nell'API: ENCRYPTED_VOLUMES
Controlla se i volumi EBS in stato collegato sono criptati. Per superare questo controllo, i volumi EBS devono essere in uso e criptati. Se il volume EBS non è collegato, non è soggetto a questo controllo.
Per un ulteriore livello di sicurezza dei dati sensibili nei volumi EBS, devi attivare la crittografia at-rest di EBS. La crittografia Amazon EBS offre una soluzione di crittografia semplice per le risorse EBS che non richiede la creazione, la manutenzione e la protezione della tua infrastruttura di gestione delle chiavi. Utilizza le chiavi KMS per creare volumi e istantanee criptati.
Per scoprire di più sulla crittografia Amazon EBS, consulta la sezione Crittografia Amazon EBS nella Guida dell'utente di Amazon EC2 per le istanze Linux.
Consiglio: i volumi Amazon EBS collegati devono essere criptati at-rest Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Non esiste un modo diretto per criptare uno snapshot o un volume non criptato esistente. Puoi criptare un nuovo volume o snapshot solo al momento della creazione.
Se hai attivato la crittografia per impostazione predefinita, Amazon EBS cripta il nuovo volume o lo snapshot risultante utilizzando la chiave predefinita per la crittografia Amazon EBS. Anche se non hai attivato la crittografia per impostazione predefinita, puoi attivarla quando crei un singolo volume o snapshot. In entrambi i casi, puoi eseguire l'override della chiave predefinita per la crittografia Amazon EBS e scegliere una chiave simmetrica gestita dal cliente.
Per ulteriori informazioni, consulta Creare un volume Amazon EBS e Copiare uno snapshot Amazon EBS nella Guida dell'utente di Amazon EC2 per le istanze Linux.
Encryption At Rest Enabled Rds Instances
Nome della categoria nell'API: ENCRYPTION_AT_REST_ENABLED_RDS_INSTANCES
Le istanze di database Amazon RDS con crittografia utilizzano l'algoritmo di crittografia AES-256 standard di settore per criptare i dati sul server che ospita le istanze di database Amazon RDS. Dopo la crittografia dei dati, Amazon RDS gestisce l'autenticazione dell'accesso e la decrittografia dei dati in modo trasparente con un impatto minimo sulle prestazioni.
Consiglio: assicurati che la crittografia at-rest sia abilitata per le istanze RDS Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la dashboard di RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel pannello di navigazione a sinistra, fai clic su
Databases
. - Seleziona l'istanza di database che deve essere criptata.
- Fai clic sul pulsante
Actions
in alto a destra e selezionaTake Snapshot
. - Nella pagina Acquisisci snapshot, inserisci il nome di un database di cui vuoi acquisire uno snapshot nel campo
Snapshot Name
e fai clic suTake Snapshot
. - Seleziona lo snapshot appena creato, fai clic sul pulsante
Action
in alto a destra e selezionaCopy snapshot
dal menu Azione. - Nella pagina Crea copia dello snapshot del database, svolgi i seguenti passaggi:
- Nel campo Identificatore della nuova istantanea del database, inserisci un nome per
new snapshot
. - Seleziona
Copy Tags
, Il nuovo snapshot deve avere gli stessi tag dello snapshot di origine. - Seleziona
Yes
dall'elenco a discesaEnable Encryption
per attivare la crittografia. Puoi scegliere di utilizzare la chiave di crittografia predefinita di AWS o la chiave personalizzata dall'elenco a discesa Chiave principale.
- Fai clic su
Copy Snapshot
per creare una copia criptata dello snapshot dell'istanza selezionata. - Seleziona la nuova copia protetta con crittografia dello snapshot, fai clic sul pulsante
Action
in alto a destra e seleziona il pulsanteRestore Snapshot
dal menu Azione. In questo modo, lo snapshot criptato verrà ripristinato in una nuova istanza di database. - Nella pagina Ripristina istanza DB, inserisci un nome univoco per la nuova istanza di database nel campo Identificatore istanza DB.
- Esamina i dettagli di configurazione dell'istanza e fai clic su
Restore DB Instance
. - Al termine del processo di provisioning della nuova istanza, puoi aggiornare la configurazione dell'applicazione in modo che rimandi all'endpoint della nuova istanza di database criptata. Una volta modificato l'endpoint del database a livello di applicazione, puoi rimuovere l'istanza non criptata.
AWS CLI
- Esegui il comando
describe-db-instances
per elencare tutti i nomi dei database RDS disponibili nella regione AWS selezionata. L'output comando dovrebbe restituire l'identificatore dell'istanza del database.
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- Esegui il comando
create-db-snapshot
per creare uno snapshot per l'istanza del database selezionata. L'output comando restituirànew snapshot
con il nome Nome snapshot del database.
aws rds create-db-snapshot --region <region-name> --db-snapshot-identifier <DB-Snapshot-Name> --db-instance-identifier <DB-Name>
- Ora esegui il comando
list-aliases
per elencare gli alias delle chiavi KMS disponibili in una regione specificata. L'output comando dovrebbe restituire ognikey alias currently available
. Per la procedura di attivazione della crittografia RDS, individua l'ID della chiave KMS predefinita di AWS.
aws kms list-aliases --region <region-name>
- Esegui il comando
copy-db-snapshot
utilizzando l'ID chiave KMS predefinito per le istanze RDS restituito in precedenza per creare una copia criptata dello snapshot dell'istanza del database. L'output comando restituiràencrypted instance snapshot configuration
.
aws rds copy-db-snapshot --region <region-name> --source-db-snapshot-identifier <DB-Snapshot-Name> --target-db-snapshot-identifier <DB-Snapshot-Name-Encrypted> --copy-tags --kms-key-id <KMS-ID-For-RDS>
- Esegui il comando
restore-db-instance-from-db-snapshot
per ripristinare lo snapshot criptato creato nel passaggio precedente in una nuova istanza di database. Se l'operazione è riuscita, l'output comando dovrebbe restituire la nuova configurazione dell'istanza di database criptata.
aws rds restore-db-instance-from-db-snapshot --region <region-name> --db-instance-identifier <DB-Name-Encrypted> --db-snapshot-identifier <DB-Snapshot-Name-Encrypted>
- Esegui il comando
describe-db-instances
per elencare tutti i nomi dei database RDS disponibili nella regione AWS selezionata. L'output restituirà il nome dell'identificatore dell'istanza del database. Seleziona il nome del database criptato che abbiamo appena creato DB-Name-Encrypted.
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- Esegui di nuovo il comando
describe-db-instances
utilizzando l'identificatore dell'istanza RDS restituito in precedenza per determinare se l'istanza del database selezionata è criptata. L'output comando dovrebbe restituire lo stato della crittografiaTrue
.
aws rds describe-db-instances --region <region-name> --db-instance-identifier <DB-Name-Encrypted> --query 'DBInstances[*].StorageEncrypted'
Encryption Enabled Efs File Systems
Nome della categoria nell'API: ENCRYPTION_ENABLED_EFS_FILE_SYSTEMS
I dati di EFS devono essere criptati a riposo utilizzando AWS KMS (Key Management Service).
Consiglio: assicurati che la crittografia sia abilitata per i file system EFS Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e vai alla dashboard
Elastic File System (EFS)
. - Seleziona
File Systems
dal pannello di navigazione a sinistra. - Fai clic sul pulsante
Create File System
nel menu in alto della dashboard per avviare la procedura di configurazione del file system. -
Nella pagina di configurazione di
Configure file system access
, esegui le seguenti azioni.
- Scegli la VPC corretta dall'elenco a discesa VPC.
- Nella sezione Crea target di montaggio, seleziona le caselle di controllo per tutte le zone di disponibilità (AZ) all'interno del VPC selezionato. Questi saranno i target di montaggio.
- Fai clic suNext step
per continuare. -
Nella pagina
Configure optional settings
, svolgi i seguenti passaggi.
- Creatags
per descrivere il nuovo file system.
- Scegliperformance mode
in base alle tue esigenze.
- Seleziona la casella di controlloEnable encryption
e scegliaws/elasticfilesystem
dall'elenco a discesa Seleziona chiave master KMS per attivare la crittografia per il nuovo file system utilizzando la chiave master predefinita fornita e gestita da AWS KMS.
- Fai clic suNext step
per continuare. -
Esamina i dettagli di configurazione del file system nella pagina
review and create
e poi fai clic suCreate File System
per creare il nuovo file system AWS EFS. - Copia i dati dal vecchio file system EFS non criptato nel file system criptato appena creato.
- Rimuovi il file system non criptato non appena la migrazione dei dati al file system criptato appena creato è completata.
- Modifica la regione AWS dalla barra di navigazione e ripeti l'intera procedura per le altre regioni AWS.
Dall'interfaccia a riga di comando:
1. Esegui il comando describe-file-systems per descrivere le informazioni di configurazione disponibili per il file system selezionato (non criptato) (vedi la sezione Audit per identificare la risorsa corretta):
aws efs describe-file-systems --region <region> --file-system-id <file-system-id from audit section step 2 output>
- L'output del comando dovrebbe restituire le informazioni di configurazione richieste.
- Per eseguire il provisioning di un nuovo file system AWS EFS, devi generare un identificatore univoco universale (UUID) per creare il token richiesto dal comando create-file-system. Per creare il token richiesto, puoi utilizzare un UUID generato in modo casuale da "https://www.uuidgenerator.net".
- Esegui il comando create-file-system utilizzando il token univoco creato nel passaggio precedente.
aws efs create-file-system --region <region> --creation-token <Token (randomly generated UUID from step 3)> --performance-mode generalPurpose --encrypted
- L'output del comando dovrebbe restituire i metadati della nuova configurazione del file system.
- Esegui il comando create-mount-target utilizzando l'ID del file system EFS appena creato restituito nel passaggio precedente come identificatore e l'ID della zona di disponibilità (AZ) che rappresenterà il target di montaggio:
aws efs create-mount-target --region <region> --file-system-id <file-system-id> --subnet-id <subnet-id>
- L'output del comando dovrebbe restituire i metadati del nuovo target di montaggio.
- Ora puoi montare il file system da un'istanza EC2.
- Copia i dati dal vecchio file system EFS non criptato nel file system criptato appena creato.
- Rimuovi il file system non criptato non appena la migrazione dei dati al file system criptato appena creato è completata.
aws efs delete-file-system --region <region> --file-system-id <unencrypted-file-system-id>
- Modifica la regione AWS aggiornando il parametro --region e ripeti l'intera procedura per le altre regioni AWS.
Iam Password Policy
Nome della categoria nell'API: IAM_PASSWORD_POLICY
AWS consente di definire criteri relativi alle password personalizzati nel tuo account AWS per specificare requisiti di complessità e periodi di rotazione obbligatori per le password degli utenti IAM. Se non imposti un criterio della password personalizzato, le password degli utenti IAM devono soddisfare il criterio della password AWS predefinito. Le best practice per la sicurezza di AWS consigliano i seguenti requisiti di complessità delle password:
- Richiedi almeno un carattere maiuscolo nella password.
- Richiedi almeno un carattere minuscolo nelle password.
- Richiedi almeno un simbolo nelle password.
- Richiedi almeno un numero nelle password.
- Richiedi una lunghezza minima della password di almeno 14 caratteri.
- Richiedi almeno 24 password prima di consentire il riutilizzo.
- Richiedi almeno 90 giorni prima della scadenza della password
Questo controllo verifica tutti i requisiti specificati per le norme relative alle password.
Consiglio: controlla se il criterio della password dell'account per gli utenti IAM soddisfa i requisiti specificati Per risolvere il problema, svolgi i seguenti passaggi:Terraform
resource "aws_iam_account_password_policy" "strict" {
allow_users_to_change_password = true
require_uppercase_characters = true
require_lowercase_characters = true
require_symbols = true
require_numbers = true
minimum_password_length = 14
password_reuse_prevention = 24
max_password_age = 90
}
Console AWS
Per creare un criterio per le password personalizzato
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, scegli Impostazioni account.
- Nella sezione Norme relative alle password, scegli Modifica norme relative alle password.
- Seleziona le opzioni da applicare ai criteri per le password e scegli Salva modifiche.
Per modificare un criterio password personalizzato
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, scegli Impostazioni account.
- Nella sezione Norme relative alle password, scegli Modifica.
- Seleziona le opzioni da applicare ai criteri per le password e scegli Salva modifiche.
AWS CLI
aws iam update-account-password-policy \
--allow-users-to-change-password \
--require-uppercase-characters \
--require-lowercase-characters \
--require-symbols \
--require-numbers \
--minimum-password-length 14 \
--password-reuse-prevention 24 \
--max-password-age 90
Iam Password Policy Prevents Password Reuse
Nome della categoria nell'API: IAM_PASSWORD_POLICY_PREVENTS_PASSWORD_REUSE
I criteri delle password IAM possono impedire il riutilizzo di una determinata password dallo stesso utente. È consigliabile che il criterio della password impedisca il riutilizzo delle password.
Consiglio: assicurati che il criterio della password IAM impedisca il riutilizzo della password Per risolvere il problema, segui questi passaggi:Console AWS
- Accedi alla console AWS (con le autorizzazioni appropriate per visualizzare le impostazioni dell'account Identity Access Management)
- Vai al servizio IAM nella console AWS
- Fai clic su Impostazioni account nel riquadro a sinistra.
- Seleziona "Impedire il riutilizzo della password".
- Imposta "Numero di password da ricordare" su
24
AWS CLI
aws iam update-account-password-policy --password-reuse-prevention 24
Nota: tutti i comandi che iniziano con "aws iam update-account-password-policy" possono essere combinati in un unico comando.
Iam Password Policy Requires Minimum Length 14 Greater
Nome della categoria nell'API: IAM_PASSWORD_POLICY_REQUIRES_MINIMUM_LENGTH_14_GREATER
I criteri relativi alle password vengono utilizzati in parte per applicare i requisiti di complessità delle password. I criteri relativi alle password IAM possono essere utilizzati per garantire che le password abbiano almeno una determinata lunghezza. È consigliabile che il criterio della password richieda una lunghezza minima di 14 caratteri.
Consiglio: assicurati che il criterio della password IAM richieda una lunghezza minima di 14 caratteri Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla console AWS (con le autorizzazioni appropriate per visualizzare le impostazioni dell'account Identity Access Management)
- Vai al servizio IAM nella console AWS
- Fai clic su Impostazioni account nel riquadro a sinistra.
- Imposta "Lunghezza minima della password" su
14
o superiore. - Fai clic su "Applica criteri per le password"
AWS CLI
aws iam update-account-password-policy --minimum-password-length 14
Nota: tutti i comandi che iniziano con "aws iam update-account-password-policy" possono essere combinati in un unico comando.
Iam Policies Allow Full Administrative Privileges Attached
Nome della categoria nell'API: IAM_POLICIES_ALLOW_FULL_ADMINISTRATIVE_PRIVILEGES_ATTACHED
I criteri IAM sono il mezzo attraverso il quale vengono concessi i privilegi a utenti, gruppi o ruoli. È consigliabile e considerato un consiglio di sicurezza standard concedere il privilegio minimo, ovvero concedere solo le autorizzazioni necessarie per eseguire un'attività. Determina cosa devono fare gli utenti e poi crea criteri che consentano loro di eseguire solo queste attività, anziché concedere privilegi amministrativi completi.
Consiglio: assicurati che non siano collegati criteri IAM che consentono privilegi amministrativi completi "*:*" Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per scollegare il criterio con privilegi amministrativi completi:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, fai clic su Norme e cerca il nome del criterio trovato nel passaggio di controllo.
- Seleziona il criterio da eliminare.
- Nel menu Azione norma, seleziona prima
Detach
- Seleziona tutti gli utenti, i gruppi e i ruoli a cui è associato questo criterio
- Fai clic su
Detach Policy
. - Nel menu Azione per le norme, seleziona
Detach
.
AWS CLI
Per scollegare il criterio con privilegi amministrativi completi rilevato nel passaggio di controllo:
- Elenca tutti gli utenti, i gruppi e i ruoli IAM a cui è associato il criterio gestito specificato.
aws iam list-entities-for-policy --policy-arn <policy_arn>
- Scollega il criterio da tutti gli utenti IAM:
aws iam detach-user-policy --user-name <iam_user> --policy-arn <policy_arn>
- Scollega il criterio da tutti i gruppi IAM:
aws iam detach-group-policy --group-name <iam_group> --policy-arn <policy_arn>
- Scollega il criterio da tutti i ruoli IAM:
aws iam detach-role-policy --role-name <iam_role> --policy-arn <policy_arn>
Iam Users Receive Permissions Groups
Nome della categoria nell'API: IAM_USERS_RECEIVE_PERMISSIONS_GROUPS
Agli utenti IAM viene concesso l'accesso a servizi, funzioni e dati tramite i criteri IAM. Esistono quattro modi per definire i criteri per un utente: 1) modificare direttamente il criterio utente, ovvero un criterio in linea o utente; 2) associare un criterio direttamente a un utente; 3) aggiungere l'utente a un gruppo IAM con un criterio associato; 4) aggiungere l'utente a un gruppo IAM con un criterio in linea.
È consigliata solo la terza implementazione.
Consiglio: assicurati che gli utenti IAM ricevano le autorizzazioni solo tramite i gruppiPer creare un gruppo IAM e assegnargli un criterio:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, fai clic su
Groups
e poi suCreate New Group
. - Nella casella
Group Name
, digita il nome del gruppo e poi fai clic suNext Step
. - Nell'elenco delle norme, seleziona la casella di controllo per ogni norma che vuoi applicare a tutti i membri del gruppo. Quindi, fai clic su
Next Step
. - Fai clic su
Create Group
.
Per aggiungere un utente a un determinato gruppo:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, fai clic su
Groups
- Seleziona il gruppo a cui aggiungere un utente
- Fai clic su
Add Users To Group
. - Seleziona gli utenti da aggiungere al gruppo
- Fai clic su
Add Users
.
Per rimuovere un'associazione diretta tra un utente e un criterio:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione a sinistra, fai clic su Utenti.
- Per ogni utente:
- Seleziona l'utente
- Fai clic sulla schedaPermissions
- EspandiPermissions policies
- Fai clic suX
per ogni criterio, poi su Scollega o Rimuovi (a seconda del tipo di criterio)
Iam User Group Membership Check
Nome della categoria nell'API: IAM_USER_GROUP_MEMBERSHIP_CHECK
Per rispettare le best practice per la sicurezza IAM, gli utenti IAM devono sempre far parte di un gruppo IAM.
Aggiungendo utenti a un gruppo, è possibile condividere i criteri tra tipi di utenti.
Consiglio: controlla se gli utenti IAM sono membri di almeno un gruppo IAM Per risolvere il problema, svolgi i seguenti passaggi:Terraform
resource "aws_iam_user" "example" {
name = "test-iam-user"
path = "/users/dev/"
}
resource "aws_iam_group" "example" {
name = "Developers"
path = "/users/dev/"
}
resource "aws_iam_user_group_membership" "example" {
user = aws_iam_user.example.name
groups = [aws_iam_group.example.name]
}
Console AWS
Quando utilizzi la Console di gestione AWS per eliminare un utente IAM, IAM elimina automaticamente le seguenti informazioni:
- L'utente
- Qualsiasi appartenenza a gruppi di utenti, ovvero l'utente viene rimosso da tutti i gruppi di utenti IAM di cui faceva parte
- Qualsiasi password associata all'utente
- Eventuali chiavi di accesso appartenenti all'utente
- Tutti i criteri in linea incorporati nell'utente (non sono interessati i criteri applicati a un utente tramite le autorizzazioni del gruppo di utenti)
Per eliminare un utente IAM:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, scegli Utenti e seleziona la casella di controllo accanto al nome dell'utente che vuoi eliminare.
- Nella parte superiore della pagina, scegli Elimina.
- Nella finestra di dialogo di conferma, inserisci il nome utente nel campo di immissione di testo per confermare l'eliminazione dell'utente.
- Scegli Elimina.
Per aggiungere un utente a un gruppo di utenti IAM:
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Nel riquadro di navigazione, scegli Gruppi di utenti e poi il nome del gruppo.
- Scegli la scheda Utenti, quindi Aggiungi utenti. Seleziona la casella di controllo accanto agli utenti che vuoi aggiungere.
- Scegli Aggiungi utenti.
AWS CLI
A differenza della Console di gestione Amazon Web Services, quando elimini un utente tramite programmazione, devi eliminare manualmente gli elementi associati all'utente, altrimenti l'eliminazione non andrà a buon fine.
Prima di tentare di eliminare un utente, rimuovi i seguenti elementi:
- Password ( DeleteLoginProfile )
- Chiavi di accesso ( DeleteAccessKey )
- Certificato di firma ( DeleteSigningCertificate )
- Chiave pubblica SSH ( DeleteSSHPublicKey )
- Credenziali Git ( DeleteServiceSpecificCredential )
- Dispositivo di autenticazione a più fattori (MFA) ( DeactivateMFADevice , DeleteVirtualMFADevice )
- Norme in linea ( DeleteUserPolicy )
- Criteri gestiti collegati ( DetachUserPolicy )
- Aggiunta di utenti ai gruppi ( RemoveUserFromGroup )
Per eliminare un utente, dopo aver eliminato tutti gli elementi associati:
aws iam delete-user \
--user-name "test-user"
Per aggiungere un utente IAM a un gruppo IAM:
aws iam add-user-to-group \
--group-name "test-group"
--user-name "test-user"
Iam User Mfa Enabled
Nome della categoria nell'API: IAM_USER_MFA_ENABLED
L'autenticazione a più fattori (MFA) è una best practice che aggiunge un ulteriore livello di protezione oltre ai nomi utente e alle password. Con la MFA, quando un utente accede alla Console di gestione AWS, deve fornire un codice di autenticazione soggetto a scadenza, fornito da un dispositivo fisico o virtuale registrato.
Consiglio: controlla se per gli utenti IAM AWS è abilitata l'autenticazione a più fattori (MFA) Per risolvere il problema, segui questi passaggi:Terraform
Per quanto riguarda Terraform, esistono alcune opzioni per risolvere il problema dell'assenza di dispositivi MFA. Probabilmente hai già una struttura ragionevole per organizzare gli utenti in gruppi e criteri restrittivi.
L'esempio seguente mostra come:
- Creare utenti.
- Crea i profili di accesso degli utenti con una chiave pubblica PGP.
- Crea gruppi e criteri di gruppo che consentano la gestione autonoma del profilo IAM.
- Collega gli utenti al gruppo.
- Crea dispositivi MFA virtuali per gli utenti.
- Fornisci a ogni utente il codice QR di output e la password.
variable "users" {
type = set(string)
default = [
"test@example.com",
"test2@example.com"
]
}
resource "aws_iam_user" "test_users" {
for_each = toset(var.users)
name = each.key
}
resource "aws_iam_user_login_profile" "test_users_profile" {
for_each = var.users
user = each.key
# Key pair created using GnuPG, this is the public key
pgp_key = file("path/to/gpg_pub_key_base64.pem")
password_reset_required = true
lifecycle {
ignore_changes = [
password_length,
password_reset_required,
pgp_key,
]
}
}
resource "aws_iam_virtual_mfa_device" "test_mfa" {
for_each = toset(var.users)
virtual_mfa_device_name = each.key
}
resource "aws_iam_group" "enforce_mfa_group" {
name = "EnforceMFAGroup"
}
resource "aws_iam_group_membership" "enforce_mfa_group_membership" {
name = "EnforceMFAGroupMembership"
group = aws_iam_group.enforce_mfa_group.name
users = [for k in aws_iam_user.test_users : k.name]
}
resource "aws_iam_group_policy" "enforce_mfa_policy" {
name = "EnforceMFAGroupPolicy"
group = aws_iam_group.enforce_mfa_group.id
policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:GetAccountPasswordPolicy",
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowManageOwnPasswords",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:GetUser"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnAccessKeys",
"Effect": "Allow",
"Action": [
"iam:CreateAccessKey",
"iam:DeleteAccessKey",
"iam:ListAccessKeys",
"iam:UpdateAccessKey"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnSigningCertificates",
"Effect": "Allow",
"Action": [
"iam:DeleteSigningCertificate",
"iam:ListSigningCertificates",
"iam:UpdateSigningCertificate",
"iam:UploadSigningCertificate"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnSSHPublicKeys",
"Effect": "Allow",
"Action": [
"iam:DeleteSSHPublicKey",
"iam:GetSSHPublicKey",
"iam:ListSSHPublicKeys",
"iam:UpdateSSHPublicKey",
"iam:UploadSSHPublicKey"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnGitCredentials",
"Effect": "Allow",
"Action": [
"iam:CreateServiceSpecificCredential",
"iam:DeleteServiceSpecificCredential",
"iam:ListServiceSpecificCredentials",
"iam:ResetServiceSpecificCredential",
"iam:UpdateServiceSpecificCredential"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/$${aws:username}"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/$${aws:username}"
},
{
"Sid": "DenyAllExceptListedIfNoMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:GetUser",
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"sts:GetSessionToken"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
POLICY
}
output "user_password_map" {
# Outputs a map in the format {"test@example.com": <PGPEncryptedPassword>, "test2@example.com": <PGPEncryptedPassword>}
value = { for k, v in aws_iam_user_login_profile.test_users_profile : k => v.password }
}
output "user_qr_map" {
# Outputs a map in the format {"test@example.com": <QRCode>, "test2@example.com": <QRCode>}
value = { for k, v in aws_iam_virtual_mfa_device.test_mfa : k => v.qr_code_png }
}
Console AWS
Per attivare l'MFA per tutti gli account utente con accesso alla console AWS, consulta Attivare un dispositivo di autenticazione a più fattori (MFA) virtuale (console) nella documentazione AWS.
AWS CLI
Creare un dispositivo per MFA
aws iam create-virtual-mfa-device \
--virtual-mfa-device-name "test@example.com" \
--outfile ./QRCode.png \
--bootstrap-method QRCodePNG
Attivare il dispositivo MFA per un utente esistente
aws iam enable-mfa-device \
--user-name "test@example.com" \
--serial-number "arn:aws:iam::123456976749:mfa/test@example.com" \
--authentication-code1 123456 \
--authentication-code2 654321
Iam User Unused Credentials Check
Nome della categoria nell'API: IAM_USER_UNUSED_CREDENTIALS_CHECK
Vengono controllate eventuali password o chiavi di accesso attive IAM che non sono state utilizzate negli ultimi 90 giorni.
Le best practice consigliano di rimuovere, disattivare o ruotare tutte le credenziali non utilizzate per almeno 90 giorni. In questo modo si riduce la finestra di opportunità per l'utilizzo delle credenziali associate a un account compromesso o abbandonato.
Consiglio: controlla che tutti gli utenti IAM AWS dispongano di password o chiavi di accesso attive che non sono state utilizzate in maxCredentialUsageAge giorni (il valore predefinito è 90) Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per rimuovere le chiavi di accesso scadute create tramite Terraform, rimuovi la risorsa aws_iam_access_key
dal modulo e applica la modifica.
Per reimpostare la password di accesso di un utente IAM, utilizza -replace
quando esegui terraform apply
.
Supponiamo il seguente profilo di accesso utente
resource "aws_iam_user" "example" {
name = "test@example.com"
path = "/users/"
force_destroy = true
}
resource "aws_iam_user_login_profile" "example" {
user = aws_iam_user.example.name
pgp_key = "keybase:some_person_that_exists"
}
Esegui il seguente comando per reimpostare la password del profilo di accesso dell'utente
terraform apply -replace="aws_iam_user_login_profile.example"
Console AWS
Per disattivare le credenziali per gli account inattivi:
- Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Scegli Utenti.
- Scegli il nome dell'utente le cui credenziali risalgono a più di 90 giorni fa/sono state utilizzate per l'ultima volta più di 90 giorni fa.
- Scegli Credenziali di sicurezza.
- Per ogni credenziale di accesso e chiave di accesso che non è stata utilizzata da almeno 90 giorni, scegli Rendi inattiva.
Per richiedere una nuova password agli utenti della console al successivo accesso:
- Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Scegli Utenti.
- Scegli il nome dell'utente le cui credenziali risalgono a più di 90 giorni fa/sono state utilizzate per l'ultima volta più di 90 giorni fa.
- Scegli Credenziali di sicurezza.
- In Credenziali di accesso e password della console, scegli Gestisci.
- Imposta una nuova password (generata automaticamente o personalizzata).
- Seleziona la casella per richiedere la reimpostazione della password.
- Scegli Applica.
AWS CLI
Per rendere inattive le chiavi di accesso
aws iam update-access-key \
--access-key-id <value> \
--status "Inactive"
Per eliminare le chiavi di accesso
aws iam delete-access-key \
--access-key-id <value>
Per reimpostare la password del profilo di accesso di un utente
aws iam update-login-profile \
--user-name "test@example.com" \
--password <temporary_password> \
--password-reset-required
Kms Cmk Not Scheduled For Deletion
Nome della categoria nell'API: KMS_CMK_NOT_SCHEDULED_FOR_DELETION
Questo controllo verifica se è stata pianificata l'eliminazione delle chiavi KMS. Il controllo non va a buon fine se è pianificata l'eliminazione di una chiave KMS.
Le chiavi KMS non possono essere recuperate una volta eliminate. Anche i dati criptati con una chiave KMS non sono recuperabili in modo permanente se la chiave KMS viene eliminata. Se i dati significativi sono stati criptati con una chiave KMS pianificata per l'eliminazione, valuta la possibilità di decriptarli o criptarli di nuovo con una nuova chiave KMS, a meno che tu non stia eseguendo intenzionalmente un'eliminazione di dati con crittografia.
Quando è pianificata l'eliminazione di una chiave KMS, viene applicato un periodo di attesa obbligatorio per consentire di annullare l'eliminazione, se è stata pianificata per errore. Il periodo di attesa predefinito è di 30 giorni, ma può essere ridotto fino a 7 giorni quando è pianificata l'eliminazione della chiave KMS. Durante il periodo di attesa, l'eliminazione pianificata può essere annullata e la chiave KMS non verrà eliminata.
Per ulteriori informazioni sull'eliminazione delle chiavi KMS, consulta la sezione Eliminare le chiavi KMS nella Guida per gli sviluppatori di AWS Key Management Service.
Consiglio: controlla che non sia pianificata l'eliminazione di tutte le CMKPer annullare un'eliminazione pianificata delle chiavi KMS, consulta Per annullare l'eliminazione delle chiavi in Pianificazione e annullamento dell'eliminazione delle chiavi (console) nella Guida per gli sviluppatori di AWS Key Management Service.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoLambda Concurrency Check
Nome della categoria nell'API: LAMBDA_CONCURRENCY_CHECK
Controlla se la funzione Lambda è configurata con un limite di esecuzione simultanea a livello di funzione. La regola è NON_COMPLIANT se la funzione Lambda non è configurata con un limite di esecuzione simultanea a livello di funzione.
Consiglio: controlla se le funzioni Lambda sono configurate con un limite di esecuzione simultanea a livello di funzionePer configurare un limite di esecuzione simultanea a livello di funzione, consulta Configurare la contemporaneità riservata nella documentazione di AWS Lambda.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamentoLambda Dlq Check
Nome della categoria nell'API: LAMBDA_DLQ_CHECK
Controlla se una funzione Lambda è configurata con una coda di messaggi non recapitabili. La regola è NON_COMPLIANT se la funzione Lambda non è configurata con una coda di messaggi non recapitabili.
Consiglio: controlla se le funzioni Lambda sono configurate con una coda di messaggi non recapitabiliPer aggiornare le funzioni Lambda in modo che utilizzino le code di messaggi non recapitabili, consulta la sezione Code di messaggi non recapitabili nella documentazione di AWS.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoLambda Function Public Access Prohibited
Nome della categoria nell'API: LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED
Le best practice di AWS consigliano di non esporre pubblicamente la funzione Lambda. Questo criterio controlla tutte le funzioni Lambda di cui è stato eseguito il deployment in tutte le regioni abilitate all'interno del tuo account e non avrà esito positivo se sono configurate per consentire l'accesso pubblico.
Consiglio: controlla se il criterio collegato alla funzione Lambda vieta l'accesso pubblico Per risolvere il problema, segui questi passaggi:Terraform
L'esempio seguente mostra come utilizzare Terraform per eseguire il provisioning di un ruolo IAM che limita l'accesso a una funzione Lambda e per associare il ruolo alla funzione Lambda.
resource "aws_iam_role" "iam_for_lambda" {
name = "iam_for_lambda"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}
resource "aws_lambda_function" "test_lambda" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "index.test"
source_code_hash = filebase64sha256("lambda_function_payload.zip")
runtime = "nodejs12.x"
}
Console AWS
Se una funzione Lambda non supera questo controllo, significa che l'istruzione di criteri basata sulle risorse per la funzione Lambda consente l'accesso pubblico.
Per risolvere il problema, devi aggiornare il criterio per rimuovere le autorizzazioni o aggiungere la condizione AWS:SourceAccount
. Puoi aggiornare il criterio basato sulle risorse solo dall'API Lambda.
Le istruzioni riportate di seguito utilizzano la console per esaminare il criterio e l'interfaccia a riga di comando AWS per rimuovere le autorizzazioni.
Per visualizzare il criterio basato sulle risorse per una funzione Lambda
- Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/.
- Nel riquadro di navigazione, scegli Funzioni.
- Scegli la funzione.
- Scegli Autorizzazioni. Il criterio basato sulle risorse mostra le autorizzazioni applicate quando un altro account o servizio AWS tenta di accedere alla funzione.
- Esamina il criterio basato sulle risorse.
- Identifica l'istruzione del criterio che ha valori del campo Principal che rendono pubblico il criterio. Ad esempio, consentendo
"*"
o{ "AWS": "*" }
.
Non puoi modificare il criterio dalla console. Per rimuovere le autorizzazioni dalla funzione, utilizza il comando remove-permission dell'interfaccia a riga di comando AWS.
Prendi nota del valore dell'ID istruzione (Sid) per l'istruzione che vuoi rimuovere.
AWS CLI
Per utilizzare l'interfaccia a riga di comando per rimuovere le autorizzazioni da una funzione Lambda, esegui il comando remove-permission
come segue.
aws lambda remove-permission \
--function-name <value> \
--statement-id <value>
Lambda Inside Vpc
Nome della categoria nell'API: LAMBDA_INSIDE_VPC
Controlla se una funzione Lambda si trova in un VPC. Potresti visualizzare risultati non riusciti per le risorse Lambda@Edge.
Non valuta la configurazione del routing delle subnet VPC per determinare la raggiungibilità pubblica.
Consiglio: controlla se esistono funzioni Lambda all'interno di un VPC Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
Per configurare una funzione per la connessione a subnet private in un virtual private cloud (VPC) nel tuo account:
- Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/.
- Vai a Funzioni e seleziona la funzione Lambda.
- Scorri fino a Rete e seleziona un VPC con i requisiti di connettività della funzione.
- Per eseguire le funzioni in modalità di alta disponibilità, Security Hub consiglia di scegliere almeno due subnet.
- Scegli almeno un gruppo di sicurezza che abbia i requisiti di connettività della funzione.
- Scegli Salva.
Per ulteriori informazioni, consulta la sezione sulla configurazione di una funzione Lambda per accedere alle risorse in un VPC nella Guida per gli sviluppatori di AWS Lambda.
Mfa Delete Enabled S3 Buckets
Nome della categoria nell'API: MFA_DELETE_ENABLED_S3_BUCKETS
Una volta abilitata l'eliminazione con autenticazione MFA nel bucket S3 sensibile e classificato, l'utente deve disporre di due forme di autenticazione.
Consiglio: assicurati che l'eliminazione con autenticazione a due fattori sia abilitata sui bucket S3Per attivare l'eliminazione con autenticazione a MFA in un bucket S3, svolgi i passaggi riportati di seguito.
Nota:
-Non puoi attivare l'eliminazione con l'autenticazione a due fattori utilizzando la Console di gestione AWS. Devi utilizzare l'API o l'interfaccia a riga di comando AWS.
- Devi utilizzare il tuo account "root" per attivare l'eliminazione con autenticazione a due fattori sui bucket S3.
Dalla riga di comando:
- Esegui il comando s3api put-bucket-versioning
aws s3api put-bucket-versioning --profile my-root-profile --bucket Bucket_Name --versioning-configuration Status=Enabled,MFADelete=Enabled --mfa “arn:aws:iam::aws_account_id:mfa/root-account-mfa-device passcode”
Mfa Enabled Root User Account
Nome della categoria nell'API: MFA_ENABLED_ROOT_USER_ACCOUNT
L'account utente "root" è l'utente con più privilegi in un account AWS. L'autenticazione a più fattori (MFA) aggiunge un ulteriore livello di protezione oltre a un nome utente e una password. Con l'MFA abilitata, quando un utente accede a un sito web AWS, gli verranno richiesti il nome utente e la password, nonché un codice di autenticazione dal suo dispositivo MFA AWS.
Nota: quando viene utilizzata l'autenticazione a due MFA virtuale per gli account "root", è consigliabile che il dispositivo utilizzato NON sia un dispositivo personale, ma piuttosto un dispositivo mobile dedicato (tablet o smartphone) che viene gestito in modo da essere tenuto carico e protetto indipendentemente dai singoli dispositivi personali. ("MFA virtuale non personale"). In questo modo si riducono i rischi di perdere l'accesso all'MFA a causa della perdita o della permuta del dispositivo o se la persona che possiede il dispositivo non è più impiegata nell'azienda.
Consiglio: assicurati che l'autenticazione MFA sia abilitata per l'account utente "root"Per impostare l'autenticazione a MFA per l'account utente "root":
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
Nota: per gestire i dispositivi MFA per l'account AWS "root", devi utilizzare le credenziali dell'account "root" per accedere ad AWS. Non puoi gestire i dispositivi MFA per l'account "root" utilizzando altre credenziali.
- Scegli
Dashboard
e inSecurity Status
espandiActivate MFA
nel tuo account principale. - Scegli
Activate MFA
- Nella procedura guidata, scegli il dispositivo
A virtual MFA
e poiNext Step
. - IAM genera e mostra le informazioni di configurazione per il dispositivo MFA, incluso un'immagine del codice QR. L'immagine è una rappresentazione della "chiave di configurazione segreta" disponibile per l'inserimento manuale sui dispositivi che non supportano i codici QR.
- Apri l'applicazione MFA virtuale. Per un elenco di app che puoi utilizzare per ospitare dispositivi virtuali per MFA;autenticazione a due fattori, consulta App di autenticazione a due fattori virtuale. Se l'applicazione MFA virtuale supporta più account (più dispositivi MFA virtuali), scegli l'opzione per creare un nuovo account (un nuovo dispositivo MFA virtuale).
- Determina se l'app MFA supporta i codici QR, quindi esegui una delle seguenti operazioni:
- Utilizza l'app per scansionare il codice QR. Ad esempio, puoi scegliere l'icona della fotocamera o un'opzione simile a Scansiona codice e poi utilizzare la fotocamera del dispositivo per scansionare il codice.
- Nella procedura guidata Gestisci il dispositivo MFA, scegli Mostra chiave segreta per la configurazione manuale e poi digita la chiave di configurazione segreta nell'applicazione MFA.
Al termine, il dispositivo virtuale per MFA;autenticazione a due fattori inizia a generare password monouso.
Nella configurazione guidata Gestisci dispositivo MFA, nella casella Codice di autenticazione 1, digita la password monouso attualmente visualizzata nel dispositivo MFA virtuale. Attendi fino a 30 secondi affinché il dispositivo generi una nuova password monouso. Poi, digita la seconda password una tantum nella casella Codice di autenticazione 2. Scegli Assegna autenticazione a due fattori virtuale.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoMulti Factor Authentication Mfa Enabled All Iam Users Console
Nome della categoria nell'API: MULTI_FACTOR_AUTHENTICATION_MFA_ENABLED_ALL_IAM_USERS_CONSOLE
L'autenticazione a più fattori (MFA) aggiunge un ulteriore livello di garanzia di autenticazione rispetto alle credenziali tradizionali. Con l'MFA abilitata, quando un utente accede alla console AWS, gli vengono richiesti il nome utente e la password, nonché un codice di autenticazione del token MFA fisico o virtuale. Ti consigliamo di attivare l'autenticazione a più fattori per tutti gli account con una password per la console.
Consiglio: assicurati che l'autenticazione a più fattori (MFA) sia abilitata per tutti gli utenti IAM con una password per la console Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo "https://console.aws.amazon.com/iam/"
- Nel riquadro a sinistra, seleziona
Users
. - Nell'elenco
User Name
, scegli il nome dell'utente autenticazione a due MFA che ti interessa. - Scegli la scheda
Security Credentials
, quindiManage MFA Device
. - In
Manage MFA Device wizard
, scegli il dispositivoVirtual MFA
e poiContinue
.
IAM genera e mostra le informazioni di configurazione per il dispositivo MFA, incluso un'immagine del codice QR. L'immagine è una rappresentazione della "chiave di configurazione segreta" disponibile per l'inserimento manuale sui dispositivi che non supportano i codici QR.
- Apri l'applicazione MFA virtuale. Per un elenco di app che puoi utilizzare per ospitare dispositivi MFA virtuali, consulta le applicazioni MFA virtuali all'indirizzo https://aws.amazon.com/iam/details/mfa/#Virtual_MFA_Applications. Se l'applicazione MFA virtuale supporta più account (più dispositivi MFA virtuali), scegli l'opzione per creare un nuovo account (un nuovo dispositivo MFA virtuale).
- Determina se l'app MFA supporta i codici QR, quindi esegui una delle seguenti operazioni:
- Utilizza l'app per scansionare il codice QR. Ad esempio, puoi scegliere l'icona della fotocamera o un'opzione simile a Scansiona codice e poi utilizzare la fotocamera del dispositivo per scansionare il codice.
- Nella procedura guidata Gestisci il dispositivo MFA, scegli Mostra chiave segreta per la configurazione manuale e poi digita la chiave di configurazione segreta nell'applicazione MFA.
Al termine, il dispositivo virtuale per MFA;autenticazione a due fattori inizia a generare password monouso.
-
In
Manage MFA Device wizard
, inMFA Code 1 box
, digita ilone-time password
attualmente visualizzato nel dispositivo di MFA virtuale. Attendi fino a 30 secondi affinché il dispositivo generi una nuova password monouso. Quindi, digita il secondoone-time password
inMFA Code 2 box
. -
Fai clic su
Assign MFA
.
No Network Acls Allow Ingress 0 0 0 0 Remote Server Administration
Nome della categoria nell'API: NO_NETWORK_ACLS_ALLOW_INGRESS_0_0_0_0_REMOTE_SERVER_ADMINISTRATION
La funzione Network Access Control List (NACL) fornisce il filtro stateless del traffico di rete in entrata e in uscita verso le risorse AWS. È consigliabile che nessun NACL consenta l'accesso in entrata senza restrizioni alle porte di amministrazione del server remoto, ad esempio SSH alla porta 22
e RDP alla porta 3389
, utilizzando i protocolli TDP (6), UDP (17) o TUTTI (-1)
Console AWS
Procedi nel seguente modo:
1. Accedi alla Console di gestione AWS all'indirizzo https://console.aws.amazon.com/vpc/home
2. Nel riquadro a sinistra, fai clic su Network ACLs
3. Per ogni ACL di rete da correggere, svolgi i seguenti passaggi:
- Seleziona l'ACL di rete
- Fai clic sulla scheda Inbound Rules
- Fai clic su Edit inbound rules
- A) Aggiorna il campo Origine con un intervallo diverso da 0.0.0.0/0 oppure B) fai clic su Delete
per rimuovere la regola in entrata in violazione
- Fai clic su Save
No Root User Account Access Key Exists
Nome della categoria nell'API: NO_ROOT_USER_ACCOUNT_ACCESS_KEY_EXISTS
L'account utente "root" è l'utente con più privilegi in un account AWS. Le chiavi di accesso AWS forniscono l'accesso programmatico a un determinato account AWS. Ti consigliamo di eliminare tutte le chiavi di accesso associate all'account utente "root".
Consiglio: assicurati che non esistano chiavi di accesso all'account utente "root" Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS come "root" e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
- Fai clic su
<root_account>
in alto a destra e selezionaMy Security Credentials
dall'elenco a discesa. - Nella finestra popup, fai clic su
Continue to Security Credentials
. - Fai clic su
Access Keys
(ID chiave di accesso e chiave di accesso segreta). - Nella colonna
Status
(se sono presenti chiavi attive). - Fai clic su
Delete
(nota: le chiavi eliminate non possono essere recuperate).
Nota: anche se una chiave può essere disattivata, questa chiave inattiva verrà comunque visualizzata nel comando della CLI della procedura di controllo e potrebbe portare a un falso segnalamento di una chiave come non conforme.
No Security Groups Allow Ingress 0 0 0 0 Remote Server Administration
Nome della categoria nell'API: NO_SECURITY_GROUPS_ALLOW_INGRESS_0_0_0_0_REMOTE_SERVER_ADMINISTRATION
I gruppi di sicurezza forniscono il filtro stateful del traffico di rete in entrata e in uscita verso le risorse AWS. È consigliabile che nessun gruppo di sicurezza consenta l'accesso in entrata senza restrizioni alle porte di amministrazione del server remoto, ad esempio SSH alla porta 22
e RDP alla porta 3389
, utilizzando i protocolli TDP (6), UDP (17) o TUTTI (-1)
Per implementare lo stato prescritto:
- Accedi alla Console di gestione AWS all'indirizzo https://console.aws.amazon.com/vpc/home
- Nel riquadro a sinistra, fai clic su
Security Groups
- Per ogni gruppo di sicurezza, svolgi i seguenti passaggi:
- Seleziona il gruppo di sicurezza
- Fai clic sulla scheda
Inbound Rules
. - Fai clic sul pulsante
Edit inbound rules
. - Identifica le regole da modificare o rimuovere
- A) aggiorna il campo Origine con un intervallo diverso da 0.0.0.0/0 oppure B) fai clic su
Delete
per rimuovere la regola in entrata in violazione - Fai clic su
Save rules
.
No Security Groups Allow Ingress 0 Remote Server Administration
Nome della categoria nell'API: NO_SECURITY_GROUPS_ALLOW_INGRESS_0_REMOTE_SERVER_ADMINISTRATION
I gruppi di sicurezza forniscono il filtro stateful del traffico di rete in entrata e in uscita verso le risorse AWS. È consigliabile che nessun gruppo di sicurezza consenta l'accesso in entrata senza restrizioni alle porte di amministrazione del server remoto, ad esempio SSH alla porta 22
e RDP alla porta 3389
.
Per implementare lo stato prescritto:
- Accedi alla Console di gestione AWS all'indirizzo https://console.aws.amazon.com/vpc/home
- Nel riquadro a sinistra, fai clic su
Security Groups
- Per ogni gruppo di sicurezza, svolgi i seguenti passaggi:
- Seleziona il gruppo di sicurezza
- Fai clic sulla scheda
Inbound Rules
. - Fai clic sul pulsante
Edit inbound rules
. - Identifica le regole da modificare o rimuovere
- A) aggiorna il campo Origine con un intervallo diverso da ::/0 oppure B) fai clic su
Delete
per rimuovere la regola in entrata in violazione - Fai clic su
Save rules
.
One Active Access Key Available Any Single Iam User
Nome della categoria nell'API: ONE_ACTIVE_ACCESS_KEY_AVAILABLE_ANY_SINGLE_IAM_USER
Le chiavi di accesso sono credenziali a lungo termine per un utente IAM o per l'utente "root" dell'account AWS. Puoi utilizzare le chiavi di accesso per firmare le richieste programmatiche all'interfaccia a riga di comando AWS o all'API AWS (direttamente o utilizzando l'SDK AWS)
Consiglio: assicurati che sia disponibile una sola chiave di accesso attiva per ogni singolo utente IAM Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e vai alla dashboard IAM all'indirizzo
https://console.aws.amazon.com/iam/
. - Nel pannello di navigazione a sinistra, scegli
Users
. - Fai clic sul nome utente IAM che vuoi esaminare.
- Nella pagina di configurazione dell'utente IAM, seleziona la scheda
Security Credentials
. - Nella sezione
Access Keys
, scegli una chiave di accesso creata da meno di 90 giorni. Deve essere l'unica chiave attiva utilizzata da questo utente IAM per accedere alle risorse AWS in modo programmatico. Testa le tue applicazioni per assicurarti che la chiave di accesso scelta funzioni. - Nella stessa sezione
Access Keys
, identifica le chiavi di accesso non operative (diverse da quella scelta) e disattivale facendo clic sul linkMake Inactive
. - Se viene visualizzata la casella di conferma
Change Key Status
, fai clic suDeactivate
per disattivare la chiave selezionata. - Ripeti i passaggi da 3 a 7 per ogni utente IAM nel tuo account AWS.
AWS CLI
-
Utilizzando le informazioni sull'utente IAM e sulla chiave di accesso fornite in
Audit CLI
, scegli una chiave di accesso risalente a meno di 90 giorni fa. Deve essere l'unica chiave attiva utilizzata da questo utente IAM per accedere alle risorse AWS in modo programmatico. Testa le tue applicazioni per assicurarti che la chiave di accesso scelta funzioni. -
Esegui il comando
update-access-key
riportato di seguito utilizzando il nome utente IAM e gli ID chiave di accesso non operativi per disattivare le chiavi non necessarie. Fai riferimento alla sezione Controllo per identificare l'ID chiave di accesso non necessario per l'utente IAM selezionato
Nota: il comando non restituisce alcun output:
aws iam update-access-key --access-key-id <access-key-id> --status Inactive --user-name <user-name>
- Per verificare che la coppia di chiavi di accesso selezionata sia stata eseguita correttamente,
deactivated
esegui di nuovo il comando di controllolist-access-keys
per l'utente IAM:
aws iam list-access-keys --user-name <user-name>
- L'output del comando dovrebbe mostrare i metadati di ogni chiave di accesso associata all'utente IAM. Se le coppie di chiavi non operative
Status
sono impostate suInactive
, la chiave è stata disattivata correttamente e la configurazione dell'accesso utente IAM ora rispetta questo consiglio.
- Ripeti i passaggi da 1 a 3 per ogni utente IAM nel tuo account AWS.
Public Access Given Rds Instance
Nome della categoria nell'API: PUBLIC_ACCESS_GIVEN_RDS_INSTANCE
Assicurati e verifica che le istanze di database RDS di cui è stato eseguito il provisioning nel tuo account AWS limitino l'accesso non autorizzato per ridurre al minimo i rischi per la sicurezza. Per limitare l'accesso a qualsiasi istanza del database RDS accessibile pubblicamente, devi disattivare il flag Accessibile pubblicamente del database e aggiornare il gruppo di sicurezza VPC associato all'istanza.
Consiglio: assicurati che l'accesso pubblico non sia concesso all'istanza RDS Per risolvere il problema, svolgi i seguenti passaggi:Console AWS
- Accedi alla Console di gestione AWS e vai alla dashboard di RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Sotto il pannello di navigazione, nella dashboard di RDS, fai clic su
Databases
. - Seleziona l'istanza RDS che vuoi aggiornare.
- Fai clic su
Modify
nel menu in alto della dashboard. - Nel riquadro Modifica istanza DB, nella sezione
Connectivity
, fai clic suAdditional connectivity configuration
e aggiorna il valore diPublicly Accessible
su Non accessibile pubblicamente per limitare l'accesso pubblico. Per aggiornare le configurazioni delle subnet, segui questi passaggi:
- Seleziona la schedaConnectivity and security
e fai clic sul valore dell'attributo VPC nella sezioneNetworking
.
- Seleziona la schedaDetails
nel riquadro inferiore della dashboard VPC e fai clic su Valore dell'attributo di configurazione della tabella route.
- Nella pagina dei dettagli della tabella Route, seleziona la scheda Percorsi dal riquadro inferiore della dashboard e fai clic suEdit routes
.
- Nella pagina Modifica route, aggiorna la destinazione del target impostata suigw-xxxxx
e fai clic suSave
route. - Nel riquadro Modifica istanza DB, fai clic su
Continue
e nella sezione Pianificazione delle modifiche, esegui una delle seguenti azioni in base ai tuoi requisiti:
- Seleziona Applica durante la prossima periodo di manutenzione pianificata per applicare automaticamente le modifiche durante la prossima periodo di manutenzione pianificata.
- Seleziona Applica immediatamente per applicare immediatamente le modifiche. Con questa opzione, le eventuali modifiche in attesa verranno applicate in modo asincrono il prima possibile, indipendentemente dall'impostazione del periodo di manutenzione per questa istanza del database RDS. Tieni presente che vengono applicate anche le eventuali modifiche disponibili nella coda delle modifiche in attesa. Se una delle modifiche in attesa richiede un tempo di riposo, la scelta di questa opzione può causare un tempo di riposo imprevisto per l'applicazione. - Ripeti i passaggi da 3 a 6 per ogni istanza RDS disponibile nella regione corrente.
- Modifica la regione AWS dalla barra di navigazione per ripetere la procedura per altre regioni.
AWS CLI
- Esegui il comando
describe-db-instances
per elencare tutti gli identificatori dei nomi dei database RDS disponibili nella regione AWS selezionata:
aws rds describe-db-instances --region <region-name> --query 'DBInstances[*].DBInstanceIdentifier'
- L'output del comando deve restituire ogni identificatore di istanza del database.
- Esegui il comando
modify-db-instance
per modificare la configurazione dell'istanza RDS selezionata. Quindi, utilizza il seguente comando per disattivare il flagPublicly Accessible
per le istanze RDS selezionate. Questo comando utilizza il flag apply-immediately. Se vuoito avoid any downtime --no-apply-immediately flag can be used
:
aws rds modify-db-instance --region <region-name> --db-instance-identifier <db-name> --no-publicly-accessible --apply-immediately
- L'output del comando dovrebbe mostrare la configurazione
PubliclyAccessible
nei valori in attesa e dovrebbe essere applicata all'ora specificata. - Al momento, l'aggiornamento della destinazione del gateway internet tramite AWS CLI non è supportato. Per aggiornare le informazioni sul gateway internet, utilizza la procedura della console AWS.
- Ripeti i passaggi da 1 a 5 per ogni istanza RDS di cui è stato eseguito il provisioning nella regione corrente.
- Modifica la regione AWS utilizzando il filtro --region per ripetere la procedura per altre regioni.
Rds Enhanced Monitoring Enabled
Nome della categoria nell'API: RDS_ENHANCED_MONITORING_ENABLED
Il monitoraggio avanzato fornisce metriche in tempo reale sul sistema operativo su cui viene eseguita l'istanza RDS tramite un agente installato nell'istanza.
Per ulteriori dettagli, consulta Monitorare le metriche del sistema operativo con il monitoraggio avanzato.
Consiglio: controlla se il monitoraggio avanzato è abilitato per tutte le istanze DB RDS Per risolvere il problema, segui questi passaggi:Terraform
Per risolvere il problema relativo a questo controllo, attiva il monitoraggio avanzato sulle istanze RDS come segue:
Crea un ruolo IAM per RDS:
resource "aws_iam_role" "rds_logging" {
name = "CustomRoleForRDSMonitoring"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = "sts:AssumeRole"
Effect = "Allow"
Sid = "CustomRoleForRDSLogging"
Principal = {
Service = "monitoring.rds.amazonaws.com"
}
},
]
})
}
Recupera il criterio gestito AWS per il monitoraggio avanzato di RDS:
data "aws_iam_policy" "rds_logging" {
name = "AmazonRDSEnhancedMonitoringRole"
}
Collega il criterio al ruolo:
resource "aws_iam_policy_attachment" "rds_logging" {
name = "AttachRdsLogging"
roles = [aws_iam_role.rds_logging.name]
policy_arn = data.aws_iam_policy.rds_logging.arn
}
Definisci un intervallo di monitoraggio e un ARN del ruolo di monitoraggio per l'istanza RDS in violazione per attivare il monitoraggio avanzato:
resource "aws_db_instance" "default" {
identifier = "test-rds"
allocated_storage = 10
engine = "mysql"
engine_version = "5.7"
instance_class = "db.t3.micro"
db_name = "mydb"
username = "foo"
password = "foobarbaz"
parameter_group_name = "default.mysql5.7"
skip_final_snapshot = true
monitoring_interval = 60
monitoring_role_arn = aws_iam_role.rds_logging.arn
}
Console AWS
Puoi attivare il monitoraggio avanzato quando crei un'istanza DB, un cluster DB multi-AZ o una replica di lettura oppure quando modifichi un'istanza DB o un cluster DB multi-AZ. Se modifichi un'istanza del database per attivare il monitoraggio avanzato, non è necessario riavviare l'istanza del database per applicare la modifica.
Puoi attivare il monitoraggio avanzato nella console RDS quando esegui una delle seguenti azioni nella pagina Database:
- Crea un'istanza DB o un cluster DB multi-AZ: scegli Crea database.
- Crea una replica di lettura: scegli Azioni e poi Crea replica di lettura.
- Modifica un'istanza DB o un cluster DB multi-AZ: scegli Modifica.
Per attivare o disattivare il monitoraggio avanzato nella console RDS
- Scorri fino a Configurazione aggiuntiva.
- In Monitoraggio, scegli Attiva il monitoraggio avanzato per l'istanza DB o la replica di lettura. Per disattivare il monitoraggio avanzato, scegli Disattiva il monitoraggio avanzato.
- Imposta la proprietà Ruolo di monitoraggio sul ruolo IAM che hai creato per consentire ad Amazon RDS di comunicare per tuo conto con Amazon CloudWatch Logs oppure scegli Predefinito per consentire ad RDS di creare un ruolo denominato rds-monitoring-role.
- Imposta la proprietà Granularity sull'intervallo, in secondi, tra i punti in cui vengono raccolte le metriche per l'istanza DB o la replica di lettura. La proprietà Granularity può essere impostata su uno dei seguenti valori: 1, 5, 10, 15, 30 o 60. La console RDS si aggiorna ogni 5 secondi. Se imposti la granularità su 1 secondo nella console RDS, le metriche aggiornate vengono visualizzate solo ogni 5 secondi. Puoi recuperare aggiornamenti delle metriche ogni 1 secondo utilizzando CloudWatch Logs.
AWS CLI
Crea il ruolo IAM RDS:
aws iam create-role \
--role-name "CustomRoleForRDSMonitoring" \
--assume-role-policy-document file://rds-assume-role.json
Collega il criterio AmazonRDSEnhancedMonitoringRole
al ruolo:
aws iam attach-role-policy \
--role-name "CustomRoleForRDSMonitoring"\
--policy-arn "arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
Modifica l'istanza RDS per abilitare il monitoraggio avanzato impostando --monitoring-interval
e --monitoring-role-arn
:
aws rds modify-db-instance \
--db-instance-identifier "test-rds" \
--monitoring-interval 30 \
--monitoring-role-arn "arn:aws:iam::<account_id>:role/CustomRoleForRDSMonitoring"
Rds Instance Deletion Protection Enabled
Nome della categoria nell'API: RDS_INSTANCE_DELETION_PROTECTION_ENABLED
L'attivazione della protezione da eliminazione delle istanze è un ulteriore livello di protezione contro l'eliminazione accidentale o da parte di un'entità non autorizzata del database.
Quando la protezione da eliminazione è abilitata, non è possibile eliminare un'istanza di database RDS. Prima che una richiesta di eliminazione possa essere completata, la protezione da eliminazione deve essere disattivata.
Consiglio: controlla se per tutte le istanze RDS è abilitata la protezione da eliminazione Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per correggere questo controllo, imposta deletion_protection
su true
nella risorsa aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration ...
deletion_protection = true
}
Console AWS
Per attivare la protezione da eliminazione per un'istanza DB RDS
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Database e poi l'istanza di database da modificare.
- Scegli Modifica.
- In Protezione da eliminazione, scegli Attiva la protezione da eliminazione.
- Scegli Continua.
- In Pianificazione delle modifiche, scegli quando applicare le modifiche. Le opzioni sono Applica durante il prossimo periodo di manutenzione pianificato o Applica immediatamente.
- Scegli Modifica istanza DB.
AWS CLI
Lo stesso vale per l'interfaccia a riga di comando AWS. Imposta --deletion-protection
come indicato di seguito.
aws rds modify-db-instance \
--db-instance-identifier = "test-rds" \
--deletion-protection
Rds In Backup Plan
Nome della categoria nell'API: RDS_IN_BACKUP_PLAN
Questo controllo valuta se le istanze DB di Amazon RDS sono coperte da un piano di backup. Questo controllo non va a buon fine se un'istanza DB RDS non è coperta da un piano di backup.
AWS Backup è un servizio di backup completamente gestito che centralizza e automatizza il backup dei dati nei servizi AWS. Con AWS Backup puoi creare criteri di backup chiamati piani di backup. Puoi utilizzare questi piani per definire i tuoi requisiti di backup, ad esempio la frequenza con cui eseguire il backup dei dati e per quanto tempo conservare i backup. L'inclusione di istanze DB di RDS in un piano di backup ti aiuta a proteggere i tuoi dati da perdita o eliminazione involontarie.
Consiglio: le istanze DB di RDS devono essere coperte da un piano di backup Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per risolvere il problema relativo a questo controllo, imposta backup_retention_period
su un valore maggiore di 7
nella risorsa aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other Configuration ...
backup_retention_period = 7
}
Console AWS
Per attivare immediatamente i backup automatici
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Database e poi l'istanza di database da modificare.
- Scegli Modifica per aprire la pagina Modifica istanza DB.
- In Periodo di conservazione del backup, scegli un valore positivo diverso da zero, ad esempio 30 giorni, quindi scegli Continua.
- Seleziona la sezione Pianificazione delle modifiche e scegli quando applicare le modifiche: puoi scegliere Applica durante il prossimo periodo di manutenzione programmato o Applica immediatamente.
- Poi, nella pagina di conferma, scegli Modifica istanza DB per salvare le modifiche e attivare i backup automatici.
AWS CLI
Lo stesso vale per l'interfaccia a riga di comando AWS. Per attivare i backup automatici, modifica backup-retention-period
in un valore maggiore di 0
(valore predefinito).
aws rds modify-db-instance --db-instance-identifier "test-rds" --backup-retention-period 7
Rds Logging Enabled
Nome della categoria nell'API: RDS_LOGGING_ENABLED
Viene controllato se i seguenti log di Amazon RDS sono abilitati e inviati a CloudWatch.
I log pertinenti devono essere abilitati nei database RDS. Il logging del database fornisce record dettagliati delle richieste inviate a RDS. I log del database possono essere utili per i controlli di sicurezza e di accesso e per diagnosticare i problemi di disponibilità.
Consiglio: controlla se i log esportati sono abilitati per tutte le istanze DB RDS Per risolvere il problema, svolgi i seguenti passaggi:Terraform
resource "aws_db_instance" "example" {
# ... other configuration for MySQL ...
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
parameter_group_name = aws_db_parameter_group.example.name
}
resource "aws_db_parameter_group" "example" {
name = "${aws_db_instance.example.dbInstanceIdentifier}-parameter-group"
family = "mysql5.7"
parameter {
name = "general_log"
value = 1
}
parameter {
name = "slow_query_log"
value = 1
}
parameter {
name = "log_output"
value = "FILE"
}
}
Per MariaDB, crea anche un gruppo di opzioni personalizzate e imposta option_group_name
nella risorsa aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration for MariaDB ...
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
parameter_group_name = aws_db_parameter_group.example.name
option_group_name = aws_db_option_group.example.name
}
resource "aws_db_option_group" "example" {
name = "mariadb-option-group-for-logs"
option_group_description = "MariaDB Option Group for Logs"
engine_name = "mariadb"
option {
option_name = "MARIADB_AUDIT_PLUGIN"
option_settings {
name = "SERVER_AUDIT_EVENTS"
value = "CONNECT,QUERY,TABLE,QUERY_DDL,QUERY_DML,QUERY_DCL"
}
}
}
Console AWS
Per creare un gruppo di parametri DB personalizzato
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Gruppi di parametri.
- Scegli Crea gruppo di parametri.
- Nell'elenco Famiglia di gruppi di parametri, scegli una famiglia di gruppi di parametri del database.
- Nell'elenco Tipo, scegli Gruppo di parametri del database.
- In Nome gruppo, inserisci il nome del nuovo gruppo di parametri del database.
- In Descrizione, inserisci una descrizione per il nuovo gruppo di parametri del database.
- Scegli Crea.
Per creare un nuovo gruppo di opzioni per la registrazione di MariaDB utilizzando la console
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Gruppi di opzioni.
- Scegli Crea gruppo.
- Nella finestra Crea gruppo di opzioni, fornisci quanto segue:
* Nome: deve essere univoco all'interno del tuo account AWS. Solo lettere, cifre e trattini.
* Descrizione: utilizzato solo a scopo di visualizzazione.
* Motore: seleziona il motore del database.
* Versione principale del motore: seleziona la versione principale del motore del database. - Scegli Crea.
- Scegli il nome del gruppo di opzioni appena creato.
- Scegli l'opzione Aggiungi.
- Scegli MARIADB_AUDIT_PLUGIN dall'elenco Nomi opzioni.
- Imposta SERVER_AUDIT_EVENTS su CONNECT, QUERY, TABLE, QUERY_DDL, QUERY_DML, QUERY_DCL.
- Scegli l'opzione Aggiungi.
Per pubblicare i log del database SQL Server, del database Oracle o di PostgreSQL in CloudWatch Logs dalla Console di gestione AWS
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Database.
- Scegli l'istanza DB che vuoi modificare.
- Scegli Modifica.
- In Esportazioni log, scegli tutti i file di log da iniziare a pubblicare in CloudWatch Logs.
- Le esportazioni dei log sono disponibili solo per le versioni del motore del database che supportano la pubblicazione in CloudWatch Logs.
- Scegli Continua. Nella pagina di riepilogo, scegli Modifica istanza DB.
Per applicare un nuovo gruppo di parametri DB o un gruppo di opzioni DB a un'istanza DB RDS
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Database.
- Scegli l'istanza DB che vuoi modificare.
- Scegli Modifica.
- In Opzioni database, modifica il gruppo di parametri del database e il gruppo di opzioni del database in base alle esigenze.
- Al termine delle modifiche, scegli Continua. Controlla il riepilogo delle modifiche.
- Scegli Modifica istanza DB per salvare le modifiche.
AWS CLI
Recupera le famiglie di motori e scegli quella che corrisponde al motore e alla versione dell'istanza DB.
aws rds describe-db-engine-versions \
--query "DBEngineVersions[].DBParameterGroupFamily" \
--engine "mysql"
Crea un gruppo di parametri in base al motore e alla versione.
aws rds create-db-parameter-group \
--db-parameter-group-name "rds-mysql-parameter-group" \
--db-parameter-group-family "mysql5.7" \
--description "Example parameter group for logs"
Crea un file rds-parameters.json
contenente i parametri necessari in base al motore del database. Questo esempio utilizza MySQL 5.7.
[
{
"ParameterName": "general_log",
"ParameterValue": "1",
"ApplyMethod": "immediate"
},
{
"ParameterName": "slow_query_log",
"ParameterValue": "1",
"ApplyMethod": "immediate"
},
{
"ParameterName": "log_output",
"ParameterValue": "FILE",
"ApplyMethod": "immediate"
}
]
Modifica il gruppo di parametri per aggiungere i parametri in base al motore del database. Questo esempio utilizza MySQL 5.7
aws rds modify-db-parameter-group \
--db-parameter-group-name "rds-mysql-parameter-group" \
--parameters file://rds-parameters.json
Modifica l'istanza di database per associare il gruppo di parametri.
aws rds modify-db-instance \
--db-instance-identifier "test-rds" \
--db-parameter-group-name "rds-mysql-parameter-group"
Inoltre, per MariaDB, crea un gruppo di opzioni come segue.
aws rds create-option-group \
--option-group-name "rds-mariadb-option-group" \
--engine-name "mariadb" \
--major-engine-version "10.6" \
--option-group-description "Option group for MariaDB logs"
Crea un file rds-mariadb-options.json
come segue.
{
"OptionName": "MARIADB_AUDIT_PLUGIN",
"OptionSettings": [
{
"Name": "SERVER_AUDIT_EVENTS",
"Value": "CONNECT,QUERY,TABLE,QUERY_DDL,QUERY_DML,QUERY_DCL"
}
]
}
Aggiungi l'opzione al gruppo di opzioni.
aws rds add-option-to-option-group \
--option-group-name "rds-mariadb-option-group" \
--options file://rds-mariadb-options.json
Associa il gruppo di opzioni all'istanza DB modificando l'istanza MariaDB.
aws rds modify-db-instance \
--db-instance-identifier "rds-test-mariadb" \
--option-group-name "rds-mariadb-option-group"
Rds Multi Az Support
Nome della categoria nell'API: RDS_MULTI_AZ_SUPPORT
Le istanze DB di RDS devono essere configurate per più zone di disponibilità (AZ). In questo modo, viene garantita la disponibilità dei dati archiviati. Gli implementazioni multi-AZ consentono il failover automatico in caso di problemi con la disponibilità della zona di disponibilità e durante la normale manutenzione di RDS.
Consiglio: controlla se l'alta disponibilità è abilitata per tutte le istanze DB RDS Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per correggere questo controllo, imposta multi_az
su true nella risorsa aws_db_instance
.
resource "aws_db_instance" "example" {
# ... other configuration ...
multi_az = true
}
Console AWS
Per attivare più zone di disponibilità per un'istanza di database
- Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.
- Nel riquadro di navigazione, scegli Database e poi l'istanza di database da modificare.
- Scegli Modifica. Viene visualizzata la pagina Modifica istanza DB.
- In Specifiche istanza, imposta il deployment multi-AZ su Sì.
- Scegli Continua e controlla il riepilogo delle modifiche.
- (Facoltativo) Scegli Applica immediatamente per applicare immediatamente le modifiche. In alcuni casi, la scelta di questa opzione può causare un'interruzione del servizio. Per ulteriori informazioni, consulta l'articolo sull'utilizzo dell'impostazione Applica immediatamente nella Guida dell'utente di Amazon RDS.
- Nella pagina di conferma, rivedi le modifiche. Se sono corretti, scegli Modifica istanza DB per salvare le modifiche.
AWS CLI
Lo stesso vale per l'interfaccia a riga di comando AWS. Attiva il supporto di più AZ specificando l'opzione --multi-az
.
modify-db-instance
--db-instance-identifier "test-rds" \
--multi-az
Redshift Cluster Configuration Check
Nome della categoria nell'API: REDSHIFT_CLUSTER_CONFIGURATION_CHECK
Vengono controllati gli elementi essenziali di un cluster Redshift: crittografia at-rest, logging e tipo di nodo.
Questi elementi di configurazione sono importanti per la manutenzione di un cluster Redshift sicuro e osservabile.
Consiglio: controlla che tutti i cluster Redshift dispongano di crittografia at-rest, logging e tipo di nodo. Per risolvere il problema, svolgi i seguenti passaggi:Terraform
resource "aws_kms_key" "redshift_encryption" {
description = "Used for Redshift encryption configuration"
enable_key_rotation = true
}
resource "aws_redshift_cluster" "example" {
# ... other configuration ...
encrypted = true
kms_key_id = aws_kms_key.redshift_encryption.id
logging {
enable = true
log_destination_type = "cloudwatch"
log_exports = ["connectionlog", "userlog", "useractivitylog"]
}
}
Console AWS
Per abilitare il logging di controllo del cluster
- Apri la console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshift/.
- Nel menu di navigazione, scegli Cluster e poi il nome del cluster da modificare.
- Scegli Strutture.
- Scegli Modifica e Modifica il logging degli audit.
- Imposta Configura il logging di controllo su Attiva, imposta il tipo di esportazione dei log su CloudWatch (opzione consigliata) e scegli i log da esportare.
Per utilizzare AWS S3 per gestire gli audit log di Redshift, consulta Redshift - Database audit logging (Redshift - Audit logging del database) nella documentazione AWS.
- Scegli Salva modifiche.
Per modificare la crittografia del database su un cluster
- Accedi alla Console di gestione AWS e apri la console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshift/.
- Nel menu di navigazione, scegli Cluster e poi il cluster di cui vuoi modificare la crittografia.
- Scegli Strutture.
- Scegli Modifica e Modifica crittografia.
- Scegli la crittografia da utilizzare (KMS o HSM) e fornisci:
- Per KMS: chiave da utilizzare
- Per l'HSM: connessione e certificato client
AWS CLI
- Crea una chiave KMS e recupera l'ID chiave
aws kms create-key \
--description "Key to encrypt Redshift Clusters"
- Modificare il cluster
aws redshift modify-cluster \
--cluster-identifiers "test-redshift-cluster" \
--encrypted \
--kms-key-id <value>
Redshift Cluster Maintenancesettings Check
Nome della categoria nell'API: REDSHIFT_CLUSTER_MAINTENANCESETTINGS_CHECK
Gli upgrade automatici delle versioni principali vengono eseguiti in base al periodo di manutenzione
Consiglio: controlla che in tutti i cluster Redshift sia abilitato allowVersionUpgrade e che siano impostati preferredMaintenanceWindow e automatedSnapshotRetentionPeriod Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Questo controllo è conforme a tutti i valori predefiniti forniti da Terraform. In caso di errore del cluster Redshift, esamina i requisiti e rimuovi le sostituzioni predefinite per i seguenti attributi della risorsa aws_redshift_cluster
.
resource "aws_redshift_cluster" "example" {
# ...other configuration ...
# The following values are compliant and set by default if omitted.
allow_version_upgrade = true
preferred_maintenance_window = "sat:10:00-sat:10:30"
automated_snapshot_retention_period = 1
}
Console AWS
Quando crei un cluster Redshift tramite la console AWS, i valori predefiniti sono già conformi a questo controllo.
Per ulteriori informazioni, consulta Gestire i cluster utilizzando la console
AWS CLI
Per correggere questo controllo utilizzando AWS CLI, procedi nel seguente modo:
aws redshift modify-cluster \
--cluster-identifier "test-redshift-cluster" \
--allow-version-upgrade
Redshift Cluster Public Access Check
Nome della categoria nell'API: REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK
L'attributo PubliclyAccessible della configurazione del cluster Amazon Redshift indica se il cluster è accessibile pubblicamente. Quando il cluster è configurato con PubliclyAccessible impostato su true, si tratta di un'istanza rivolta a internet che ha un nome DNS risolvibile pubblicamente, che si risolve in un indirizzo IP pubblico.
Quando il cluster non è accessibile pubblicamente, si tratta di un'istanza interna con un nome DNS che risolve in un indirizzo IP privato. A meno che tu non intenda che il cluster sia accessibile pubblicamente, non deve essere configurato con PubliclyAccessible impostato su true.
Consiglio: controlla se i cluster Redshift sono accessibili pubblicamente Per risolvere il problema, svolgi i seguenti passaggi:Terraform
Per risolvere il problema relativo a questo controllo, è necessario modificare la risorsa del cluster Redshift e impostare publicly_accessible
su false
. Il valore predefinito è true
.
resource "aws_redshift_cluster" "example" {
# ... other configuration ...
publicly_accessible = false
}
Console AWS
Per disattivare l'accesso pubblico a un cluster Amazon Redshift
- Apri la console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshift/.
- Nel menu di navigazione, scegli Cluster, quindi il nome del cluster con il gruppo di sicurezza da modificare.
- Scegli Azioni, quindi Modifica impostazione accessibile pubblicamente.
- In Consenti a istanze e dispositivi esterni al VPC di connettersi al database tramite l'endpoint del cluster, scegli No.
- Scegli Conferma.
AWS CLI
Utilizza il comando modify-cluster
per impostare --no-publicly-accessible
.
aws redshift modify-cluster \
--cluster-identifier "test-redshift-cluster" \
--no-publicly-accessible
Restricted Common Ports
Nome della categoria nell'API: RESTRICTED_COMMON_PORTS
Viene controllato se il traffico in entrata illimitato per i gruppi di sicurezza è accessibile alle porte specificate con il rischio più elevato. Questo controllo non va a buon fine se una delle regole in un gruppo di sicurezza consente il traffico in entrata da "0.0.0.0/0" o "::/0" per queste porte.
L'accesso senza restrizioni (0.0.0.0/0) aumenta le opportunità di attività dannose, come pirateria informatica, attacchi di negazione del servizio e perdita di dati.
I gruppi di sicurezza forniscono il filtro stateful del traffico di rete in entrata e in uscita verso le risorse AWS. Nessun gruppo di sicurezza deve consentire l'accesso in entrata illimitato alle seguenti porte:
- 20, 21 (FTP)
- 22 (SSH)
- 23 (Telnet)
- 25 (SMTP)
- 110 (POP3)
- 135 (RPC)
- 143 (IMAP)
- 445 (CIFS)
- 1433, 1434 (MSSQL)
- 3000 (framework di sviluppo web Go, Node.js e Ruby)
- 3306 (MySQL)
- 3389 (RDP)
- 4333 (ahsp)
- 5000 (framework di sviluppo web Python)
- 5432 (postgresql)
- 5500 (fcp-addr-srvr1)
- 5601 (dashboard OpenSearch)
- 8080 (proxy)
- 8088 (porta HTTP precedente)
- 8888 (porta HTTP alternativa)
- 9200 o 9300 (OpenSearch)
Console AWS
Per eliminare una regola del gruppo di sicurezza:
- Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.
- Nel riquadro di navigazione, scegli Gruppi di sicurezza.
- Seleziona il gruppo di sicurezza da aggiornare, scegli Azioni e poi Modifica regole in entrata per rimuovere una regola in entrata o Modifica regole in uscita per rimuovere una regola in uscita.
- Scegli il pulsante Elimina a destra della regola da eliminare.
- Scegli Anteprima modifiche, Conferma.
Per informazioni su come eliminare le regole da un gruppo di sicurezza, consulta Configurare le regole del gruppo di sicurezza nella Guida dell'utente di Amazon EC2.
Restricted Ssh
Nome della categoria nell'API: RESTRICTED_SSH
I gruppi di sicurezza forniscono il filtro stateful del traffico di rete in entrata e in uscita verso le risorse AWS.
Il CIS consiglia di non consentire a nessun gruppo di sicurezza l'accesso in entrata senza restrizioni alla porta 22. La rimozione della connettività illimitata ai servizi di console remota, come SSH, riduce l'esposizione a rischi di un server.
Consiglio: i gruppi di sicurezza non devono consentire l'ingresso da 0.0.0.0/0 alla porta 22 Per risolvere il problema, segui questi passaggi:Console AWS
Esegui i seguenti passaggi per ogni gruppo di sicurezza associato a un VPC.
Apri la console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/.
- Nel riquadro a sinistra, scegli Gruppi di sicurezza.
- Seleziona un gruppo di sicurezza.
- Nella sezione inferiore della pagina, scegli la scheda Regole in entrata.
- Scegli Modifica regole.
- Identifica la regola che consente l'accesso tramite la porta 22 e poi scegli la X per rimuoverla.
- Scegli Salva regole.
Rotation Customer Created Cmks Enabled
Nome della categoria nell'API: ROTATION_CUSTOMER_CREATED_CMKS_ENABLED
Controlla se la rotazione automatica delle chiavi è abilitata per ogni chiave e corrisponde all'ID chiave della chiave AWS KMS creata dal cliente. La regola è NON_COMPLIANT se il ruolo di registratore AWS Config per una risorsa non dispone dell'autorizzazione kms:DescribeKey.
Consiglio: assicurati che sia abilitata la rotazione per le chiavi CMK create dal clientePer attivare la rotazione automatica delle chiavi per AWS KMS, consulta Rotazione delle chiavi AWS KMS nella documentazione di AWS.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoRotation Customer Created Symmetric Cmks Enabled
Nome della categoria nell'API: ROTATION_CUSTOMER_CREATED_SYMMETRIC_CMKS_ENABLED
AWS Key Management Service (KMS) consente ai clienti di ruotare la chiave di supporto, ovvero il materiale della chiave archiviato all'interno del KMS, associato all'ID chiave della chiave master del cliente (CMK) creata dal cliente. È la chiave di supporto utilizzata per eseguire operazioni crittografiche come crittografia e decrittografia. Al momento, la rotazione automatica delle chiavi conserva tutte le chiavi di backup precedenti in modo che la decrittografia dei dati criptati possa avvenire in modo trasparente. Ti consigliamo di abilitare rotazione della chiave CMK per le chiavi simmetriche. La rotazione delle chiavi non può essere attivata per nessuna chiave CMK asimmetrica.
Consiglio: assicurati che sia abilitata la rotazione per le chiavi CMK simmetriche create dal cliente Per risolvere il problema, segui questi passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam.
- Nel riquadro di navigazione a sinistra, scegli
Customer managed keys
. - Seleziona una chiave CMEK gestita dal cliente in cui
Key spec = SYMMETRIC_DEFAULT
- Sotto il riquadro "Configurazione generale", apri la scheda "Rotazione chiavi".
- Seleziona la casella di controllo "Ruota automaticamente questa chiave KMS ogni anno".
AWS CLI
- Esegui il comando seguente per abilitare rotazione della chiave:
aws kms enable-key-rotation --key-id <kms_key_id>
Routing Tables Vpc Peering Are Least Access
Nome della categoria nell'API: ROUTING_TABLES_VPC_PEERING_ARE_LEAST_ACCESS
Controlla se le tabelle di routing per il peering VPC sono configurate con il principio del privilegio minimo.
Consiglio: assicurati che le tabelle di routing per il peering VPC siano ad "accesso minimo"Per aggiornare le tabelle di route per il peering VPC, consulta Aggiornare le tabelle di route per una connessione di peering VPC nella guida dell'utente di AWS VPC.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoS3 Account Level Public Access Blocks
Nome della categoria nell'API: S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS
Il blocco dell'accesso pubblico di Amazon S3 fornisce impostazioni per punti di accesso, bucket e account per aiutarti a gestire l'accesso pubblico alle risorse Amazon S3. Per impostazione predefinita, i nuovi bucket, i punti di accesso e gli oggetti non consentono l'accesso pubblico.
Consiglio: controlla se le impostazioni richieste di blocco dell'accesso pubblico S3 sono configurate a livello di account Per risolvere il problema, segui questi passaggi:Terraform
La seguente risorsa Terraform configura l'accesso a livello di account a S3.
resource "aws_s3_account_public_access_block" "s3_control" {
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
Console AWS
Per modificare le impostazioni di blocco dell'accesso pubblico per tutti i bucket S3 di un account AWS.
- Accedi alla Console di gestione AWS e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.
- Scegli le impostazioni di blocco dell'accesso pubblico per questo account.
- Scegli Modifica per modificare le impostazioni di blocco dell'accesso pubblico per tutti i bucket del tuo account AWS.
- Scegli le impostazioni che vuoi modificare, quindi Salva modifiche.
- Quando ti viene chiesta la conferma, inserisci conferma. Poi scegli Conferma per salvare le modifiche.
AWS CLI
aws s3control put-public-access-block \
--account-id <value> \
--public-access-block-configuration '{"BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true}'
S3 Buckets Configured Block Public Access Bucket And Account Settings
Nome della categoria nell'API: S3_BUCKETS_CONFIGURED_BLOCK_PUBLIC_ACCESS_BUCKET_AND_ACCOUNT_SETTINGS
Amazon S3 fornisce Block public access (bucket settings)
e Block public access (account settings)
per aiutarti a gestire l'accesso pubblico alle risorse Amazon S3. Per impostazione predefinita, i bucket e gli oggetti S3 vengono creati con l'accesso pubblico disattivato. Tuttavia, un entità AWS IAM con autorizzazioni S3 sufficienti può attivare l'accesso pubblico a livello di bucket o di oggetto. Se abilitata, Block public access (bucket settings)
impedisce che un singolo bucket e gli oggetti in esso contenuti diventino accessibili pubblicamente. Analogamente, Block public access (account settings)
impedisce che tutti i bucket e gli oggetti contenuti diventino accessibili pubblicamente nell'intero account.
Assicurati che i bucket S3 siano configurati con Block public access (bucket settings)
.
Console AWS
Se l'output è true per le impostazioni di configurazione separate, significa che sono impostate nell'account.
- Accedi alla Console di gestione AWS e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
- Scegli Blocca accesso pubblico (impostazioni account).
- Scegli Modifica per modificare le impostazioni di blocco dell'accesso pubblico per tutti i bucket nel tuo account AWS
- Scegli le impostazioni da modificare e poi Salva. Per informazioni dettagliate su ciascuna impostazione, passa il mouse sopra le icone i.
- Quando ti viene chiesta la conferma, inserisci confirm. Poi fai clic su Conferma per salvare le modifiche.
AWS CLI
Per impostare le impostazioni Blocca accesso pubblico per questo account, esegui il seguente comando:
aws s3control put-public-access-block
--public-access-block-configuration BlockPublicAcls=true, IgnorePublicAcls=true, BlockPublicPolicy=true, RestrictPublicBuckets=true
--account-id <value>
S3 Bucket Access Logging Enabled Cloudtrail S3 Bucket
Nome della categoria nell'API: S3_BUCKET_ACCESS_LOGGING_ENABLED_CLOUDTRAIL_S3_BUCKET
Il logging degli accessi ai bucket S3 genera un log contenente i record di accesso per ogni richiesta inviata al bucket S3. Un record del log di accesso contiene dettagli sulla richiesta, ad esempio il tipo di richiesta, le risorse specificate nella richiesta che hanno funzionato e la data e l'ora di elaborazione della richiesta. Ti consigliamo di abilitare il logging degli accessi ai bucket nel bucket S3 CloudTrail.
Suggerimento:Assicurati che il logging degli accessi ai bucket S3 sia abilitato sul bucket S3 CloudTrail
Per risolvere il problema, segui questi passaggi:Console AWS
- Accedi alla Console di gestione AWS e apri la console S3 all'indirizzo https://console.aws.amazon.com/s3.
- In Tutti i bucket, fai clic sul bucket S3 di destinazione
- Fai clic su Proprietà in alto a destra nella console.
- In Bucket: <s3\_bucket\_for\_cloudtrail> fai clic su Logging</s3\_bucket\_for\_cloudtrail>
- Configura il logging del bucket
- Fai clic sulla casella di controllo Attivata
- Seleziona il bucket di destinazione dall'elenco
- Inserisci un prefisso di destinazione - Fai clic su Salva.
AWS CLI
- Ottieni il nome del bucket S3 in cui CloudTrail genera log:
aws cloudtrail describe-trails --region <region-name> --query trailList[*].S3BucketName
- Copia e aggiungi il nome del bucket di destinazione in
, il prefisso per il file log in e, facoltativamente, aggiungi un indirizzo email nel seguente modello e salvalo come :
{
"LoggingEnabled": {
"TargetBucket": "<Logging_BucketName>",
"TargetPrefix": "<LogFilePrefix>",
"TargetGrants": [
{
"Grantee": {
"Type": "AmazonCustomerByEmail",
"EmailAddress": "<EmailID>"
},
"Permission": "FULL_CONTROL"
}
]
}
}
- Esegui il comando put-bucket-logging con il nome del bucket e
come input. Per ulteriori informazioni, consulta put-bucket-logging:
aws s3api put-bucket-logging --bucket <BucketName> --bucket-logging-status file://<FileName.Json>
S3 Bucket Logging Enabled
Nome della categoria nell'API: S3_BUCKET_LOGGING_ENABLED
La funzionalità di logging degli accessi al server AWS S3 registra le richieste di accesso ai bucket di archiviazione, il che è utile per i controlli di sicurezza. Per impostazione predefinita, il logging degli accessi al server non è abilitato per i bucket S3.
Consiglio: controlla se il logging è abilitato su tutti i bucket S3 Per risolvere il problema, segui questi passaggi:Terraform
Il seguente esempio mostra come creare due bucket:
- Un bucket di log
- Un bucket conforme
variable "bucket_acl_map" {
type = map(any)
default = {
"logging-bucket" = "log-delivery-write"
"compliant-bucket" = "private"
}
}
resource "aws_s3_bucket" "all" {
for_each = var.bucket_acl_map
bucket = each.key
object_lock_enabled = true
tags = {
"Pwd" = "s3"
}
}
resource "aws_s3_bucket_acl" "private" {
for_each = var.bucket_acl_map
bucket = each.key
acl = each.value
}
resource "aws_s3_bucket_versioning" "enabled" {
for_each = var.bucket_acl_map
bucket = each.key
versioning_configuration {
status = "Enabled"
}
}
resource "aws_s3_bucket_logging" "enabled" {
for_each = var.bucket_acl_map
bucket = each.key
target_bucket = aws_s3_bucket.all["logging-bucket"].id
target_prefix = "log/"
}
resource "aws_s3_bucket_server_side_encryption_configuration" "example" {
for_each = var.bucket_acl_map
bucket = each.key
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
}
}
}
Console AWS
Per informazioni su come attivare il logging degli accessi S3 tramite la console AWS, consulta Abilitazione del logging degli accessi al server Amazon S3 nella documentazione AWS.
AWS CLI
L'esempio seguente mostra come:
- Crea un criterio del bucket per concedere all'entità principale del servizio di logging l'autorizzazione
PutObject
nel bucket di logging.
policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3ServerAccessLogsPolicy",
"Effect": "Allow",
"Principal": {"Service": "logging.s3.amazonaws.com"},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::MyBucket/Logs/*",
"Condition": {
"ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"},
"StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"}
}
}
]
}
aws s3api put-bucket-policy \
--bucket my-bucket
--policy file://policy.json
- Applica il criterio al bucket di log
logging.json
{
"LoggingEnabled": {
"TargetBucket": "MyBucket",
"TargetPrefix": "Logs/"
}
}
aws s3api put-bucket-logging \
--bucket MyBucket \
--bucket-logging-status file://logging.json
S3 Bucket Policy Set Deny Http Requests
Nome della categoria nell'API: S3_BUCKET_POLICY_SET_DENY_HTTP_REQUESTS
A livello di bucket Amazon S3, puoi configurare le autorizzazioni tramite un criterio del bucket che rende gli oggetti accessibili solo tramite HTTPS.
Consiglio: assicurati che il criterio del bucket S3 sia impostato in modo da rifiutare le richieste HTTP Per risolvere il problema, segui questi passaggi:Console AWS
utilizzando AWS Policy Generator:
- Ripeti i passaggi 1-4 descritti in precedenza.
- Fai clic su
Policy Generator
nella parte inferiore dell'editor delle norme del bucket - Seleziona il tipo di criterio
S3 Bucket Policy
- Aggiungi istruzioni
-Effect
= Deny
-Principal
= *
-AWS Service
= Amazon S3
-Actions
= *
-Amazon Resource Name
= - Genera criterio
- Copia il testo e aggiungilo alle norme del bucket.
AWS CLI
- Esporta il criterio del bucket in un file JSON.
aws s3api get-bucket-policy --bucket <bucket_name> --query Policy --output text > policy.json
- Modifica il file policy.json aggiungendo questa istruzione:
{
"Sid": <optional>",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::<bucket_name>/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
- Applica di nuovo questo criterio modificato al bucket S3:
aws s3api put-bucket-policy --bucket <bucket_name> --policy file://policy.json
S3 Bucket Replication Enabled
Nome della categoria nell'API: S3_BUCKET_REPLICATION_ENABLED
Questo controllo verifica se in un bucket Amazon S3 è abilitata la replica tra regioni. Il controllo non va a buon fine se la replica tra regioni non è abilitata nel bucket o se è abilitata anche la replica nella stessa regione.
La replica è la copia automatica e asincrona di oggetti tra bucket nella stessa regione AWS o in regioni diverse. La replica copia gli oggetti appena creati e gli aggiornamenti degli oggetti da un bucket di origine a uno o più bucket di destinazione. Le best practice AWS consigliano la replica per i bucket di origine e di destinazione di proprietà dello stesso account AWS. Oltre alla disponibilità, devi prendere in considerazione altre impostazioni di hardening dei sistemi.
Consiglio: controlla se la replica tra regioni di bucket S3 è abilitataPer attivare la replica tra regioni in un bucket S3, consulta Configurare la replica per i bucket di origine e di destinazione di proprietà dello stesso account nella Guida dell'utente di Amazon Simple Storage Service. Per Bucket di origine, scegli Applica a tutti gli oggetti nel bucket.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoS3 Bucket Server Side Encryption Enabled
Nome della categoria nell'API: S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED
Viene verificato che nel bucket S3 sia abilitata la crittografia predefinita di Amazon S3 o che il criterio del bucket S3 neghi esplicitamente le richieste put-object senza crittografia lato server.
Consiglio: assicurati che tutti i bucket S3 utilizzino la crittografia at-rest Per risolvere il problema, segui questi passaggi:Terraform
resource "aws_s3_bucket_server_side_encryption_configuration" "enable" {
bucket = "my-bucket"
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
Console AWS
Per attivare la crittografia predefinita su un bucket S3
- Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.
- Nel riquadro di navigazione a sinistra, scegli Bucket.
- Scegli il bucket S3 dall'elenco.
- Scegli Strutture.
- Scegli Crittografia predefinita.
- Per la crittografia, scegli AES-256 o AWS-KMS.
- Scegli AES-256 per utilizzare le chiavi gestite da Amazon S3 per la crittografia predefinita. Per ulteriori informazioni sull'utilizzo della crittografia lato server di Amazon S3 per criptare i dati, consulta la Guida dell'utente di Amazon Simple Storage Service.
- Scegli AWS-KMS per utilizzare le chiavi gestite da AWS KMS per la crittografia predefinita. Quindi, scegli una chiave principale dall'elenco delle chiavi principali AWS KMS che hai creato.
- Digita l'Amazon Resource Name (ARN) della chiave AWS KMS da utilizzare. Puoi trovare l'ARN della chiave AWS KMS nella console IAM, in Chiavi di crittografia. In alternativa, puoi scegliere un nome della chiave dall'elenco a discesa.
- Importante: se utilizzi l'opzione AWS KMS per la configurazione di crittografia predefinita, sei soggetto alle quote RPS (richieste al secondo) di AWS KMS. Per ulteriori informazioni sulle quote di AWS KMS e su come richiedere un aumento della quota, consulta la Guida per gli sviluppatori di AWS Key Management Service.
- Scegli Salva.
Per ulteriori informazioni sulla creazione di una chiave KMS AWS, consulta la Guida per gli sviluppatori di AWS Key Management Service.
Per ulteriori informazioni sull'utilizzo di AWS KMS con Amazon S3, consulta la Guida dell'utente di Amazon Simple Storage Service.
Quando attivi la crittografia predefinita, potrebbe essere necessario aggiornare il criterio del bucket. Per ulteriori informazioni sul passaggio dai criteri del bucket alla crittografia predefinita, consulta la Guida dell'utente di Amazon Simple Storage Service.
AWS CLI
aws s3api put-bucket-encryption \
--bucket my-bucket \
--server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
S3 Bucket Versioning Enabled
Nome della categoria nell'API: S3_BUCKET_VERSIONING_ENABLED
Amazon S3 è un mezzo per mantenere più varianti di un oggetto nello stesso bucket e può aiutarti a recuperare più facilmente sia da azioni utente indesiderate sia da errori dell'applicazione.
Consiglio: controlla che il controllo delle versioni sia abilitato per tutti i bucket S3 Per risolvere il problema, svolgi i seguenti passaggi:Terraform
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
versioning {
enabled = true
}
}
Console AWS
Per attivare o disattivare il controllo delle versioni in un bucket S3
- Accedi alla Console di gestione AWS e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.
- Nell'elenco Bucket, scegli il nome del bucket per cui vuoi attivare il controllo delle versioni.
- Scegli Strutture.
- In Versionamento del bucket, scegli Modifica.
- Scegli Sospendi o Attiva e poi Salva modifiche.
AWS CLI
aws s3control put-bucket-versioning \
--bucket <bucket_name> \
--versioning-configuration Status=Enabled
S3 Default Encryption Kms
Nome della categoria nell'API: S3_DEFAULT_ENCRYPTION_KMS
Controlla se i bucket Amazon S3 sono criptati con AWS Key Management Service (AWS KMS)
Consiglio: controlla che tutti i bucket siano criptati con KMS Per risolvere il problema, segui questi passaggi:Terraform
resource "aws_kms_key" "s3_encryption" {
description = "Used for S3 Bucket encryption configuration"
enable_key_rotation = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "enable" {
bucket = "my-bucket"
rule {
apply_server_side_encryption_by_default {
kms_master_key_id = aws_kms_key.s3_encryption.arn
sse_algorithm = "aws:kms"
}
}
}
Console AWS
Per attivare la crittografia predefinita su un bucket S3
- Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.
- Nel riquadro di navigazione a sinistra, scegli Bucket.
- Scegli il bucket S3 dall'elenco.
- Scegli Strutture.
- Scegli Crittografia predefinita.
- Per la crittografia, scegli AWS-KMS.
- Scegli AWS-KMS per utilizzare le chiavi gestite da AWS KMS per la crittografia predefinita. Quindi, scegli una chiave principale dall'elenco delle chiavi principali AWS KMS che hai creato. Per ulteriori informazioni su come creare chiavi KMS, consulta la documentazione AWS - Creazione di chiavi
- Digita l'Amazon Resource Name (ARN) della chiave AWS KMS da utilizzare. Puoi trovare l'ARN della chiave AWS KMS nella console IAM, in Chiavi di crittografia. In alternativa, puoi scegliere un nome della chiave dall'elenco a discesa.
- Importante: questa soluzione è soggetta alle quote RPS (richieste al secondo) di AWS KMS. Per ulteriori informazioni sulle quote di AWS KMS e su come richiedere un aumento della quota, consulta la Guida per gli sviluppatori di AWS Key Management Service.
- Scegli Salva.
Per ulteriori informazioni sull'utilizzo di AWS KMS con Amazon S3, consulta la Guida dell'utente di Amazon Simple Storage Service.
Quando attivi la crittografia predefinita, potrebbe essere necessario aggiornare il criterio del bucket. Per ulteriori informazioni sul passaggio dai criteri del bucket alla crittografia predefinita, consulta la Guida dell'utente di Amazon Simple Storage Service.
AWS CLI
Crea una chiave KMS
aws kms create-key \
--description "Key to encrypt S3 buckets"
Attiva rotazione della chiave
aws kms enable-key-rotation \
--key-id <key_id_from_previous_command>
Aggiorna bucket
aws s3api put-bucket-encryption \
--bucket my-bucket \
--server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"KMSMasterKeyID": "<id_from_key>", "SSEAlgorithm": "AES256"}}]}'
Sagemaker Notebook Instance Kms Key Configured
Nome della categoria nell'API: SAGEMAKER_NOTEBOOK_INSTANCE_KMS_KEY_CONFIGURED
Controlla se una chiave AWS Key Management Service (AWS KMS) è configurata per un'istanza di notebook Amazon SageMaker. La regola è NON_COMPLIANT se "KmsKeyId" non è specificato per l'istanza del notebook SageMaker.
Consiglio: controlla che tutte le istanze di notebook SageMaker siano configurate per utilizzare KMSPer configurare KMS per SageMaker, consulta Gestione delle chiavi nella documentazione di Amazon SageMaker.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoSagemaker Notebook No Direct Internet Access
Nome della categoria nell'API: SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS
Controlla se l'accesso diretto a internet è disabilitato per un'istanza di notebook SageMaker. A tal fine, controlla se il campo DirectInternetAccess è disabilitato per l'istanza del notebook.
Se configuri l'istanza SageMaker senza un VPC, per impostazione predefinita l'accesso diretto a internet è abilitato nell'istanza. Devi configurare l'istanza con un VPC e modificare l'impostazione predefinita su Disattiva: accedi a internet tramite un VPC.
Per addestrare o ospitare modelli da un notebook, devi disporre di accesso a internet. Per abilitare l'accesso a internet, assicurati che il VPC abbia un gateway NAT e che il gruppo di sicurezza consenta le connessioni in uscita. Per scoprire di più su come connettere un'istanza notebook alle risorse in una VPC, consulta Connetti un'istanza notebook alle risorse in una VPC nella Guida per gli sviluppatori di Amazon SageMaker.
Devi anche assicurarti che l'accesso alla configurazione di SageMaker sia limitato solo agli utenti autorizzati. Limita le autorizzazioni IAM degli utenti per modificare le impostazioni e le risorse di SageMaker.
Consiglio: controlla se l'accesso diretto a internet è disabilitato per tutte le istanze di notebook Amazon SageMaker Per risolvere il problema, segui questi passaggi:Console AWS
Tieni presente che non puoi modificare l'impostazione di accesso a internet dopo aver creato un'istanza del notebook. Deve essere interrotto, eliminato e ricreato.
Per configurare un'istanza di notebook SageMaker in modo da negare l'accesso diretto a internet:
- Apri la console SageMaker all'indirizzo https://console.aws.amazon.com/sagemaker/
- Vai a Istanze di Notebook.
- Elimina l'istanza in cui è abilitato l'accesso diretto a internet. Scegli l'istanza, poi Azioni e infine Interrompi.
- Dopo l'arresto dell'istanza, scegli Azioni ed elimina.
- Scegli Crea istanza di notebook. Fornisci i dettagli di configurazione.
- Espandi la sezione della rete, quindi scegli una VPC, una subnet e un gruppo di sicurezza. In Accesso diretto a internet, scegli Disattiva: accedi a internet tramite un VPC.
- Scegli Crea istanza di notebook.
Per ulteriori informazioni, consulta Connetti un'istanza del notebook alle risorse in una VPC nella Guida per gli sviluppatori di Amazon SageMaker.
Secretsmanager Rotation Enabled Check
Nome della categoria nell'API: SECRETSMANAGER_ROTATION_ENABLED_CHECK
Controlla se un secret archiviato in AWS Secrets Manager è configurato con la rotazione automatica. Il controllo non va a buon fine se il secret non è configurato con la rotazione automatica. Se fornisci un valore personalizzato per il parametro maximumAllowedRotationFrequency
, il controllo passa solo se il secret viene ruotato automaticamente nell'intervallo di tempo specificato.
Secrets Manager ti aiuta a migliorare la security posture della tua organizzazione. I secret includono credenziali del database, password e chiavi API di terze parti. Puoi utilizzare Secret Manager per archiviare i secret in modo centralizzato, criptarli automaticamente, controllare l'accesso ai secret e ruotarli in modo sicuro e automatico.
Secret Manager può ruotare i secret. Puoi utilizzare la rotazione per sostituire i secret a lungo termine con quelli a breve termine. La rotazione dei secret limita il tempo per cui un utente non autorizzato può utilizzare un secret compromesso. Per questo motivo, devi ruotare i secret di frequente. Per scoprire di più sulla rotazione, consulta la sezione Rotazione dei secret di AWS Secrets Manager nella Guida dell'utente di AWS Secrets Manager.
Consiglio: controlla che la rotazione sia abilitata per tutti i secret di AWS Secrets ManagerPer attivare la rotazione automatica per i secret di Secrets Manager, consulta Configurare la rotazione automatica per i secret di AWS Secrets Manager utilizzando la console nella Guida dell'utente di AWS Secrets Manager. Devi scegliere e configurare una funzione AWS Lambda per la rotazione.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoSns Encrypted Kms
Nome della categoria nell'API: SNS_ENCRYPTED_KMS
Controlla se un argomento SNS è criptato at-rest utilizzando AWS KMS. I controlli non vanno a buon fine se un argomento SNS non utilizza una chiave KMS per la crittografia lato server (SSE).
La crittografia dei dati at-rest riduce il rischio che i dati archiviati su disco vengano accessibili da un utente non autenticato su AWS. Aggiunge inoltre un'altra serie di controlli di accesso per limitare la capacità degli utenti non autorizzati di accedere ai dati. Ad esempio, le autorizzazioni API sono necessarie per decriptare i dati prima che possano essere letti. Gli argomenti SNS devono essere criptati at-rest per un ulteriore livello di sicurezza.
Consiglio: controlla che tutti gli argomenti SNS siano criptati con KMSPer attivare la crittografia lato server (SSE) per un argomento SNS, consulta Attivare la crittografia lato server (SSE) per un argomento Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service. Prima di poter utilizzare la crittografia lato client, devi anche configurare i criteri delle chiavi AWS KMS per consentire la crittografia degli argomenti e la crittografia e la decrittografia dei messaggi. Per ulteriori informazioni, consulta la sezione Configurazione delle autorizzazioni AWS KMS nella Guida per gli sviluppatori di Amazon Simple Notification Service.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoVpc Default Security Group Closed
Nome della categoria nell'API: VPC_DEFAULT_SECURITY_GROUP_CLOSED
Questo controllo verifica se il gruppo di sicurezza predefinito di un VPC consente il traffico in entrata o in uscita. Il controllo non va a buon fine se il gruppo di sicurezza consente il traffico in entrata o in uscita.
Le regole per il gruppo di sicurezza predefinito consentono tutto il traffico in entrata e in uscita dalle interfacce di rete (e dalle relative istanze associate) assegnate allo stesso gruppo di sicurezza. Ti consigliamo di non utilizzare il gruppo di sicurezza predefinito. Poiché il gruppo di sicurezza predefinito non può essere eliminato, devi modificare l'impostazione delle regole del gruppo di sicurezza predefinito per limitare il traffico in entrata e in uscita. In questo modo si impedisce il traffico indesiderato se il gruppo di sicurezza predefinito viene configurato per errore per risorse come le istanze EC2.
Consiglio: assicurati che il gruppo di sicurezza predefinito di ogni VPC limiti tutto il trafficoPer risolvere il problema, inizia creando nuovi gruppi di sicurezza con i privilegi minimi. Per le istruzioni, consulta Creare un gruppo di sicurezza nella Guida dell'utente di Amazon VPC. Assegna quindi i nuovi gruppi di sicurezza alle istanze EC2. Per istruzioni, consulta Modificare il gruppo di sicurezza di un'istanza nella Guida dell'utente di Amazon EC2 per le istanze Linux.
Dopo aver assegnato i nuovi gruppi di sicurezza alle risorse, rimuovi tutte le regole in entrata e in uscita dai gruppi di sicurezza predefiniti. Per le istruzioni, consulta Eliminare le regole del gruppo di sicurezza nella Guida dell'utente di Amazon VPC.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoVpc Flow Logging Enabled All Vpcs
Nome della categoria nell'API: VPC_FLOW_LOGGING_ENABLED_ALL_VPCS
I log di flusso VPC sono una funzionalità che consente di acquisire informazioni sul traffico IP da e verso le interfacce di rete nel VPC. Dopo aver creato un log dei flussi, puoi visualizzare e recuperare i relativi dati in Amazon CloudWatch Logs. È consigliabile abilitare i log di flusso VPC per i pacchetti "Rifiutati" per i VPC.
Consiglio: assicurati che il logging dei flussi VPC sia abilitato in tutti i VPC Per risolvere il problema, segui questi passaggi:Console AWS
- Accedi alla console di gestione
- Seleziona
Services
e poiVPC
- Nel riquadro di navigazione a sinistra, seleziona
Your VPCs
- Seleziona un VPC
- Nel riquadro a destra, seleziona la scheda
Flow Logs
. - Se non esiste alcun log di flusso, fai clic su
Create Flow Log
. - Per Filtro, seleziona
Reject
- Inserisci
Role
eDestination Log Group
- Fai clic su
Create Log Flow
. - Fai clic su
CloudWatch Logs Group
.
Nota:l'impostazione del filtro su "Rifiuta" ridurrà notevolmente l'accumulo dei dati di log per questo consiglio e fornirà informazioni sufficienti ai fini del rilevamento, della ricerca e della correzione delle violazioni. Tuttavia, durante i periodi di progettazione di gruppi di sicurezza con il privilegio minimo, l'impostazione del filtro su "Tutti" può essere molto utile per rilevare i flussi di traffico esistenti necessari per il corretto funzionamento di un ambiente già in esecuzione.
AWS CLI
- Crea un documento delle norme, denominalo
role_policy_document.json
e incolla i seguenti contenuti:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "test",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
- Crea un altro documento delle norme, denominalo
iam_policy.json
e incolla i seguenti contenuti:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action":[
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"logs:FilterLogEvents"
],
"Resource": "*"
}
]
}
- Esegui il comando seguente per creare un ruolo IAM:
aws iam create-role --role-name <aws_support_iam_role> --assume-role-policy-document file://<file-path>role_policy_document.json
- Esegui il comando seguente per creare un criterio IAM:
aws iam create-policy --policy-name <ami-policy-name> --policy-document file://<file-path>iam-policy.json
- Esegui il comando
attach-group-policy
utilizzando l'ARN del criterio IAM restituito nel passaggio precedente per associare il criterio al ruolo IAM (se il comando va a buon fine, non viene restituito alcun output):
aws iam attach-group-policy --policy-arn arn:aws:iam::<aws-account-id>:policy/<iam-policy-name> --group-name <group-name>
- Esegui
describe-vpcs
per ottenere il VpcId disponibile nella regione selezionata:
aws ec2 describe-vpcs --region <region>
- L'output del comando dovrebbe restituire l'ID VPC disponibile nella regione selezionata.
- Esegui
create-flow-logs
per creare un log di flusso per la VPC:
aws ec2 create-flow-logs --resource-type VPC --resource-ids <vpc-id> --traffic-type REJECT --log-group-name <log-group-name> --deliver-logs-permission-arn <iam-role-arn>
- Ripeti il passaggio 8 per le altre VPC disponibili nella regione selezionata.
- Modifica la regione aggiornando --region e ripeti la procedura di correzione per le altre VPC.
Vpc Sg Open Only To Authorized Ports
Nome della categoria nell'API: VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS
Questo controllo verifica se un gruppo di sicurezza Amazon EC2 consente il traffico in entrata senza restrizioni da porte non autorizzate. Lo stato del controllo viene determinato come segue:
Se utilizzi il valore predefinito per authorizedTcpPorts, il controllo non va a buon fine se il gruppo di sicurezza consente il traffico in entrata senza restrizioni da qualsiasi porta diversa da 80 e 443.
Se fornisci valori personalizzati per authorizedTcpPorts o authorizedUdpPorts, il controllo non va a buon fine se il gruppo di sicurezza consente il traffico in entrata senza restrizioni da qualsiasi porta non inclusa nell'elenco.
Se non viene utilizzato alcun parametro, il controllo non va a buon fine per qualsiasi gruppo di sicurezza con una regola di traffico in entrata senza restrizioni.
I gruppi di sicurezza forniscono il filtraggio stateful del traffico di rete in entrata e in uscita verso AWS. Le regole del gruppo di sicurezza devono seguire il principio del privilegio minimo. L'accesso senza restrizioni (indirizzo IP con suffisso /0) aumenta le opportunità di attività dannose come pirateria informatica, attacchi di tipo denial-of-service e perdita di dati. A meno che una porta non sia consentita specificamente, deve negare l'accesso illimitato.
Consiglio: controlla che tutti i gruppi di sicurezza con 0.0.0.0/0 di qualsiasi VPC consentano solo traffico TCP/UDP in entrata specificoPer modificare un gruppo di sicurezza, consulta Utilizzare i gruppi di sicurezza nella Guida dell'utente di Amazon VPC.
Scopri le risorse e le impostazioni di scansione supportate per questo tipo di rilevamentoBoth VPC VPN Tunnels Up
Nome della categoria nell'API: VPC_VPN_2_TUNNELS_UP
Un tunnel VPN è un link criptato in cui i dati possono passare dalla rete del cliente ad AWS o viceversa all'interno di una connessione VPN AWS Site-to-Site. Ogni connessione VPN include due tunnel VPN che puoi utilizzare contemporaneamente per l'alta disponibilità. È importante assicurarsi che entrambi i tunnel VPN siano attivi per una connessione VPN per confermare una connessione sicura e ad alta disponibilità tra un VPC AWS e la rete remota.
Questo controllo verifica che entrambi i tunnel VPN forniti da AWS Site-to-Site VPN siano in stato UP. Il controllo non va a buon fine se uno o entrambi i tunnel sono in stato DOWN.
Consiglio: controlla che entrambi i tunnel VPN forniti da AWS tra siti siano in stato attivoPer modificare le opzioni del tunnel VPN, consulta Modificare le opzioni del tunnel VPN site-to-site nella Guida dell'utente di AWS Site-to-Site VPN.
Scopri di più sulle risorse e sulle impostazioni di scansione supportate per questo tipo di rilevamento