Raccogli i log di Proofpoint Sendmail Sentrion

Supportato in:

Questo documento spiega come importare i log di Proofpoint Sendmail Sentrion in Google Security Operations utilizzando l'agente Bindplane.

Proofpoint Sendmail Sentrion è un agente di trasferimento della posta (MTA) aziendale che fornisce controlli di sicurezza, monitoraggio dei messaggi e applicazione delle policy per le email in uscita e in entrata. Registra le transazioni di posta tramite la funzionalità syslog mail standard.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e il server MTA Proofpoint Sendmail Sentrion
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso privilegiato al server Proofpoint Sendmail Sentrion con autorizzazioni root o amministratore

Recupera le credenziali Google SecOps per l'agente Bindplane

Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:

  • Nuovi deployment: utilizza l'API Chronicle (opzione 1).
  • Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (Opzione 2) fino alla dismissione dell'API Ingestion il 20 luglio 2027.
  1. Accedi alla Google Cloud console e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: inserisci un nome per l'account (ad esempio bindplane-ingest).
    • Descrizione service account: inserisci una descrizione (ad esempio Bindplane agent log ingestion).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua e poi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) oppure aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. Vai a IAM e amministrazione > Impostazioni e copia il Numero progetto. Ti servirà per la configurazione dell'esportatore.

Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Ottieni l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul tuo sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.

Configura l'agente Bindplane per importare il syslog e inviarlo a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/proofpoint_sentrion:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.googleapis.com
        log_type: PROOFPOINT_SENDMAIL_SENTRION
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/sentrion_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/proofpoint_sentrion
    

Parametri di configurazione

  • Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • udplog: riceve syslog su UDP. Utilizza tcplog se hai configurato il trasporto TCP nella configurazione syslog.
    • 0.0.0.0:514: ascolta tutte le interfacce sulla porta 514. Se necessario, modifica la porta (ad esempio, 1514 per Linux non root).
  • Configurazione dell'esportatore:

    • <CREDS_FILE_PATH>: percorso completo del file della chiave JSON del account di servizio (opzione 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID>: ID cliente ottenuto dal passaggio Recupera l'ID cliente Google SecOps.
    • location: sostituisci <LOCATION> con la regione della tua istanza Google SecOps (ad esempio us, europe o asia-southeast1). L'esportatore aggiunge chronicle.googleapis.com come prefisso a questo valore. Per l'elenco completo, consulta Endpoint regionali.
    • project: sostituisci <PROJECT_NUMBER> con il numero di progetto da IAM e amministrazione > Impostazioni.
    • endpoint: mantieni l'impostazione chronicle.googleapis.com.

Esportatore dell'API di importazione precedente

  • Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con il tuo endpoint regionale (ad esempio, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/proofpoint_sentrion:
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: PROOFPOINT_SENDMAIL_SENTRION
        raw_log_field: body
        ingestion_labels:
          env: production
    

Salva il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
    • Windows: fai clic su File > Salva

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per verificare la presenza di errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Servizi:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per verificare la presenza di errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurare l'inoltro di syslog di Proofpoint Sendmail Sentrion

Sendmail Sentrion utilizza la funzionalità syslog standard mail per scrivere i log delle transazioni email. Le posizioni predefinite dei log dipendono dal sistema operativo:

Sistema operativo Percorso del log predefinito
RHEL / CentOS /var/log/maillog
Debian / Ubuntu /var/log/mail.log
Solaris /var/log/syslog (filtro applicato per mail.*)

Opzione 1: configura l'inoltro di syslog utilizzando rsyslog

  1. Modifica il file di configurazione syslog sul server MTA Sentrion:

    sudo nano /etc/rsyslog.d/sentrion.conf
    
  2. Aggiungi la seguente regola per inoltrare i log della funzionalità di posta all'agente Bindplane:

    mail.*    @BINDPLANE_AGENT_IP:514
    
  3. Salva il file e riavvia il servizio rsyslog:

    sudo systemctl restart rsyslog
    
  4. Verifica che i log vengano inoltrati controllando i log dell'agente Bindplane.

Opzione 2: configura l'inoltro di syslog tramite la console di gestione Sentrion

  1. Accedi alla console di gestione Sentrion.
  2. Vai a Configuration > Logging (o System > Log Settings).
  3. Configura le impostazioni di syslog remoto:
    • Server Syslog: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514 (deve corrispondere alla porta del ricevitore dell'agente Bindplane).
    • Protocollo: seleziona UDP (deve corrispondere alla configurazione del ricevitore dell'agente Bindplane).
    • Livello di log: impostalo in modo da acquisire tutti gli eventi di transazione di posta.
  4. Fai clic su Applica o Salva.
  5. Verifica che i log vengano inoltrati controllando i log dell'agente Bindplane.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
additional.fields Unito da tty_label e pwd_label
azione security_result.action_details Valore copiato direttamente
action_result security_result.summary Valore copiato direttamente, se presente
app principal.application Valore copiato direttamente
app_proto network.application_protocol Valore copiato direttamente
autorizzazione security_result.detection_fields Unito come auth_label (chiave: auth, valore: auth)
bit security_result.detection_fields Unito come bits_label (chiave: bits, valore: bits)
categorization security_result.category_details Valore copiato direttamente
cifrario network.tls.cipher Valore copiato direttamente
classe security_result.detection_fields Unito come class_label (chiave: class, valore: class)
cluster principal.resource.attribute.labels Unito come cluster_label (chiave: cluster, valore: cluster)
COMANDO principal.process.command_line Valore copiato direttamente
daemon security_result.detection_fields Unito come daemon_label (chiave: daemon, valore: daemon)
delay security_result.detection_fields Unito come delay_label (chiave: delay, valore: delay)
descrizione security_result.description Valore copiato direttamente
dettagli metadata.description Valore copiato direttamente
disposizione security_result.detection_fields Unito come disposition_label (chiave: disposition, valore: disposition)
dsn security_result.detection_fields Unito come dsn_label (chiave: dsn, valore: dsn)
event_type metadata.event_type Valore copiato direttamente
da network.email.from Estratto come valid_from utilizzando il pattern grok se l'email è valida
host principal.asset.hostname, principal.hostname Valore copiato direttamente
ip principal.asset.ip, principal.ip Valore copiato direttamente
job_name principal.resource.attribute.labels Unito come job_name_label (chiave: job_name, valore: job_name)
mailer security_result.detection_fields Unito come mailer_label (chiave: mailer, valore: mailer)
msgid network.email.mail_id Valore copiato subito dopo la rimozione di < e >
mtaqid principal.resource.product_object_id Valore copiato direttamente
nw_direction network.direction Imposta OUTBOUND se corrisponde a (?i)Outbound
nrcpts security_result.detection_fields Unito come nrcpts_label (chiave: nrcpts, valore: nrcpts)
pid principal.process.pid Valore copiato direttamente
porta principal.port Valore copiato direttamente e convertito in numero intero
pri security_result.detection_fields Unito come pri_label (chiave: priority, valore: pri)
responsabile del trattamento principal.resource.attribute.labels Unito come processor_label (chiave: processor, valore: processor)
product_event_type metadata.product_event_type Valore copiato direttamente
reject_msg security_result.summary Valore copiato direttamente se action_result, stat e status sono vuoti
relay_domain intermediary.hostname Valore copiato direttamente
relay_ip intermediary.ip Valore copiato direttamente
ruleset security_result.rule_name Valore copiato direttamente
gravità security_result.severity Imposta su INFORMATIONAL se le corrispondenze (?i)info
dimensioni network.sent_bytes Valore copiato direttamente e convertito in uinteger
STARTTLS security_result.detection_fields Unito come starttls_label (chiave: STARTTLS, valore: STARTTLS)
stat security_result.summary Valore copiato direttamente se action_result è vuoto
stato security_result.summary Valore copiato direttamente se action_result, stat e reject_msg sono vuoti
subject network.email.subject, security_result.detection_fields Valore copiato direttamente e unito come subject_label (chiave: subject, valore: subject)
tls_verify, verify security_result.action, security_result.description Impostato su ALLOW se corrisponde a (?i)OK, BLOCK se corrisponde a (?i)FAIL; descrizione impostata su tls_verify - tls_verify; tls_verify da verify se tls_verify è vuoto
a network.email.to Estratto come valid_to dall'array utilizzando il pattern grok per ogni email
USER, user principal.user.userid Valore di USER se non è vuoto, altrimenti di user
versione network.tls.version Valore copiato direttamente
xdelay security_result.detection_fields Unito come xdelay_label (chiave: xdelay, valore: xdelay)
metadata.product_name Imposta su "Proofpoint Sendmail Sentrion"
metadata.vendor_name Impostato su "PROOFPOINT_SENDMAIL_SENTRION"

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.