Eine öffentliche App benötigt DDoS-Schutz? Aktiviere DDoS Protection

Veröffentlicht am:

Der CloudTrips Load Balancer gibt der Webanwendung einen öffentlichen Endpunkt. Dieser Endpunkt kann auch Ziel eines Distributed-Denial-of-Service- Angriffs werden: Datenverkehr aus vielen Quellen versucht dabei, Netzwerk- oder Anwendungskapazität zu erschöpfen und die Website für legitime Benutzer unerreichbar zu machen.

Aktiviere Azure DDoS IP Protection für die öffentliche IP des Load Balancers. Azure erstellt kontinuierlich ein Verkehrsprofil für diese Adresse und wendet automatisch angepasste Layer-3- und Layer-4-Mitigation an, wenn ein Angriff die erlernten Schwellenwerte überschreitet.

Internetdatenverkehr
        |
Azure DDoS Detection und Mitigation
        |
Öffentliche IP des Load Balancers
        |
Private WEB01 und WEB02

Dieser Trip baut auf Eine Webanwendung benötigt Traffic-Verteilung? Erstelle einen Load Balancer auf. Behalte lb-cloudtrips-web-test-weu, pip-cloudtrips-lb-test-weu, Regel und Probe sowie beide privaten Web-VMs. Starte beide VMs, bevor du fortfährst.

DDoS IP Protection ist ein kostenpflichtiger Dienst, der pro geschützter öffentlicher IP abgerechnet wird. Aktiviere ihn nur für diese Übung und verwende anschließend den Bereinigungsschritt.

Schutzebene auswählen

Azure schützt seine Plattform standardmäßig auf Infrastrukturebene vor DDoS- Angriffen. Dieser Trip ergänzt workload-spezifische Überwachung, adaptive Schwellenwerte, Mitigation-Telemetrie und Berichte für die öffentliche CloudTrips-IP.

Verwende IP Protection, weil dieses kleine Lab eine einzelne öffentliche IP schützt. Dafür ist kein DDoS Protection Plan erforderlich. Network Protection ordnet dagegen einen Plan einem oder mehreren VNets zu und schützt unterstützte öffentliche IP-Ressourcen in diesen Netzwerken. Die Ebene enthält außerdem Zusatzfunktionen wie DDoS Rapid Response, Kostenschutz und mögliche WAF-Rabatte. Vergleiche beide Ebenen und ihre aktuellen Preise, bevor du eine davon für eine Produktionsumgebung auswählst.

DDoS Protection und Web Application Firewall lösen unterschiedliche Probleme. DDoS Protection wehrt Netzwerkangriffe auf Layer 3 und 4 ab. Eine WAF prüft HTTP- und HTTPS-Anfragen auf Layer 7 auf Angriffe wie SQL Injection. Eine öffentliche Webanwendung kann beide benötigen.

Öffentlichen Endpunkt prüfen

Rufe die Frontend-Adresse des Load Balancers ab:

LB_IP=$(az network public-ip show \
  --resource-group rg-cloudtrips-network-test-weu \
  --name pip-cloudtrips-lb-test-weu \
  --query ipAddress \
  --output tsv)

printf 'Load Balancer public IP: %s\n' "$LB_IP"
curl --connect-timeout 5 "http://${LB_IP}"

Die Anfrage sollte eine Antwort von WEB01 oder WEB02 liefern. Damit ist bestätigt, dass die Adresse zum funktionierenden öffentlichen Frontend gehört, bevor ihre Schutzkonfiguration geändert wird.

IP Protection aktivieren

Suche im Azure-Portal nach Public IP addresses und öffne pip-cloudtrips-lb-test-weu.

Wähle auf Overview zuerst Properties und dann DDoS protection. Setze unter Configure DDoS protection:

Protection type: IP

Wähle Save. Öffentliche Adresse, Load-Balancer-Frontend, Regel, Health Probe und Backend Pool ändern sich nicht. Die Einstellung schützt die vorhandene öffentliche IP, ohne die Anwendung neu bereitzustellen.

Öffentliche IP des CloudTrips Load Balancers mit konfigurierter Azure DDoS IP Protection

Schutzstatus prüfen

Kehre zu Overview > Properties > DDoS protection zurück. Bestätige:

Protection type: IP
Protection status: Protected

Du kannst die Ressourcenkonfiguration auch mit der Azure CLI prüfen:

az network public-ip show \
  --resource-group rg-cloudtrips-network-test-weu \
  --name pip-cloudtrips-lb-test-weu \
  --query '{ipAddress:ipAddress, protectionMode:ddosSettings.protectionMode}' \
  --output table

Der Schutzmodus sollte Enabled sein. Wiederhole danach die Anwendungsanfrage:

curl --connect-timeout 5 "http://${LB_IP}"

Eine normale Anfrage sollte weiterhin einen der beiden Webserver erreichen. Der Schutz ist für Datenverkehr unterhalb der automatisch angepassten Mitigation-Schwellenwerte transparent.

Status Protected für die öffentliche IP des CloudTrips Load Balancers

DDoS-Metriken untersuchen

Wähle bei der öffentlichen IP Monitoring > Metrics. Konfiguriere:

Metric namespace: Public IP Address
Metric: Under DDoS attack or not
Aggregation: Maximum
Time range: Last 30 minutes

Der Wert sollte 0 bleiben. Azure hat dann im gewählten Zeitraum keinen Angriff erkannt. Während einer aktiven Mitigation wechselt er auf 1. Weitere DDoS-Metriken zeigen eingehenden Datenverkehr, verworfene Pakete und die adaptiven Schwellenwerte für das Auslösen der Mitigation.

Versuche nicht, die Funktion durch einen Denial-of-Service-Angriff zu beweisen. Ein kleiner Traffic Generator validiert die Mitigation-Kapazität von Azure nicht. Ein unkontrollierter Test kann außerdem die Anwendung beeinträchtigen oder gegen Nutzungsbedingungen verstoßen. Prüfe die Konfiguration über Schutzstatus und Telemetrie. Koordiniere jede autorisierte Simulation über einen freigegebenen Security-Testprozess.

Azure-Monitor-Diagramm mit der Metrik Under DDoS attack or not für die geschützte öffentliche IP

Fortfahren oder bereinigen

Fahre mit Globaler Traffic benötigt regionales Balancing? Konfiguriere einen Cross-Region Load Balancer fort. Behalte die geschützte öffentliche IP, den regionalen Load Balancer, Regel, Probe, Backend-VMs, NICs, Datenträger und HTTP-NSG-Regel.

Wenn du aufhörst, öffne bei der öffentlichen IP die Konfiguration DDoS protection, setze Protection type auf Disabled und wähle Save. Bestätige, dass der Status nicht mehr Protected ist, damit die Abrechnung pro IP endet. Das Deaktivieren löscht weder die öffentliche IP noch den Load Balancer. Lösche Compute- und Netzwerkressourcen des Labs separat, wenn sie nicht mehr benötigt werden.