Folgen Sie dieser Anleitung, um Cloud IDS für Ihre Anwendung zu konfigurieren. Konzeptionelle Informationen zu Cloud IDS finden Sie in der Übersicht zu Cloud IDS.
Hinweis
Bevor Sie Cloud IDS konfigurieren, müssen Sie die folgenden Anforderungen erfüllen.
IAM-Berechtigungen für Cloud IDS einrichten
Cloud IDS hat drei IAM-Rollen (Identity and Access Management). Mit den Beispielbefehlen können Sie einem Hauptkonto die erforderlichen IAM-Berechtigungen erteilen.
roles/ids.admin
: Projekthauptkonten mit der Cloud IDS-Administratorrolle (roles/ids.admin
) können IDS-Endpunkte erstellen. Als Projektinhaber oder -bearbeiter haben Sie bereits diese Berechtigung und benötigen keine expliziteids.admin
-Rolle, um IDS-Endpunkte zu erstellen.gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/ids.admin --member=user:USER_NAME ;
Diese Rolle ermöglicht die folgenden Vorgänge:
- Endpunkt erstellen
- Endpunkt löschen
- Endpunkt abrufen
- Endpunkt auflisten
roles/ids.viewer
: Projektbetrachter und -hauptkonten mit der Rolle „Cloud IDS-Betrachter“ (roles/ids.viewer
) haben Lesezugriff auf IDS-Endpunkte. Wenn Sie Projektinhaber, -bearbeiter oder -betrachter sind, haben Sie diese Berechtigung bereits.gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/ids.viewer --member=user:USER_NAME ;
roles/compute.packetMirroringUser
: Eine Berechtigung, die erforderlich ist, um eine Paketspiegelungsrichtlinie für den IDS-Endpunkt festzulegen. Wenn Sie die Rollecompute.securityAdmin
odercontainer.serviceAgent
haben, haben Sie diese Berechtigung bereits.gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/compute.packetMirroringUser --member=user:USER_NAME ;
roles/logging.viewer
: Eine zusätzliche Berechtigung, die zum Ansehen aktueller Bedrohungen erforderlich ist. Dies ist ein wichtiges Merkmal von Cloud IDS. Weitere Informationen zu dieser Rolle finden Sie im Leitfaden zur Zugriffssteuerung.gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/logging.viewer --member=user:USER_NAME ;
Zugriff auf private Dienste einrichten
Zum Erstellen von IDS-Endpunkten müssen Sie die Service Networking API aktivieren und Netzwerk-Peering für das VPC-Netzwerk (Virtual Private Cloud) einrichten. Dies muss nur einmal pro Kundenprojekt erfolgen und kann über die Google Cloud Console oder die Google Cloud CLI erfolgen.
So richten Sie den Zugriff auf private Dienste ein:
Aktivieren Sie die Service Networking API mit dem folgenden Befehl. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID
Wenn Sie noch keinen IP-Adressbereich in Ihrem Netzwerk zugewiesen haben, müssen Sie einen IP-Bereich für Google-Dienste in Ihrem VPC-Netzwerk zuweisen. Sie können das Feld
addresses
im folgenden Befehl weglassen. In diesem Fall wählt Google Cloud einen nicht verwendeten Adressbereich in Ihrem VPC-Netzwerk aus. Verwenden Sie den folgenden Befehl:gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Ersetzen Sie Folgendes:
RESERVED_RANGE_NAME
: ein Name für den zugewiesenen Bereich, z. B.my-allocated-range
DESCRIPTION
: eine Beschreibung für den Bereich, z. B.allocated for my-service
VPC_NETWORK
: der Name Ihres VPC-Netzwerks, z. B.my-vpc-network
Private Verbindung zu einem Dienstersteller herstellen. Die private Verbindung stellt eine VPC-Netzwerk-Peering-Verbindung zwischen Ihrem VPC-Netzwerk und dem Netzwerk des Diensterstellers her. Verwenden Sie den folgenden Befehl. Der Befehl initiiert einen lang andauernden Vorgang und gibt einen Vorgangsnamen zurück.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Ersetzen Sie Folgendes:
RESERVED_RANGE_NAME
: der Name von einem oder mehreren zugewiesenen BereichenVPC_NETWORK
: der Name Ihres VPC-NetzwerksPROJECT_ID
: die ID des Projekts, das Ihr VPC-Netzwerk enthält
Mit dem folgenden Befehl können Sie prüfen, ob der Vorgang erfolgreich war. Ersetzen Sie
OPERATION_NAME
durch den Vorgangsnamen, der im vorherigen Schritt zurückgegeben wurde:gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
Wiederholen Sie die Schritte 2 und 3 für jedes VPC-Netzwerk, das Sie überwachen möchten.
Cloud IDS-Endpunkt erstellen
Wir empfehlen, einen IDS-Endpunkt für jede Region zu erstellen, in der Sie Arbeitslasten bereitgestellt haben. Sie können auch mehrere IDS-Endpunkte pro Region erstellen. Führen Sie die folgenden Schritte aus, um einen IDS-Endpunkt zu erstellen und ihm ein IDS-Dienstprofil zuzuweisen.
Console
Rufen Sie in der Google Cloud Console die Seite Netzwerksicherheit auf.
Wählen Sie auf der Seite Cloud IDS den Tab Endpunkte aus.
Konfigurieren Sie den Endpunkt:
- Klicken Sie auf Endpunkt erstellen.
- Geben Sie in das Feld Endpunktname einen Namen ein.
- Optional: Geben Sie in das Feld Beschreibung eine Beschreibung ein.
- Klicken Sie auf die Drop-down-Liste Netzwerk und wählen Sie das Netzwerk aus, das Cloud IDS untersuchen soll.
- Wählen Sie die Region und Zone Ihres Netzwerks oder Subnetzes aus den Drop-down-Listen Region und Zone aus.
- Klicken Sie auf Weiter.
Wählen Sie das Cloud IDS-Dienstprofil aus:
- Klicken Sie auf IDS-Dienstprofil auswählen.
- Wählen Sie unter Mindestschweregrad für Bedrohung die richtige Benachrichtigungsstufe aus.
- Klicken Sie auf Erstellen. Die Erstellung kann 10–15 Minuten dauern.
Hängen Sie nach dem Erstellen des IDS-Endpunkts eine Paketspiegelungsrichtlinie an den IDS-Endpunkt an:
- Wählen Sie den Tab Endpunkte aus.
- Klicken Sie neben dem IDS-Endpunkt auf Anhängen.
- Geben Sie im Feld Richtlinienname einen Namen für die Paketspiegelungsrichtlinie ein.
- Klicken Sie auf Next (Weiter).
- Wählen Sie das Subnetz oder die Instanzen aus, die gespiegelt werden sollen. Sie können mehrere Subnetze und Instanzen auswählen.
- Klicken Sie auf Next (Weiter).
- Legen Sie fest, ob der gesamte Traffic gespiegelt oder gefiltert werden soll:
- Wenn Sie den gesamten Traffic spiegeln möchten, achten Sie darauf, dass Gesamten Traffic spiegeln ausgewählt ist.
- Wenn Sie Traffic anhand von Protokoll, IP-Adressbereich oder eingehendem oder ausgehendem Traffic filtern möchten, wählen Sie Gefilterten Traffic spiegeln aus:
- Wählen Sie entweder Alle Protokolle zulassen oder Bestimmte Protokolle zulassen aus.
- Wählen Sie entweder Alle IP-Bereiche zulassen oder Bestimmte IP-Bereiche zulassen aus.
- Wählen Sie Eingehenden und ausgehenden Traffic zulassen, Nur eingehenden Traffic erlauben oder Nur ausgehenden Traffic zulassen aus.
- Klicken Sie auf Senden. Der Endpunkt wird erstellt.
Sie können jetzt prüfen, ob Bedrohungsprotokolle erstellt wurden. Die folgenden Schritte sind optional:
- Klicken Sie auf den Tab Bedrohungen.
- Klicken Sie auf den Namen einer Bedrohung, um die Seite Bedrohungsdetails der Bedrohung aufzurufen.
- Kehren Sie zum Tab Bedrohungen zurück.
- Klicken Sie rechts neben Ihrem IDS-Endpunkt auf das Menü und wählen Sie Bedrohungslogs ansehen aus.
gcloud
Optionale Flags
Die Befehle in diesem Abschnitt können einige oder alle der folgenden optionalen Flags enthalten:
--no-async
--filter=EXPRESSION
--flatten
, --sort-by
, --filter
, --limit
.
--limit=LIMIT
--flatten
, --sort-by
, --filter
, --limit
.
--page-size=PAGE_SIZE
--filter
und --limit
angewendet werden.
--sort-by=[FIELD,…]
--flatten
, --sort-by
, --filter
, --limit
.
--uri
Anleitung
So erstellen Sie einen neuen IDS-Endpunkt:
Verwenden Sie den Befehl
gcloud ids endpoints create
. Ersetzen SieENDPOINT_NAME
,VPC_NETWORK
,ZONE
undSEVERITY
durch Informationen, die Ihrer Anwendung entsprechen.gcloud ids endpoints create ENDPOINT_NAME \ --network=VPC_NETWORK \ --zone=ZONE \ --severity=SEVERITY \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Das Flag für Schweregrade ist erforderlich und nimmt einen der folgenden Werte an:
- INFORMATION
- LOW
- MITTEL
- HIGH
- CRITICAL
Nachdem der Endpunkt erstellt wurde, hängen Sie eine Paketspiegelungsrichtlinie an. Rufen Sie zuerst mit dem folgenden Befehl die URL aus dem Feld
endpoint_forwarding_rule
ab:gcloud ids endpoints describe ENDPOINT_NAME
Erstellen Sie mit dem folgenden Befehl die Paketspiegelungsrichtlinie:
gcloud compute packet-mirrorings create POLICY_NAME \ --region=REGION --collector-ilb=ENDPOINT_FORWARDING_RULE \ --network=VPC_NETWORK --mirrored-subnets=SUBNET
Die Paketspiegelung hat mehrere optionale Flags, mit denen Sie Traffic anhand von Protokoll, IP-Adressbereich oder eingehenden oder ausgehenden Traffic filtern können. Weitere Informationen zu diesen optionalen Flags finden Sie in der Referenz zur Paketspiegelung.
Verwenden Sie den Befehl gcloud ids endpoints
delete
, um einen IDS-Endpunkt zu löschen. Ersetzen Sie ENDPOINT_NAME
, PROJECT_ID
und ZONE
durch Informationen, die Ihrer Anwendung entsprechen:
gcloud ids endpoints delete ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Verwenden Sie den Befehl gcloud ids endpoints
describe
, um einen IDS-Endpunkt zu beschreiben. Ersetzen Sie ENDPOINT_NAME
, PROJECT_ID
und ZONE
durch Informationen, die Ihrer Anwendung entsprechen:
gcloud ids endpoints describe ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [GCLOUD_WIDE_FLAG...]
Verwenden Sie den Befehl gcloud ids endpoints list
, um IDS-Endpunkte aufzulisten:
gcloud ids endpoints list / [--filter=EXPRESSION] \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE] \ [--sort-by=[FIELD,...]] \ [--uri] \ [GCLOUD_WIDE_FLAG...]
API
Cloud IDS-Endpunktressourcen haben die folgenden Felder:
Feld | Typ | Feldbeschreibung |
---|---|---|
createTime | string | [Nur Ausgabe] Erstellungszeitstempel im RFC 3339-Textformat. |
updateTime | string | [Nur Ausgabe] Zeitstempel der letzten Aktualisierung im Textformat RFC 3339. |
name | string | [Nur Ausgabe] Name des Endpunkts im Format projects/{project_id}/locations/{locationId}/endpoints/{endpointId} . |
network | string | Name des VPC-Netzwerks, das mit dem IDS-Endpunkt verbunden ist. Dieser kann entweder den VPC-Netzwerknamen selbst (z. B. "src-net" ) oder die vollständige URL zum Netzwerk (z. B. "projects/{project_id}/global/networks/src-net" ) enthalten. Dieses Feld ist beim Erstellen des Endpunkts erforderlich. |
Schweregrad | string | Der minimale Schweregrad der Benachrichtigung, der vom Endpunkt gemeldet wird. Folgende Werte sind möglich:
Dieses Feld ist beim Erstellen des Endpunkts erforderlich. |
description | string | Eine optionale Beschreibung des Endpunkts. |
Endpunktregel "end_redirect" | string | [Nur Ausgabe] URL der Netzwerkadresse des Endpunkts, an die der Traffic durch die Paketspiegelung gesendet werden soll. |
Endpunkt | string | [Nur Ausgabe] Interne IP-Adresse des Netzwerkeinstiegspunkts des Endpunkts. |
Verwenden Sie zum Erstellen eines Cloud IDS-Endpunkts eine HTTP POST-Anfrage wie die folgende und ersetzen Sie dabei die entsprechenden Variablen. ENDPOINT_NAME
muss zwischen 1 und 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Es muss mit einem Kleinbuchstaben beginnen und darf nicht mit einem Bindestrich enden.
POST projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME { "network": "NETWORK_NAME", "severity": "SEVERITY_LEVEL", }
Verwenden Sie zum Löschen eines Cloud IDS-Endpunkts eine HTTP DELETE
-Anfrage wie die folgende und ersetzen Sie dabei die entsprechenden Variablen:
DELETE projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Verwenden Sie zum Abrufen eines Cloud IDS-Endpunkts eine HTTP GET
-Anfrage wie die folgende und ersetzen Sie dabei die entsprechenden Variablen:
GET projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Um alle Cloud IDS-Endpunkte in einer Zone aufzulisten, verwenden Sie eine HTTP GET
-Anfrage wie die folgende und ersetzen Sie dabei die entsprechenden Variablen:
GET projects/PROJECT_NAME/locations/ZONE/endpoints
Wenn Sie alle Cloud IDS-Endpunkte in allen Zonen auflisten möchten, können Sie ZONE
durch einen Bindestrich wie den folgenden ersetzen:
GET projects/PROJECT_NAME/locations/-/endpoints