Raccogliere i log di AWS CloudWatch

Supportato in:

Questo documento spiega come importare i log di AWS CloudWatch in Google Security Operations. AWS CloudWatch è un servizio di monitoraggio e osservabilità che raccoglie i dati operativi sotto forma di log, metriche ed eventi. Questa integrazione ti consente di inviare questi log a Google SecOps per l'analisi e il monitoraggio.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso con privilegi ad AWS.

Crea un bucket Amazon S3

Ti consigliamo di utilizzare un bucket creato appositamente per i log di CloudWatch.

  1. Apri la console Amazon S3.
  2. Se necessario, puoi modificare la Regione.
    • Nella barra di navigazione, seleziona la regione in cui si trovano i log di CloudWatch.
  3. Fai clic su Crea bucket.
    • Nome bucket: inserisci un nome significativo per il bucket.
    • Regione: seleziona la regione in cui si trovano i dati di CloudWatch Logs.
    • Fai clic su Crea.

Crea un utente IAM con accesso completo ad Amazon S3 e CloudWatch Logs

  1. Apri la console IAM.
  2. Fai clic su Utenti > Aggiungi utente.
  3. Inserisci un nome utente (ad esempio CWExport).
  4. Seleziona Accesso programmatico e Accesso alla Console di gestione AWS.
  5. Seleziona Password generata automaticamente o Password personalizzata.
  6. Fai clic su Successivo: autorizzazioni.
  7. Scegli Collega direttamente i criteri esistenti.
  8. Cerca e seleziona i criteri AmazonS3FullAccess e CloudWatchLogsFullAccess per l'utente.
  9. Fai clic su Avanti: tag.
  10. Fai clic su Successivo: esamina.
  11. Fai clic su Crea utente.

