Raccogliere i log di AWS Key Management Service
Questo documento spiega come importare i log di AWS Key Management Service (KMS) in Google Security Operations. AWS KMS è un servizio completamente gestito che ti consente di creare e controllare le chiavi di crittografia utilizzate per criptare i tuoi dati. Questa integrazione consente di monitorare e controllare l'utilizzo delle chiavi di crittografia.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi ad AWS.
Configura Amazon S3 e 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.
Configura CloudTrail per AWS KMS
- Accedi alla AWS Management Console.
- Nella barra di ricerca, digita e seleziona CloudTrail dall'elenco dei servizi.
- Fai clic su Crea percorso.
- Fornisci un nome del trail (ad esempio KMS-Activity-Trail).
- Seleziona la casella di controllo Attiva per tutti gli account della mia organizzazione.
- Digita l'URI del bucket S3 creato in precedenza (il formato deve essere:
s3://your-log-bucket-name/
) o crea un nuovo bucket S3. - Se è abilitata la crittografia lato server KMS, fornisci un nome per l'alias AWS KMS o scegli una chiave AWS KMS esistente.
- Puoi lasciare invariate le altre impostazioni.
- Fai clic su Avanti.
- Seleziona Eventi di gestione e Eventi di dati in Tipi di eventi.
- Fai clic su Avanti.
- Rivedi le impostazioni in Rivedi e crea.
- Fai clic su Crea percorso.
- (Facoltativo) Se hai creato un nuovo bucket, continua con la procedura seguente:
- Vai a S3.
- Identifica e seleziona il bucket di log appena creato.
- Seleziona la cartella AWSLogs.
- Fai clic su Copia URI S3 e salvalo.
Configura un feed in Google SecOps per importare i log AWS KMS
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log AWS KMS).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona AWS KMS 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 |
---|---|---|
data.detail.awsRegion | principal.location.country_or_region | Mappato direttamente dal campo data.detail.awsRegion nel log non elaborato. |
data.detail.eventCategory | security_result.category_details | Mappato direttamente dal campo data.detail.eventCategory nel log non elaborato. |
data.detail.eventName | metadata.product_event_type | Mappato direttamente dal campo data.detail.eventName nel log non elaborato. Questo campo determina il valore metadata.event_type in base alla logica: se eventName è "Decrypt" o "Encrypt", event_type è "USER_RESOURCE_ACCESS", se eventName è "GenerateDataKey", event_type è "USER_RESOURCE_CREATION", altrimenti event_type è "GENERIC_EVENT". |
data.detail.requestID | additional.fields.key | Il valore è hardcoded su "requestID" nel codice del parser. |
data.detail.requestID | additional.fields.value.string_value | Mappato direttamente dal campo data.detail.requestID nel log non elaborato. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.key | Il valore è hardcoded su "encryptionAlgorithm" nel codice del parser. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.value | Mappato direttamente dal campo data.detail.requestParameters.encryptionAlgorithm nel log non elaborato. |
data.detail.resources.ARN | target.resource.id | Mappato direttamente dal campo data.detail.resources.ARN nel log non elaborato. |
data.detail.resources.type | target.resource.resource_subtype | Mappato direttamente dal campo data.detail.resources.type nel log non elaborato. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.key | Il valore è hardcoded su "mfaAuthenticated" nel codice del parser. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | Mappato direttamente dal campo data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated nel log non elaborato. |
data.detail.userIdentity.sessionContext.sessionIssuer.principalId | principal.user.userid | Mappato direttamente dal campo data.detail.userIdentity.sessionContext.sessionIssuer.principalId nel log non elaborato. |
data.detail.userIdentity.sessionContext.sessionIssuer.userName | principal.user.user_display_name | Mappato direttamente dal campo data.detail.userIdentity.sessionContext.sessionIssuer.userName nel log non elaborato. |
data.detail.userIdentity.type | principal.user.attribute.roles.name | Mappato direttamente dal campo data.detail.userIdentity.type nel log non elaborato. |
data.id | metadata.product_log_id | Mappato direttamente dal campo data.id nel log non elaborato. |
data.time | metadata.event_timestamp.seconds | Il valore in secondi del timestamp analizzato dal campo data.time nel log non elaborato. |
N/D | metadata.event_type | Questo campo è dedotto dalla logica del parser in base al valore di data.detail.eventName : se eventName è "Decrypt" o "Encrypt", event_type è "USER_RESOURCE_ACCESS", se eventName è "GenerateDataKey", event_type è "USER_RESOURCE_CREATION", altrimenti event_type è "GENERIC_EVENT". |
N/D | metadata.log_type | Il valore è hardcoded su "AWS_KMS" nel codice del parser. |
N/D | metadata.product_name | Il valore è hardcoded su "AWS Key Management Service" nel codice del parser. |
N/D | metadata.vendor_name | Il valore è impostato come hardcoded su "AMAZON" nel codice del parser. |
N/D | principal.asset.attribute.cloud.environment | Il valore è hardcoded su "AMAZON_WEB_SERVICES" nel codice del parser. |
Modifiche
2022-05-27
- Miglioramento:
- Il valore memorizzato in metadata.product_name è stato modificato in "AWS Key Management Service".
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.