ManageEngine ADAudit Plus-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie ManageEngine ADAudit Plus-Logs mit einem Bindplane-Agent in Google Security Operations aufnehmen. Der Parser verarbeitet Logs aus ADAudit Plus und konvertiert sie in das UDM-Format. Es werden Grok-Muster verwendet, um Felder aus SYSLOG- (CEF-) und Schlüssel/Wert-formatierten Nachrichten zu extrahieren und sie basierend auf Ereignistypen, die aus Warnungs- und Berichtsprofilen abgeleitet werden, UDM-Feldern zuzuordnen. Außerdem werden die Daten mit zusätzlichem Kontext angereichert. Der Parser verarbeitet auch bestimmte Szenarien wie Anmeldefehler, Nutzeränderungen und Dateimodifikationen und passt die UDM-Zuordnung entsprechend an.
Hinweise
- Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
- Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit
systemd
verwenden. - Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
- Sie müssen privilegierten Zugriff auf ManageEngine ADAudit haben.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Zusätzliche Installationsressourcen
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Greifen Sie auf die Konfigurationsdatei zu:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
,vi
oder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: ADAUDIT_PLUS raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
Ersetzen Sie
<customer_id>
durch die tatsächliche Kunden-ID.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog für ManageEngine ADAudit Plus konfigurieren
- Melden Sie sich in der ManageEngine ADAudit Plus-Web-UI an.
- Gehen Sie zu Verwaltung > Konfiguration > SIEM-Integration.
- Wählen Sie Aktivieren aus, um die ADAudit Plus-Logs zu senden.
- Wählen Sie das Format ArcSight (CEF) aus.
- Geben Sie die folgenden Konfigurationsdetails an:
- IP-Adresse: IP-Adresse des Bindplane-Agents.
- Port: Bindplane-Portnummer, z. B.
514
für UDP. - Zieltyp: Wählen Sie UDP aus. Je nach Konfiguration des Bindplane-Agents können Sie auch TCP auswählen.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
ACCOUNT_DOMAIN |
principal.administrative_domain |
Der Wert von ACCOUNT_DOMAIN aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
ACCOUNT_NAME |
principal.user.userid |
Der Wert von ACCOUNT_NAME aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
ALERT_PROFILE |
security_result.summary |
Der Wert von ALERT_PROFILE aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
APPLICATION_NAME |
target.resource.name |
Der Wert von APPLICATION_NAME aus dem Rohlog wird diesem UDM-Feld zugewiesen. Außerdem werden target.resource.resource_type auf TASK und has_target_resource auf „true“ gesetzt. |
CALLER_DISPLAY_NAME |
target.user.user_display_name |
Der Wert von CALLER_DISPLAY_NAME aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
CALLER_USER_NAME |
target.user.userid |
Der Wert von CALLER_USER_NAME aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
CALLER_USER_SID |
target.group.windows_sid |
Der Wert von CALLER_USER_SID aus dem Rohlog wird diesem UDM-Feld zugewiesen, nachdem die Zeichen [%,{,}] entfernt wurden. Dies geschieht nur, wenn der Wert einem Windows-SID-Muster entspricht. |
Category |
metadata.product_event_type |
Der Wert von Category aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
CLIENT_HOST_NAME |
target.hostname , target.asset.hostname |
Der Wert von CLIENT_HOST_NAME aus dem Rohlog wird diesen UDM-Feldern zugewiesen. |
CLIENT_IP_ADDRESS |
target.ip , target.asset.ip |
Der Wert von CLIENT_IP_ADDRESS aus dem Rohlog wird diesen UDM-Feldern zugewiesen, nachdem geprüft wurde, ob es sich um eine gültige IP-Adresse handelt. |
CLIENT_PORT |
target.port |
Der Wert von CLIENT_PORT aus dem Rohlog wird diesem UDM-Feld zugewiesen, nachdem er in eine Ganzzahl umgewandelt wurde. |
DOMAIN |
target.administrative_domain |
Der Wert von DOMAIN aus dem Rohlog wird diesem UDM-Feld zugewiesen. Dieser Wert wird möglicherweise später durch ACCOUNT_DOMAIN überschrieben, falls vorhanden. |
FILE_LOCATION |
target.file.full_path |
Der Wert von FILE_LOCATION aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
FILE_NAME |
target.file.full_path |
Der Wert von FILE_NAME aus dem Rohlog wird diesem UDM-Feld zugewiesen, wenn FILE_LOCATION nicht vorhanden ist. |
FORMAT_MESSAGE |
security_result.description |
Der Wert von FORMAT_MESSAGE aus dem Rohlog wird diesem UDM-Feld zugewiesen. Teile dieses Felds können verwendet werden, um andere UDM-Felder zu füllen, und dann aus der Beschreibung entfernt werden. |
IP |
principal.ip , principal.asset.ip |
Der Wert von IP aus dem Rohlog wird diesen UDM-Feldern zugewiesen, nachdem geprüft wurde, ob es sich um eine gültige IP-Adresse handelt. |
loggerHost |
intermediary.hostname , intermediary.asset.hostname |
Der Wert von loggerHost , der aus dem Nachrichtenfeld des Rohlogs extrahiert wird, wird diesen UDM-Feldern zugewiesen. |
login_name |
target.user.userid oder target.user.email_addresses oder target.user.user_display_name |
Wenn der Wert @ enthält, wird er als E-Mail-Adresse behandelt. Wenn er Leerzeichen enthält, wird er als Anzeigename behandelt. Andernfalls wird sie als Nutzer-ID behandelt. Außerdem werden event_type auf USER_LOGIN , extensions.auth.type auf MACHINE und extensions.auth.mechanism auf USERNAME_PASSWORD festgelegt. |
RECORD_NUMBER |
principal.process.pid |
Der Wert von RECORD_NUMBER aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
REPORT_PROFILE |
metadata.description |
Der Wert von REPORT_PROFILE aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
SEVERITY |
security_result.severity |
Der Wert von SEVERITY bestimmt den Wert dieses UDM-Felds: 1 entspricht LOW, 2 entspricht MEDIUM und 3 entspricht HIGH. |
SOURCE |
principal.hostname , principal.asset.hostname |
Der Wert von SOURCE aus dem Rohlog wird zusammen mit DOMAIN (falls SOURCE keinen Domainteil enthält) diesen UDM-Feldern zugewiesen. Legt auch has_principal_host auf „true“ fest. |
TIME_GENERATED |
metadata.event_timestamp.seconds |
Der Wert von TIME_GENERATED aus dem Rohlog wird als Ereigniszeitstempel verwendet. |
UNIQUE_ID |
metadata.product_log_id |
Der Wert von UNIQUE_ID aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
USERNAME |
principal.user.userid |
Der Wert von USERNAME aus dem Rohlog wird diesem UDM-Feld zugewiesen, wenn ACCOUNT_NAME nicht vorhanden ist. |
USER_OU_GUID |
metadata.product_log_id |
Der Wert von USER_OU_GUID aus dem Rohlog wird diesem UDM-Feld zugewiesen, nachdem die geschweiften Klammern entfernt wurden, sofern UNIQUE_ID nicht vorhanden ist. |
access_mode |
security_result.detection_fields.value |
Der Wert von access_mode aus dem Rohlog wird diesem UDM-Feld zugewiesen. Der Schlüssel wird auf ACCESS_MODE festgelegt. |
action_name |
security_result.description |
Der Wert von action_name aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
domain_name |
principal.administrative_domain |
Der Wert von domain_name aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
event.idm.read_only_udm.extensions.auth.mechanism |
event.idm.read_only_udm.extensions.auth.mechanism |
Wird auf USERNAME_PASSWORD gesetzt, wenn login_name vorhanden ist oder event_type gleich USER_LOGIN ist. |
event.idm.read_only_udm.extensions.auth.type |
event.idm.read_only_udm.extensions.auth.type |
Wird auf MACHINE gesetzt, wenn login_name vorhanden ist oder event_type gleich USER_LOGIN ist. |
event.idm.read_only_udm.metadata.event_type |
event.idm.read_only_udm.metadata.event_type |
Wird vom Parser anhand der Werte von ALERT_PROFILE , REPORT_PROFILE und FORMAT_MESSAGE bestimmt. Kann einer von mehreren Werten sein, darunter USER_CHANGE_PERMISSIONS , USER_STATS , USER_LOGIN , USER_CHANGE_PASSWORD , SETTING_MODIFICATION , FILE_DELETION , FILE_MODIFICATION , STATUS_SHUTDOWN , SCHEDULED_TASK_CREATION , FILE_READ , NETWORK_CONNECTION , GENERIC_EVENT , USER_UNCATEGORIZED oder STATUS_UPDATE . |
event.idm.read_only_udm.metadata.log_type |
event.idm.read_only_udm.metadata.log_type |
Immer auf ADAUDIT_PLUS gesetzt. |
event.idm.read_only_udm.metadata.product_name |
event.idm.read_only_udm.metadata.product_name |
Immer auf ADAudit Plus gesetzt. |
event.idm.read_only_udm.metadata.vendor_name |
event.idm.read_only_udm.metadata.vendor_name |
Immer auf Zoho Corporation gesetzt. |
host |
principal.hostname , principal.asset.hostname |
Der Wert von host aus dem Rohlog wird diesen UDM-Feldern zugewiesen. Legt auch has_principal_host auf „true“ fest. |
intermediary.hostname , intermediary.asset.hostname |
intermediary.hostname , intermediary.asset.hostname |
Legen Sie den Wert auf loggerHost fest. |
principalHost |
principal.hostname , principal.asset.hostname |
Der Wert von principalHost aus dem Rohlog wird diesen UDM-Feldern zugewiesen, nachdem geprüft wurde, ob es sich um eine IP-Adresse handelt. Legt auch has_principal_host auf „true“ fest. |
security_result.action |
security_result.action |
Wird auf ALLOW gesetzt, wenn outcome oder msg_data_2 Success enthält oder wenn FORMAT_MESSAGE Status:Success enthält. Wird auf BLOCK gesetzt, wenn status denied , locked out , incorrect , does not meet oder Unable to validate enthält. Wird auf BLOCK gesetzt, wenn ALERT_PROFILE gleich Logon Failures for Admin Users ist. |
security_result.category |
security_result.category |
Wird auf POLICY_VIOLATION gesetzt, wenn event_type gleich USER_STATS oder ALERT_PROFILE gleich Logon Failures for Admin Users ist. |
security_result.rule_name |
security_result.rule_name |
Wird aus dem Feld FORMAT_MESSAGE extrahiert, wenn es Reason: enthält. |
status |
security_result.summary |
Der Wert von status aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
targetHost |
target.hostname , target.asset.hostname oder target.ip , target.asset.ip |
Der Wert von targetHost aus dem Rohlog wird diesen UDM-Feldern zugewiesen, nachdem geprüft wurde, ob es sich um eine IP-Adresse handelt. |
targetUser |
target.user.userid |
Der Wert von targetUser aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
_CNtargetUser |
target.user.user_display_name |
Der Wert von _CNtargetUser aus dem Rohlog wird diesem UDM-Feld zugewiesen. |
_user |
principal.user.userid oder target.user.userid |
Der Wert von _user aus dem Rohlog wird principal.user.userid zugewiesen, es sei denn, event_type ist USER_CHANGE_PASSWORD . In diesem Fall wird er target.user.userid zugewiesen. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten