Cloud IDS konfigurieren

Folgen Sie dieser Anleitung, um Cloud IDS für Ihre Anwendung zu konfigurieren. Konzeptuelle Informationen zu Cloud IDS finden Sie in der Übersicht über Cloud IDS.

Hinweis

Bevor Sie Cloud IDS konfigurieren, müssen Sie die folgenden Voraussetzungen erfüllen.

IAM-Berechtigungen für Cloud IDS einrichten

Cloud IDS hat mehrere IAM-Rollen (Identity and Access Management). Mit den Beispielbefehlen können Sie einem Hauptkonto die erforderlichen IAM-Berechtigungen erteilen.

  • Rolle „Cloud IDS-Administrator“ (roles/ids.admin). Projekthauptkonten mit dieser Rolle können IDS-Endpunkte erstellen. Wenn Sie Projektinhaber sind, haben Sie diese Berechtigung bereits und benötigen keine explizite ids.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
  • Rolle „Cloud IDS-Betrachter“ (roles/ids.viewer). Projektbetrachter und Hauptkonten mit dieser Rolle 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 ;
    
  • Rolle „Nutzer der Compute-Paketspiegelung“ (roles/compute.packetMirroringUser). Diese Rolle ist erforderlich, um eine Paketspiegelungsrichtlinie an den IDS-Endpunkt anzuhängen. Wenn Sie die Rolle compute.securityAdmin oder container.serviceAgent haben, haben Sie diese Berechtigung bereits. Weitere Informationen zu dieser Rolle finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --role=roles/compute.packetMirroringUser \
        --member=user:USER_NAME ;
    
  • Rolle „Logbetrachter“ (roles/logging.viewer): Das ist eine zusätzliche Rolle, die zum Aufrufen der aktuellen Bedrohungen erforderlich ist. Dies ist eine wichtige Kernfunktion 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 ;
    

Außerdem benötigen Sie die folgenden sonstigen Berechtigungen:

  • compute.regions.list
  • compute.zones.list

Zugriff auf private Dienste einrichten

Zum Erstellen von IDS-Endpunkten müssen Sie die Service Networking API aktivieren und für das VPC-Netzwerk (Virtual Private Cloud) das Netzwerk-Peering einrichten. Dies muss nur einmal pro Kundenprojekt erfolgen und kann über dieGoogle Cloud Console oder die Google Cloud CLI erfolgen. Wenn Sie einen IP‑Adressbereich zuweisen, muss es sich um einen RFC 1918-konformen privaten IP‑Adressbereich (10.0.0.0/8, 172.16.0.0/12 oder 192.168.0.0/16) handeln. Andernfalls schlägt die Erstellung des Endpunkts fehl.

So richten Sie den Zugriff auf private Dienste ein:

  1. 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
    
  2. Wenn Sie in Ihrem Netzwerk noch keinen IP-Adressbereich zugewiesen haben, müssen Sie für Google-Dienste in Ihrem VPC-Netzwerk einen IP-Bereich zuweisen. Im folgenden Befehl können Sie das Feld addresses weglassen.Google Cloud wählt dann einen nicht verwendeten Adressbereich in Ihrem VPC-Netzwerk aus:

     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

  3. Stellen Sie eine private Verbindung zu einem Dienstersteller her. Die private Verbindung richtet eine VPC-Netzwerk-Peering-Verbindung zwischen Ihrem VPC-Netzwerk und dem Netzwerk des Diensterstellers ein.

    Wenn Sie bereits eine private Verbindung haben, verwenden Sie den Befehl gcloud services vpc-peerings update, um sie zu aktualisieren:

      gcloud services vpc-peerings update \
          --service=servicenetworking.googleapis.com \
          --ranges=RESERVED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
    

    Wenn Sie noch keine private Verbindung haben, verwenden Sie den Befehl gcloud services vpc-peerings connect. Dieser Befehl initiiert einen Vorgang mit langer Ausführungszeit, der einen Vorgangsnamen zurückgibt.

      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 eines oder mehrerer zugewiesener Bereiche

    • VPC_NETWORK: der Name des VPC-Netzwerks

    • PROJECT_ID: die ID des Projekts, das Ihr VPC-Netzwerk enthält

    Mit dem Befehl gcloud services vpc-peerings operations describe können Sie prüfen, ob der Vorgang erfolgreich war:

      gcloud services vpc-peerings operations describe \
          --name=OPERATION_NAME
    

    Ersetzen Sie OPERATION_NAME durch den Vorgangsnamen, der im vorherigen Schritt zurückgegeben wurde.

Wiederholen Sie die Schritte 2 und 3 für jedes VPC-Netzwerk, das Sie überwachen möchten.

Optional: VPC Service Controls aktivieren

Nachdem der Zugriff auf private Dienste aktiviert wurde, können Sie optional VPC Service Controls für Cloud IDS aktivieren. Wenn VPC Service Controls aktiviert ist, führen Sie den Befehl services vpc-peerings enable-vpc-service-controls aus, um VPC Service Controls für alle Ihre Peering-Verbindungen zu aktivieren:

gcloud services vpc-peerings enable-vpc-service-controls \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK \
    --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • VPC_NETWORK: der Name des VPC-Netzwerks

  • PROJECT_ID: die ID des Projekts, das das VPC-Netzwerk enthält

Best Practices kennenlernen

Wir empfehlen, sich mit den Best Practices vertraut zu machen, bevor Sie Cloud IDS konfigurieren. Weitere Informationen finden Sie unter Best Practices für Cloud IDS.

Cloud IDS-Endpunkte konfigurieren

In den folgenden Abschnitten wird beschrieben, wie Sie Cloud IDS-Endpunkte erstellen, sie an eine Paketspiegelungsrichtlinie anhängen, Cloud IDS-Endpunkte ansehen, Cloud IDS-Endpunkte löschen und Bedrohungsausnahmen konfigurieren.

Cloud IDS-Endpunkt erstellen

Wir empfehlen, für jede Region, in der Sie Arbeitslasten bereitgestellt haben, einen IDS-Endpunkt zu erstellen. 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 IDS-Endpunkte auf.

Zu „IDS-Endpunkte“

Konfigurieren Sie den Endpunkt:

  1. Klicken Sie auf Endpunkt erstellen.
  2. Geben Sie in das Feld Endpunktname einen Namen ein.
  3. Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.
  4. Klicken Sie auf die Liste Netzwerk und wählen Sie das Netzwerk aus, das von Cloud IDS geprüft werden soll.
    1. Wählen Sie die Region und Zone Ihres Netzwerks oder Subnetzes aus den Listen Region und Zone aus.
    2. Klicken Sie auf Weiter.

Wählen Sie das Cloud IDS-Dienstprofil aus:

  1. Klicken Sie auf IDS-Dienstprofil auswählen.
  2. Wählen Sie unter Mindestschweregrad der Bedrohung die richtige Benachrichtigungsstufe aus.
  3. Klicken Sie auf Erstellen. Die Erstellung kann 10 bis 15 Minuten dauern.

gcloud

Optionale Flags

Die Befehle in diesem Abschnitt können manche oder auch alle der folgenden optionalen Flags enthalten:

