OpenSearch in Google SecOps einbinden
In diesem Dokument wird beschrieben, wie Sie OpenSearch in Google Security Operations einbinden.
Anwendungsfälle
Die OpenSearch-Integration deckt die folgenden Anwendungsfälle für Sicherheitsorchestrierung und ‑untersuchung ab:
Automatisierte Bedrohungssuche: Regelmäßige Suche in allen OpenSearch-Indizes nach bestimmten Kompromittierungsindikatoren (IoCs) oder verdächtigen Mustern mithilfe von Lucene- und DSL-Abfragen.
Zentrale Benachrichtigungsaufnahme: Nehmen Sie Dokumente aus OpenSearch als umsetzbare Benachrichtigungen in Google SecOps auf, damit Sicherheitsereignisse aus Ihrem Data Lake priorisiert und untersucht werden.
Kontextbezogener Datenabruf: Bestehende Sicherheitsfälle werden automatisch mit relevanten Protokollen oder Verlaufsdaten aus OpenSearch angereichert, um Analysten während einer Untersuchung mehr Kontext zu bieten.
Flexible Datenzuordnung: Ordnen Sie Schweregrade und Umgebungstags aus OpenSearch-Dokumenten dynamisch Google SecOps-Standards zu, um die Konsistenz über verschiedene Logquellen hinweg zu wahren.
Hinweis
Bevor Sie die Integration in der Google SecOps-Plattform konfigurieren, prüfen Sie, ob Folgendes vorhanden ist:
CA-Zertifikatsdatei: Eine gültige Zertifizierungsstellendatei zum Sichern der Verbindung.
Aktuelle Integrationsversion: Achten Sie darauf, dass Sie die aktuelle Version der OpenSearch-Integration verwenden.
Base64-codiertes Zertifikat: Der Inhalt Ihrer CA-Zertifikatsdatei muss vor der Konfiguration in einen Base64-String konvertiert werden.
Führen Sie die folgenden Schritte aus, um die Integration mit einem CA-Zertifikat zu konfigurieren:
- Öffnen Sie die Seite mit den Konfigurationsparametern für die Integration.
- Fügen Sie den Base64-codierten String in das Feld CA-Zertifikatsdatei ein.
- Klicken Sie das Kästchen SSL überprüfen an.
- Klicken Sie auf Testen, um zu prüfen, ob die Integration richtig konfiguriert ist.
Integrationsparameter
Für die OpenSearch-Integration sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Server Address |
Pflichtangabe. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich Protokoll und Port (z. B. |
Username |
Optional. Der Nutzername für die Authentifizierung bei der OpenSearch-Instanz. |
Password |
Optional. Das Passwort, das dem angegebenen Nutzernamen zugeordnet ist. |
API Token |
Optional. Das API-Token, das zur Authentifizierung als Alternative zu einem Nutzernamen und Passwort verwendet wird. |
Authenticate |
Optional. Wenn diese Option ausgewählt ist, authentifiziert die Integration die Verbindung zum OpenSearch-Server mit den angegebenen Anmeldedaten. |
Verify SSL |
Optional. Wenn diese Option ausgewählt ist, validiert die Integration das SSL-Zertifikat, wenn eine Verbindung zum OpenSearch-Server hergestellt wird. |
CA Certificate File |
Optional. Der Inhalt der Zertifikatsdatei der Zertifizierungsstelle (Certificate Authority, CA) im PEM-Format, die zur Überprüfung des SSL-Zertifikats des Servers verwendet wird. |
Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.
Sie können später bei Bedarf Änderungen vornehmen. Nachdem Sie eine Integrationsinstanz konfiguriert haben, können Sie sie in Playbooks verwenden. Weitere Informationen zum Konfigurieren und Unterstützen mehrerer Instanzen finden Sie unter Mehrere Instanzen unterstützen.
Aktionen
Weitere Informationen zu Aktionen finden Sie unter Auf ausstehende Aktionen im Workdesk reagieren und Manuelle Aktion in einem Fall ausführen.
Erweiterte ES-Suche
Verwenden Sie die Aktion Erweiterte ES-Suche, um eine vorkonfigurierte Suchanfrage auf dem OpenSearch-Server auszuführen und die Ergebnisse im Wörterbuchformat abzurufen.
Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.
Aktionseingaben
Für die Aktion Erweiterte ES-Suche sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Index |
Optional. Das Suchmuster für den OpenSearch-Index (z. B. Der Standardwert ist |
Query |
Optional. Die Suchanfrage, die mit der Lucene-Syntax ausgeführt werden soll (z. B. Der Standardwert ist |
Limit |
Optional. Die maximale Anzahl der Dokumente, die zurückgegeben werden sollen. Legen Sie diesen Wert auf Der Standardwert ist |
Display Field |
Optional. Eine durch Kommas getrennte Liste der zurückzugebenden Felder. Der Standardwert ist |
Search Field |
Optional. Das spezifische Feld, das durchsucht werden soll, wenn Der Standardwert ist |
Timestamp Field |
Optional. Der Name des Feldes, das für die zeitbasierte Filterung verwendet wird. Wenn sowohl Der Standardwert ist |
Oldest Date |
Optional. Das Startdatum für die Suche. Die Aktion gibt Datensätze zurück, die am oder nach diesem Zeitstempel aufgetreten sind. Sie können einen genauen UTC-Zeitstempel ( Der Standardwert ist |
Earliest Date |
Optional. Das Enddatum für die Suche. Die Aktion gibt Datensätze zurück, die an oder vor diesem Zeitstempel aufgetreten sind. Sie können einen genauen UTC-Zeitstempel ( Der Standardwert ist |
Aktionsausgaben
Die Aktion Erweiterte ES-Suche liefert die folgenden Ausgaben:
| Aktionsausgabetyp | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle mit Fall-Repository | Nicht verfügbar |
| Anreicherungstabelle | Nicht verfügbar |
| JSON-Ergebnis | Nicht verfügbar |
| Ausgabenachrichten | Verfügbar |
| Scriptergebnis | Verfügbar |
Scriptergebnis
In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion Erweiterte ES-Suche verwendet wird:
| Name des Skriptergebnisses | Wert |
|---|---|
results |
RESULTS |
DSL-Suche
Mit der Aktion DSL-Suche können Sie eine umfassende Suche in allen OpenSearch-Indizes durchführen und Ergebnisse im Wörterbuchformat abrufen.
Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.
Aktionseingaben
Für die Aktion DSL-Suche sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Index |
Optional. Das Suchmuster für den OpenSearch-Index (z. B. Der Standardwert ist |
Query |
Optional. Die Suchanfrage, die mit der Lucene-Syntax ausgeführt werden soll (z. B. Der Standardwert ist |
Limit |
Optional. Die maximale Anzahl der Dokumente, die zurückgegeben werden sollen. Legen Sie diesen Wert auf Der Standardwert ist |
Aktionsausgaben
Die Aktion DSL-Suche liefert die folgenden Ausgaben:
| Aktionsausgabetyp | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle mit Fall-Repository | Nicht verfügbar |
| Anreicherungstabelle | Nicht verfügbar |
| JSON-Ergebnis | Verfügbar |
| Ausgabenachrichten | Verfügbar |
| Scriptergebnis | Verfügbar |
JSON-Ergebnis
Das folgende Beispiel zeigt die JSON-Ergebnisausgabe, die bei Verwendung der Aktion DSL-Suche zurückgegeben wird:
[
{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source": {
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
}, {
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
Scriptergebnis
In der folgenden Tabelle sind die Werte für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion DSL-Suche verwendet wird:
| Name des Skriptergebnisses | Wert |
|---|---|
results |
RESULTS |
Ping
Verwenden Sie die Aktion Ping, um die Verbindung zu OpenSearch zu testen.
Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.
Aktionseingaben
Keine.
Aktionsausgaben
Die Aktion Ping liefert die folgenden Ausgaben:
| Aktionsausgabetyp | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle mit Fall-Repository | Nicht verfügbar |
| Anreicherungstabelle | Nicht verfügbar |
| JSON-Ergebnis | Nicht verfügbar |
| Ausgabenachrichten | Verfügbar |
| Scriptergebnis | Verfügbar |
Scriptergebnis
In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses bei Verwendung der Aktion Ping aufgeführt:
| Name des Skriptergebnisses | Wert |
|---|---|
| is_success | true oder false |
Einfache ES-Suche
Mit der Aktion Simple ES Search können Sie eine einfache Suche in allen indexierten Feldern in OpenSearch durchführen und die Ergebnisse im Wörterbuchformat abrufen.
Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.
Aktionseingaben
Für die Aktion Einfache ES-Suche sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Index |
Optional. Das Suchmuster für den OpenSearch-Index (z. B. Der Standardwert ist |
Query |
Optional. Die Suchanfrage, die mit der Lucene-Syntax ausgeführt werden soll (z. B. Der Standardwert ist |
Limit |
Optional. Die maximale Anzahl der Dokumente, die zurückgegeben werden sollen. Legen Sie diesen Wert auf Der Standardwert ist |
Aktionsausgaben
Die Aktion Einfache ES-Suche liefert die folgenden Ausgaben:
| Aktionsausgabetyp | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle mit Fall-Repository | Nicht verfügbar |
| Anreicherungstabelle | Nicht verfügbar |
| JSON-Ergebnis | Verfügbar |
| Ausgabenachrichten | Verfügbar |
| Scriptergebnis | Verfügbar |
JSON-Ergebnis
Das folgende Beispiel zeigt die JSON-Ergebnisausgabe, die bei Verwendung der Aktion Simple ES Search empfangen wird:
[{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source":
{
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
},
{
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
Scriptergebnis
In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion Einfache ES-Suche verwendet wird:
| Name des Skriptergebnisses | Wert |
|---|---|
results |
RESULTS |
Connectors
Weitere Informationen zum Konfigurieren von Connectors in Google SecOps finden Sie unter Daten aufnehmen (Connectors).
OpenSearch-Connector
Mit dem OpenSearch-Connector können Sie angegebene OpenSearch-Indexe mit einer bereitgestellten Lucene-Abfrage durchsuchen und Dokumente als Benachrichtigungen in Google SecOps aufnehmen.
Connector-Eingaben
Für den OpenSearch-Connector sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Product Field Name |
Pflichtangabe. Der Name des Felds, in dem der Produktname gespeichert ist. Der Produktname wirkt sich hauptsächlich auf die Zuordnung aus. Um den Zuordnungsprozess für den Connector zu optimieren und zu verbessern, wird der Standardwert in einen Fallback-Wert aufgelöst, auf den im Code verwiesen wird. Jede ungültige Eingabe für diesen Parameter wird standardmäßig in einen Fallback-Wert aufgelöst. Der Standardwert ist |
Event Field Name |
Pflichtangabe. Der Name des Felds, das den Ereignisnamen (Untertyp) bestimmt. Der Standardwert ist |
Script Timeout (Seconds) |
Pflichtangabe. Das Zeitlimit in Sekunden für den Python-Prozess, der das aktuelle Script ausführt. Der Standardwert ist |
Server Address |
Pflichtangabe. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich Protokoll und Port (z. B. |
Username |
Optional. Der Nutzername für die Authentifizierung bei der OpenSearch-Instanz. |
Password |
Optional. Das Passwort, das dem angegebenen Nutzernamen zugeordnet ist. |
Authenticate |
Optional. Wenn diese Option ausgewählt ist, authentifiziert die Integration die Verbindung zum OpenSearch-Server mit den angegebenen Anmeldedaten. |
API Token |
Optional. Das API-Token, das zur Authentifizierung als Alternative zu einem Nutzernamen und Passwort verwendet wird. |
Verify SSL |
Optional. Wenn diese Option ausgewählt ist, validiert die Integration das SSL-Zertifikat, wenn eine Verbindung zum OpenSearch-Server hergestellt wird. |
Alert Name Field |
Pflichtangabe. Der Name des Felds, das den Namen der Benachrichtigung enthält (z. B. |
Timestamp Field |
Pflichtangabe. Der Name des Felds, das den Zeitstempel enthält (z. B. |
Environment Field Name |
Optional. Der Name des Felds, in dem der Umgebungsname gespeichert ist. Wenn das Feld „environment“ fehlt, verwendet der Connector den Standardwert. Der Standardwert ist |
Indexes |
Optional. Das Indexmuster, nach dem gesucht werden soll. Verwenden Sie |
Query |
Optional. Die Suchanfrage, die mit der Lucene-Syntax ausgeführt werden soll. |
Alerts Count Limit |
Pflichtangabe. Die maximale Anzahl von Benachrichtigungen, die in einem einzelnen Zyklus abgerufen werden sollen. Der Standardwert ist |
Max Days Backwards |
Pflichtangabe. Die Anzahl der Tage vor dem aktuellen Datum, für die Benachrichtigungen abgerufen werden sollen. Dieser Parameter kann für die erste Connector-Iteration gelten, nachdem Sie den Connector zum ersten Mal aktiviert haben, oder für den Fallback-Wert für einen abgelaufenen Connector-Zeitstempel. Der Standardwert ist |
Severity Field Name |
Optional. Der Feldname, der zum Extrahieren des Schweregrads für die Benachrichtigung verwendet wird. Wenn das Feld numerische Werte (Ganzzahlen oder Gleitkommazahlen) enthält, ordnet der Connector sie automatisch den Google SecOps-Schweregraden zu (z. B. |
Proxy Server Address |
Optional. Die Adresse des zu verwendenden Proxyservers. |
Proxy Username |
Optional. Der Nutzername, der für die Authentifizierung beim Proxyserver verwendet wird. |
Proxy Password |
Optional. Das Passwort, das für die Authentifizierung beim Proxyserver verwendet wird. |
Environment Regex Pattern |
Optional. Ein reguläres Ausdrucksmuster, das für den im Feld Verwenden Sie den Standardwert Wenn das Muster des regulären Ausdrucks null oder leer ist oder der Umgebungswert null ist, ist das endgültige Umgebungsergebnis die Standardumgebung. |
OpenSearch DSL-Connector
Verwenden Sie den OpenSearch DSL-Connector, um Dokumente als Warnungen in Google SecOps aufzunehmen. Dazu führen Sie REST API-Aufrufe mit DSL-Abfragen (Domain Specific Language) aus.
Connector-Eingaben
Für den OpenSearch DSL-Connector sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Product Field Name |
Pflichtangabe. Der Name des Felds, in dem der Produktname gespeichert ist. Der Produktname wirkt sich hauptsächlich auf die Zuordnung aus. Um den Zuordnungsprozess für den Connector zu optimieren und zu verbessern, wird der Standardwert in einen Fallback-Wert aufgelöst, auf den im Code verwiesen wird. Jede ungültige Eingabe für diesen Parameter wird standardmäßig in einen Fallback-Wert aufgelöst. Der Standardwert ist Der Standardwert ist |
Event Field Name |
Pflichtangabe. Der Name des Felds, das den Ereignisnamen (Untertyp) bestimmt. Der Standardwert ist |
Script Timeout (Seconds) |
Pflichtangabe. Das Zeitlimit in Sekunden für den Python-Prozess, der das aktuelle Script ausführt. Der Standardwert ist |
Server Address |
Pflichtangabe. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich des Protokolls (z. B. |
Port |
Pflichtangabe. Der Port, der für die Verbindung zum OpenSearch API-Server verwendet wird. |
Query |
Pflichtangabe. Die für die Suche verwendete DSL-Abfrage im JSON-Format. Um die Stabilität des Connectors zu verbessern, wird empfohlen, einen Sortierschlüssel für Zeitstempel in aufsteigender Reihenfolge in Ihre Abfrage aufzunehmen. |
Index |
Pflichtangabe. Der für die Suche verwendete Index. Verwenden Sie |
Timestamp Field |
Pflichtangabe. Der Name des Felds, das den Zeitstempel enthält (z. B. |
Alert Field Name |
Pflichtangabe. Der Name des Felds, das den Namen der Benachrichtigung enthält (z. B. |
Description Field |
Optional. Der Name des Felds, das die Beschreibung der Benachrichtigung enthält (z. B. |
Severity |
Pflichtangabe. Der statische Schweregrad, der allen aufgenommenen Benachrichtigungen zugewiesen werden soll. Dieser Parameter wird verwendet, wenn Der Standardwert ist |
Alert Severity |
Optional. Der Schweregrad, der Benachrichtigungen zugewiesen werden soll. Dieser Parameter hat Vorrang vor Wenn Sie die dynamische Zuordnung mit |
Severity Field Name |
Optional. Der Feldname, der zum Extrahieren des Schweregrads für die Benachrichtigung verwendet wird. Wenn das Feld numerische Werte (Ganzzahlen oder Gleitkommazahlen) enthält, ordnet der Connector sie automatisch den Google SecOps-Schweregraden zu (z. B. |
Alerts Count Limit |
Optional. Die maximale Anzahl von Benachrichtigungen, die in einem einzelnen Zyklus abgerufen werden sollen. Der Standardwert ist |
Authenticate |
Optional. Wenn diese Option ausgewählt ist, authentifiziert der Connector die Verbindung mit den angegebenen Anmeldedaten. |
Username |
Optional. Der Nutzername für die Authentifizierung bei der OpenSearch-Instanz. |
Password |
Optional. Das Passwort, das für die Authentifizierung bei der OpenSearch-Instanz verwendet wird. |
Use SSL |
Optional. Wenn diese Option ausgewählt ist, aktiviert der Connector eine SSL/TLS-Verbindung zum Server. |
Proxy Server Address |
Optional. Die Adresse des Proxyservers, der für die Verbindung verwendet werden soll. |
Proxy Username |
Optional. Der Nutzername, der für die Authentifizierung beim Proxyserver verwendet wird. |
Proxy Password |
Optional. Das Passwort, das für die Authentifizierung beim Proxyserver verwendet wird. |
Environment Field Name |
Optional. Der Name des Felds, in dem der Umgebungsname gespeichert ist. Wenn das Feld „environment“ fehlt, verwendet der Connector den Standardwert. Der Standardwert ist |
Environment Regex Pattern |
Optional. Ein reguläres Ausdrucksmuster, das für den im Feld Verwenden Sie den Standardwert Wenn das Muster des regulären Ausdrucks null oder leer ist oder der Umgebungswert null ist, ist das endgültige Umgebungsergebnis die Standardumgebung. Der Standardwert ist |
Unterstützung für Notationen
Der Connector unterstützt drei verschiedene Notationen für die Feldzuordnung. Wenn Sie beispielsweise event.type zuordnen möchten, können Sie _source_event_type, event_type oder event.type angeben.
Dies gilt für die folgenden Parameter:
Product Field NameEvent Field NameSeverity Field NameEnvironment Field NameTimestamp FieldAlert Field NameDescription Field(nur DSL-Connector)
Schweregrad im Connector zuordnen
Wenn die Severity Field Name numerische Werte (Ganzzahlen oder Gleitkommazahlen) enthält, ordnet der Connector sie so zu:
- Kritisch: 100
- Hoch: 80 ≤ x < 100
- Mittel: 60 ≤ x < 80
- Niedrig: 40 ≤ x < 60
- Informationsbezogen: x < 40
Für Stringwerte müssen Sie die Datei severity_map_config.json im Ordner mit den Connector-Skripts aktualisieren.
Konfigurationsbeispiel
So ordnen Sie ein event.severity-Feld zu, das „Malicious“, „Unknown“ oder „Benign“ enthält:
- Geben Sie
event.severityin den Parameter Severity Field Name ein. - Aktualisieren Sie
severity_map_config.json:
{
"event.severity": {
"Malicious": 100,
"Unknown": 60,
"Benign": -1
},
"Default": 50
}
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten