Raccogliere i log LDAP di Red Hat Directory Server

Supportato in:

Questo documento spiega come importare i log LDAP di Red Hat Directory Server in Google Security Operations utilizzando l'agente Bindplane.

Red Hat Directory Server è un servizio di directory LDAP di livello aziendale basato su standard aperti che fornisce gestione centralizzata dell'identità utente, autenticazione e controllo dell'accesso per gli ambienti Linux e UNIX. Directory Server archivia i log di accesso, errore, controllo, errore di controllo e sicurezza nella directory /var/log/dirsrv/slapd-instance_name/, registrando le connessioni client, le operazioni LDAP, le modifiche alla configurazione, le operazioni non riuscite e gli eventi di sicurezza come i tentativi di autenticazione e i problemi di autorizzazione.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Un host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'host Red Hat Directory Server
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso root o sudo all'host Red Hat Directory Server
  • Red Hat Directory Server 11 o versioni successive installato e in esecuzione
  • Il servizio rsyslog installato e in esecuzione sull'host del server di directory

Ottenere un file di autenticazione dell'acquisizione di Google SecOps

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

Ottenere un 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 sistema operativo Linux seguendo queste istruzioni.

Installazione di Linux

  1. Apri un terminale con privilegi di 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 syslog e inviarli a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /opt/observiq-otel-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/redhat_ds:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: REDHAT_DIRECTORY_SERVER
            raw_log_field: body
    
    service:
        pipelines:
            logs/redhat_ds:
                receivers:
                    - udplog
                exporters:
                    - chronicle/redhat_ds
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • udplog: Il tipo di ricevitore in base al protocollo:
      • udplog per UDP Syslog
      • tcplog per TCP syslog
      • syslog per syslog RFC 3164/5424
    • 0.0.0.0: Indirizzo IP su cui ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • Indirizzo IP specifico da ascoltare su un'interfaccia
    • 514: numero di porta su cui ascoltare (ad esempio, 514, 1514, 6514)
  • Configurazione dell'esportatore:

    • <customer_id>: l'ID cliente del passaggio precedente
    • malachiteingestion-pa.googleapis.com: URL endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per un elenco completo, vedi Endpoint regionali.
    • Modifica creds_file_path a seconda della piattaforma:
      • Linux: /etc/bindplane-agent/ingestion-auth.json

Salvare il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.

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 individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      

Abilitare la registrazione degli audit e degli errori di audit in Red Hat Directory Server

Per impostazione predefinita, Red Hat Directory Server abilita la registrazione di accesso, errori e sicurezza, ma disabilita la registrazione di audit e audit non riusciti. Attiva questi log per acquisire tutte le modifiche alla directory e le operazioni non riuscite.

  1. Apri un terminale con privilegi root o sudo sull'host Directory Server.
  2. Abilita il log di controllo eseguendo questo comando:

    dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditlog-logging-enabled=on
    
  3. Attiva il log degli errori di controllo eseguendo questo comando:

    dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditfaillog-logging-enabled=on
    
  4. Verifica che tutti i tipi di log siano abilitati:

    dsconf -D "cn=Directory Manager" instance_name config get nsslapd-accesslog-logging-enabled nsslapd-errorlog-logging-enabled nsslapd-auditlog-logging-enabled nsslapd-auditfaillog-logging-enabled nsslapd-securitylog-logging-enabled
    
  5. Verifica che i file di log esistano nella directory dei log:

    ls -la /var/log/dirsrv/slapd-instance_name/
    

(Facoltativo) Abilita la registrazione utilizzando la console web

  1. Accedi alla console web di Red Hat Directory Server.
  2. Seleziona l'istanza.
  3. Vai a Server > Logging.
  4. Seleziona il tipo di log che vuoi attivare (ad esempio, Audit Log).
  5. Attiva l'opzione di attivazione/disattivazione del logging per il tipo di log selezionato.
  6. Fai clic su Salva impostazioni log.

Configura rsyslog per inoltrare i log di Directory Server all'agente Bindplane

Red Hat Directory Server scrive i log nei file in /var/log/dirsrv/slapd-instance_name/ anziché direttamente in syslog. Utilizza il modulo rsyslog imfile per monitorare questi file di log e inoltrare le voci all'agente Bindplane.

  1. Crea un nuovo file di configurazione rsyslog per l'inoltro dei log di Directory Server:

    sudo nano /etc/rsyslog.d/rhds-forward.conf
    
  2. Aggiungi i seguenti contenuti al file di configurazione:

    # Load the imfile module to read log files
    module(load="imfile" PollingInterval="10")
    
    # Monitor the access log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/access"
        Tag="dirsrv-access"
        Severity="info"
        Facility="local6")
    
    # Monitor the error log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/errors"
        Tag="dirsrv-errors"
        Severity="err"
        Facility="local6")
    
    # Monitor the audit log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/audit"
        Tag="dirsrv-audit"
        Severity="info"
        Facility="local6")
    
    # Monitor the security log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/security"
        Tag="dirsrv-security"
        Severity="info"
        Facility="local6")
    
    # Forward all Directory Server logs to the Bindplane agent
    local6.* @BINDPLANE_IP:514
    
  3. Verifica la sintassi di configurazione di rsyslog:

    sudo rsyslogd -N1
    
  4. Riavvia il servizio rsyslog per applicare le modifiche:

    sudo systemctl restart rsyslog
    
  5. Verifica che i log del server di directory vengano inoltrati controllando i log dell'agente Bindplane:

    sudo journalctl -u observiq-otel-collector -f
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
attrs_label about.labels Unita
cn_label about.labels Unita
conn_label about.labels Unita
csn_label about.labels Unita
err_label about.labels Unita
etime_label about.labels Unita
fd_label about.labels Unita
filter_label about.labels Unita
label about.labels Unita
method_label about.labels Unita
msgid_label about.labels Unita
name_label about.labels Unita
nentries_label about.labels Unita
offset_label about.labels Unita
op_label about.labels Unita
optime_label about.labels Unita
org_label about.labels Unita
ou_label about.labels Unita
scope_label about.labels Unita
slot_label about.labels Unita
tag_label about.labels Unita
targetop_label about.labels Unita
version_label about.labels Unita
wtime_label about.labels Unita
desc metadata.description Mappato direttamente
creationDate metadata.event_timestamp Analizzato come UNIX_MS
recordDate metadata.event_timestamp Analizzato come UNIX_MS
time metadata.event_timestamp Analizzato come dd/MMM/yyyy:HH:mm:ss Z
ts metadata.event_timestamp Analizzato come MMM d HH:mm:ss
operation metadata.product_event_type Mappato direttamente
mrId metadata.product_log_id Mappato direttamente
properties._ecs_agent_version metadata.product_version Mappato direttamente
host principal.asset.hostname Mappato direttamente
oid principal.asset.product_object_id Mappato direttamente
host principal.hostname Mappato direttamente
client_ip principal.ip Unita
namespace principal.namespace Mappato direttamente
user principal.user.userid Mappato direttamente
sec_result security_result Unita
properties._hostname target.asset.hostname Mappato direttamente
properties.host target.asset.hostname Mappato direttamente
properties._hostname target.hostname Mappato direttamente
properties.host target.hostname Mappato direttamente
target_ip target.ip Unita
properties.country target.location.country_or_region Mappato direttamente
properties._file_path target.process.file.full_path Mappato direttamente
properties._file_size target.process.file.size Rinominate/mappate
discipline_label target.resource.attribute.labels Unita
document_type_label target.resource.attribute.labels Unita
environment_label target.resource.attribute.labels Unita
hostgroup_label target.resource.attribute.labels Unita
platform_label target.resource.attribute.labels Unita
product_label target.resource.attribute.labels Unita
project_label target.resource.attribute.labels Unita
base target.user.group_identifiers Unita
dn target.user.group_identifiers Unita
N/D metadata.event_type Costante: NETWORK_CONNECTION
N/D metadata.product_name Costante: REDHAT_DIRECTORY_SERVER
N/D metadata.vendor_name Costante: REDHAT
N/D target.platform Costante: LINUX

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