0Pricing
AWS Solutions Architect · Lezione

CloudTrail Insights e integrità dei file di log

Abilitare CloudTrail Insights per rilevare attività API insolite e utilizzare i file digest per verificare l'integrità dei file di log a fini forensi

CloudTrail Insights e integrità dei file di log è una lezione AWS Solutions Architect gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AWS Solutions Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Solutions Architect include 4 lezioni in totale.

Che cos'è CloudTrail Insights

CloudTrail Insights è una funzionalità opzionale che utilizza il machine learning per rilevare automaticamente attività API insolite nel Suo account AWS. Stabilisce una baseline dei normali tassi di chiamata API e dei volumi degli eventi di gestione di scrittura per ogni API, quindi invia avvisi quando l'attività si discosta significativamente da tale baseline. Gli eventi Insights vengono consegnati nello stesso bucket S3 dei log dei trail e possono anche attivare regole EventBridge per una risposta automatizzata.

Abilitazione di CloudTrail Insights

CloudTrail Insights viene abilitato per ogni trail. È possibile scegliere di rilevare anomalie nel tasso di chiamate API (un numero insolito di eventi di gestione di scrittura al secondo) oppure anomalie nel tasso di errore delle API (un numero insolito di errori di accesso negato o di limitazione della frequenza). Insights richiede un trail attivo con gli eventi di gestione abilitati. AWS addebita gli eventi Insights in aggiunta ai normali costi degli eventi dei trail. Insights impiega 24-36 ore per stabilire una baseline iniziale prima di poter iniziare a rilevare anomalie.

# Enable CloudTrail Insights for API call rate and error rate anomalies
aws cloudtrail put-insight-selectors \
  --trail-name OrgAuditTrail \
  --insight-selectors \
    InsightType=ApiCallRateInsight \
    InsightType=ApiErrorRateInsight

# Verify insights configuration
aws cloudtrail get-insight-selectors \
  --trail-name OrgAuditTrail

Comprendere gli eventi Insights

Un evento Insights comprende un evento di inizio e un evento di fine. L'evento di inizio viene generato quando inizia l'anomalia — ad esempio, in caso di un picco insolito di chiamate TerminateInstances — mentre l'evento di fine viene generato quando il tasso di chiamate API torna alla normalità. Ogni evento Insights include l'API interessata, il tasso della baseline normale, il tasso massimo osservato e la durata. Ciò consente di capire se l'anomalia era il risultato di un attacco prolungato o di un breve picco.

# Search for Insights events in the last 30 days
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventCategory,AttributeValue=insight \
  --start-time $(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ) \
  --query 'Events[].{Time:EventTime,Name:EventName,Source:EventSource}' \
  --output table

Cosa rileva Insights nella pratica

Anomalie comuni segnalate da CloudTrail Insights: una compromissione delle credenziali in cui un attaccante utilizza chiavi rubate per enumerare rapidamente tutti i bucket S3, uno script di distribuzione configurato erroneamente che esegue un ciclo e chiama migliaia di volte l'API EC2, una minaccia interna che elimina le risorse più rapidamente del normale oppure un attacco alla catena di approvvigionamento in cui una funzione Lambda inizia improvvisamente a effettuare chiamate STS insolite. Insights offre una finestra di rilevamento più rapida rispetto all'analisi manuale dei log di CloudTrail.

Integrazione con EventBridge per la risposta automatizzata

Gli eventi CloudTrail Insights vengono consegnati automaticamente ad Amazon EventBridge, consentendo una risposta automatizzata. È possibile creare una regola EventBridge che attivi una funzione Lambda quando viene rilevato un evento Insights — ad esempio per inviare un messaggio Slack, creare un ticket Jira o persino revocare automaticamente le chiavi di accesso dell'utente IAM se l'anomalia corrisponde a un modello di attacco noto. In questo modo si crea una pipeline di automazione della sicurezza in tempo reale basata sui risultati di Insights.

# EventBridge rule to trigger Lambda when a CloudTrail Insights event fires
aws events put-rule \
  --name CloudTrailInsightsAlert \
  --event-pattern '{
    "source": ["aws.cloudtrail"],
    "detail-type": ["AWS Insight via CloudTrail"]
  }' \
  --state ENABLED

# Add Lambda as the target
aws events put-targets \
  --rule CloudTrailInsightsAlert \
  --targets Id=LambdaTarget,Arn=arn:aws:lambda:us-east-1:111122223333:function:SecurityResponder

Convalida dell'integrità dei file di log

La convalida dell'integrità dei file di log garantisce che i file di log di CloudTrail non siano stati modificati, eliminati o falsificati dopo la consegna in S3. Quando è abilitata (tramite --enable-log-file-validation), CloudTrail crea ogni ora un file digest che contiene gli hash SHA-256 di tutti i file di log consegnati durante quell'ora, oltre all'hash del digest precedente. Il file digest viene firmato con la chiave privata di CloudTrail. È possibile convalidare i log utilizzando il comando validate-logs dell'AWS CLI.

# Enable log file validation when creating or updating a trail
aws cloudtrail update-trail \
  --name OrgAuditTrail \
  --enable-log-file-validation

# Validate log file integrity for a specific time range
aws cloudtrail validate-logs \
  --trail-arn arn:aws:cloudtrail:us-east-1:111122223333:trail/OrgAuditTrail \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-02T00:00:00Z \
  --verbose

Come funzionano i file digest

