veröffentlicht am:
Lesedauer:
Lesedauer: 6 min

Webserver durch große Proxies schützen

Autoren
  • avatar
    Thomas Schefter

Es war mein Security-Aha-Erlebnis, als ich vor vielen Jahren einen neuen Webserver online schaltete und binnen Sekunden feststellen musste, dass er bereits Ziel von Portscans und Hacking-Versuchen war. Das geschah, obwohl seine IP-Adresse nirgendwo öffentlich gemacht wurde.
Die naive Vorstellung, unbeachtet zu bleiben, wenn die IP nirgends eingetragen ist, wurde schnell von der Realität abgelöst: Bots durchforsten unablässig und systematisch alle öffentlichen IP-Adressbereiche auf Schwachstellen.

Eine effektive Maßnahme zur Abschirmung eines Webservers besteht darin, ihn hinter einen großen Reverse-Proxy wie Akamai, Cloudflare oder Fastly zu verbergen und nur HTTPS-Traffic an die Ports 80 und 443 durchzulassen. Trotzdem hat der Server dann immer noch eine öffentliche IP-Adresse und ist damit potenziell verwundbar.
Um die Sicherheit weiter zu erhöhen, kann man den Server so konfigurieren, dass er ausschließlich Verbindungen von den IP-Adressen des Proxy-Dienstes zulässt. Da sich die IP-Adressen ändern können, bietet es sich als Alternative an, nur Zugriffe zu erlauben, die ein gültiges Zertifikat des Proxyanbieters vorweisen. (z. B.: config für nginx „ssl_verify_client on“)

Origin ist trotz CDN unter seiner öffentlichen IP zu erreichen

Eine Möglichkeit, ganz ohne öffentliche IP-Adresse auszukommen, ist z.B. Cloudflare Tunnel. In diesem Fall bekommt der Webserver keine öffentliche IP-Adresse und befindet sich in einem privaten Netzwerk. Dabei wird der Webdienst über einen Tunnel direkt mit einer eigenen Domain oder Subdomain verbunden. Beim Aufruf der Domain routet Cloudflare durch den Tunnel an die über den cloudflared-Client freigegebenen Ports des Servers. Nun muss der Angreifer immer durch die Firewall von Cloudflare, da er den Server nicht über eine öffentliche IP erreichen kann. Diese Firewall bietet umfangreiche Möglichkeiten wie managed Challenges, Bot Management, Rate Limiter oder das Sperren bestimmter Regionen, Clients oder ASN. Cloudflare Tunnel kann auch genutzt werden, um VPNs zu ersetzen, Intranets aufzubauen oder SMB Laufwerke zu verbinden. Tunnel beginnt mit einem kostenlosen Tarif, aber für einen Tunnel mit Web Application Firewall benötigt man den Pro Plan für 20$/Monat.

An Sicherheitslücken für Angriffe scheint es nicht zu mangeln, da immer wieder neue Schwachstellen entdeckt werden. So wurde zum Beispiel im April 2024 ein neuer Angriffsvektor vom Forscher Bartek Nowotarski entdeckt. (https://nowotarski.info/http2-continuation-flood-technical-details/) Beim HTTP/2 Continuation Flood reicht es aus, wenn wenige (evtl. nur ein Einziger!) Angreifer HTTP/2 CONTINUATION Frames ohne END_HEADERS Flags senden und so die Verbindung offen halten, was zu Speichermangel oder CPU-Überlastung führt. Die Lücke wurde inzwischen durch Updates in Apache, Golang oder Node.js geschlossen, aber wie viele Webserver laufen mit der aktuellsten Software?

Eine zunehmende Form des Angriffs sind Distributed Denial of Service (DDoS)-Attacken, da sie für die Angreifer vergleichsweise einfach und kostengünstig durchzuführen sind. Der Angreifer nutzt dabei ein Botnetz aus infizierten Computern und IoT-Geräten wie z.B. WiFi-Kameras bei denen das Standardpasswort nicht geändert wurde. Die Anzahl der Angriffe hat 2024 im Jahresvergleich bereits um 50 % zugenommen. (Quelle)
DDoS-Angriffe versuchen mit einer großen Menge an Traffic den Server zu überlasten. Dabei werden oft durch eine Vielzahl (zehntausende) von IP-Adressen nur wenige Verbindungen je Adresse hergestellt. Aber die Gesamtzahl ist so groß, dass traditionelle Firewalls überfordert sind, da es für sie keinen Unterschied zu „normalen“ Besuchern, also legitimen Traffic gibt.

Beispiel Skizze für einen DDos Angriff

Einer der bislang größten DDoS-Angriffe richtete sich 2017 gegen die Infrastruktur von Google und erreichte 2,54 Tbit/s. Bei den meisten Angriffen werden jedoch 10 Gbit/s nicht überschritten, aber auch diese „kleinen“ Angriffe dürften die meisten Webserver überlasten. Einer der bisher größten DDoS-Angriffe im Jahr 2024 kam hauptsächlich von infizierten IoT-Geräten und erreichte 2 Tbit/s. (Quelle)
Damit eine dynamische Webseite auf Basis gängiger CMS-Systeme wie WordPress, Drupal oder Joomla nicht mehr reagiert, genügen oft einige Dutzend Requests pro Sekunde über einen gewissen Zeitraum. Jeder zehnte DDoS-Angriff kommt mit mehr als 100.000 Anfragen pro Sekunde. Seltener erfolgen Angriffe mit über einer Million Anfragen pro Sekunde. Jährlich finden über 10 Millionen DDoS-Angriffe statt. Gründe für DDoS-Angriffe können politischer Natur, Schädigung eines Konkurrenten, böse Streiche, Rache oder Erpressung sein. DDoS-Angriffe können auch dazu dienen, Datendiebstahl oder -missbrauch zu verschleiern. Die meisten DDoS-Angriffe kommen aus den USA, China und Deutschland.

Die wichtigsten Ursprungsländer für HTTP-DDoS-Angriffe, Quelle: Cloudflare

In der Regel reagieren Hosting-Anbieter auf DDoS-Attacken, indem sie den betroffenen Server temporär vom Netz nehmen, um ihre Infrastruktur und andere Kunden zu schützen.
Während ein Ausfall von ein paar Stunden für eine Hobby-Webseite noch hinnehmbar sein mag, stellen solche Downtimes für kritische Dienste wie Behördenwebseiten, große Online-Shops, Blockchain-Netzwerke oder essenzielle Infrastrukturen und Produktionsanlagen ein Problem dar.
Um solche Angriffe effizient erkennen und abwehren zu können, ist es entscheidend, mit einem Partner zusammenzuarbeiten, der über weitreichende Kapazitäten und Ressourcen verfügt.

Hier wäre zuerst Akamai zu nennen. Akamai ist der Pionier der Content Delivery Netzwerke und hat seit 1999 über 300.000 Server in 1500 Netzwerken (ISPs) installiert. Aufgrund seiner enormen Reichweite begann Akamai frühzeitig, fortschrittliche Netzwerksicherheitsprodukte zu entwickeln und anzubieten. Akamai ist der meist distribuierte Cloudprovider der Welt. Autohersteller laden Ihre Softwareupdates zuverlässig weltweit via Akamai. Praktisch alle großen Banken und Streaming-Dienste und 9 der 10 größten Einzelhandelsunternehmen nutzen Akamai. (Quelle: https://www.akamai.com/company/facts-figures) Der Einstieg in Akamai geht immer direkt über ein Experten Netzwerk und richtet sich an mittlere bis große Unternehmen.

Cloudflare ist ein schnell wachsender und ernstzunehmender Gegenspieler von Akamai. Die Kapazität des Cloudflare-Netzwerks beträgt 248 Tbps und bietet DDoS-Schutz ohne Volumenbegrenzung. Während man als Einzeluser bei Cloudflare bereits für 20 bis 200 Dollar pro Monat ein umfangreiches Toolset erhält, gibt es für Großunternehmen Enterprise-Lösungen ab ca. 4000 Dollar im Monat. Es gibt noch viele weitere Content Delivery Provider wie Fastly, Amazon CloudFront, CDN77 etc. Einige davon sind spezialisiert und fokussiert auf Großkunden.

Große Proxies bieten also allein schon durch ihre schiere Größe Schutz. Zusätzlich ist es für sie einfacher, Angriffe (eventuell schon in der Vorbereitungsphase) zu erkennen, zentrale Geo- und Reputationslisten zu führen etc. Sie verfügen über ein dynamisches Web-Applikationsregelwerk, das sich automatisch (autotuning) anpassen kann. Das kann so weit gehen, dass ein erkannter Angreifer hingehalten wird, damit er selbst Ressourcen verbraucht, den Origin aber gar nicht erreicht (Tarpit, siehe https://en.m.wikipedia.org/wiki/Tarpit_(networking)).

Bot-Detection-Mechanismen versuchen herauszufinden, ob eine Anfrage automatisiert von einem Bot ausgeführt wurde. Es ist wie der Wettlauf zwischen Hase und Igel. Moderne Bots können nicht nur ständig ihre IP-Adressen wechseln, sondern sie unterstützen auch Cookies, JavaScript und Browser-Fingerprint-Spoofing.

Cloudflare Bot Bericht