Raccogliere i log LDAP di Red Hat Directory Server
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
rsysloginstallato e in esecuzione sull'host del server di directory
Ottenere un file di autenticazione dell'acquisizione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione importazione.
Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Ottenere un ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
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
- Apri un terminale con privilegi di root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sudo systemctl status observiq-otel-collectorIl 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.yamlcon 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:udplogper UDP Syslogtcplogper TCP syslogsyslogper syslog RFC 3164/5424
0.0.0.0: Indirizzo IP su cui ascoltare:0.0.0.0per 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 precedentemalachiteingestion-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.
- Stati Uniti:
- Modifica
creds_file_patha seconda della piattaforma:- Linux:
/etc/bindplane-agent/ingestion-auth.json
- Linux:
Salvare il file di configurazione
- Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEntere infineCtrl+X.
- Linux: premi
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla 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.
- Apri un terminale con privilegi root o sudo sull'host Directory Server.
Abilita il log di controllo eseguendo questo comando:
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditlog-logging-enabled=onAttiva il log degli errori di controllo eseguendo questo comando:
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditfaillog-logging-enabled=onVerifica 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-enabledVerifica 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
- Accedi alla console web di Red Hat Directory Server.
- Seleziona l'istanza.
- Vai a Server > Logging.
- Seleziona il tipo di log che vuoi attivare (ad esempio, Audit Log).
- Attiva l'opzione di attivazione/disattivazione del logging per il tipo di log selezionato.
- 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.
Crea un nuovo file di configurazione rsyslog per l'inoltro dei log di Directory Server:
sudo nano /etc/rsyslog.d/rhds-forward.confAggiungi 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:514Verifica la sintassi di configurazione di rsyslog:
sudo rsyslogd -N1Riavvia il servizio rsyslog per applicare le modifiche:
sudo systemctl restart rsyslogVerifica 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.