Ogni ora CloudTrail consegna in S3 un file digest in un percorso separato da quello dei file di log (s3://bucket/CloudTrail-Digest/...). Il digest contiene l'hash SHA-256 di ogni file di log consegnato nell'ora precedente, l'URI S3 di ciascun file e un hash del digest precedente (creando una catena di hash). Se un attaccante modifica un file di log dopo la consegna, l'hash nel digest non corrisponderà più: la convalida avrà esito negativo e segnalerà quali file sono stati manomessi.

# View the structure of a CloudTrail digest file (JSON)
# {
#   "digestStartTime": "2024-01-01T00:00:00Z",
#   "digestEndTime": "2024-01-01T01:00:00Z",
#   "logFiles": [
#     {
#       "s3Bucket": "my-cloudtrail-logs",
#       "s3Object": "AWSLogs/.../CloudTrail/.../2024/01/01/file.json.gz",
#       "hashValue": "sha256:abc123...",
#       "hashAlgorithm": "SHA-256"
#     }
#   ],
#   "previousDigestHashValue": "sha256:xyz789..."
# }

Proteggere il trail di audit dalle manomissioni

L'integrità dei file di log è utile solo se anche i file digest e gli stessi file di log sono protetti. Buone pratiche: abilitare S3 MFA Delete nel bucket CloudTrail, in modo che i file non possano essere eliminati senza MFA; applicare una policy del bucket che neghi l'eliminazione per impedire a qualsiasi principal di eliminare oggetti; abilitare S3 Object Lock (modalità Compliance) per una conservazione dei log immutabile; e utilizzare un trail dell'organizzazione, così gli account membri non possono disabilitare la registrazione. Insieme, questi controlli rendono quasi impossibile per un utente interno cancellare le prove di audit.

# Deny-delete policy on the CloudTrail S3 bucket
# {
#   "Sid": "DenyDeleteCloudTrailLogs",
#   "Effect": "Deny",
#   "Principal": {"AWS": "*"},
#   "Action": [
#     "s3:DeleteObject",
#     "s3:DeleteObjectVersion"
#   ],
#   "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333/*"
# }

Insights e GuardDuty: servizi complementari

CloudTrail Insights e Amazon GuardDuty sono complementari, non duplicati. Insights si concentra sulle anomalie nel volume delle chiamate API — picchi improvvisi in specifiche chiamate API di gestione. GuardDuty analizza un insieme più ampio di origini dati, inclusi gli eventi CloudTrail, i VPC Flow Logs e i log DNS, per rilevare modelli di minaccia come credenziali compromesse, cryptomining, esfiltrazione di dati e indirizzi IP dannosi noti. Per una difesa in profondità, abiliti entrambi: Insights per le anomalie basate sul volume e GuardDuty per i rilevamenti basati sulle informazioni sulle minacce.

Visualizzare Insights nella console CloudTrail

Nella console CloudTrail, la scheda Insights elenca tutte le anomalie rilevate con i relativi orari di inizio e fine, il nome dell'API e un grafico che confronta il tasso della baseline con il tasso osservato durante l'anomalia. Facendo clic su un evento Insights si accede direttamente agli eventi di gestione correlati nella cronologia degli eventi per lo stesso intervallo di tempo, consentendo di correlare «si è verificata un'anomalia» con «queste sono le chiamate API specifiche che l'hanno causata». Questa capacità di analisi dettagliata rende Insights concretamente utile.

Casi d'uso per la conformità

La convalida dell'integrità dei file di log è richiesta da diversi framework di conformità: PCI-DSS richiede la dimostrazione che i log di audit non siano stati alterati; HIPAA impone controlli di audit a prova di manomissione per i dati sanitari; SOC 2 richiede controlli di integrità sui log di sicurezza. La combinazione di convalida dei file di log di CloudTrail, S3 Object Lock e trail dell'organizzazione soddisfa questi requisiti ed è comunemente citata nella documentazione sulla conformità AWS. Quando le domande d'esame menzionano la necessità di «dimostrare che i log non sono stati manomessi», la risposta è la convalida dell'integrità dei file di log.

Verifica rapida

Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha appreso che CloudTrail Insights utilizza il machine learning per rilevare anomalie nel tasso di chiamate API e nel tasso di errore, con eventi di inizio e fine; la convalida dell'integrità dei file di log utilizza file digest SHA-256 in una catena di hash per rilevare qualsiasi manomissione o eliminazione dei file di log; e S3 Object Lock, combinato con le policy che negano l'eliminazione, protegge l'integrità del trail di audit. Prossimamente esamineremo le regole AWS Config e la correzione automatizzata.

Domande Frequenti

La lezione «CloudTrail Insights e integrità dei file di log» è gratuita?

Sì — il testo completo di «CloudTrail Insights e integrità dei file di log» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AWS Solutions Architect, passa a CoddyKit PRO. Il corso AWS Solutions Architect include 4 lezioni in totale.

Cosa imparerò in «CloudTrail Insights e integrità dei file di log»?

Abilitare CloudTrail Insights per rilevare attività API insolite e utilizzare i file digest per verificare l'integrità dei file di log a fini forensi Eserciti AWS Solutions Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AWS Solutions Architect?

Non è richiesta alcuna esperienza precedente. AWS Solutions Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «CloudTrail Insights e integrità dei file di log»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AWS Solutions Architect?

Sì. Ogni lezione AWS Solutions Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Trail CloudTrail e cronologia degli eventi
  2. CloudTrail Insights e integrità dei file di log
  3. Regole e correzione di AWS Config
  4. Conformance Pack e trail dell'organizzazione
← Torna a AWS Solutions Architect