Raccogliere i log di AWS Inspector

Parser Version: 1.0

Supportato in:

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

  1. Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creazione di un bucket.
  2. Salva il nome e la regione del bucket per riferimento futuro (ad esempio, inspector-findings-to-secops).

  3. Seleziona il bucket creato nella console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3.

  4. Seleziona la scheda Autorizzazioni.

  5. Nella sezione Policy del bucket, fai clic su Modifica.

  6. Aggiungi la seguente istruzione alla policy del bucket (sostituisci inspector-findings-to-secops con il nome del bucket, 111122223333 con l'ID account AWS e us-east-1 con 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/*"
                    }
                }
            }
        ]
    }
    
  7. 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.

  1. Apri la console AWS KMS all'indirizzo https://console.aws.amazon.com/kms.
  2. Nel riquadro di navigazione, seleziona Chiavi gestite dal cliente.
  3. Seleziona la chiave KMS che vuoi utilizzare (o crea una nuova chiave di crittografia simmetrica).
  4. Seleziona la scheda Policy della chiave e fai clic su Modifica.
  5. Aggiungi la seguente istruzione al criterio della chiave (sostituisci 111122223333 con il tuo ID account AWS e us-east-1 con 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/*"
            }
        }
    }
    
  6. Fai clic su Salva modifiche.

Esporta i risultati di Amazon Inspector in S3

  1. Accedi alla console Amazon Inspector all'indirizzo https://console.aws.amazon.com/inspector/v2/home.
  2. Nel riquadro di navigazione, vai a Risultati > Tutti i risultati.
  3. (Facoltativo) Utilizza la barra dei filtri sopra la tabella Risultati per specificare quali risultati includere nel report.

  4. Fai clic su Esporta risultati.

  5. Nella sezione Impostazioni di esportazione, seleziona JSON per Tipo di file di esportazione.

  6. In Posizione di esportazione, per URI S3, fai clic su Sfoglia S3 e seleziona il bucket S3 inspector-findings-to-secops.

  7. Per Chiave KMS, seleziona la chiave AWS KMS che hai configurato.

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

  1. Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
  2. Seleziona l'utente creato.
  3. Seleziona la scheda Credenziali di sicurezza.
  4. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  5. Seleziona Servizio di terze parti come Caso d'uso.
  6. Fai clic su Avanti.
    • (Facoltativo) Aggiungi il tag di descrizione.
  7. Fai clic su Crea chiave di accesso.
  8. Fai clic su Download .csv file (Scarica file .csv) per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
  9. Fai clic su Fine.
  10. Seleziona la scheda Autorizzazioni.
  11. Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
  12. Seleziona Aggiungi autorizzazioni.
  13. Seleziona Allega direttamente le norme.
  14. Cerca la policy AmazonS3FullAccess.
  15. Seleziona la policy.
  16. Fai clic su Avanti.
  17. Fai clic su Aggiungi autorizzazioni.

Configura un feed in Google SecOps per importare i log di AWS Inspector

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Inserisci un nome univoco per il Nome feed.
  5. Seleziona Amazon S3 V2 come Tipo di origine.
  6. Seleziona AWS Inspector come Tipo di log.
  7. Fai clic su Avanti e poi su Invia.
  8. 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
  9. 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.