Raccogli i log di AWS Security Hub
Questo documento spiega come importare i log di AWS Security Hub in Google Security Operations. AWS Security Hub fornisce una visione completa degli avvisi e dei risultati relativi alla sicurezza negli account AWS. Inviando questi risultati a Google SecOps, puoi utilizzare le funzionalità di Google SecOps per migliorare il monitoraggio e il rilevamento delle minacce.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi ad AWS.
Configura AWS IAM
- Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creare un bucket
- Salva Nome e Regione del bucket per utilizzarli in un secondo momento.
- Crea un utente seguendo questa guida dell'utente: Creare un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Credenziali di sicurezza.
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per utilizzarle in un secondo momento.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri di autorizzazione.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Collega direttamente i criteri.
- Cerca e seleziona il criterio AmazonS3FullAccess.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configurare AWS Security Hub per inoltrare i risultati con EventBridge
- Accedi alla AWS Management Console.
- Nella barra di ricerca, digita e seleziona Security Hub dall'elenco dei servizi.
- Fai clic su Impostazioni.
- Nella sezione Integrazioni, individua EventBridge e fai clic su Attiva.
- Nella barra di ricerca, digita e seleziona EventBridge dall'elenco dei servizi.
- Nella console EventBridge, fai clic su Regole > Crea regola.
- Specifica la seguente configurazione della regola:
- Nome regola: fornisci un nome descrittivo per la regola (ad esempio SendSecurityHubFindingsToS3).
- Origine evento: seleziona Servizi AWS.
- Nome servizio: scegli Security Hub.
- Tipo di evento: seleziona Risultati di Security Hub.
- Imposta il target: scegli il bucket S3 come target per i risultati.
- Bucket S3: seleziona il bucket in cui devono essere archiviati i risultati.
- Se non hai ancora configurato un bucket S3, creane uno:
- Vai alla console S3 .
- Fai clic su Crea bucket.
- Specifica un nome per il bucket (ad esempio securityhub-findings-logs).
- Fai clic su Crea.
- Configura le autorizzazioni: EventBridge configurerà automaticamente le autorizzazioni necessarie per inviare i risultati al bucket S3 specificato (se utilizzi un bucket personalizzato, assicurati che siano presenti le autorizzazioni S3 appropriate per consentire a EventBridge di scrivere i log nel bucket).
- Fai clic su Crea.
Configura un feed in Google SecOps per importare i log di AWS Security Hub
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di AWS Security Hub).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona AWS Security Hub come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- Regione: la regione in cui si trova il bucket Amazon S3.
- URI S3: l'URI del bucket.
s3://your-log-bucket-name/
- Sostituisci
your-log-bucket-name
con il nome effettivo del bucket.
- Sostituisci
- L'URI è una: seleziona Directory o Directory che include sottodirectory.
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
ID chiave di accesso: la chiave di accesso utente con accesso al bucket S3.
Chiave di accesso segreta: la chiave segreta dell'utente con accesso al bucket S3.
Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
account |
principal.group.product_object_id |
L'ID account AWS associato al rilevamento. |
configurationItem.ARN |
target.resource.id |
Il nome risorsa Amazon (ARN) dell'elemento di configurazione. |
configurationItem.awsAccountId |
principal.user.userid |
L'ID account AWS dell'elemento di configurazione. |
configurationItem.awsRegion |
target.asset.location.country_or_region |
La regione AWS dell'elemento di configurazione. |
configurationItem.configuration.complianceType |
security_result.summary |
Il tipo di conformità dell'elemento di configurazione. |
configurationItem.configuration.configRuleList[].complianceType |
security_result.summary |
Stato di conformità per ogni regola di configurazione. |
configurationItem.configuration.configRuleList[].configRuleArn |
security_result.rule_id |
L'ARN della regola AWS Config. |
configurationItem.configuration.configRuleList[].configRuleId |
security_result.about.labels.configRuleId |
L'ID della regola AWS Config. |
configurationItem.configuration.configRuleList[].configRuleName |
security_result.rule_name |
Il nome della regola AWS Config. |
configurationItem.configuration.privateIpAddress |
target.ip |
L'indirizzo IP privato dell'elemento di configurazione. |
configurationItem.configuration.publicIpAddress |
target.ip |
L'indirizzo IP pubblico dell'elemento di configurazione. |
configurationItem.configurationItemCaptureTime |
target.asset.attribute.creation_time |
L'ora di acquisizione dell'elemento di configurazione, convertita in un timestamp. |
configurationItem.configurationItemStatus |
target.asset.attribute.labels.Configuration Item Status |
Lo stato dell'elemento di configurazione. |
configurationItem.relationships[].resourceId |
target.asset.attribute.cloud.vpc.id |
L'ID della risorsa correlata, utilizzato per l'ID VPC se corrisponde a "vpc". |
configurationItem.resourceId |
target.resource.id |
L'ID risorsa dell'elemento di configurazione. |
configurationItem.resourceName |
target.resource.name |
Nome della risorsa. |
configurationItem.resourceType |
target.resource.resource_subtype |
Il tipo di risorsa dell'elemento di configurazione. |
configurationItem.tags.Contact |
principal.user.user_display_name OPPURE principal.user.email_addresses |
Dati di contatto estratti dai tag, analizzati per email e nome utente. |
configurationItem.tags.OS /configurationItem.tags.Os |
target.asset.platform_software.platform |
Il sistema operativo dei tag, mappato alla piattaforma se è "Windows" o "Linux". |
configurationItemDiff.changeType |
metadata.event_type |
Il tipo di modifica, mappato a RESOURCE_WRITTEN o RESOURCE_CREATION. |
detail.accountId |
principal.group.product_object_id |
L'ID account AWS associato al rilevamento. |
detail.actionDescription detail.actionName detail.description |
sec_result.description |
La descrizione del risultato. |
detail.findings[].AwsAccountId |
principal.group.product_object_id |
L'ID account AWS associato al rilevamento. |
detail.findings[].CompanyName detail.findings[].CreatedAt detail.findings[].Description |
sec_result.description |
La descrizione del risultato. |
detail.findings[].FindingProviderFields.Severity.Label |
sec_result.severity |
L'etichetta della gravità del risultato, convertita in maiuscolo. |
detail.findings[].FindingProviderFields.Types[] detail.findings[].FirstObservedAt detail.findings[].GeneratorId detail.findings[].Id detail.findings[].LastObservedAt detail.findings[].ProductArn detail.findings[].ProductFields. |
Vedi di seguito | Vari campi utilizzati per campi aggiuntivi, informazioni principali e target. |
detail.findings[].ProductName detail.findings[].RecordState detail.findings[].Region |
target.location.name |
La regione AWS del rilevamento. |
detail.findings[].Resources[].Details. |
Vedi di seguito | Dettagli sulle risorse coinvolte nel rilevamento. |
detail.findings[].Resources[].Id |
target.resource.product_object_id |
L'ID della risorsa. |
detail.findings[].Resources[].Partition detail.findings[].Resources[].Region |
target.location.name |
La regione AWS della risorsa. |
detail.findings[].Resources[].Tags detail.findings[].Resources[].Type |
target.resource.resource_type , target.resource.resource_subtype , metadata.event_type |
Il tipo di risorsa, utilizzato per la mappatura del tipo di risorsa, del sottotipo e del tipo di evento. |
detail.findings[].Sample detail.findings[].SchemaVersion detail.findings[].Severity.Label detail.findings[].SourceUrl detail.findings[].Title |
sec_result.summary |
Il titolo del rilievo. |
detail.findings[].Types[] detail.findings[].UpdatedAt detail.findings[].Workflow.Status detail.findings[].WorkflowState detail-type |
metadata.product_event_type |
Il tipo di dettaglio dell'evento. |
id |
metadata.product_log_id |
L'ID dell'evento. |
region |
target.location.name |
La regione AWS dell'evento. |
resources[] source time version (Logica del parser) |
metadata.event_timestamp |
L'ora di creazione della voce di log originale, utilizzata come timestamp dell'evento. |
(Parser Logic) | metadata.log_type |
Imposta su "AWS_SECURITY_HUB". |
(Parser Logic) | metadata.product_name |
Imposta su "AWS Security Hub". |
(Parser Logic) | metadata.vendor_name |
Impostato su "AMAZON". |
(Parser Logic) | target.asset.attribute.cloud.environment |
Imposta su "AMAZON_WEB_SERVICES". |
(Parser Logic) | metadata.event_type |
Impostato su "USER_RESOURCE_ACCESS" come valore predefinito se non mappato da Resources[].Type o configurationItemDiff.changeType . Impostato su "STATUS_UPDATE" se configurationItems è presente e non è impostato nessun altro tipo di evento. Impostato su "RESOURCE_READ" se è presente configurationItem o configurationItems e lo stato è "OK" o "ResourceDiscovered". Impostato su "RESOURCE_DELETION" se è presente configurationItem o configurationItems e lo stato è "ResourceDeleted". |
(Parser Logic) | metadata.description |
Impostato su "guardduty" se è presente detail.findings[].ProductFields.aws/guardduty/service/serviceName . |
(Parser Logic) | target.asset.attribute.cloud.vpc.resource_type |
Imposta su "VPC_NETWORK" se configurationItems.relationships[].resourceId corrisponde a "vpc". |
(Parser Logic) | target.resource.resource_type |
Imposta su "VIRTUAL_MACHINE" se è presente configurationItem o configurationItems . Impostato su "UNSPECIFIED" se non è impostato nessun altro tipo di risorsa. |
(Parser Logic) | target.asset.platform_software.platform |
Imposta su "WINDOWS" o "LINUX" in base alla presenza di "Windows" o "(Linux |
(Parser Logic) | disambiguation_key |
Aggiunta quando vengono generati più eventi da una singola voce di log. |
Modifiche
2023-06-20
- Miglioramento:
- "metadata.event_type" è stato modificato da "GENERIC_EVENT" in "USER_RESOURCE_ACCESS".
2023-03-24
- Miglioramento:
- when "detail.findings.0.Resources.0.Type" == "AwsEcsTaskDefinition" -
- "target.resource.resource_type" è stato mappato a "TASK".
- "event_type" è stato mappato a "USER_RESOURCE_ACCESS".
- È stata mappata la stringa "detail.findings.0.ProductFields.Resources:0/Id" a "principal.asset_id".
- Tutti gli altri log con errori sono stati analizzati come GENERIC_EVENT perché STATUS_UPDATE non era un'opzione di analisi adatta.
2022-08-22
- Miglioramento:
- Il valore vendor_name è stato aggiornato da "AWS SECURITY HUB" ad "AMAZON".
- Il valore product_name è stato aggiornato da "AWS SECURITY HUB" ad "AWS Security Hub".
- Sono stati analizzati i log nel nuovo formato JSON contenenti "configurationItem" o "configurationItems".
- Sono stati gestiti i log importati come file di importazione separandoli utilizzando il ciclo for e analizzandoli come singoli eventi.
2022-07-01
- Analizzatore sintattico appena creato.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.