Raccogliere i log di AWS Inspector
Parser Version: 1.0
Questo documento spiega come importare i log di AWS Inspector in Google Security Operations utilizzando Amazon S3.
Amazon Inspector è un servizio di gestione delle vulnerabilità che rileva automaticamente i carichi di lavoro e li analizza continuamente per individuare vulnerabilità software ed esposizione di rete non intenzionale. Esegue la scansione delle istanze Amazon EC2, delle immagini dei container in Amazon ECR e delle funzioni AWS Lambda, producendo risultati dettagliati con punteggi di gravità e consigli di correzione. Questa integrazione utilizza la funzionalità di esportazione dei risultati integrata di Amazon Inspector per inviare report sui risultati in formato JSON a un bucket S3, che Google SecOps importa utilizzando un feed Amazon S3 V2.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso con privilegi alla Console di gestione AWS con le autorizzazioni per gestire:
- Amazon Inspector (risultati, report)
- Amazon S3 (bucket, policy del bucket)
- AWS KMS (criteri delle chiavi)
- AWS IAM (ruoli, criteri, utenti)
Configura un bucket S3 per le esportazioni dei risultati di Amazon Inspector
Amazon Inspector cripta i report sui risultati con una chiave AWS KMS prima di archiviarli in un bucket S3. Devi configurare sia la policy del bucket S3 sia la policy della chiave KMS per consentire l'accesso ad Amazon Inspector.
Crea e configura il bucket S3
- Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creazione di un bucket.
Salva il nome e la regione del bucket per riferimento futuro (ad esempio,
inspector-findings-to-secops).Seleziona il bucket creato nella console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3.
Seleziona la scheda Autorizzazioni.
Nella sezione Policy del bucket, fai clic su Modifica.
Aggiungi la seguente istruzione alla policy del bucket (sostituisci
inspector-findings-to-secopscon il nome del bucket,111122223333con l'ID account AWS eus-east-1con la regione AWS):{ "Version": "2012-10-17", "Statement": [ { "Sid": "allow-inspector", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::inspector-findings-to-secops/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*" } } } ] }Fai clic su Salva modifiche.
Configura una chiave AWS KMS
Amazon Inspector richiede una chiave AWS KMS di crittografia simmetrica gestita dal cliente nella stessa regione del bucket S3 per criptare i report sui risultati.
- Apri la console AWS KMS all'indirizzo https://console.aws.amazon.com/kms.
- Nel riquadro di navigazione, seleziona Chiavi gestite dal cliente.
- Seleziona la chiave KMS che vuoi utilizzare (o crea una nuova chiave di crittografia simmetrica).
- Seleziona la scheda Policy della chiave e fai clic su Modifica.
Aggiungi la seguente istruzione al criterio della chiave (sostituisci
111122223333con il tuo ID account AWS eus-east-1con la tua regione AWS):{ "Sid": "Allow Amazon Inspector to use the key", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*" } } }Fai clic su Salva modifiche.
Esporta i risultati di Amazon Inspector in S3
- Accedi alla console Amazon Inspector all'indirizzo https://console.aws.amazon.com/inspector/v2/home.
- Nel riquadro di navigazione, vai a Risultati > Tutti i risultati.
(Facoltativo) Utilizza la barra dei filtri sopra la tabella Risultati per specificare quali risultati includere nel report.
Fai clic su Esporta risultati.
Nella sezione Impostazioni di esportazione, seleziona JSON per Tipo di file di esportazione.
In Posizione di esportazione, per URI S3, fai clic su Sfoglia S3 e seleziona il bucket S3
inspector-findings-to-secops.Per Chiave KMS, seleziona la chiave AWS KMS che hai configurato.
Fai clic su Esporta.
Automatizzare l'esportazione dei risultati utilizzando AWS CLI
Per esportare i report sui risultati in modo ricorrente, utilizza il comando create-findings-report di AWS CLI. Puoi pianificare questo comando utilizzando Amazon EventBridge Scheduler o un cron job.
Esempio di comando:
aws inspector2 create-findings-report \ --report-format JSON \ --s3-destination bucketName=inspector-findings-to-secops,keyPrefix=findings/,kmsKeyArn=arn:aws:kms:us-east-1:111122223333:key/your-kms-key-id
Per saperne di più, consulta il riferimento AWS CLI create-findings-report.
Configura un utente IAM per Google SecOps
Google SecOps ha bisogno di un utente IAM con accesso in lettura al bucket S3 per importare i risultati esportati.
- Crea un utente seguendo questa guida utente: Creazione di 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 il tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Download .csv file (Scarica file .csv) per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Allega direttamente le norme.
- Cerca la policy AmazonS3FullAccess.
- Seleziona la policy.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configura un feed in Google SecOps per importare i log di AWS Inspector
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Inserisci un nome univoco per il Nome feed.
- Seleziona Amazon S3 V2 come Tipo di origine.
- Seleziona AWS Inspector come Tipo di log.
- Fai clic su Avanti e poi su Invia.
Specifica i valori per i seguenti campi:
- URI S3:
s3://inspector-findings-to-secops/findings/ - Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)
- ID chiave di accesso: chiave di accesso utente con accesso al bucket S3
- Chiave di accesso segreta: chiave segreta dell'utente con accesso al bucket S3
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed
- URI S3:
Fai clic su Avanti e poi su Invia.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
duration_ms_label |
additional.fields |
Unita |
evnt_app_class_label |
additional.fields |
Unita |
evnt_cloud_application_class_label |
additional.fields |
Unita |
evnt_cloud_sandbox_md5_label |
additional.fields |
Unita |
evnt_cloudapp_rule_label |
additional.fields |
Unita |
evnt_content_type_label |
additional.fields |
Unita |
evnt_customer_label |
additional.fields |
Unita |
evnt_department_label |
additional.fields |
Unita |
evnt_location_label |
additional.fields |
Unita |
evnt_lpclagg_label |
additional.fields |
Unita |
evnt_lpcltype_label |
additional.fields |
Unita |
evnt_network_service_label |
additional.fields |
Unita |
evnt_tenant_label |
additional.fields |
Unita |
evnt_url_category_label |
additional.fields |
Unita |
exception_label |
additional.fields |
Unita |
function_label |
additional.fields |
Unita |
id_label |
additional.fields |
Unita |
level_no_label |
additional.fields |
Unita |
line_label |
additional.fields |
Unita |
location_label |
additional.fields |
Unita |
logger_field |
additional.fields |
Unita |
msg_location_label |
additional.fields |
Unita |
msg_record_functionName_label |
additional.fields |
Unita |
msg_record_functionVersion_label |
additional.fields |
Unita |
msg_record_initializationType_label |
additional.fields |
Unita |
msg_record_instancId_label |
additional.fields |
Unita |
msg_record_instanceMaxMemory_label |
additional.fields |
Unita |
msg_record_phase_label |
additional.fields |
Unita |
msg_service_label |
additional.fields |
Unita |
msg_type_label |
additional.fields |
Unita |
msg_xray_trace_id_label |
additional.fields |
Unita |
protocol_label |
additional.fields |
Unita |
record_version_label |
additional.fields |
Unita |
repr_label |
additional.fields |
Unita |
service_label |
additional.fields |
Unita |
sourcetype_label |
additional.fields |
Unita |
thread_name_label |
additional.fields |
Unita |
type_label |
additional.fields |
Unita |
xray_trace_id_label |
additional.fields |
Unita |
evnt_device_hostname |
intermediary.hostname |
Mappato direttamente |
evnt_fwd_method_label |
intermediary.resource.attribute.labels |
Unita |
desc_msg |
metadata.description |
Mappata direttamente |
message |
metadata.description |
Mappata direttamente |
msg |
metadata.description |
Mappata direttamente |
msg_desc_msg |
metadata.description |
Mappata direttamente |
msg_record_desc_msg |
metadata.description |
Mappata direttamente |
msg_text |
metadata.description |
Mappato direttamente |
msg.time |
metadata.event_timestamp |
Analizzato come ISO8601 |
repr_time |
metadata.event_timestamp |
Analizzato come ISO8601 |
timestamp |
metadata.event_timestamp |
Analizzato come ISO8601 |
has_host |
metadata.event_type |
Mappatura: true → STATUS_UPDATE |
has_user |
metadata.event_type |
Mappato: true → USER_COMMUNICATION, true → USER_UNCATEGORIZED |
msg_record_module |
metadata.product_event_type |
Mappato direttamente |
id_1 |
metadata.product_log_id |
Mappata direttamente |
evnt_bytes_in |
network.received_bytes |
Mappata direttamente |
evnt_bytes_out |
network.sent_bytes |
Mappata direttamente |
evnt_app_name |
principal.application |
Mappata direttamente |
msg_record_process_name |
principal.application |
Mappata direttamente |
evnt_device_app_version_label |
principal.asset.attribute.labels |
Unita |
evnt_ssl_policy_label |
principal.asset.attribute.labels |
Unita |
evnt_server_ip |
principal.asset.ip |
Unita |
evnt_src_ip |
principal.asset.ip |
Unita |
evnt_src_translated_ip |
principal.asset.ip |
Unita |
msg_record_file_path |
principal.file.full_path |
Mappato direttamente |
msg_record_file_name |
principal.file.names |
Unita |
evnt_hostname |
principal.hostname |
Mappata direttamente |
host |
principal.hostname |
Mappata direttamente |
evnt_server_ip |
principal.ip |
Unita |
evnt_src_ip |
principal.ip |
Unita |
evnt_src_translated_ip |
principal.ip |
Unita |
evnt_os |
principal.platform |
Mappato: Windows → WINDOWS, Linux → LINUX |
evnt_src_port |
principal.port |
Mappato direttamente |
port_number |
principal.port |
Mappata direttamente |
msg_record_process_id |
principal.process.pid |
Mappata direttamente |
cmd_status_label |
principal.resource.attribute.labels |
Unita |
evnt_format_label |
principal.resource.attribute.labels |
Unita |
evnt_os_label |
principal.resource.attribute.labels |
Unita |
msg_record_runtimeVersionArn_label |
principal.resource.attribute.labels |
Unita |
msg_record_runtimeVersion_label |
principal.resource.attribute.labels |
Unita |
record_requestId_labels |
principal.resource.attribute.labels |
Unita |
requestId_labels |
principal.resource.attribute.labels |
Unita |
msg_record_name |
principal.resource.name |
Mappata direttamente |
id |
principal.resource.product_object_id |
Mappata direttamente |
evnt_url |
principal.url |
Mappata direttamente |
evnt_device_owner |
principal.user.user_display_name |
Mappata direttamente |
evnt_user |
principal.user.userid |
Mappata direttamente |
msg_extra_desc_msg_body_account_id |
principal.user.userid |
Mappato direttamente |
evnt_action |
security_result.action |
Mappato: allow → security_result_action |
security_result_action |
security_result.action |
Unita |
security_result_category_details |
security_result.category_details |
Unita |
security_result_url_super_category |
security_result.category_details |
Unita |
elapsed_time_label |
security_result.detection_fields |
Unita |
evnt_session_count_label |
security_result.detection_fields |
Unita |
evnt_ssl_decrypted_label |
security_result.detection_fields |
Unita |
evnt_url_class_label |
security_result.detection_fields |
Unita |
level_icon_label |
security_result.detection_fields |
Unita |
level |
security_result.severity |
Mappatura: INFO → INFORMATIONAL, WARNING → MEDIUM |
msg_level |
security_result.severity |
Mappatura: INFO → INFORMATIONAL, WARNING → MEDIUM |
evnt_dest_ip |
target.ip |
Unita |
evnt_dest_country |
target.location.country_or_region |
Mappata direttamente |
evnt_dest_port |
target.port |
Mappata direttamente |
dst_url |
target.url |
Mappato direttamente |
| N/D | metadata.event_type |
Costante: USER_COMMUNICATION |
| N/D | metadata.product_name |
Costante: AWS Inspector |
| N/D | metadata.vendor_name |
Costante: AWS Inspector |
| N/D | network.ip_protocol |
Costante: UDP |
| N/D | principal.platform |
Costante: WINDOWS |
| N/D | security_result.detection_fields |
Costante: client_tunnel_ip_label |
| N/D | security_result.severity |
Costante: INFORMATIONAL |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.