Configura le autorizzazioni per il bucket Amazon S3

  1. Nella console Amazon S3, scegli il bucket creato in precedenza.
  2. Fai clic su Autorizzazioni > Norme del bucket.
  3. Nell'Editor delle norme del bucket, aggiungi le seguenti norme.

    {             
      "Version": "2012-10-17",
      "Statement": [
          {
            "Action": "s3:GetBucketAcl",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::cw-exported-logs",
            "Principal": { "Service": "logs.us-east-1.amazonaws.com" }
          },
          {
            "Action": "s3:PutObject" ,
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::my-exported-logs/random-string/*",
            "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } },
            "Principal": { "Service": "logs.us-east-1.amazonaws.com" }
    
          }
    
      ]
    
    }
    
  4. Modifica e aggiorna le seguenti variabili json:

    • Sostituisci cw-exported-logs con il nome del tuo bucket S3.
    • Cambia random-string con una stringa di caratteri generata in modo casuale.
    • Assicurati di specificare l'endpoint della regione corretto per Principal.
  5. Fai clic su Salva per impostare il criterio appena aggiunto come criterio di accesso al bucket.

Configurare CloudWatch Export

  1. Accedi come utente IAM che hai creato in precedenza.
  2. Apri la console CloudWatch.
  3. Nel menu di navigazione, seleziona Gruppi di log.
  4. Seleziona il nome di un gruppo di log esistente o creane uno nuovo.
  5. Scegli Azioni > Esporta dati in Amazon S3.
  6. Nella schermata Esporta dati in Amazon S3, individua Definisci esportazione dati.
  7. Imposta l'intervallo di tempo per i dati da esportare utilizzando Da e A.
  1. Scegli bucket S3: seleziona l'account associato al bucket Amazon S3.
  2. Nome del bucket S3: seleziona un bucket Amazon S3.
  3. Prefisso del bucket S3: inserisci la stringa generata in modo casuale specificata nel criterio del bucket.
  4. Scegli Esporta per esportare i dati dei log in Amazon S3.
  5. Per visualizzare lo stato dei dati dei log esportati in Amazon S3, seleziona Azioni > Visualizza tutte le esportazioni in Amazon S3.

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

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log AWS CloudWatch).
  4. Seleziona Amazon S3 come Tipo di origine.
  5. Seleziona AWS CloudWatch come Tipo di log.
  6. Fai clic su Avanti.
  7. 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.
    • 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.

  8. Fai clic su Avanti.

  9. 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.user.userid Il valore account del log non elaborato viene mappato al campo principal.user.userid.
account_id principal.user.userid Il valore account_id del log non elaborato viene mappato al campo principal.user.userid.
AlertId metadata.product_log_id Il valore AlertId del log non elaborato viene mappato al campo metadata.product_log_id.
arrivalTimestamp metadata.event_timestamp Il valore di arrivalTimestamp dal log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
attemptsMade additional.fields Il valore di attemptsMade dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "Attempts Made".
awsAccountId principal.asset_id Al valore di awsAccountId dal log non elaborato viene anteposto "ID account AWS: " e mappato al campo principal.asset_id.
billed_duration additional.fields Il valore di billed_duration dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "billed_duration".
BytesIn network.received_bytes Il valore di BytesIn dal log non elaborato viene convertito in un numero intero non firmato e mappato al campo network.received_bytes.
cipher network.tls.cipher Il valore cipher del log non elaborato viene mappato al campo network.tls.cipher.
Ciphers network.tls.client.supported_ciphers Il valore di Ciphers dal log non elaborato è suddiviso da virgole e ogni valore viene aggiunto all'array network.tls.client.supported_ciphers.
cloudwatchLog security_result.description Il valore cloudwatchLog del log non elaborato viene mappato al campo security_result.description.
CloudAccountId metadata.product_deployment_id Il valore CloudAccountId del log non elaborato viene mappato al campo metadata.product_deployment_id.
CloudType target.resource.attribute.cloud.environment Il valore di CloudType dal log non elaborato determina il valore di target.resource.attribute.cloud.environment. Se CloudType è "gcp", il valore è "GOOGLE_CLOUD_PLATFORM". Se CloudType è "aws", il valore è "AMAZON_WEB_SERVICES". Se CloudType è "azure", il valore è "MICROSOFT_AZURE".
Context.Execution.Id target.resource.attribute.labels Il valore di Context.Execution.Id dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID contesto".
Context.Execution.Name target.resource.attribute.labels Il valore di Context.Execution.Name dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Nome contesto".
Context.Execution.RoleArn target.resource.product_object_id Il valore Context.Execution.RoleArn del log non elaborato viene mappato al campo target.resource.product_object_id.
descr metadata.description Il valore di descr dal log non elaborato, dopo la rimozione degli spazi extra, viene mappato al campo metadata.description, a meno che non sia "-". Se descr è vuoto, viene utilizzato il valore di log.
destination.name target.location.country_or_region Il valore destination.name del log non elaborato viene mappato al campo target.location.country_or_region.
destination.properties.prefix target.resource.attribute.labels Il valore di destination.properties.prefix dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Prefisso proprietà destinazione".
detail.additionalEventData.configRuleArn security_result.rule_id Il valore detail.additionalEventData.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.additionalEventData.configRuleName security_result.rule_name Il valore detail.additionalEventData.configRuleName del log non elaborato viene mappato al campo security_result.rule_name.
detail.additionalEventData.managedRuleIdentifier additional.fields Il valore di detail.additionalEventData.managedRuleIdentifier dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "managedRuleIdentifier".
detail.additionalEventData.notificationJobType additional.fields Il valore di detail.additionalEventData.notificationJobType dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "notificationJobType".
detail.awsAccountId principal.asset_id Al valore di detail.awsAccountId dal log non elaborato viene anteposto "ID account AWS: " e mappato al campo principal.asset_id.
detail.awsRegion principal.location.name Il valore detail.awsRegion del log non elaborato viene mappato al campo principal.location.name.
detail.configRuleArn security_result.rule_id Il valore detail.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.configRuleName security_result.rule_name Il valore detail.configRuleName del log non elaborato viene mappato al campo security_result.rule_name.
detail.configurationItem.awsAccountId principal.user.userid Il valore detail.configurationItem.awsAccountId del log non elaborato viene mappato al campo principal.user.userid.
detail.configurationItem.awsRegion target.location.country_or_region Il valore detail.configurationItem.awsRegion del log non elaborato viene mappato al campo target.location.country_or_region.
detail.configurationItem.configuration.complianceType security_result.summary Il valore detail.configurationItem.configuration.complianceType del log non elaborato viene mappato al campo security_result.summary.
detail.configurationItem.configuration.targetResourceId target.resource.attribute.labels Il valore di detail.configurationItem.configuration.targetResourceId dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configuration targetResourceId".
detail.configurationItem.configuration.targetResourceType target.resource.attribute.labels Il valore di detail.configurationItem.configuration.targetResourceType dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configuration targetResourceType".
detail.configurationItem.configurationItemCaptureTime _target.asset.attribute.creation_time Il valore di detail.configurationItem.configurationItemCaptureTime dal log non elaborato viene convertito in un timestamp e mappato al campo _target.asset.attribute.creation_time.
detail.configurationItem.configurationItemStatus target.resource.attribute.labels Il valore di detail.configurationItem.configurationItemStatus dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configurationItemStatus".
detail.configurationItem.configurationStateId target.resource.attribute.labels Il valore di detail.configurationItem.configurationStateId dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configurationStateId".
detail.configurationItem.resourceId target.resource.id Il valore detail.configurationItem.resourceId del log non elaborato viene mappato al campo target.resource.id.
detail.configurationItem.resourceType target.resource.resource_subtype Il valore detail.configurationItem.resourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn security_result.rule_id Il valore detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.eventCategory security_result.category_details Il valore detail.eventCategory del log non elaborato viene mappato al campo security_result.category_details.
detail.eventID metadata.product_log_id Il valore detail.eventID del log non elaborato viene mappato al campo metadata.product_log_id.
detail.eventName additional.fields Il valore di detail.eventName dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Nome evento".
detail.eventSource target.application Il valore detail.eventSource del log non elaborato viene mappato al campo target.application.
detail.eventType additional.fields Il valore di detail.eventType dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Tipo di evento".
detail.eventVersion metadata.product_version Il valore detail.eventVersion del log non elaborato viene mappato al campo metadata.product_version.
detail.managementEvent additional.fields Il valore di detail.managementEvent dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "detail managementEvent".
detail.messageType target.resource.attribute.labels Il valore di detail.messageType dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Tipo di messaggio".
detail.newEvaluationResult.complianceType security_result.summary Il valore detail.newEvaluationResult.complianceType del log non elaborato viene mappato al campo security_result.summary.
detail.newEvaluationResult.configRuleInvokedTime additional.fields Il valore di detail.newEvaluationResult.configRuleInvokedTime dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_configRuleInvokedTime".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_configRuleName".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resourceId".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resourceType".
detail.newEvaluationResult.resultRecordedTime additional.fields Il valore di detail.newEvaluationResult.resultRecordedTime dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resultRecordedTime".
detail.oldEvaluationResult.configRuleInvokedTime additional.fields Il valore di detail.oldEvaluationResult.configRuleInvokedTime dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_configRuleInvokedTime".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_configRuleName".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resourceId".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resourceType".
detail.oldEvaluationResult.resultRecordedTime additional.fields Il valore di detail.oldEvaluationResult.resultRecordedTime dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resultRecordedTime".
detail.readOnly additional.fields Il valore di detail.readOnly dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "detail readOnly".
detail.recipientAccountId target.resource.attribute.labels Il valore di detail.recipientAccountId dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID account destinatario".
detail.recordVersion metadata.product_version Il valore detail.recordVersion del log non elaborato viene mappato al campo metadata.product_version.
detail.requestID target.resource.attribute.labels Il valore di detail.requestID dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID richiesta dettagliata".
detail.resourceType target.resource.resource_subtype Il valore detail.resourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
detail.s3Bucket about.resource.name Il valore detail.s3Bucket del log non elaborato viene mappato al campo about.resource.name.
detail.s3ObjectKey target.resource.attribute.labels Il valore di detail.s3ObjectKey dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "s3ObjectKey".
detail.userAgent network.http.user_agent Il valore detail.userAgent del log non elaborato viene mappato al campo network.http.user_agent.
detail.userIdentity.accessKeyId target.user.userid Il valore detail.userIdentity.accessKeyId del log non elaborato viene mappato al campo target.user.userid.
detail.userIdentity.accountId metadata.product_deployment_id Il valore detail.userIdentity.accountId del log non elaborato viene mappato al campo metadata.product_deployment_id.
detail.userIdentity.arn target.user.userid Il valore detail.userIdentity.arn del log non elaborato viene mappato al campo target.user.userid.
detail.userIdentity.principalId principal.user.product_object_id Il valore detail.userIdentity.principalId del log non elaborato viene mappato al campo principal.user.product_object_id.
detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels Il valore di detail.userIdentity.sessionContext.attributes.mfaAuthenticated dal log non elaborato viene aggiunto come coppia chiave-valore a principal.user.attribute.labels con la chiave "mfaAuthenticated".
detail.userIdentity.sessionContext.sessionIssuer.userName target.user.user_display_name Il valore detail.userIdentity.sessionContext.sessionIssuer.userName del log non elaborato viene mappato al campo target.user.user_display_name.
detail.userIdentity.type principal.resource.type Il valore detail.userIdentity.type del log non elaborato viene mappato al campo principal.resource.type.
detail-type metadata.product_event_type Il valore detail-type del log non elaborato viene mappato al campo metadata.product_event_type.
device principal.asset.product_object_id Il valore device del log non elaborato viene mappato al campo principal.asset.product_object_id.
digestPublicKeyFingerprint target.file.sha1 Il valore digestPublicKeyFingerprint del log non elaborato viene mappato al campo target.file.sha1.
digestS3Bucket principal.resource.name Il valore digestS3Bucket del log non elaborato viene mappato al campo principal.resource.name.
digestS3Object principal.asset.asset_id Al valore di digestS3Object dal log non elaborato viene anteposto "Oggetto S3: " e mappato al campo principal.asset.asset_id.
digestSignatureAlgorithm network.tls.cipher Il valore digestSignatureAlgorithm del log non elaborato viene mappato al campo network.tls.cipher.
digestStartTime metadata.event_timestamp Il valore di digestStartTime dal log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
dimensions.VolumeId additional.fields Il valore di dimensions.VolumeId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "VolumeId".
duration additional.fields Il valore di duration dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "duration".
errorCode security_result.rule_name Il valore errorCode del log non elaborato viene mappato al campo security_result.rule_name.
errorMessage security_result.summary Il valore errorMessage del log non elaborato viene mappato al campo security_result.summary.
executionId principal.process.pid Il valore executionId del log non elaborato viene mappato al campo principal.process.pid.
host principal.hostname, principal.ip Il valore di host dal log non elaborato, con i trattini sostituiti da punti, viene analizzato come indirizzo IP e mappato al campo principal.ip se l'operazione ha esito positivo. In caso contrario, viene mappato al campo principal.hostname.
http_verb network.http.method Il valore di http_verb dal log non elaborato viene convertito in maiuscolo e mappato al campo network.http.method.
kubernetes.container_hash additional.fields Il valore di kubernetes.container_hash dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_hash".
kubernetes.container_image additional.fields Il valore di kubernetes.container_image dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_image".
kubernetes.container_name additional.fields Il valore di kubernetes.container_name dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_name".
kubernetes.docker_id principal.asset_id Al valore di kubernetes.docker_id del log non elaborato viene anteposto "id: " e viene mappato al campo principal.asset_id.
kubernetes.host principal.hostname, principal.ip Il valore di kubernetes.host dal log non elaborato, con i trattini sostituiti da punti, viene analizzato come indirizzo IP e mappato al campo principal.ip se l'operazione ha esito positivo. In caso contrario, viene mappato al campo principal.hostname.
kubernetes.namespace principal.namespace Il valore kubernetes.namespace del log non elaborato viene mappato al campo principal.namespace.
kubernetes.namespace_name principal.namespace Il valore kubernetes.namespace_name del log non elaborato viene mappato al campo principal.namespace.
kubernetes.pod_id principal.asset.asset_id Al valore di kubernetes.pod_id del log non elaborato viene anteposto "pod_id: " e viene mappato al campo principal.asset.asset_id.
kubernetes.pod_name additional.fields Il valore di kubernetes.pod_name dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "nome pod".
lambdaArn principal.hostname Il valore lambdaArn del log non elaborato viene mappato al campo principal.hostname.
level security_result.severity Il valore di level dal log non elaborato determina il valore di security_result.severity. Se level è "Info", il valore è "INFORMATIONAL". Se level è "Error", il valore è "ERROR". Se level è "Avviso", il valore è "MEDIO".
log metadata.description Il valore di log dal log non elaborato viene mappato al campo metadata.description se descr è vuoto.
logFiles about Per ogni elemento dell'array logFiles del log non elaborato, viene creato un oggetto about con file.full_path impostato su s3Object, asset.hostname impostato su s3Bucket e file.sha256 impostato su hashValue.
log_processed.cause security_result.summary Il valore log_processed.cause del log non elaborato viene mappato al campo security_result.summary.
log_processed.ids intermediary.hostname Per ogni elemento dell'array log_processed.ids del log non elaborato, viene creato un oggetto intermediary con hostname impostato sul valore dell'elemento.
log_processed.level security_result.severity Il valore log_processed.level del log non elaborato viene mappato al campo security_result.severity.
log_processed.msg metadata.description Il valore log_processed.msg del log non elaborato viene mappato al campo metadata.description.
log_processed.ts metadata.event_timestamp Il valore di log_processed.ts dal log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
log_type metadata.log_type Il valore log_type del log non elaborato viene mappato al campo metadata.log_type. Si tratta di un campo personalizzato aggiunto per il contesto.
logevent.message security_result.description Il valore logevent.message del log non elaborato viene mappato al campo security_result.description. Viene inoltre analizzato utilizzando grok per estrarre campi aggiuntivi.
logGroup security_result.about.resource.name Il valore logGroup del log non elaborato viene mappato al campo security_result.about.resource.name.
logStream security_result.about.resource.attribute.labels Il valore di logStream dal log non elaborato viene aggiunto come coppia chiave-valore a security_result.about.resource.attribute.labels con la chiave "logStream".
memory_used additional.fields Il valore di memory_used dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "memory_used".
metric_name additional.fields Il valore di metric_name dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "metric_name".
metric_stream_name additional.fields Il valore di metric_stream_name dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "metric_stream_name".
namespace principal.namespace Il valore namespace del log non elaborato viene mappato al campo principal.namespace.
owner principal.user.userid Il valore owner del log non elaborato viene mappato al campo principal.user.userid.
parameters additional.fields Il valore di parameters dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Parameters".
Path principal.process.file.full_path Il valore Path del log non elaborato viene mappato al campo principal.process.file.full_path.
pid principal.process.pid Il valore pid del log non elaborato viene mappato al campo principal.process.pid.
PolicyName security_result.rule_name Il valore PolicyName del log non elaborato viene mappato al campo security_result.rule_name.
prin_host principal.hostname Il valore prin_host del log non elaborato viene mappato al campo principal.hostname.
principal_hostname principal.hostname Il valore principal_hostname del log non elaborato viene mappato al campo principal.hostname.
process principal.application Il valore process del log non elaborato viene mappato al campo principal.application.
rawData additional.fields Il valore di rawData dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Dati non elaborati".
Recommendation security_result.detection_fields Il valore di Recommendation dal log non elaborato viene aggiunto come coppia chiave-valore a security_result.detection_fields con la chiave "Consiglio".
referral_url network.http.referral_url Il valore referral_url del log non elaborato viene mappato al campo network.http.referral_url.
region principal.location.name Il valore region del log non elaborato viene mappato al campo principal.location.name.
resp_code network.http.response_code Il valore di resp_code dal log non elaborato viene convertito in un numero intero e mappato al campo network.http.response_code.
resource_url network.http.referral_url Il valore resource_url del log non elaborato viene mappato al campo network.http.referral_url.
ResourceType target.resource.resource_subtype Il valore ResourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
response_body additional.fields Il valore di response_body dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Corpo della risposta".
Role target.resource.product_object_id Il valore Role del log non elaborato viene mappato al campo target.resource.product_object_id.
s3_bucket_path target.file.full_path Il valore s3_bucket_path del log non elaborato viene mappato al campo target.file.full_path.
sec_result.category security_result.category Il valore di sec_result.category è dedotto dalla logica dell'analizzatore. Se descr contiene "l'autenticazione è obbligatoria", il valore è "AUTH_VIOLATION".
sec_result.description security_result.description Il valore di sec_result.description è dedotto dalla logica dell'analizzatore. Viene impostato sul valore di cloudwatchLog, se presente.
sec_result.severity security_result.severity Il valore di sec_result.severity è dedotto dalla logica dell'analizzatore. Viene impostato in base al valore di severity o level.
sec_result.summary security_result.summary Il valore di sec_result.summary è dedotto dalla logica dell'analizzatore. Viene impostato sul valore di log_processed.cause o errorMessage, se presente.
security_result security_result L'oggetto security_result viene costruito da vari campi e dalla logica del parser.
serverId additional.fields Il valore di serverId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "server_id".
severity security_result.severity Il valore di severity dal log non elaborato, convertito in maiuscolo e normalizzato, è mappato al campo security_result.severity.
Source principal.hostname Il valore Source del log non elaborato viene mappato al campo principal.hostname.
source principal.hostname Il valore source del log non elaborato viene mappato al campo principal.hostname.
SourceIP principal.ip Il valore SourceIP del log non elaborato viene mappato al campo principal.ip.
src_port principal.port Se src_port è "80", viene convertito in un numero intero e mappato al campo principal.port e network.application_protocol è impostato su "HTTP".
stream additional.fields Il valore di stream dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "stream".
subscriptionFilters security_result.about.resource.attribute.labels Per ogni elemento dell'array subscriptionFilters del log non elaborato, a security_result.about.resource.attribute.labels viene aggiunta una coppia chiave-valore con la chiave "subscriptionFilter" e il valore dell'array.
support_contact target.resource.attribute.labels Il valore di support_contact dal log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Contatto dell'assistenza".
t_ip target.ip Il valore di t_ip dal log non elaborato, dopo la rimozione dei trattini, viene analizzato come indirizzo IP e mappato al campo target.ip se l'operazione ha esito positivo.
time metadata.event_timestamp Il valore di time dal log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
timestamp metadata.event_timestamp Il valore di timestamp dal log non elaborato viene convertito in un timestamp utilizzando vari formati e mappato al campo metadata.event_timestamp.
tls network.tls.version Il valore tls del log non elaborato viene mappato al campo network.tls.version.
transferDetails.serverId additional.fields Il valore di transferDetails.serverId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "server_id".
transferDetails.sessionId network.session_id Il valore transferDetails.sessionId del log non elaborato viene mappato al campo network.session_id.
transferDetails.username principal.user.user_display_name Il valore transferDetails.username del log non elaborato viene mappato al campo principal.user.user_display_name.
ts metadata.event_timestamp Il valore di ts dal log non elaborato, combinato con il fuso orario, se disponibile, viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
type metadata.product_event_type Il valore type del log non elaborato viene mappato al campo metadata.product_event_type.
unit additional.fields Il valore di unit dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "unit".
url target.url Il valore url del log non elaborato viene mappato al campo target.url.
url_back_to_product metadata.url_back_to_product Il valore url_back_to_product del log non elaborato viene mappato al campo metadata.url_back_to_product.
User principal.user.userid Il valore User del log non elaborato viene mappato al campo principal.user.userid.
user target.user.userid, metadata.event_type, extensions.auth.mechanism Se user è presente, metadata.event_type è impostato su "USER_LOGIN", extensions.auth.mechanism è impostato su "NETWORK" e il valore di user è mappato a target.user.userid.
value.count additional.fields Il valore di value.count dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "count".
value.max additional.fields Il valore di value.max dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "max".
value.min additional.fields Il valore di value.min dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "min".
value.sum additional.fields Il valore di value.sum dal log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "somma".
workflowId additional.fields Il valore di workflowId dal log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "workflowId".

Modifiche

2024-02-12

  • Miglioramento:
  • Timestamp mappato a UNIX_MS.

2023-09-02

  • Miglioramento:
  • È stato aggiunto un "blocco kv" per analizzare i log in formato chiave-valore.
  • "SourceIP" è stato mappato a "principal.ip".
  • "prin_host" è stato mappato a "principal.hostname".
  • "Utente" è stato mappato a "principal.user.userid".
  • "Cifrari" è stato mappato a "network.tls.client.supported_ciphers".
  • "executionId" è stato mappato a "principal.process.pid".
  • "transferDetails.sessionId" è stato mappato a "network.session_id".
  • "transferDetails.username" è stato mappato a "principal.user.user_display_name".
  • "transferDetails.serverId", "workflowId", "details.input.initialFileLocation.etag", "details.input.initialFileLocation.backingStore", "details.input.initialFileLocation.bucket", "details.input.initialFileLocation.key",
  • "Mode", "Kex" in "additional.fields".
  • "BytesIn" è stato mappato a "network.received_bytes".
  • "Ruolo" è stato mappato a "target.resource.product_object_id".

2023-08-18

  • Miglioramento:
  • È stato aggiunto un pattern Grok per analizzare i log non analizzati non elaborati.

2023-07-07

  • Miglioramento:
  • È stato aggiunto il supporto per i log JSON relativi a "logEvents".

2022-12-17

  • "CloudType" è stato mappato a "target.resource.attribute.cloud.environment".
  • "AlertId" è stato mappato a "metadata.product_log_id".
  • "ResourceType" è stato mappato a "target.resource.resource_subtype".
  • "ResourceRegion" è stato mappato a "target.location.country_or_region".
  • "Consiglio" è stato mappato a "security_result.detection_fields".
  • "PolicyName" e "detail.additionalEventData.configRuleName" sono stati mappati a "security_result.rule_name".
  • "detail-type" è stato mappato a "metadata.product_event_type".
  • "region" e "detail.awsRegion" sono stati mappati a "principal.location.name".
  • "detail.eventSource" è stato mappato a "target.application".
  • "detail.requestID" è stato mappato a "target.resource.attribute.labels".
  • "detail.userAgent" è stato mappato a "network.http.user_agent".
  • "detail.eventVersion" è stato mappato a "metadata.product_version".
  • "detail.userIdentity.accountId" è stato mappato a "metadata.product_deployment_id".
  • "detail.userIdentity.accessKeyId" è stato mappato a "target.user.userid".
  • "detail.userIdentity.type" è stato mappato a "principal.resource.type".
  • "detail.userIdentity.principalId" è stato mappato a "principal.user.product_object_id".
  • "detail.user.arn" è stato mappato a "target.user.userid".
  • "detail.user.sessionContext.sessionIssuer.userName" è stato mappato a "target.user.user_display_name".
  • È stata mappata la colonna "detail.user.mfaAuthenticated" a "principal.user.attribute.labels".
  • "detail.recipientAccountId" è stato mappato a "target.resource.attribute.labels".
  • Sono stati mappati "detail.managementEvent", "detail.eventType", "detail.readOnly", "detail.eventName", "detail.additionalEventData.notificationJobType", "detail.additionalEventData.managedRuleIdentifier", "duration", "billed_duration", "memory_used" ad "additional.fields".
  • "detail.eventCategory" è stato mappato a "security_result.category_details".
  • "detail.eventID" è stato mappato a "metadata.product_log_id".
  • "detail.additionalEventData.configRuleArn" è stato mappato a "security_result.rule_id".
  • "livello" è stato mappato a "security_result.severity".
  • "src_port" è stato mappato a "principal.port".
  • "request_id" è stato mappato a "target.resource.attribute.labels".
  • "url" è stato mappato a "target.url".

2022-09-03

  • Miglioramento:
  • È stato aggiunto grok per analizzare i log appena importati.
  • "package" è stato mappato a "event.idm.read_only_udm.principal.process.command_line".
  • "session_id" è stato mappato a "event.idm.read_only_udm.network.session_id".
  • "network_dir" è stato mappato a "event.idm.read_only_udm.network.direction".
  • "porta" è stata mappata a "event.idm.read_only_udm.target.port".
  • "digestPublicKeyFingerprint" è stato rimappato da "additional.fields" a "event.idm.read_only_udm.target.file.sha1".
  • Sono stati aggiunti altri livelli di log come "AUDIT", "TRACE", "DEBUG", "NOTICE", "ERROR" per la mappatura della gravità.
  • È stato duplicato il valore in "target.ip" in "principal.ip" per impostare event_type su "STATUS_UPDATE", riducendo così la percentuale generica.
  • Sono state aggiunte condizioni per "event_type" "USER_UNCATEGORIZED", "NETWORK_HTTP", "NETWORK_CONNECTION", "STATUS_UPADTE" per ridurre la percentuale generica.

2022-08-11

  • Correzione di bug: "digestS3Bucket" è stato rimappato a "principal.resource.name".
  • "kubernetes.pod_name" è stato rimappato a "additional.fields".

2022-05-27

  • Miglioramento:
  • È stato modificato il valore memorizzato in metadata.product_name in "AWS CloudWatch" e in metadata.vendor_name in "AMAZON".

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.