Raccogliere i log di AWS Route 53
Questo documento spiega come configurare AWS CloudTrail per archiviare i log DNS di AWS Route 53 in un bucket S3 e importarli da S3 in Google Security Operations. Amazon Route 53 fornisce il logging delle query DNS e la possibilità di monitorare le risorse utilizzando i controlli di integrità. Route 53 è integrato con AWS CloudTrail, un servizio che fornisce un record delle azioni intraprese da un utente, un ruolo o un servizio AWS in Route 53.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi ad AWS.
Configura AWS CloudTrail e Route 53
- Accedi alla console AWS.
- Cerca Cloudtrail.
- Se non hai ancora un percorso, fai clic su Crea percorso.
- Fornisci un nome del sentiero .
- Seleziona Crea nuovo bucket S3 (puoi anche scegliere di utilizzare un bucket S3 esistente).
- Fornisci un nome per l'alias AWS KMS o scegli una chiave AWS KMS esistente.
- Lascia invariate le altre impostazioni e fai clic su Avanti.
- Seleziona Tipo di evento e assicurati che sia selezionata l'opzione Eventi di gestione (questi sono gli eventi che includeranno le chiamate all'API Route 53).
- Fai clic su Avanti.
- Rivedi le impostazioni in Rivedi e crea.
- Fai clic su Crea percorso.
- Nella console AWS, cerca S3.
- Fai clic sul bucket di log appena creato e seleziona la cartella AWSLogs .
- Fai clic su Copia URI S3 e salvalo.
Configura l'utente AWS IAM
- Nella console AWS, cerca IAM.
- Fai clic su Utenti.
- Fai clic su Aggiungi utenti.
- Fornisci un nome per l'utente (ad esempio chronicle-feed-user).
- Seleziona Access key - Programmatic access (Chiave di accesso - Accesso programmatico) come tipo di credenziale AWS.
- Fai clic su Successivo: autorizzazioni.
- Seleziona Collega direttamente i criteri esistenti.
- Seleziona AmazonS3ReadOnlyAccess o AmazonS3FullAccess.
- Fai clic su Avanti: tag.
- (Facoltativo) Aggiungi eventuali tag, se necessario.
- Fai clic su Successivo: esamina.
- Rivedi la configurazione e fai clic su Crea utente.
- Copia l'ID chiave di accesso e la chiave di accesso segreta dell'utente creato.
Configura un feed in Google SecOps per importare i log di AWS Route 53
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log AWS Route 53).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona AWS Route 53 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:/BUCKET_NAME
- Sostituisci
BUCKET_NAME
con il nome effettivo del bucket.
- Sostituisci
- L'URI è una: seleziona 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_id | read_only_udm.principal.resource.product_object_id | L'ID account AWS associato alla query. |
firewall_domain_list_id | read_only_udm.security_result.rule_labels.value | L'ID dell'elenco di domini a cui fa parte il dominio su cui viene eseguita la query. |
firewall_rule_action | read_only_udm.security_result.action | L'azione eseguita dalla regola firewall corrispondente alla query. I valori possibili sono "ALLOW", "BLOCK" o "UNKNOWN_ACTION" se l'azione non è riconosciuta. |
firewall_rule_group_id | read_only_udm.security_result.rule_id | L'ID del gruppo di regole firewall che corrisponde alla query. |
logEvents{}.id | read_only_udm.principal.resource.product_object_id | L'ID univoco dell'evento di log. Utilizzato come opzione di riserva se "account_id" non è presente. |
logEvents{}.message | Questo campo viene analizzato in altri campi UDM in base al relativo formato. | |
logEvents{}.timestamp | read_only_udm.metadata.event_timestamp.seconds | L'ora in cui è stata registrata la query DNS. |
messageType | Questo campo viene utilizzato per determinare la struttura del messaggio di log. | |
proprietario | read_only_udm.principal.user.userid | L'ID account AWS del proprietario del log. |
query_class | read_only_udm.network.dns.questions.class | La classe della query DNS. |
query_name | read_only_udm.network.dns.questions.name | Il nome di dominio a cui è stata eseguita la query. |
query_timestamp | read_only_udm.metadata.event_timestamp.seconds | L'ora in cui è stata effettuata la query DNS. |
query_type | read_only_udm.metadata.product_event_type | Il tipo di query DNS. |
rcode | read_only_udm.metadata.description | Il codice di risposta della query DNS. |
regione | read_only_udm.principal.location.name | La regione AWS da cui ha avuto origine la query. |
srcaddr | read_only_udm.principal.ip | L'indirizzo IP del client che ha eseguito la query DNS. |
srcids.instance | read_only_udm.principal.hostname | L'ID istanza del client che ha effettuato la query DNS. |
srcids.resolver_endpoint | read_only_udm.security_result.rule_labels.value | L'ID endpoint del risolutore che ha gestito la query. |
srcids.resolver_network_interface | read_only_udm.security_result.rule_labels.value | L'ID dell'interfaccia di rete del resolver che ha gestito la query. |
srcport | read_only_udm.principal.port | Il numero di porta del client che ha effettuato la query DNS. |
trasporto | read_only_udm.network.ip_protocol | Il protocollo di trasporto utilizzato per la query DNS. |
versione | read_only_udm.metadata.product_version | La versione del formato dei log delle query del resolver Route 53. |
N/D | read_only_udm.metadata.event_type | Hardcoded su "NETWORK_DNS". |
N/D | read_only_udm.metadata.product_name | Hardcoded su "AWS Route 53". |
N/D | read_only_udm.metadata.vendor_name | Hardcoded su "AMAZON". |
N/D | read_only_udm.principal.cloud.environment | Hardcoded su "AMAZON_WEB_SERVICES". |
N/D | read_only_udm.network.application_protocol | Hardcoded su "DNS". |
N/D | read_only_udm.network.dns.response_code | Mappato dal campo "rcode" utilizzando una tabella di ricerca. |
N/D | read_only_udm.network.dns.questions.type | Mappato dal campo "query_type" utilizzando una tabella di ricerca. |
N/D | read_only_udm.metadata.product_deployment_id | Estratto dal campo "logevent.message_data" utilizzando il pattern Grok. |
N/D | read_only_udm.network.dns.authority.name | Estratto dal campo "logevent.message_data" utilizzando il pattern Grok. |
N/D | read_only_udm.security_result.rule_labels.key | Imposta su "firewall_domain_list_id", "resolver_endpoint" o "resolver_network_interface", a seconda dei campi disponibili. |
N/D | read_only_udm.security_result.action_details | Impostato sul valore di "firewall_rule_action" se non è "ALLOW" o "BLOCK". |
Modifiche
2024-10-22
- Miglioramento: il campo "answers" è stato mappato a "network.dns.answers".
2024-10-17
- Miglioramento: è stato aggiunto on_error a tutti i campi prima della mappatura all'UDM.
2023-12-20
- Correzione di bug:
- È stato aggiunto gsub per sostituire "\" con "#" per convertire SYSLOG in JSON.
- È stato aggiunto gsub per sostituire nuovamente "#" con "\".
2023-05-08
- Miglioramento:
- Pattern Grok modificato per i log DNS di query al fine di supportare un nuovo formato di log.
- Gestisci i log JSON contenenti più eventi.
2022-08-10
- Sono stati rimossi blocchi di mutazioni in maiuscolo aggiuntivi.
2022-07-22
- Parser appena creato.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.