ManageEngine ADAudit Plus-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie ManageEngine ADAudit Plus-Logs mit einem Bindplane-Agenten in Google Security Operations aufnehmen. Der Parser verarbeitet Logs von 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. Diese werden dann anhand von Ereignistypen, die aus Warnungs- und Berichtsprofilen abgeleitet werden, UDM-Feldern zugeordnet. Außerdem werden die Daten mit zusätzlichem Kontext angereichert. Der Parser verarbeitet auch bestimmte Szenarien wie fehlgeschlagene Anmeldungen, Nutzeränderungen und Dateiänderungen und passt die UDM-Zuordnung entsprechend an.

Hinweis

  • Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie hinter einem Proxy arbeiten, müssen die Firewallports geöffnet sein.
  • Sie benötigen privilegierten Zugriff auf ManageEngine ADAudit.

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Deployments: Verwenden Sie die Chronicle API (Option 1).
  • Alte Bereitstellungen: Verwenden Sie die Datei für die Authentifizierung bei der Aufnahme (Option 2) weiterhin, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B. bindplane-ingest.
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein, z. B. Bindplane agent log ingestion.
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das erstellte Dienstkonto und rufen Sie dann den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporter-Konfiguration.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organization Details (Organisationsdetails).

Bindplane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. 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

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. 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

Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

  1. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. In der Regel befindet sie sich unter Linux im Verzeichnis /opt/observiq-otel-collector/ oder unter Windows im Installationsverzeichnis.
    2. Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            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
            # 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: chronicle.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
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt diesem Wert chronicle.googleapis.com voran.

  5. Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM und Verwaltung > Einstellungen.

  6. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  7. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, unter dem die Schlüsseldatei des Dienstkontos (Option 1) im Abschnitt Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen gespeichert wurde.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie creds auf den Pfad zur Datei für die Authentifizierung bei der Aufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    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
    

Starten Sie den Bindplane-Agent neu, 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-Agenten 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
    

ManageEngine ADAudit Plus-Syslog konfigurieren

  1. Melden Sie sich in der Web-UI von ManageEngine ADAudit Plus an.
  2. Rufen Sie Verwaltung > Konfiguration > SIEM-Integration auf.
  3. Wählen Sie Aktivieren aus, um die ADAudit Plus-Protokolle zu senden.
  4. Wählen Sie das Format ArcSight (CEF) aus.
  5. 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.
  6. 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 mit einem Windows-SID-Muster übereinstimmt.
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 konvertiert 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 werden dann aus der Beschreibung entfernt.
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 wurde, 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 er als Nutzer-ID behandelt. Außerdem wird event_type auf USER_LOGIN, extensions.auth.type auf MACHINE und extensions.auth.mechanism auf USERNAME_PASSWORD gesetzt.
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 wird LOW zugeordnet, 2 wird MEDIUM zugeordnet und 3 wird HIGH zugeordnet.
SOURCE principal.hostname, principal.asset.hostname Der Wert von SOURCE aus dem Rohlog wird mit DOMAIN kombiniert, wenn SOURCE keinen Domainteil enthält, und 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 nach dem Entfernen der geschweiften Klammern diesem UDM-Feld zugewiesen, wenn 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, wobei der Schlüssel auf ACCESS_MODE festgelegt ist.
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 wenn 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. Außerdem wird has_principal_host auf „true“ gesetzt.
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. Außerdem wird has_principal_host auf „true“ gesetzt.
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. Legen Sie auf BLOCK fest, 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, sofern event_type nicht USER_CHANGE_PASSWORD ist. In diesem Fall wird er target.user.userid zugewiesen.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten