MySQL-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie MYSQL-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert zuerst mit grok
gängige Felder aus MySQL-SYSLOG-Nachrichten. Anschließend werden mithilfe von bedingten Verzweigungen (if
, else if
) und regulären Ausdrucken bestimmte Ereignistypen in den Protokollmeldungen identifiziert. Relevante Informationen werden extrahiert und dem UDM-Schema (Unified Data Model) zugeordnet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Berechtigter Zugriff auf den MySQL-Host
- MySQL-Datenbank und Rsyslog installiert
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
- Lade die Datei für die Datenaufnahmeauthentifizierung 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 Console an.
- Gehen Sie zu SIEM-Einstellungen > Profil.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
Bindlane-Agent installieren
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder die 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
Weitere Installationsressourcen
Weitere Installationsoptionen finden Sie im Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet
- Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Unter Linux befindet es sich normalerweise im Verzeichnis/etc/bindplane-agent/
, 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: 'MYSQL' 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 Kundennummer.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.
Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden
Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog in MySQL konfigurieren
Melden Sie sich über SSH beim MySQL-Host an.
So stellen Sie eine Verbindung zur MySQL-Datenbank her:
mysql -u root -p
Prüfen Sie für das
server_audit.so
-Audit-Plug-in:show variables like 'plugin_dir';
Wenn Sie die Plug-in-Datei nicht im Verzeichnis des Plug-ins finden, installieren Sie das Plug-in mit dem Befehl:
install plugin server_audit soname 'server_audit.so';
Prüfen Sie, ob das Plug-in installiert und aktiviert ist:
show plugins;
Bearbeiten Sie die Datei
/etc/my.cnf
mitvi
, aktivieren Sie Folgendes und speichern Sie die Datei:server_audit_events='CONNECT,QUERY,TABLE' server_audit_file_path=server_audit.log server_audit_logging=ON server_audit_output_type=SYSLOG server_audit_syslog_facility=LOG_LOCAL6
Prüfen Sie die Prüfvariablen mit dem folgenden Befehl:
show global variables like "server_audit%";
Prüfen Sie mit dem folgenden Befehl, ob die Prüfung aktiviert ist:
Show global status like 'server_audit%';
Bearbeiten Sie die Datei
/etc/rsyslog.conf
mitvi
, um die Verwendung von UDP zu aktivieren, und speichern Sie die Datei:*.* @@<bindplane-agent-ip>:<bindplane-agent-port>
Ersetzen Sie
<bindplane-agent-ip>
und<bindplane-agent-port>
durch Ihre Bindplane-Agentkonfiguration.Starten Sie den MySQL-Dienst neu und stellen Sie eine Verbindung zur MySQL-Datenbank her.
/etc/init.d/mysqld restart
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Aktion | read_only_udm.metadata.event_type | Wenn der Wert Created ist, wird FILE_CREATION verwendet. Bei Deleted ist es FILE_DELETION. Andernfalls erfolgt keine Änderung. |
Datenbank | read_only_udm.target.resource.parent | |
db_hostname | read_only_udm.target.hostname | |
db_user | read_only_udm.target.user.userid | |
description | read_only_udm.security_result.description | |
error_details | Dies ist eine temporäre Variable, ignorieren Sie sie. | |
error_level | read_only_udm.security_result.severity | Wenn der Wert error ist, wird „FEHLER“ verwendet. Bei warning ist es „MITTEL“, bei note „INFORMATIONSMELDUNG“. Andernfalls erfolgt keine Änderung. |
error_message | read_only_udm.security_result.summary | |
file_path | read_only_udm.target.file.full_path | |
file_size | read_only_udm.target.file.size | |
Hostname | read_only_udm.principal.hostname | |
inner_message | read_only_udm.security_result.description | |
Zusammenfassung | read_only_udm.metadata.product_event_type | |
table | read_only_udm.target.resource.name | |
table_not_found | Dies ist eine temporäre Variable, ignorieren Sie sie. | |
timestamp | read_only_udm.metadata.event_timestamp | |
read_only_udm.extensions.auth.type | Statischer Wert – MACHINE |
|
read_only_udm.metadata.event_type | Statischer Wert – USER_LOGIN , GENERIC_EVENT , STATUS_UPDATE , FILE_CREATION , FILE_DELETION |
|
read_only_udm.metadata.log_type | Statischer Wert – MYSQL |
|
read_only_udm.metadata.product_name | Statischer Wert – MySQL |
|
read_only_udm.metadata.vendor_name | Statischer Wert – Oracle Corporation |
|
read_only_udm.security_result.action | Statischer Wert – BLOCK |
|
read_only_udm.target.resource.resource_type | Statischer Wert – DATABASE , TABLE |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten