Anwendungssicherheit

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Das Einbinden von REGION_ID.r in App Engine-URLs ist für vorhandene Anwendungen optional und wird bald für alle neuen Anwendungen erforderlich sein.

Für einen reibungslosen Übergang wird App Engine nach und nach für die Verwendung von Regions-IDs aktualisiert. Wenn Ihr Google Cloud-Projekt noch nicht aktualisiert wurde, wird für Ihre Anwendung keine Regions-ID angezeigt. Da die ID für vorhandene Anwendungen optional ist, müssen Sie keine URLs aktualisieren oder andere Änderungen vornehmen, wenn die Regions-ID für Ihre vorhandenen Anwendungen verfügbar wird.

Hier finden Sie weitere Informationen zu Regions-IDs.

Sicherheit ist ein zentrales Element von Google Cloud. Dennoch sollten Sie Schritte unternehmen, um Ihre App Engine-Anwendung zu schützen und Sicherheitslücken zu identifizieren.

Mit den hier aufgeführten Funktionen können Sie dafür sorgen, dass Ihre App Engine-App sicher ist. Weitere Informationen zum Sicherheitsmodell von Google und den möglichen Schritten zur Absicherung Ihrer Cloud-Projekte finden Sie unter Sicherheit in der Google Cloud Platform.

HTTPS-Anfragen

Mit HTTPS-Anfragen können Sie sicher auf Ihre App Engine-Anwendung zugreifen. Je nachdem, wie Ihre Anwendung konfiguriert ist, haben Sie die folgenden Möglichkeiten:

appspot.com-Domains
  • Wie im folgenden Beispiel verwenden Sie einfach das URL-Präfix https, um eine HTTPS-Anfrage an den Dienst default Ihres Cloud-Projekts zu senden:
    https://PROJECT_ID.REGION_ID.r.appspot.com
  • Wenn Sie bestimmte Ressourcen in Ihrer App Engine-Anwendung als Ziel angeben möchten, trennen Sie diese mit der Syntax -dot-. Beispiel:
    https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

  • Tipp: Zum Ändern einer HTTP-URL in HTTPS ersetzen Sie einfach die Punkte zwischen den einzelnen Ressourcen durch -dot-. Beispiel:
    http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
    https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Weitere Informationen zu HTTPS-URLs und Ressourcenzielen finden Sie unter Anfragerouting.

Benutzerdefinierte Domains

Sie können die verwalteten SSL-Zertifikate von App Engine verwenden, um HTTPS-Anfragen mit Ihrer benutzerdefinierten Domain zu senden. Weitere Informationen finden Sie unter Benutzerdefinierte Domains mit SSL sichern.

Zugriffssteuerung

Richten Sie in jedem Cloud-Projekt die Zugriffssteuerung ein. Damit können Sie festlegen, wer auf die Dienste innerhalb des Projekts zugreifen kann, einschließlich App Engine. Sie können unterschiedlichen Konten unterschiedliche Rollen zuweisen, damit jedes Konto nur die zur Anwendungsunterstützung erforderlichen Berechtigungen hat. Details finden Sie unter Zugriffssteuerung einrichten.

App Engine-Firewall

Mit der App Engine-Firewall können Sie den Zugriff auf Ihre App Engine-App über eine Reihe von Regeln steuern, die Anfragen von den angegebenen IP-Adressbereichen zulassen oder ablehnen. Sie müssen keine Gebühren für von der Firewall blockierten Traffic bzw. blockierte Bandbreite zahlen. Eine Firewall kann für folgende Szenarien erstellt werden:

