OpenSearch in Google SecOps einbinden
Integrationsversion: 1.0
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 Suche nach Bedrohungen: Suchen Sie regelmäßig in allen OpenSearch-Indexen nach bestimmten Kompromittierungsindikatoren (Indicators of Compromise, IoCs) oder verdächtigen Mustern mit Lucene- und DSL-Abfragen.
Zentrale Aufnahme von Benachrichtigungen: Dokumente aus OpenSearch werden als umsetzbare Benachrichtigungen in Google SecOps aufgenommen. So werden Sicherheitsereignisse aus Ihrem Data Lake priorisiert und untersucht.
Kontextbezogener Datenabruf: Sie können vorhandene Sicherheitsfälle anreichern, indem Sie automatisch zugehörige Protokolle oder Verlaufsdaten aus OpenSearch abrufen, um Analysten bei der Untersuchung einen umfassenderen Kontext zu bieten.
Flexible Datenzuordnung: Schweregrade und Umgebungstags aus OpenSearch-Dokumenten werden dynamisch den Google SecOps-Standards zugeordnet, um die Konsistenz über verschiedene Log-Quellen hinweg zu gewährleisten.
Hinweise
Bevor Sie die Integration in der Google SecOps-Plattform konfigurieren, müssen Sie Folgendes haben:
CA-Zertifikatsdatei: Eine gültige Zertifizierungsstellendatei zur Sicherung der Verbindung.
Neueste 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 Certificate File (CA-Zertifikatsdatei) ein.
- Klicken Sie das Kästchen SSL prüfen an.
- Klicken Sie auf Testen, um zu prüfen, ob die Integration erfolgreich konfiguriert wurde.
Integrationsparameter
Für die OpenSearch-Integration sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Server Address |
Erforderlich. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich des Protokolls und des Ports (z. B. |
Username |
Optional. Der Nutzername, der für die Authentifizierung bei der OpenSearch-Instanz verwendet wird. |
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 einem 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, wird das SSL-Zertifikat bei der Verbindung zum OpenSearch-Server validiert. |
CA Certificate File |
Optional. Der Inhalt der Zertifizierungsstellenzertifikatsdatei im PEM-Format, die zum Überprüfen des SSL-Zertifikats des Servers verwendet wird. |
Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.
Bei Bedarf können Sie später Ä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 Ausstehende Aktionen in „Mein Arbeitsbereich“ beantworten und Manuelle Aktion ausführen.
Erweiterte ES-Suche
Mit der Aktion Advanced ES Search (Erweiterte ES-Suche) können Sie eine vorkonfigurierte Suchanfrage auf dem OpenSearch-Server ausführen und die Ergebnisse in einem Dictionary-Format abrufen.
Diese Aktion wird nicht für Google SecOps-Elemente ausgeführt.
Aktionseingaben
Für die Aktion Advanced ES Search 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. Setzen 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, in dem gesucht werden soll, wenn Der Standardwert ist |
Timestamp Field |
Optional. Der Name des Felds, 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 an 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 bietet die folgenden Ausgaben:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall‑Repository | Nicht verfügbar |
| Tabelle „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 Advanced ES Search verwendet wird:
| Name des Scriptergebnisses | Wert |
|---|---|
results |
RESULTS |
DSL-Suche
Mit der Aktion DSL Search 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-Elemente ausgeführt.
Aktionseingaben
Für die Aktion DSL Search 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. Setzen Sie diesen Wert auf Der Standardwert ist |
Aktionsausgaben
Die Aktion DSL Search (DSL-Suche) bietet die folgenden Ausgaben:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall‑Repository | Nicht verfügbar |
| Tabelle „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 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 bei Verwendung der Aktion DSL Search aufgeführt:
| Name des Scriptergebnisses | Wert |
|---|---|
results |
RESULTS |
Ping
Verwenden Sie die Aktion Ping, um die Verbindung zu OpenSearch zu testen.
Diese Aktion wird nicht für Google SecOps-Elemente ausgeführt.
Aktionseingaben
Keine.
Aktionsausgaben
Die Aktion Ping bietet die folgenden Ausgaben:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall‑Repository | Nicht verfügbar |
| Tabelle „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 Scriptergebnisses | 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 in einem Dictionary-Format abrufen.
Diese Aktion wird nicht für Google SecOps-Elemente 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. Setzen Sie diesen Wert auf Der Standardwert ist |
Aktionsausgaben
Die Aktion Simple ES Search (Einfache ES-Suche) bietet die folgenden Ausgaben:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall‑Repository | Nicht verfügbar |
| Tabelle „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 bei Verwendung der Aktion Simple ES Search aufgeführt:
| Name des Scriptergebnisses | 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 bestimmte OpenSearch-Indizes 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 |
Erforderlich. 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. Ungültige Eingaben für diesen Parameter werden standardmäßig in einen Fallback-Wert aufgelöst. Der Standardwert ist |
Event Field Name |
Erforderlich. Der Name des Felds, das den Ereignisnamen (Untertyp) bestimmt. Der Standardwert ist |
Script Timeout (Seconds) |
Erforderlich. Das Zeitlimit in Sekunden für den Python-Prozess, in dem das aktuelle Script ausgeführt wird. Der Standardwert ist |
Server Address |
Erforderlich. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich des Protokolls und des Ports (z. B. |
Username |
Optional. Der Nutzername, der für die Authentifizierung bei der OpenSearch-Instanz verwendet wird. |
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 einem Passwort verwendet wird. |
Verify SSL |
Optional. Wenn diese Option ausgewählt ist, wird das SSL-Zertifikat bei der Verbindung zum OpenSearch-Server validiert. |
Alert Name Field |
Erforderlich. Der Name des Felds, das den Namen der Benachrichtigung enthält (z. B. |
Timestamp Field |
Erforderlich. Der Name des Felds, das den Zeitstempel enthält (z. B. |
Environment Field Name |
Optional. Der Name des Felds, in dem der Name der Umgebung gespeichert ist. Wenn das Feld „environment“ fehlt, wird der Standardwert verwendet. 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 |
Erforderlich. Die maximale Anzahl von Benachrichtigungen, die in einem einzelnen Zyklus abgerufen werden sollen. Der Standardwert ist |
Max Days Backwards |
Erforderlich. Die Anzahl der Tage vor dem aktuellen Datum, für die Benachrichtigungen abgerufen werden sollen. Dieser Parameter kann für die erste Connector-Iteration nach der erstmaligen Aktivierung des Connectors oder als Fallback-Wert für einen abgelaufenen Connector-Zeitstempel gelten. 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, werden diese vom Connector automatisch den Google SecOps-Schweregraden zugeordnet (z. B. |
Proxy Server Address |
Optional. Die Adresse des zu verwendenden Proxyservers. |
Proxy Username |
Optional. Der Nutzername für die Authentifizierung beim Proxyserver. |
Proxy Password |
Optional. Das Passwort, das zur Authentifizierung beim Proxyserver verwendet wird. |
Environment Regex Pattern |
Optional. Ein reguläres Ausdrucksmuster, das auf den Wert 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
Mit dem OpenSearch DSL Connector können Sie Dokumente als Benachrichtigungen in Google SecOps aufnehmen, indem Sie REST API-Aufrufe mit domänenspezifischen Sprachabfragen (Domain Specific Language, DSL) ausführen.
Connector-Eingaben
Für den OpenSearch DSL Connector sind die folgenden Parameter erforderlich:
| Parameter | Beschreibung |
|---|---|
Product Field Name |
Erforderlich. 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. Ungültige Eingaben für diesen Parameter werden standardmäßig in einen Fallback-Wert aufgelöst. Der Standardwert ist Der Standardwert ist |
Event Field Name |
Erforderlich. Der Name des Felds, das den Ereignisnamen (Untertyp) bestimmt. Der Standardwert ist |
Script Timeout (Seconds) |
Erforderlich. Das Zeitlimit in Sekunden für den Python-Prozess, in dem das aktuelle Script ausgeführt wird. Der Standardwert ist |
Server Address |
Erforderlich. Die Endpunkt-URL der OpenSearch-Instanz, einschließlich des Protokolls (z. B. |
Port |
Erforderlich. Der Port, der für die Verbindung mit dem OpenSearch API-Server verwendet wird. |
Query |
Erforderlich. Die für die Suche verwendete DSL-Abfrage im JSON-Format. Um die Stabilität des Connectors zu verbessern, empfiehlt es sich, einen Zeitstempelschlüssel für die Sortierung in aufsteigender Reihenfolge in die Abfrage aufzunehmen. |
Index |
Erforderlich. Der für die Suche verwendete Index. Verwenden Sie |
Timestamp Field |
Erforderlich. Der Name des Felds, das den Zeitstempel enthält (z. B. |
Alert Field Name |
Erforderlich. Der Name des Felds, das den Namen der Benachrichtigung enthält (z. B. |
Description Field |
Optional. Der Name des Felds, das die Benachrichtigungsbeschreibung enthält (z. B. |
Severity |
Erforderlich. 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 dynamisches Mapping 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, werden diese vom Connector automatisch den Google SecOps-Schweregraden zugeordnet (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, der für die Authentifizierung bei der OpenSearch-Instanz verwendet wird. |
Password |
Optional. Das Passwort, das für die Authentifizierung bei der OpenSearch-Instanz verwendet wird. |
Use SSL |
Optional. Wenn diese Option ausgewählt ist, ermöglicht 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 für die Authentifizierung beim Proxyserver. |
Proxy Password |
Optional. Das Passwort, das zur Authentifizierung beim Proxyserver verwendet wird. |
Environment Field Name |
Optional. Der Name des Felds, in dem der Name der Umgebung gespeichert ist. Wenn das Feld „environment“ fehlt, wird der Standardwert verwendet. Der Standardwert ist |
Environment Regex Pattern |
Optional. Ein reguläres Ausdrucksmuster, das auf den Wert 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 von 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-Anschluss)
Schweregrad im Connector zuordnen
Wenn Severity Field Name numerische Werte (Ganzzahlen oder Gleitkommazahlen) enthält, werden sie vom Connector so zugeordnet:
- Kritisch: 100
- Hoch: 80 ≤ x < 100
- Mittel: 60 ≤ x < 80
- Niedrig: 40 ≤ x < 60
- Informational: x < 40
Bei String-Werten müssen Sie die Datei severity_map_config.json im Ordner mit den Connector-Scripts aktualisieren.
Konfigurationsbeispiel
So ordnen Sie ein event.severity-Feld mit „Schadsoftware“, „Unbekannt“ oder „Gutartig“ zu:
- Geben Sie im Parameter Severity Field Name den Wert
event.severityein. - 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