Schützen vor DDOS



  • Hallo Zusammen
    Versuche gerade meine Umgebung vor DDOS zu schützen, doch wie geht man das schlau an?
    Bitte korrigiert mich wenn ich eine falsch Aussage mache.

    1. Hardware einsetzten die genügend CPU und Arbeitsspeicher hat um mehrere Connections zu verarbeiten
    -Systemmenu / Advanced / Firewall & NAT -> Firewall Maximum States & Firewall Maximum Table Entries

    2. WAN Schnittstelle vor private und bogon Netzwerke schützen

    3. Man kann angeblich eine Firewall Regel erstellen die vor SYN flood schützen soll.
    Wenn ich das richtig verstehe, geht es um den TCP Handshake, Client schickt am Server eine "SYN" Anfrage, der Server antwortet mit "SYN-ACK" die aber beim Client/Hacker nicht ankommt oder der Client ist so manipuliert, dass er auf die "SYN-ACK" keine Antwort "ACK" gibt. Somit ist der Handshake nicht komplett durchgeführt und es existiert eine halbe Verbindung. Webserver oder Datenbank Server sollten solche halbe Verbindungen nicht mitbekommen, da diese schlecht mit diesen umgehen können.

    Jetzt gibt es bei den Firewall Rules dieses State Type - synproxy state, doch wie schützt genau diese Einstellung meinen Webserver oder Firewall? bzw. was ist der Unterschied zwischen "keep state" und "synproxy state"

    4. Was ich sehr genial finde ist das pfBlocker, wo man ganze Länder auf die schwarze Liste werfen kann.
    Ist es möglich einen Webserver für alle Länder freizuschalten und einen anderen wiederum nicht? Oder gibt es nur die Möglichkeit die Schnittstelle als solches zu konfigurieren?

    5. Was wohl der Wichtigste Punkt ist "Bandbreiten Limitierung"
    Habe aber noch keine Ahnung, wie ich das Bewerkstellige :D

    Freu mich auf eure Antworten :)

    Gruss DarkMasta


  • LAYER 8 Moderator

    Versuche gerade meine Umgebung vor DDOS zu schützen, doch wie geht man das schlau an?
    Nach meinem Dafürhalten gibt es keinen wirklich DDOS Schutz. Man kann erkennen, man kann was gegen die Anfänge vielleicht machen, aber wenn du aufs Korn genommen wirst, gehst du im Normalfall unter. Schon allein deshalb, weil dein DDOS nicht direkt dich trifft, sondern gerade auch deinen Uplink/Upstream Provider/ISP. Und bei heutigen Bandbreiten und (leider) Botnetzgrößen, sind ein paar Hundert MBit/s leider kein Problem. Deshalb ist ein richtiger DDOS nur sinnvoll in Zusammenarbeit mit dem ISP/Provider zu kontern, aber nicht mit deiner Firewall.

    zu 1) Da kannst du noch soviel CPU/RAM reinsetzen, wenn du einen DDOS mit 1GBit/s abbekommst ist es recht egal, ob du die Pakete blockst, verwirfst oder ignorierst, es wird trotzdem deine Bandbreite aufgefressen. Natürlich hilft das deiner Firewall selbst am Leben zu bleiben.

    zu 2) Bogon ist nützlich, Private auch aber weniger, das sollte allein dein Provider schon unterbunden haben.

    zu 3) SYN Flood != DDOS. Synproxy state: proxies incoming TCP connections to help protect servers from spoofed TCP SYN floods. This option includes the functionality of keep state and modulate state.
    Henning Brauer, einer der PF Architekten sagt dazu: synproxy is there because it ca save your a** WHEN YOU ARE UNDER ATTACK. it is not suitable for all-time all-case use, and can't be.

    Sprich: nutze synproxy state DANN, wenn du einen DIREKTEN Angriff via TCP Syn Floods bekommst. Nicht einfach nur aus Spaß an der Freude. Das hat mit der Art zu tun, wie PF dann die Verbindung als "proxy" bedient. Kurzfassung: Wenn PF die Verbindung annimmt, das Backend sie aber bpsw ablehnen würde, dann hast du eine vollständige TCP Session die beim Client stabil steht, die du aber nicht bedienen kannst. Doof. Siehe: https://marc.info/?l=openbsd-misc&m=134917680602994&w=1

    zu 4) Stimmt. Wenn du niemals Traffic aus diversen Ländern bekommen willst, kannst du den blocken. Einen DDOS blockt das aber wie oben gesagt nicht.

    zu 5) kannst du selbst eigentlich eh nicht bzw. nur auf Service Ebene die du anbietest. Aber Limitierung vor deiner Infrastruktur kannst du selbst ja nicht vornehmen. ;)

    Grüße



  • Hallo,

    pfBlockerNG :
    wenn du den pfBlockerNG konfigurierst, erstellt er auf der pfSense URL-Aliases, die er in den Firewall-Regeln verwendet. Du kannst ihn auch so konfigurieren, dass er nur Aliases ohne Regeln erstellt.
    Diese Aliases kannst du dann frei auch in eigene Regeln verwenden, um spezielle Ziele zu schützen.



  • Wenn du einen z. B. 50k Anschluss hast und ein 1GB/s (d)dos reinkommt (was ja heutzutage noch nicht mal viel ist) kannst du die pfsense einstellen wie du willst (wie JeGr gesagt hat) . Bei kleineren Dos-angriffen hilft vielleicht eine SPI-Firewall ein WENIG. Kabel Deutschland filtert (soweit ich weiss) "Bad-traffic". Also wenn du die Option hast, dann wäre ein Umstieg eine Überlegung. Oder du mietest dir einen vServer hinter einer dos-protection und lässt die pfsense drauf verbinden (OpenVPN) . Falls das in Frage kommt empfehle ich dir myvirtualserver.de. Hat eine Dos-protection und ist sehr günstig.

    Grüße musk :)



    1. Syn Flood: Also wenn ich das richtig verstehe baut meine pfsense die TCP Connection komplett auf und und würde sie danach weiter an meinen Server geben, was der Vorteil hat das meine internet Server nicht von halben TCP Connections belästigt werden.
      Trotzdem meine Leitung ist voll, nur die internen Server würden es überleben, korrekt?
      Wenn ja, aus welchem Grund ist das nicht immer an? Ich verstehe den Nachteil noch nicht ganz.

    2. Es blockt den Traffic, da es aber die pfsense erledigen muss ist meine Leitung trotzdem gefüllt, daher kein Schutz vor DDOS oder?

    musk: Würden sich die Kunden nicht über diesen vServer einloggen? Also öffentliche IP des vServer? Danach würden alle Anfragen per VPN an meine pfsense weitergeleitet?

    Vielen vielen Dank für die ausführlichen Antworten.
    Echt genial

    Gruss DarkMasta


  • LAYER 8 Moderator

    zu 3) Bei synproxy state würde das so ablaufen, ja. Die pfSense spielt dann vorgeschalteter Proxy und nimmt proaktiv schonmal die Verbindung an. Das ist auch der Grund warum man das im Normalfall nicht tun sollte, denn dadurch signalisiert du einem normalen Client, dass die Verbindung steht obwohl sie das noch nicht tut. Wenn jetzt dein Backend Server bspw. die Verbindung aber ablehnt, weil bspw. zu viele concurrent sessions laufen, dann hast du den Salat. Im Falle eines Angriffs mit Syn Flood hast du aber wie gesagt andere Probleme, so dass das dein kleinstes Übel ist ;) und dir statt dessen den sprichtwörtlichen Hintern retten kann.
    Das Problem liegt ganz einfach darin, dass du Dinge vorgaukelst mit dem SynProxy, die nicht gegeben sind. Einem Client klarzumachen, dass die Verbindung jetzt doch nicht steht, nachdem du sie nach dem 3 Wege Handshake bestätigt hast ist schlichtweg übel. Deshalb die Links oben, einfach mal drüberlesen. Deshalb ist das nicht default, weil es nicht sinnvoll ist, nicht dem Standard entspricht und den Client verwirren kann, der sich seinerseits dann ggf. seltsam verhält.

    1. Es blockt den Traffic, da es aber die pfsense erledigen muss ist meine Leitung trotzdem gefüllt, daher kein Schutz vor DDOS oder?
      Nein. Schau dir mal das Filterlog an, was auf dem WAN Port einer pfSense alles anschlägt, sobald du die ins Netz hängst. Ganz schöner Salat, oder? Das ist alles Traffic der schon BIS zu DIR geroutet wurde. Nennt man gerne "Leitungsgrundrauschen". Je nach ISP kann das sogar schon in Megabit/Sekunde gehen. Das können alte Verbindungen sein von demjenigen, der die IP vor dir hatte, aber hauptsächlich sind es gerade in großen ISP Netzen Scans nach IP/Ports, nicht richtig konfigurierte Server oder nackte Kisten, die einfach so im Netz hängen, Windows AD/Netbios Kram, Security Scans und/oder Botnetze & Malware, die IPs nach üblichen Einfallsvektoren absuchen.
      Selbst wenn du den Traffic bei dir nicht annimmst, die Pakete sind ja schon da. Der DHL Bote stand an deiner Tür, du hast nicht aufgemacht, und er ist wieder weg. Nur dass es nicht ein Bote sind, sondern ein paar Millionen. Ganz schöner Stau in deiner Straße ;) und das wo du doch gar nicht da bist :) Deshalb ist es völlig egal, ob du an deinem Border Gateway (respektive deiner pfSense) filterst oder nicht. Wenn dir jemand eine entsprechende Masse an Pakete auf deine IP schickt, geht dein Link unter und dein Provider mit.

    "Schutz" vor DDOS gibt es lediglich, wenn du so groß bist, dass du selbst (bspw. via BGP) routen kannst wie du willst. DANN hast du die Chance bspw. den Traffic auf deine Website über andere Kanäle und Upstream Provider zu routen und vor allem kannst du versuchen mit deinen ISPs zusammen die Quelle zu orten und zu blackholen. Aber wenn du lediglich "Endkunde" bist, hast du nicht viel Möglichkeiten außer bspw. Dienste wie bspw. cloudflare zu nutzen. Sprich deine Website hinter ein Netzwerk aus vielen großen Kisten zu packen, die den Paketsturm für dich aushalten.


Log in to reply