Traffic nur innerhalb eines bestimmten Netzwerks zulassen
Damit wird sichergestellt, dass nur ein konkreter Bereich von IP-Adressen bestimmter Netzwerke auf die Anwendung zugreifen kann. Beispielsweise können Sie Regeln erstellen, die festlegen, dass während der Testphase der Anwendung nur der angegebene Bereich von IP-Adressen aus dem privaten Netzwerk Ihres Unternehmens zulässig ist. Sie können dann Firewallregeln erstellen und bearbeiten, um den Umfang des Zugriffs während des gesamten Veröffentlichungsprozesses zu steuern. Dann haben nur bestimmte Organisationen innerhalb oder außerhalb Ihres Unternehmens die Möglichkeit, auf die Anwendung zuzugreifen, bis diese öffentlich verfügbar ist.
Traffic nur von einem bestimmten Dienst zulassen
Damit wird sichergestellt, dass der gesamte Traffic zur App Engine-Anwendung zuerst über einen bestimmten Dienst geleitet wird. Wenn Sie beispielsweise als Proxy für Anfragen, die direkt an die Anwendung gerichtet werden, die Web Application Firewall (WAF) eines Drittanbieters verwenden, können Sie mit Firewallregeln alle Anfragen mit Ausnahme derjenigen ablehnen, die von Ihrer WAF weitergeleitet werden.
Missbräuchliche IP-Adressen blockieren
Google Cloud setzt viele Mechanismen zur Abwehr von Angriffen ein. Zusätzlich können Sie die Anwendung mit der App Engine-Firewall schützen. Blockieren Sie dazu den Traffic von IP-Adressen mit böswilligen Absichten oder unterbinden Sie Denial-of-Service-Angriffe und ähnliche Formen missbräuchlicher Nutzung. Sie können einer Sperrliste IP-Adressen oder Subnetzwerke hinzufügen, damit Anfragen, die von diesen Adressen und Subnetzwerken stammen, abgelehnt werden, bevor sie die App Engine-Anwendung erreichen.

Wie Sie Regeln erstellen und die Firewall konfigurieren, erfahren Sie unter Zugriff auf Anwendungen mit Firewalls steuern.

Steuerelemente für eingehenden Traffic

Standardmäßig erhält Ihre App Engine-Anwendung alle HTTP-Anfragen, die an ihre appspot-URL oder an eine benutzerdefinierte Domain, die Sie für Ihre App konfiguriert haben, gesendet werden.

Sie können mit Steuerelementen für eingehenden Netzwerktraffic den Traffic so einschränken, dass Ihre Anwendung nur HTTP-Anfragen empfängt, die von bestimmten Quellen gesendet werden:

  • Alle: (Standard) Ihre Anwendung empfängt den gesamten Traffic, einschließlich direkter Anfragen aus dem Internet.

  • Nur intern: Ihre Anwendung empfängt nur Anfragen, die von VPC-Netzwerken im selben Projekt gesendet werden.

  • Intern und Cloud Load Balancing: Ihre Anwendung empfängt nur Anfragen, die über Cloud Load Balancing weitergeleitet oder von VPC-Netzwerken im selben Projekt gesendet werden.

Verwenden Sie den Befehl gcloud app services update, um Steuerelemente für eingehenden Traffic einzurichten.

Beispiel:

  • Aktualisieren Sie den Standarddienst einer App Engine-Anwendung, damit diese nur Traffic von Cloud Load Balancing und VPC-Netzwerken akzeptiert, die sich im selben Projekt befinden:

    gcloud app services update default --ingress internal-and-cloud-load-balancing
  • Aktualisieren Sie einen Dienst namens „internal-requests“, um Traffic nur von VPC-Netzwerken im selben Projekt zu akzeptieren:

    gcloud app services update internal-requests --ingress internal-only
  • Sehen Sie sich die Einstellungen für eingehenden Traffic und andere Informationen für den Standarddienst an:

    gcloud app services describe default

Sicherheitsscanner

Der Google Cloud Security Scanner durchsucht Ihre App Engine-App auf Sicherheitslücken, indem er allen Links im Bereich der Start-URLs folgt und versucht, so viele Nutzereingaben und Event-Handler wie möglich anzuwenden.

Sie müssen Inhaber des Cloud-Projekts sein, um den Sicherheitsscanner verwenden zu können. Weitere Informationen über das Zuweisen von Rollen finden Sie unter Zugriffssteuerung einrichten.

Ermitteln Sie Sicherheitslücken in Ihrer App Engine-Anwendung mit den Sicherheitsscans über die Google Cloud Console. Weitere Informationen zum Ausführen vom Security Scanner finden Sie unter Security Scanner – Kurzanleitung.