Python 2 wird von der Community nicht mehr unterstützt. Wir empfehlen die Migration von Python 2-Anwendungen zu Python 3.

DoS-Schutzdienst für Python 2 konfigurieren

Mit dem Dienst zum Schutz vor DoS-Angriffen (Denial of Service) von App Engine können Sie Ihre Anwendung davor schützen, Kontingente zu überschreiten, wenn sie DoS-Angriffen oder ähnlichen Übergriffen ausgesetzt ist. Sie können einer Sperrliste IP-Adressen oder Subnetze hinzufügen. Anfragen, die von diesen Adressen oder Subnetzen ausgehen, werden dann vor dem Aufruf Ihres Anwendungscodes gelöscht. Für diese Anfragen werden keine abgerechneten oder anderen Ressourcenzuweisungen genutzt.

Standardmäßig zeigt App Engine für Adressen, die sich auf der Sperrliste befinden, eine allgemeine Fehlerseite an. Sie können Ihre Anwendung aber auch so konfigurieren, dass stattdessen eine benutzerdefinierte Antwort ausgegeben wird.

Vorbereitung

Sie erstellen die Datei dos.yaml im Verzeichnis root Ihrer Anwendung. In dieser Datei geben Sie die IP-Adressen und Netzwerke an, die auf die Sperrliste gesetzt wurden.

Anfragen mit DoS-Sperrlisten blockieren

Sie können einer Sperrliste IP-Adressen und IP-Subnetze hinzufügen, um zu verhindern, dass diese auf Ihre Anwendung zugreifen.

Die Datei dos.yaml ist auf 100 Einträge beschränkt. Deshalb müssen Sie möglicherweise ganze Subnetze blockieren, wenn Sie mit einem DoS-Angriff konfrontiert werden. Dies ist auch ein guter Schutz, wenn Sie feststellen, dass mehrere IP-Adressen aus demselben Netzwerk Teil eines DoS-Angriffs auf Ihre Anwendung sind.

Sperrlisteneinträge für IP-Adressen erstellen

Wenn Sie den Zugriff auf Ihre Anwendung für eine oder mehrere IP-Adressen blockieren möchten, geben Sie diese IPv4- oder IPv6-Adressen in der Datei dos.yaml an. Beispiel:

blacklist:
- subnet: 192.0.2.1
  description: A single IPv4 address
- subnet: abcd::123:4567
  description: A single IPv6 address

Bei einem DDoS-Angriff (Distributed Denial of Service) müssen Sie wahrscheinlich nicht nur einzelne IP-Adressen, sondern ganze Subnetze blockieren.

Beispiele finden Sie in der Referenz zu dos.yaml.

Nachdem Sie die Datei dos.yaml erstellt haben, müssen Sie sie in die Anwendung hochladen.

Sperrlisteneinträge für IP-Subnetze erstellen

Sie können verhindern, dass ein IP-Subnetz auf Ihre Anwendung zugreift. Dazu geben Sie dieses IP-Subnetz im CIDR-Format an. Das Tool IP to CIDR unterstützt Sie beim Erstellen von Regeln in der CIDR-Notation.

blacklist:
- subnet: 1.2.3.4/24
  description: an IPv4 subnet
- subnet: abcd::123:4567/48
  description: an IPv6 subnet

Beispiele finden Sie in der Referenz zu dos.yaml.

Nachdem Sie die Datei dos.yaml erstellt haben, müssen Sie sie in die Anwendung hochladen.

Benutzerdefinierte Fehlermeldungen für Anfragen auf Sperrlisten erstellen

Standardmäßig wird für Anfragen, die vom DoS-Schutzdienst blockiert werden, eine allgemeine Fehlerseite angezeigt. Bei verteilten Denial-of-Service-Angriffen kann aber auch z. B. ein infizierter Computer eines berechtigten Nutzers beteiligt sein. Mit einer benutzerdefinierten Fehlerseite können solche Nutzer darüber informiert werden, warum ihnen der Zugriff verweigert wurde.

  1. Erstellen Sie in Ihrem Anwendungsverzeichnis eine statische Datei für die Verarbeitung von Anfragen, die vom DoS-Schutzdienst blockiert werden.

  2. Legen Sie in der Datei app.yaml einen Fehler-Handler für DoS-Antworten fest. Geben Sie dazu den Pfad zu der statischen Datei an und fügen den error_handlers-Typ von dos_api_denial hinzu:

    error_handlers:
    - error_code: dos_api_denial
      file: dos-response.html
    

Alle Einträge auf der Sperrliste löschen

So löschen Sie alle Einträge auf der Sperrliste:

  1. Bearbeiten Sie die Datei dos.yaml so, dass sie nur noch Folgendes enthält:

    blacklist:
    

    Wenn Sie dos.yaml löschen, werden die Sperrlisten jedoch nicht entfernt.

  2. Stellen Sie dos.yaml noch einmal bereit, damit die Änderungen wirksam werden.

DoS-Ablehnungsfehler in der Console ansehen

Sie können sich die Anzahl der abgelehnten Anfragen in einer Grafik anzeigen lassen.

  1. Rufen Sie in der Google Cloud Console das App Engine-Dashboard auf:

    Grafik zu Fehlerdetails in App Engine öffnen

  2. Passen Sie den Zeitrahmen der Grafik nach Bedarf an, um die gewünschten Ergebnisse zu sehen.

DoS-Sperrliste hochladen

Sie können mit dem gcloud-Tool die aktualisierte DoS-Konfigurationsdatei für Ihre Anwendung in App Engine bereitstellen. Führen Sie beispielsweise den folgenden Befehl aus, um den Dienst zum Schutz vor DoS mit dem Inhalt von dos.yaml zu aktualisieren:

 gcloud app deploy dos.yaml

Nächste Schritte