Raccogli i log AWS Redshift

Parser Version: 1.0

Supportato in:

Questo documento spiega come importare i log di AWS Redshift in Google Security Operations utilizzando Amazon S3.

Amazon Redshift è un servizio di data warehouse su cloud completamente gestito su scala petabyte di Amazon Web Services. Consente query e analisi rapide su grandi set di dati utilizzando strumenti basati su SQL e applicazioni di business intelligence. Amazon Redshift registra l'attività del database, inclusi i tentativi di autenticazione, le connessioni, le disconnessioni, le modifiche alla definizione degli utenti e le query eseguite sul database. Questa integrazione utilizza la funzionalità di audit logging nativa di Amazon Redshift per inviare i file di log a un bucket S3, che Google SecOps acquisisce utilizzando un feed Amazon S3 V2.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso privilegiato alla Console di gestione AWS con autorizzazioni per gestire:
    • Amazon Redshift (cluster, gruppi di parametri)
    • Amazon S3 (bucket, policy del bucket)
    • AWS IAM (utenti, criteri)

Configura un bucket S3 per l'audit logging di Amazon Redshift

Amazon Redshift carica i file di log di controllo in un bucket S3. Devi configurare la policy del bucket S3 per consentire al servizio Amazon Redshift di scrivere file di log.

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, redshift-audit-logs-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 policy del bucket (sostituisci redshift-audit-logs-to-secops con il nome del tuo bucket):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Put bucket policy needed for audit logging",
                "Effect": "Allow",
                "Principal": {
                    "Service": "redshift.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:GetBucketAcl"
                ],
                "Resource": [
                    "arn:aws:s3:::redshift-audit-logs-to-secops",
                    "arn:aws:s3:::redshift-audit-logs-to-secops/*"
                ]
            }
        ]
    }
    
  7. Fai clic su Salva modifiche.

Attiva il parametro del log delle attività utente

Il log di connessione e il log utente vengono acquisiti automaticamente quando la registrazione dei log di controllo è attivata. Per acquisire anche il log delle attività utente (che registra ogni query prima che venga eseguita sul database), devi attivare il parametro del database enable_user_activity_logging.

  1. Accedi alla console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshiftv2/.
  2. Nel menu di navigazione, vai a Configurazioni > Workload Manager.
  3. Seleziona il gruppo di parametri associato al tuo cluster.
  4. Seleziona la scheda Parametri.
  5. Fai clic su Modifica parametri.
  6. Imposta il valore parametro enable_user_activity_logging su true.
  7. Fai clic su Salva.

Abilitare l'audit logging di Amazon Redshift su S3

  1. Accedi alla console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshiftv2/.
  2. Nel menu di navigazione, seleziona Cluster, poi seleziona il cluster che vuoi configurare.
  3. Seleziona la scheda Proprietà.
  4. Nel riquadro Configurazioni database, fai clic su Modifica, poi seleziona Modifica logging di controllo.
  5. Nella pagina Modifica logging di controllo, seleziona Attiva.
  6. Per Destinazione log, seleziona Bucket S3.
  7. Per Bucket S3, seleziona il bucket che hai configurato (ad esempio, redshift-audit-logs-to-secops).
  8. (Facoltativo) Inserisci un prefisso della chiave S3 per organizzare i file di log all'interno del bucket (ad esempio, audit-logs/).
  9. Seleziona i log da esportare:
    • Log di connessione: tentativi di autenticazione, connessioni e disconnessioni
    • Log utente: modifiche alle definizioni degli utenti del database
    • Log delle attività utente: ogni query prima dell'esecuzione sul database
  10. Fai clic su Salva modifiche.

Per saperne di più, consulta Registrazione audit log del database nella Guida alla gestione di Amazon Redshift.

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 log di controllo 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 Redshift

  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 Redshift come Tipo di log.
  7. Fai clic su Avanti e poi su Invia.
  8. Specifica i valori per i seguenti campi:

    • URI S3: s3://redshift-audit-logs-to-secops/audit-logs/
    • 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
func_label additional.fields Unita
lpclagg_label additional.fields Unita
lpcltype_label additional.fields Unita
msg metadata.description Mappato direttamente
has_principal metadata.event_type Mappato: true → STATUS_UPDATE
has_target_resource metadata.event_type Mappato: true → USER_RESOURCE_ACCESS
has_user metadata.event_type Mappato: true → USER_UNCATEGORIZED
column1 metadata.product_event_type Mappato direttamente
requestID metadata.product_log_id Mappato direttamente
column20 network.application_protocol_version Mappato direttamente
column9 network.session_duration.seconds Rinominate/mappate
column21 network.session_id Mappato direttamente
xid network.session_id Mappato direttamente
column11 network.tls.cipher Mappato direttamente
column10 network.tls.version Mappato direttamente
column16 principal.application Mappato direttamente
column3 principal.asset.ip Unita
log_event.src_ip principal.asset.ip Unita
column3 principal.hostname Mappato direttamente
column3 principal.ip Unita
log_event.src_ip principal.ip Unita
region principal.location.name Mappato direttamente
column17 principal.platform_version Mappato direttamente
column4 principal.port Mappato direttamente
column5 principal.process.pid Mappato direttamente
pid principal.process.pid Mappato direttamente
accountID principal.user.userid Mappato direttamente
user_id principal.user.userid Mappato direttamente
authmethod_label security_result.detection_fields Unita
compression_label security_result.detection_fields Unita
driver_version_label security_result.detection_fields Unita
iamauthguid_label security_result.detection_fields Unita
mtu_label security_result.detection_fields Unita
plugin_name_label security_result.detection_fields Unita
ssl_compression_label security_result.detection_fields Unita
ssl_expansion_label security_result.detection_fields Unita
level security_result.severity Mappato: (?i)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM
file target.file.full_path Mappato direttamente
expected_bucket_label target.resource.attribute.labels Unita
expected_s3_prefix_label target.resource.attribute.labels Unita
sql_query_label target.resource.attribute.labels Unita
time_zone_label target.resource.attribute.labels Unita
ClusterIdentifier target.resource.name Mappato direttamente
column6 target.resource.name Mappato direttamente
db target.resource.name Mappato direttamente
column7 target.user.user_display_name Mappato direttamente
user target.user.user_display_name Mappato direttamente
N/D metadata.event_type Costante: USER_RESOURCE_ACCESS
N/D security_result.severity Costante: INFORMATIONAL
N/D target.resource.type Costante: DATABASE

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.