[SYIXX] DDos Protect

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [SYIXX] DDos Protect

      [COLOR="#00ffff"]Hallo

      Einen guten Artikel dazu findest du hier: Denial-of-service attack - Wikipedia, the free encyclopedia
      ------
      Da viele Pserver bzw. Hompge´s keine ahnung haben sich gegen DDos zu schützen habe ich mal vor langer zeit ein kleines tut geschrieben... Viel Spaß
      ------
      Sich vor DDoS zu schützen ist fast immer ein Problem.
      Zuerst solltest du bei deiner Firewall "fallback" anwenden, um dich nicht selbst bei einer fehlerhaften Konfiguration zu sperren:
      Code:
      ./firewall start&&sleep 60&&./firewall stop

      Bei diesem Befehl wird die Firewall eine Minute (60 Sekunden) gestartet und man kann das Ganze testen.

      Falls bereits eine ip-tables-Konfiguration besteht, dann verwende folgenden Befehl:
      Code:
      iptables-save > /tmp/savediptables

      und danach
      Code:
      at now + 5min
      iptables-restore < /tmp/savediptables


      <Strg>+<D>
      Die Konfiguration von IP-Tables wird gesichert und nach 5 Minuten wieder hergestellt.

      Die wichtigste Abwehr bei SYN-Flood ist unter Linux folgender Befehl:
      Code:
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

      Wenn du nur von ein paar Rechnern angegriffen wirst, dann kannst du diese einfach mit ip-tables blocken:
      Code:
      iptables -I INPUT -s dieIP -j ****

      Falls der Angreifer auf die Idee kommt und wählt sich neu ins Internet ein, dann sperre einfach einen Gesamten IP-Bereich:
      Code:
      iptables -I INPUT -s dieIP/24 -j ****

      Eine weitere Möglichkeit wäre ".htaccess":
      Dazu erstellst du dir eine Datei namens ".htaccess" (der Punkt davor ist wichtig
      !) (ins Hauptverzeichnis) mit folgendem Inhalt:
      Code:
      AuthType Basic
      AuthName "Benutzername = ddos | Passwort = ddos"
      AuthUserFile /deinpfad/.htpasswd
      require valid-user
      ErrorDocument 401 "<center><h3>DDoS-Attacken</h3></center><br>Wir stehen zur Zeit unter DDoS. Der Login blockt die Abfragen etwas ab. <br><br><B>Bitte geben Sie als Benutzernamen ddos ein und als Passwort ebenfalls ddos.</B> <br><br>Vielen Dank für Ihr Verständnis!"

      Danach musst du noch eine Datei namens ".htpasswd" erstellen. Zum Beispiel mit dem Inhalt:
      Code:
      ddos:$1$AqACcmQm$M0JjIBBDlVtTtrYWsKE4G.

      Nun wäre der Benutzername "ddos" und das Passwort ebenfalls "ddos". Einen Passwort-Generator findest du hier: Kreiter Wassenberg: .htaccess Passwort Generator

      Von dieser Methode rate ich allerdings ab, da es die Benutzer nervt und lange nicht so viel wie iptables bringt.

      Die wohl beste Möglichkeit wäre eine Hardware-Firewall. Dies ist aber zugleich auch die teuerste Lösung.

      Im Internet gibt es aber auch Anti-DDos Scripte. Diese sollen die Angriffe angeblich abwehren. Ich weiß aber nicht, ob das wirklich etwas bringt.

      Aber eins solltest du dir merken:
      Wenn jemand eine 100K Armee Bots auf dich loslässt dann hilft das auch nicht mehr, und erst Recht nicht wenn 50k SYN Flood und 50K ICMP und noch TCP UDP, wenn man das alles mischt dann ist sense mit allem.

      Und natürlich auf jeden Fall sofort deinen Hoster melden und Anzeige erstatten.

      Hier noch etwas zum lesen: Apache: DoS-Attacken abfangen @ huschi.net

      ----

      Hab da noch etwas gefunden:
      Hier auch noch ein paar Abwehrmaßnahmen (manche habe ich schon erwähnt, aber es sind auch neue dabei):
      Zitat:
      WICHTIGSTE ABWEHR:

      1. Verwende Syn-Cookies und du hast garkeine Probleme mehr mit SYN-Attacken:
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

      2. iptables, dort auffaellige Bereiche sperren, z.B. mit CIDR Notation (ggf. apt-get install netmask .. mit netmask ipstart:ipend ... gutes Umrechnungstool)
      iptables -I INPUT -s 88.224.0.0/16 -j **** # block 88.224.0.0 to 88.255.255.255 TTNet (TTnet Autonomous System)

      3. ddos deflate v0.6 installieren von deflate.medialayer.com/old/∞ - zaehlt wie oft eine ip gleichzeitig verbindungen aufbaut mittels netstat und wenn uebr schwellwert werden diese geblockt. am besten als cron job jede minute aufrufen.
      /usr/local/ddos ... ddos.conf ... wenn kein apf installiert apf=0 ... connection limit z.b. 35 oder 50



      DDOS Deflate v0.6 - v1.0 in Planung:

      deflate.medialayer.com/old/∞ - Projektseite auf blog.medialayer.com/projects-ddos-deflate/∞

      Script installiert sich in /usr/local/ddos/ und zaehlt Anzahl Verbindungen je IP, wenn ueber Schwellwert werden diese per
      APF oder iptables fuer bestimmte Zeit (alles in ddos.conf einstellen) gebannt

      Config: ddos.conf bei NO_OF_CONNECTIONS=150 ruhig runter gehen auf 35, apf auf 0, falls nicht vorhanden
      CRON: cronjob ggf. manuell einrichten */1 * * * * root pfad parameter ...

      IPTABLES
      de.wikibooks.org/wiki/Linux-Kompe...P-Tables∞
      de.wikipedia.org/wiki/Netfilter/iptables∞


      #Limit bietet Schutz vor "Syn-Flood-Attacken
      iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT


      Pakete bestimmter hosts/ranges wegschmeissen:

      iptables -I INPUT -s 88.224.0.0/16 -j **** # block 88.224.0.0 to 88.255.255.255 TTNet (TTnet Autonomous System)

      iptables -I INPUT -s 85.0.0.0/8 -j ****
      iptables -I INPUT -s 88.0.0.0/8 -j ****


      mit hilfe von iptables könnt ihr ein paar sachen festlegen, wie z.b die max connections pro IP beschränken auf z.b. 10
      und ihr könnt mit hilfe von iptables packet verwerfen welche sich nicht an den korrekten Aufbau einer TCP Verbindung halten ..

      z.b.
      # alle TCP-Sessions müssen mit einem SYN beginnen, sonst werden sie verworfen
      $iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "Stealth Scan"
      $iptables -A INPUT -p tcp ! --syn -m state --state NEW -j ****

      # ungewöhnliche Flags verwerfen
      $iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j ****
      $iptables -A INPUT -p tcp --tcp-flags ALL ALL -j ****
      $iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j ****
      $iptables -A INPUT -p tcp --tcp-flags ALL NONE -j ****
      $iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j ****
      $iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j ****

      # SYN-Flood-Schutz
      $iptables -N syn-flood
      $iptables -A INPUT -p tcp --syn -j syn-flood
      $iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
      $iptables -A syn-flood -j ****

      # Setzt die MMS (Maximum Segment Size) auf weniger 40Bytes für SYN,RST SYN Packete
      $iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

      # max. 10 neue Verbindungen in 5 Sekunden pro Quelladresse erlauben, nimmt man meist für SSH
      $iptables -N tcp_packets
      $iptables -A tcp_packets -p TCP -i $wan_iface --dport 22 -m state --state NEW -m recent --set
      $iptables -A tcp_packets -p TCP -i $wan_iface --dport 22 -m state --state NEW -m recent --update --seconds 5 --hitcount 10 -j ****
      $iptables -A tcp_packets -p TCP -i $wan_iface --dport 22 -j ACCEPT

      oder

      # limitiert die Anzahl von HTTP-Verbindungen einer IP-Adresse auf vier Verbindungen
      iptables -A INPUT -p tcp --dport 80 -m iplimit --iplimit-above 4 -j REJECT

      Es gibt noch weiter Möglichkeiten, musst ihr einfach mal suchen ..
      --michael bonge--


      SYN Cookies
      syn wiki




      Gröe der Backlog-Queue anpassen, je nach Hardware. Standard 1024 offene SYN_RECV's, z.B. auf 256:
      echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog

      Syn Packets Straffung:
      echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
      echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time




      PDFs zu SYN Flood DDOS bei computec.ch: Downloads / Denial of Service (Dokumente) durcharbeiten


      IP-Netze nach Ländern, fertig für die .htaccess habe ich unter tools.sistrix.com/co/

      Schutz gegen Schutzgelderpressung mit DDoS-Attacken
      Green Gate Labs Homepage
      SYN flood -- hping network security tool
      Syn Flood Attacken
      CBACK Software &bull; Willkommen






      Achja, das ist auch eine gute Resource als Basis für IPTables Firewalls:
      rfxnetworks.com/apf.php∞

      rfxnetworks.com/apf/README∞


      LinuxSecurity.com
      Dämme gegen die SYN-Flut | heise Security




      in der apache2.conf
      <Files index.pl>
      SetHandler perl-script
      PerlHandler Apache:Zunge raus Rout
      Order Deny,Allow
      Deny from 85.
      Deny from 88.
      </Files>

      <Location /> <-- nicht garantiert, bessere loesung gesucht, evtl <Files *> Container besser
      Order Deny,Allow
      Deny from 85.
      Deny from 88.
      </Location>



      KeepAlive OFF setzen:
      Bei mir /etc/apache2/apache2.conf folgendes suchen:
      # KeepAlive: Whether or not to allow persistent connections (more than
      # one request per connection). Set to "Off" to deactivate.
      KeepAlive On

      Ändern auf

      KeepAlive Off

      Auf die Weise bricht der Apache offene Anfragen einfach ab.... und die Last füllt wieder


      .htaccess im Hauptverzeichnis - gilt fuer alle Unterverzeichnisse
      Order Deny,Allow
      deny from 192.168



      APF

      APF ist eine Abstraktionslayer zum einfachen konfigurieren von Netfilter via IPTables.
      APF enthält schlicht bekannte Schalterchen und Drehknöpfe um verschiedenen Angriffsmustern den Hahn etwas abzudrehen.
      Es höngt halt viel von dem auf RH verwendeten Linux ab, ob synflood protection schon an ist (Debian std.) usw.
      APF (rfxnetworks.com/apf.php∞) legt halt viele Hebel schon mal richtig



      OK, ihr könntet folgende 2 Programme noch zusätzlich installieren:
      ossec.net/∞
      und
      sourceforge.net/projects/sentrytools/∞

      Beides zusammen schafft auch noch mal einiges ins reine.



      Und wenn nix mehr hilft dann:
      Sperren einer einzelnen "bösen" IP-Adresse bzw. eines Netzblocks
      per iptables-Filter lässt sich leicht eine einzelne IP-Adresse blocken

      iptables -I INPUT -s böse_IP -j ****

      Es kann auch ein ganzer IP-Adressbereich geblockt werden, z.B.

      iptables -I INPUT -s 213.133.99.0/24 -j ****

      Das Blockieren macht bei dynamischen Einwahl-IP's des Angreifers/Störers natürlich wenig Sinn.



      Schalte doch einfach vor deinen Server (oder machst es auf Softwarebasis) einen Router die diese Pakete ausfiltert.
      Ein Text dazu: Dämme gegen die SYN-Flut | heise Security



      Ich weiß ja nicht, wo ihr eure Seiten hostet, aber wenn ihr einen Rootserver habt, könnt ihr Einstellungen vornehmen, wenn nicht mußt euer Provider irgendwas machen.
      Eine kurze Recherche im ergab diese Seite:
      cr.yp.to/syncookies.html∞ (link von der wikipedia).
      Interssant ist eigendlich dies hier:
      SYN cookies are now a standard part of Linux and FreeBSD. They are, unfortunately, not enabled by default under Linux. To enable them, add
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

      to your boot scripts.
      Ich hoffe, ihr könnt die Attacken abwehren.
      [/COLOR]
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Bringen tut beides nichts. Entweder der, der den SynFlood ausführt wechselt den Port oder er lässt es weiter laufen und der Server knickt trotzdem irgendwann ein (vorrausgesetzt seine Bots sind stark genug).
      Das zweite bringt eigentlich genauso wenig denn Verbindungen gehen trotzdem ein nur bekommen halt einen Deny, von daher sind sie zwar kleiner aber kommen trotzdem zustande was der Sinn eines Syn-Floods/DDoS ist.