--no-async
Es wird gewartet, bis der laufende Vorgang abgeschlossen ist, anstatt sofort zurückzukehren.
--filter=EXPRESSION
Auf jedes aufzuführende Ressourcenelement wird ein boolescher Filter-AUSDRUCK angewendet. Wenn die Auswertung des Ausdrucks „Wahr“ ergibt, wird dieses Element aufgeführt. Weitere Informationen und Beispiele zu Filterausdrücken erhalten Sie durch Ausführen des gcloud topic filters-Befehls. Dieses Flag interagiert mit anderen Flags, die in dieser Reihenfolge angewendet werden: --flatten, --sort-by, --filter, --limit.
--limit=LIMIT
Die maximale Anzahl der aufzulistenden Ressourcen. Standardmäßig gibt es keine Begrenzung. Dieses Flag interagiert mit anderen Flags, die in dieser Reihenfolge angewendet werden: --flatten, --sort-by, --filter, --limit.
--page-size=PAGE_SIZE
Eine Cloud IDS-Gruppenressourcenliste wird in Seiten ausgegeben. Mit diesem Flag wird die maximale Anzahl von Ressourcen pro Seite angegeben. Der Standardwert wird vom jeweiligen Dienst bestimmt, wenn dieser das Paging unterstützt. Andernfalls gibt es keine Begrenzung (kein Paging). Das Paging kann je nach Dienst vor oder nach den Flags --filter und --limit eingefügt werden.
--sort-by=[FIELD,…]
Eine durch Kommas getrennte Liste von Schlüsselnamen für Ressourcenfelder, nach denen sortiert werden soll. Die Standardreihenfolge ist aufsteigend. Stellen Sie einem Feld eine Tilde (~) voran, um eine absteigende Reihenfolge in diesem Feld zu erzielen. Dieses Flag interagiert mit anderen Flags, die in dieser Reihenfolge angewendet werden: --flatten, --sort-by, --filter, --limit.
--uri
Es wird anstelle der Standardausgabe eine Liste von Ressourcen-URIs ausgegeben.
--threat-exceptions
Eine durch Kommas getrennte Liste von Bedrohungs-IDs, für die auf diesem Endpunkt keine Benachrichtigungen vorgenommen werden sollen. Es sind maximal 99 Ausnahmen pro Endpunkt zulässig.

Anleitung

Verwenden Sie den Befehl gcloud ids endpoints create, um einen neuen IDS-Endpunkt zu erstellen.

 gcloud ids endpoints create ENDPOINT_NAME \
     --network=VPC_NETWORK \
     --zone=ZONE \
     --severity=SEVERITY \
     [--no-async] \
     [GCLOUD_WIDE_FLAG...]

Ersetzen Sie Folgendes:

  • ENDPOINT_NAME: der Name oder die ID des Endpunkts.
  • VPC_NETWORK ist der Name des VPC-Netzwerks.
  • ZONE: die Zone des Endpunkts.
  • SEVERITY: Die Mindestschwere von Bedrohungen, über die berichtet werden soll.

    Das Flag „severity“ ist erforderlich und hat einen der folgenden Werte:

    • INFORMATIONAL
    • LOW
    • MEDIUM
    • HIGH
    • CRITICAL

API

Cloud IDS-Endpunktressourcen haben die folgenden Felder:

Feld Typ Feldbeschreibung
createTime String [Nur Ausgabe] Zeitstempel der Erstellung im RFC 3339-Textformat
updateTime String [Nur Ausgabe] Zeitstempel der letzten Aktualisierung im RFC 3339-Textformat
Name String [Nur Ausgabe] Name des Endpunkts im Format projects/{project_id}/locations/{locationId}/endpoints/{endpointId}.
Netzwerk String Name des VPC-Netzwerks, das mit dem IDS-Endpunkt verbunden ist. Dabei kann es sich entweder um den Namen des VPC-Netzwerks selbst (z. B. "src-net") oder die vollständige URL des Netzwerks (z. B. "projects/{project_id}/global/networks/src-net") handeln. Dieses Feld ist beim Erstellen des Endpunkts erforderlich.
severity String

Der Mindestschweregrad für Benachrichtigungen, damit sie vom Endpunkt gemeldet werden. Folgende Werte sind möglich:

  • INFORMATIONAL
  • LOW
  • MEDIUM
  • HIGH
  • CRITICAL

Dieses Feld ist beim Erstellen des Endpunkts erforderlich.

description String Eine optionale Beschreibung des Endpunkts
endpoint_forwarding_rule String [Nur Ausgabe] URL der Netzwerkadresse des Endpunkts, an die durch die Paketspiegelung Traffic gesendet werden soll
endpoint 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 die Variablen nach Bedarf. Die ENDPOINT_NAME muss zwischen 1 und 63 Zeichen lang sein, darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten, muss mit einem Kleinbuchstaben beginnen und darf nicht mit einem Bindestrich enden.

POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
{
  "network": "NETWORK_NAME",
  "severity": "SEVERITY_LEVEL",
}

Paketspiegelungsrichtlinie an einen Cloud IDS-Endpunkt anhängen

Gehen Sie so vor, um eine Paketspiegelungsrichtlinie an den IDS-Endpunkt anzuhängen.

Console

Nachdem der IDS-Endpunkt erstellt wurde, hängen Sie eine Paketspiegelungsrichtlinie daran an:

  1. Rufen Sie in der Google Cloud Console IDS-Endpunkte auf.

    Zu „IDS-Endpunkte“

  2. Klicken Sie neben dem IDS-Endpunkt auf Anhängen.

  3. Geben Sie im Feld Richtlinienname einen Namen für die Paketspiegelungsrichtlinie ein.

  4. Klicken Sie auf Weiter.

  5. Wählen Sie das Subnetz oder die Instanzen aus, die gespiegelt werden sollen. Sie können mehrere Subnetze und Instanzen auswählen.

  6. Klicken Sie auf Weiter.

  7. Legen Sie fest, ob Sie den gesamten Traffic oder nur gefilterten Traffic spiegeln möchten:

    1. Wenn Sie den gesamten Traffic spiegeln möchten, muss Gesamten Traffic spiegeln ausgewählt sein.
    2. Wenn Sie Traffic anhand von Protokoll, IP-Adressbereich oder eingehendem bzw. ausgehendem Traffic filtern möchten, wählen Sie Gefilterten Traffic spiegeln aus:
      1. Wählen Sie entweder Alle Protokolle zulassen oder Bestimmte Protokolle zulassen aus.
      2. Wählen Sie entweder Alle IP-Bereiche zulassen oder Bestimmte IP-Bereiche zulassen aus.
  8. Klicken Sie auf Senden. Der Endpunkt wird erstellt.

gcloud

  1. Nachdem der Endpunkt erstellt wurde, hängen Sie eine Paketspiegelungsrichtlinie daran an. Rufen Sie zuerst mit dem folgenden Befehl die URL aus dem Feld endpoint_forwarding_rule ab:

    gcloud ids endpoints describe ENDPOINT_NAME
    
  2. Erstellen Sie dann 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
    
  3. Die Paketspiegelung hat mehrere optionale Flags, darunter solche, mit denen Sie Traffic nach Protokoll, IP-Adressbereich oder eingehendem bzw. ausgehendem Traffic filtern können. Weitere Informationen zu diesen optionalen Flags finden Sie in der Paketspiegelungsreferenz.

Cloud IDS-Endpunkt beschreiben

Führen Sie die folgenden Schritte aus, um einen IDS-Endpunkt zu beschreiben.

Console

  1. Rufen Sie in der Google Cloud Console IDS-Endpunkte auf.

    Zu „IDS-Endpunkte“

  2. Klicken Sie auf der Seite IDS-Endpunkte auf den Namen des IDS-Endpunkts. Die Seite Endpunktdetails wird angezeigt.

gcloud

Verwenden Sie den Befehl gcloud ids endpoints describe, um einen IDS-Endpunkt zu beschreiben.

gcloud ids endpoints describe ENDPOINT_NAME \
    [--project=PROJECT_ID] \
    [--zone=ZONE] \
    [GCLOUD_WIDE_FLAG...]

Ersetzen Sie Folgendes:

  • ENDPOINT_NAME: der Name oder die ID des Endpunkts.
  • PROJECT_ID: die ID des Projekts.
  • ZONE: die Zone des Endpunkts.

API

Wenn Sie einen Cloud IDS-Endpunkt abrufen möchten, verwenden Sie eine HTTP GET-Anfrage wie die folgende und ersetzen Sie die Variablen nach Bedarf:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Cloud IDS-Endpunkte auflisten

Führen Sie die folgenden Schritte aus, um alle IDS-Endpunkte aufzulisten.

Console

  1. Rufen Sie in der Google Cloud Console IDS-Endpunkte auf.

    Zu „IDS-Endpunkte“

gcloud

