DDoS Abwehr Teil 2

Manuel Badzong    02.03.2016

DDoS Abwehr Teil 2

Im ersten Teil haben wir uns damit befasst, wie DDoS Angriffe funktionieren und wie dadurch Server lahmgelegt werden. Im zweiten Teil geht es nun darum, wie man Server gegen DDoS rüstet, so dass sie kleinen und mittleren DDoS Angriffen standhalten können. Klein und Mittel bezieht sich dabei auf die Netzwerklast die durch den Angriff verursacht wird.

Die meisten Server eines Unternehmens, z.B. Active Directory, Terminal-, File- oder Datenbankserver, sind normalerweise nicht direkt mit dem Internet verbunden und werden daher auch nicht Ziele von DDoS Angriffen. Webserver hingegen, sind vom Internet her erreichbar und werden deshalb auch sehr häufig Ziel von Angriffen, insbesondere DDoS. Aus diesem Grund dreht sich dieser Blogpost hauptsächlich darum, wie Webserver gesichert werden. Konzeptionell können die beschriebenen Massnahmen aber auch auf andere Serverdienste angewendet werden.

DDoS Angriffe stoppen

Normalerweise gibt es keine Möglichkeit, um einen laufenden DDoS Angriff zu stoppen. Man kann die Auswirkungen des DDoS Angriffs nur so weit vermindern, dass der Server oder die Webseite für normale Benutzer unterbruchsfrei verfügbar bleibt. Dies führt dann in den meisten Fällen auch zu einem schnellen Ende des DDoS Angriffs, da die Angreifer kein Interesse haben ihre Ressourcen für einen erfolglosen DDoS Angriff zu verschwenden.

DDoS Last verteilen

Um einem DDoS Angriff standhalten zu können, muss die Geschwindigkeit des Netzwerkanschlusses grösser sein als die Netzwerklast, welche durch die DDoS Attacke verursacht wird. Dies erreicht man durch gezieltes Load Balancing und Content Distribution Netzwerke. Zudem müssen die Server in der Lage sein, alle Anfragen zu beantworten, ohne dass ihre eigenen Ressourcen überschritten werden.

Anti DDoS Massnahmen

  • Netzwerkbandbreite erhöhen
  • Netzlast verteilen (Load Balancing und CDN)
  • Serverlast reduzieren und gezielt Ressourcen erhöhen

Netzwerklast verteilen

Grosse DDoS Angriffe zielen immer darauf ab den Netzwerkanschluss des Servers zu überlasten, so dass keine Kommunikation mehr möglich ist. Solche Angriffe lassen sich nur abwehren, in dem man die Netzlast auf mehrere Server verteilt, so dass die Kapazität der Anschlüsse die Angriffslast übersteigt.

DNS Load Balancing kann relativ einfach auf jedem DNS Server eingerichtet werden. DNS Load Balancing mit BIND9.

SYN Cookies

Manche Betriebssysteme sind zudem anfällig auf SYN Flooding. Bei diesem Angriff werden viele gefälschte Verbindungsanfragen an den Server gesendet, so dass für normale Anfragen keine Verbindungen mehr zur Verfügung stehen. Ein solcher Angriff lässt sich einfach per SYN Cookies abwehren. SYN Cookies auf Debian aktivieren.

Server Überlastung verhindern

Kleine und mittlere DDoS Angriffe zielen oft darauf ab, einen Server zu überlasten, so dass er nicht mehr verfügbar ist. Dies ist für den Angreifer oft die einfachste Methode, um die Erreichbarkeit eines Servers zu beeinflussen. Deshalb sollte man als erstes dafür sorgen, dass die Ressourcen der Server nicht so einfach aufgebraucht werden können. Insbesondere Webapplikationen sind häufig anfällig auf solche Angriffe.

Beispiel

Eine einfache Webapplikation, z.B. ein Content Management System, stellt den Webseitenbesuchern ein Suchfeld zur Verfügung. Gibt ein Benutzer einen Suchbegriff ein, wird im Hintergrund eine aufwendige Datenbank Suche durchgeführt. Da die Suche auf dem Server sehr viele Ressourcen (CPU und Memory) braucht, muss ein Angreifer lediglich in der Lage sein sehr viele Suchanfragen in kurzer Zeit auszulösen, um damit den Server zu überlasten.

Schutzmechanismen

Die folgende Liste beinhaltet Schutzmechanismen, die angewendet werden können, um solche Überlastungsangriffe abzuwehren. Erklärungen zu den einzelnen Mechanismen folgen weiter unten.

  • Request und Rate Limits
  • Memory und Page Caching
  • Load Balancing
  • Content Distribution
  • Web Application Firewalls

Request und Connection Rate Limits

Nicht alle Cyberkriminellen haben Zugriff auf ein grosses Botnet. In vielen Fällen kommen die Angriffe von einer kleinen Anzahl IP Adressen. In diesem Fall genügt es die Zugriffe pro IP Adresse zu limitieren. Auf Server und Applikationsebene spricht man von so genannten Request Limits, auf Netzwerkebene von Connection Rate Limits. Die Request Limits werden üblicherweise vom Webserver, die Connection Limits von einer Firewall durchgesetzt. Web Application Firewalls (WAF) machen häufig beides.

Firewalls und Rate Limits helfen DDoS Angriffe abzuwehren, die darauf gerichtet sind den Server zu überlasten. Bei einem DDoS Angriff, der genügend Traffic verursacht, um den Netzwerkanschluss zu überlasten nützen sie leider nichts. Dies gilt insbesondere für Amplification und Reflection Attacks.

Konfigurationsanleitungen

Memory und Webpage Caching

Die Aufbereitung einer Webseite ist in vielen Fällen sehr aufwendig. Insbesondere Suchresultate, die komplexe Datenbankabfragen benötigen verursachen häufig grosse Serverlast. Damit viele solcher Anfragen den Server nicht überlasten können, sollte man wenn immer möglich die Resultate solcher Abfragen im Memory zwischenspeichern. Man kann auch die gesamte aufbereitete Webseite im Memory zwischenspeichern. Dies hilft nicht nur Serverlast zu reduzieren, sondern auch die Webseite schneller aufzubereiten. Dies verbessert die User Experience und macht die Seite für Suchmaschinen attraktiver.

Konfigurationsanleitungen

Load Balancing

Eines der einfachsten Mittel um eine Überlastung des Servers zu verhindern ist es, die Last auf mehrere Server zu verteilen. Dies reduziert die Last auf die einzelnen Server und kann gleichzeitig die Verfügbarkeit steigern. Zudem wird die Netzwerkbandbreite vervielfacht, so dass die Barriere für einen erfolgreichen DDoS Angriff enorm angehoben wird.

Zusammen mit strengen Rate Limits ist dies eine der wichtigsten und effektiven Mittel zur erfolgreichen Abwehr von DDoS Angriffen.

Content Distribution Networks

Content Distribution Networks machen nichts anderes als Webseiten, insbesondere statische Seiten und binäre Dateien (z.B. Bilder) über ein Servernetzwerk oder Reverse Proxies zur Verfügung zu stellen. Im Grunde ist dies nichts anderes als Load Balancing. Beim regulärem Load Balancing wird aber auch das Aufbereiten der Webseite auf mehrere Server verteilt. Content Distribution Netzwerke verteilen nur statische Inhalte. Da Content Distribution Netzwerke oft aus zahlreichen Servern an verschiedenen Standorten bestehen, wird die Auslieferung der Webseite sehr stark beschleunigt.

Ein wichtiger Baustein fast aller DDoS Abwehrsysteme ist ein CDN. Auch wir betrieben ein CDN in der Schweiz zur DDoS Abwehr.

Web Application Firewalls WAF

Web Application Firewalls, kurz WAF verbinden die Funktionalität von normalen Firewalls mit gezielten Schutzfunktionen für Webapplikationen. Zur Grundfunktionalität gehören Rate Limits, sowie Mechanismen gegen SQL Injection und Cross Site Scripting XSS. Da Web Application Firewalls oft einfacher zu konfigurieren sind und für alle Webserver eingesetzt werden können, sind sie bei Netzwerkadministratoren sehr beliebt. Mittels Rate Limits können auch kleine DDoS Angriffe durch eine WAF erfolgreich abgewehrt werden.

Zusammenfassung

Um einem DDoS standhalten zu können, sollte man folgende Massnahmen in Betracht ziehen:

  • Einsatz von Web Application Firewalls
  • Request und Connection Rate Limits
  • Memory Caching
  • Load Balancing
  • Content Ditstibution Netzwerke

Recent Posts

NGINX Rate Limits für Wordpress Pingbacks

23.04.16 | Manuel Badzong

iPad Safari Scareware entfernen

20.03.16 | Manuel Badzong

DDoS Abwehr Teil 2

02.03.16 | Manuel Badzong

Wie schützt man sich vor Ransomware

19.02.16 | Manuel Badzong

DDoS Abwehr Teil 1

08.12.15 | Manuel Badzong

Passwort Sicherheit Teil 3

05.01.14 | Manuel Badzong

Passwort Sicherheit Teil 2

04.01.14 | Manuel Badzong

Passwort Sicherheit Teil 1

03.01.14 | Manuel Badzong