Folgen Sie dieser Anleitung, um Cloud IDS für Ihre Anwendung zu konfigurieren. Konzepte zu Cloud IDS finden Sie in der Cloud IDS-Übersicht.
Hinweise
Bevor Sie Cloud IDS konfigurieren, müssen Sie die folgenden Anforderungen erfüllen.
IAM-Berechtigungen für Cloud IDS einrichten
Cloud IDS hat mehrere IAM-Rollen (Identity and Access Management, Identitäts- und Zugriffsverwaltung). Sie können das Beispiel um einem Hauptkonto die erforderlichen IAM-Berechtigungen zu gewähren.
Cloud IDS-Administratorrolle (
roles/ids.admin
): Projekthauptberechtigte mit dieser Rolle können IDS-Endpunkte erstellen. Als Projektinhaber haben Sie diese Berechtigung und benötigen keine explizite Rolleids.admin
zum Erstellen von IDS-Endpunkten.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
Cloud IDS-Betrachterrolle (
roles/ids.viewer
): Projektbetrachter und Hauptberechtigte 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 ;
Nutzerrolle für die Compute-Paketspiegelung (
roles/compute.packetMirroringUser
): Eine Rolle um eine Paketspiegelungsrichtlinie an den IDS-Endpunkt anzuhängen. Wenn Sie die Rollecompute.securityAdmin
odercontainer.serviceAgent
, Sie haben bereits diese Berechtigung erteilen. 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 „Log-Betrachter“ (
roles/logging.viewer
): Eine zusätzliche Rolle, die zum Ansehen aktueller Bedrohungen erforderlich ist, was eine wichtige Kernfunktion von Cloud IDS ist. Weitere Informationen zu dieser Rolle finden Sie in der Anleitung zur Zugriffssteuerunggcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/logging.viewer \ --member=user:USER_NAME ;
Darüber hinaus benötigen Sie die folgenden weiteren Berechtigungen:
compute.regions.list
compute.zones.list
Zugriff auf private Dienste einrichten
Zum Erstellen von IDS-Endpunkten müssen Sie das Dienstnetzwerk aktivieren
API und richten Sie Netzwerk-Peering für das VPC-Netzwerk (Virtual Private Cloud) ein. Das muss nur einmal pro Kundenprojekt erfolgen und kann über die Google Cloud Console oder die Google Cloud CLI erfolgen. Wenn Sie einen IP-Adressbereich zuweisen,
Es muss ein RFC 1918-konformer privater IP-Adressbereich (10.0.0.0/8
,
172.16.0.0/12
oder 192.168.0.0/16
) oder die Endpunkterstellung schlägt fehl.
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 in Ihrem Netzwerk noch keinen IP-Adressbereich zugewiesen haben, müssen Sie einen IP-Bereich für Google-Dienste in Ihrem VPC-Netzwerk 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 des Bereichs, z. B.allocated for my-service
VPC_NETWORK
: der Name Ihres VPC-Netzwerks, z. B.my-vpc-network
Erstellen Sie eine private Verbindung zu einem Dienstersteller. 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 die
gcloud services vpc-peerings update
-Befehl , 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 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 mindestens einem zugewiesene BereicheVPC_NETWORK
: Der Name Ihres VPC-NetzwerksPROJECT_ID
: die ID des Projekts, das Folgendes enthält: Ihrem VPC-Netzwerk
Überprüfen Sie mit der Methode
gcloud services vpc-peerings operations describe
-Befehl: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 ist, können Sie
VPC Service Controls in Cloud IDS
Wenn diese Option aktiviert ist, führen Sie den Befehl services vpc-peerings enable-vpc-service-controls
aus.
So aktivieren Sie VPC Service Controls für alle Peering-Verbindungen:
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-NetzwerksPROJECT_ID
: die ID des Projekts, das Ihr VPC-Netzwerk
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. Verwenden Sie die folgenden Schritte, um einen IDS-Endpunkt zu erstellen und ihm einen IDS-Dienst zuzuweisen zu erstellen.
Console
Rufen Sie in der Google Cloud Console IDS Endpoints auf.
Konfigurieren Sie den Endpunkt:
- Klicken Sie auf Endpunkt erstellen.
- Geben Sie im Feld Endpunktname einen Namen ein.
- Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.
- Klicken Sie auf die Drop-down-Liste Netzwerk und wählen Sie das Netzwerk aus, die Cloud IDS prüfen soll.
- Wählen Sie unter Region die Region und Zone Ihres Netzwerks oder Subnetzes aus. 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 Minimaler Schweregrad für Bedrohungen die richtige Benachrichtigungsstufe aus.
- Klicken Sie auf Erstellen. Die Erstellung kann 10 bis 15 Minuten dauern.
Nachdem der IDS-Endpunkt erstellt wurde, hängen Sie eine Paketspiegelungsrichtlinie an den IDS-Endpunkt an:
- Wählen Sie den Tab Endpunkte aus.
- Klicken Sie neben dem IDS-Endpunkt auf Attach (Anhängen).
- Geben Sie im Feld Richtlinienname einen Namen für die Paketspiegelungsrichtlinie ein.
- Klicken Sie auf Weiter.
- Wählen Sie das Subnetz oder die Instanzen aus, die gespiegelt werden sollen. Sie können mehrere Subnetze auswählen und Instanzen.
- Klicken Sie auf Weiter.
- Legen Sie fest, ob Sie den gesamten Traffic spiegeln oder den Traffic filtern möchten:
- Wenn Sie den gesamten Traffic spiegeln möchten, muss Gesamten Traffic spiegeln ausgewählt sein.
- Wenn Sie den Traffic nach Protokoll, IP-Adressbereich oder
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.
- Klicken Sie auf Senden. Der Endpunkt wird erstellt.
Jetzt können Sie prüfen, ob Bedrohungsprotokolle generiert wurden. Die folgenden Schritte sind optional:
- Klicken Sie auf den Tab IDS-Bedrohungen.
- Klicken Sie auf den Namen einer Bedrohung, um die Seite Bedrohungsdetails für diese Bedrohung aufzurufen.
- Kehren Sie zum Tab Bedrohungen zurück.
- Klicken Sie auf das -Menü, um und wählen Sie Bedrohungslogs ansehen aus.
gcloud
Optionale Flags
Die Befehle in diesem Abschnitt können einige oder alle der folgenden Informationen enthalten: Optionale Flags:
--no-async
--filter=EXPRESSION
--flatten
, --sort-by
, --filter
--limit
.
--limit=LIMIT
--flatten
, --sort-by
, --filter
--limit
.
--page-size=PAGE_SIZE
--filter
und --limit
eingefügt werden.
--sort-by=[FIELD,…]
--flatten
, --sort-by
, --filter
--limit
.
--uri
--threat-exceptions
Anleitung
So erstellen Sie einen neuen IDS-Endpunkt:
Führen Sie den Befehl
gcloud ids endpoints create
aus. Ersetzen SieENDPOINT_NAME
,VPC_NETWORK
,ZONE
undSEVERITY
durch Informationen, die zu Ihrer Anwendung passen.gcloud ids endpoints create ENDPOINT_NAME \ --network=VPC_NETWORK \ --zone=ZONE \ --severity=SEVERITY \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Das Flag „severity“ ist erforderlich und kann einen der folgenden Werte haben:
- INFORMATIONEN
- NIEDRIG
- MITTEL
- HOCH
- CRITICAL
Nachdem der Endpunkt erstellt wurde, hängen Sie eine Paketspiegelungsrichtlinie an. Rufen Sie zuerst die URL mit dem folgenden Befehl aus dem Feld
endpoint_forwarding_rule
ab: folgenden Befehl:gcloud ids endpoints describe ENDPOINT_NAME
Erstellen Sie die Paketspiegelungsrichtlinie mit dem folgenden Befehl:
gcloud compute packet-mirrorings create POLICY_NAME \ --region=REGION --collector-ilb=ENDPOINT_FORWARDING_RULE \ --network=VPC_NETWORK --mirrored-subnets=SUBNET
Für die Paketspiegelung gibt es mehrere optionale Flags, einschließlich der Flags, die Sie zum Filtern von Traffic nach Protokoll, IP-Adressbereich oder eingehendem und ausgehendem Traffic. 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 zu Ihrer Anwendung passen:
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. ENDPOINT_NAME
, PROJECT_ID
ersetzen
und ZONE
mit 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-Netzwerk, das mit dem IDS verbunden ist
Endpunkt. Kann entweder den Namen des VPC-Netzwerk enthalten
selbst (z. B. "src-net" ) oder die vollständige URL zum Werbenetzwerk
(z. B. "projects/{project_id}/global/networks/src-net" ).
Dieses Feld ist beim Erstellen des Endpunkts erforderlich. |
die Ausprägung | String | Der niedrigste Schweregrad für Benachrichtigungen, 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. |
endpoint_forwarding_rule | String | [Nur Ausgabe] URL der Netzwerkadresse des Endpunkts, an die Traffic gesendet wird über die Paketspiegelung gesendet werden. |
Endpunkt | String | [Nur Ausgabe] Interne IP-Adresse des Netzwerkeingangspunkts des Endpunkts. |
Verwenden Sie zum Erstellen eines Cloud IDS-Endpunkts eine HTTP-POST-Anfrage wie die folgende und ersetzen Sie die Variablen entsprechend. Die
ENDPOINT_NAME
muss zwischen 1 und 63 Zeichen lang sein. darf nur folgende Zeichen enthalten:
Kleinbuchstaben, Ziffern und Bindestriche, 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", }
Verwenden Sie zum Löschen eines Cloud IDS-Endpunkts eine HTTP DELETE
-Anfrage wie die
Ersetzen Sie die Variablen nach Bedarf durch:
DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Verwenden Sie eine HTTP GET
-Anfrage wie die folgende, um einen Cloud IDS-Endpunkt abzurufen. Ersetzen Sie dabei die Variablen nach Bedarf:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Verwenden Sie zum Auflisten aller Cloud IDS-Endpunkte in einer Zone eine HTTP GET
-Anfrage wie
die folgende Anweisung und ersetzen Sie die Variablen nach Bedarf:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints
Um alle Cloud IDS-Endpunkte in allen Zonen aufzulisten, können Sie
Ersetzen Sie ZONE
durch einen Bindestrich wie diesen:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints
Optional: Bedrohungsausnahmen konfigurieren
Sie können verrauschte oder anderweitig unnötige Bedrohungs-IDs deaktivieren, indem Sie den
Das Flag --threat-exceptions
, wenn Sie Ihre Cloud IDS erstellen oder aktualisieren
Endpunkt. Im folgenden Beispiel wird ein vorhandener Cloud IDS-Endpunkt aktualisiert
ENDPOINT_NAME, um die Bedrohungs-IDs THREAT_ID1 und
THREAT_ID2:
gcloud ids endpoints update ENDPOINT_NAME
--threat-exceptions=THREAT_ID1,THREAT_ID2