Verwenden Sie den gcloud ids endpoints list-Befehl, um IDS-Endpunkte aufzulisten:

gcloud ids endpoints list \
    [--filter=EXPRESSION] \
    [--limit=LIMIT] \
    [--page-size=PAGE_SIZE] \
    [--sort-by=[FIELD,...]] \
    [--uri] \
    [GCLOUD_WIDE_FLAG...]

Ersetzen Sie Folgendes:

  • EXPRESSION: Auf jedes aufzulistende Ressourcenelement wird ein boolescher Filter angewendet. Wenn die Auswertung des Ausdrucks „Wahr“ ergibt, wird dieses Element aufgeführt.
  • LIMIT: Die maximale Anzahl von Ressourcen, die aufgelistet werden sollen.
  • PAGE_SIZE: Die maximale Anzahl von Ressourcen pro Seite.
  • FIELD: eine durch Kommas getrennte Liste von Schlüsselnamen für Ressourcenfelder, nach denen sortiert werden soll.

API

Wenn Sie alle Cloud IDS-Endpunkte in einer Zone auflisten möchten, verwenden Sie eine HTTP GET-Anfrage wie die folgende und ersetzen Sie die Variablen nach Bedarf:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints

Alternativ können Sie alle Cloud IDS-Endpunkte in allen Zonen auflisten, indem Sie ZONE so durch einen Bindestrich ersetzen:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints

Cloud IDS-Endpunkt löschen

Führen Sie die folgenden Schritte aus, um einen IDS-Endpunkt zu löschen.

Console

  1. Rufen Sie in der Google Cloud Console IDS-Endpunkte auf.

    Zu „IDS-Endpunkte“

  2. Klicken Sie auf der Seite IDS-Endpunkte auf den Namen des IDS-Endpunkts. Die Seite Endpunktdetails wird angezeigt.

  3. Klicken Sie auf Endpunkt löschen.

gcloud

Verwenden Sie den Befehl gcloud ids endpoints delete, um einen IDS-Endpunkt zu löschen.

gcloud ids endpoints delete ENDPOINT_NAME \
    [--project=PROJECT_ID] \
    [--zone=ZONE] \
    [--no-async] \
    [GCLOUD_WIDE_FLAG...]

Ersetzen Sie Folgendes:

  • ENDPOINT_NAME: der Name oder die ID des Endpunkts.
  • PROJECT_ID: die ID des Projekts.
  • ZONE: die Zone des Endpunkts.

API

Wenn Sie einen Cloud IDS-Endpunkt löschen möchten, verwenden Sie eine HTTP DELETE-Anfrage wie die folgende und ersetzen Sie die Variablen nach Bedarf:

DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Optional: Bedrohungsausnahmen konfigurieren

Sie können Bedrohungs-IDs deaktivieren, für die Sie die Benachrichtigungen als störend bzw. nicht notwendig empfinden, indem Sie beim Erstellen oder Aktualisieren des Cloud IDS-Endpunkts das Flag --threat-exceptions verwenden. Im folgenden Beispiel wird der vorhandene Cloud IDS-Endpunkt ENDPOINT_NAME aktualisiert, um die Bedrohungs-IDs THREAT_ID1 und THREAT_ID2 auszuschließen:

gcloud ids endpoints update ENDPOINT_NAME \
    --threat-exceptions=THREAT_ID1,THREAT_ID2

Bedrohungslogs ansehen

Führen Sie die folgenden Schritte aus, um zu prüfen, ob Bedrohungslogs generiert wurden.

  1. Rufen Sie in der Google Cloud Console IDS-Bedrohungen auf.

    Zu „IDS-Bedrohungen“

  2. Klicken Sie auf einen Bedrohungsnamen, um die Seite Details zur Bedrohung für diese Bedrohung aufzurufen.

  3. Kehren Sie zum Tab Bedrohungen zurück.

  4. Klicken Sie rechts neben Ihrem IDS-Endpunkt auf das Dreipunkt-Menü  und wählen Sie Bedrohungslogs ansehen aus.

Nächste Schritte