Null-Routing / Package-Dropping funktioniert nicht

  • Thread starter Thread starter Deleted member 11691
  • Start date Start date
D

Deleted member 11691

Guest
Hallo,

ich habe heute folgenden Versuch gestartet:

OVH-Server hat 100Mbit/s-Anbindung
Hetzner-Server hat 100Mbit/s-Anbindung

Ich habe folgende Vorkehrungen auf dem Hetzner-Server eingestellt:
route add <OVH-IP> via gw 127.0.0.1
iptables -I INPUT -s <OVH-IP> -j DROP

Nun habe ich mit dem OVH-Server folgende Attacke gestartet:
for ((i=0;i<10;i++)); do ping -f -s 65500 <Hetzner-IP> > /dev/null 2> /dev/null & done
Wodurch der Hetzner-Server tschüß gesagt hat und nach Beenden der Attacke (killall -9 ping) ca. 2 Minuten noch offline blieb.
Der OVH-Server blieb online und die Minecraft Server liefen weiterhin ruckelfrei.

Was hat es damit auf sich?

Eine andere Abwehr-Methode fällt mir da ja gerade nicht ein, außer den Anbieter zu wechseln, der eine Hardware-Firewall anbietet.

Wie bekomme ich es aber ohne Wechsel des Anbieters hin, diese komplett einfache Attacke abzuwehren?
 
Erm... noch umständlicher geht's aber nicht, oder?
Werf `route` in die Tonne und nutz `ip` - Dann kannst du auch für die Spielerei auf iptables verzichten.
 
Hast Du auch ein Beispiel dafür?

/Edit:
Hetzner: ip route add blackhole <OVH-IP>
OVH: for ((i=0;i<10;i++)); do ping -f -s 65500 <Hetzner-IP> > /dev/null 2> /dev/null & done
Hetzner:
Code:
root@server13 ~ # vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:    96.14 Mbit/s  8221 p/s          tx:       12 kbit/s     8 p/s^C


 eth0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                    88.51 MiB  |          16 KiB
--------------------------------------+------------------
          max           96.14 Mbit/s  |       24 kbit/s
      average           65.92 Mbit/s  |    11.64 kbit/s
          min              24 kbit/s  |        4 kbit/s
--------------------------------------+------------------
  packets                      62042  |              91
--------------------------------------+------------------
          max               8221 p/s  |          19 p/s
      average               5640 p/s  |           8 p/s
          min                 19 p/s  |           1 p/s
--------------------------------------+------------------
  time                    11 seconds

Bringt sich anscheinend nicht sehr sehr viel :-(
 
Last edited by a moderator:
Herzlichen Glückwunsch, Du hast damit nun auch für Dich bewiesen, dass eine "Firewall" auf dem zu schützenden System absolut keinen Sinn macht, da der Kernel die ankommenden Pakete nach wie vor verarbeiten muss und dieser Vorgang durch einen Paketfilter so gar noch ressourcenfressender wird.

BTW: Nullrouting funktioniert nur mit spezialisierter Hardware vor dem zu schützenden Netzwerk zuverlässig.
 
Last edited by a moderator:
Das heißt, bei einer Website die auf meinem Webserver gehostet wird, welche sehr viel Konkurrenz hat, muss ich mit dem Veröffentlichen der IP-Adresse des Webservers aufpassen und ein paar kleine Server, die als Proxy dienen davor schalten? Das wäre ja doch die beste und gleichzeitig kostengünstigste Möglichkeit, oder?
 
Wenn du Syncookies aktiviert, ändert sich dann etwas? Funktioniert nur OVH -> Hetzner oder auch Hetzner -> OVH?
 
Hetzner -> OVH funktioniert nicht, da die Hetzner-Server ausgehend irgendwie nicht so eine Anbindung haben. Der OVH-Server rickelt dann sehr leicht aber der Hetzner-Server ist dann unerreichbar.
 
Einen Kernel verwenden, der die Datenpakete schneller verarbeitet, zum Beispiel FreeBSD, OpenBSD oder andere "echte" Unicies und diesen noch zusätzlich tunen. Letztendlich zögert das aber nur den Punkt der Überlastung ein paar Sekunden hinaus.

Wirkungsvoll ist nur eine deutlich fettere Anbindung und eine schnelle TCP-Offloading-Engine, Beides natürlich auf der dedizierten Firewall vor dem eigentlichen System.
 
Kleiner Hinweis: OVH setzt einige sehr gute Traffic-Pattern Analysewerkzeuge zum Erkennen und Blockieren von internen und ausgehenden Angriffen ein.

Eine Blockierung des Servers hat in aller Regel eine zwangsweise Reinstallation als Folge, die Daten kannst du vorher ausschliesslich per FTP-readonly runterkopieren.

Ich wuerde also nicht unbedingt mit einer Produktivmachine solche Spielereien betreiben - mich hatte eine solche Spielerei mit Testangriffen auf eigene Hardware ein paar Stunden Downtime gekostet bis der Firmenchef von OVH seinem Support-Team Erlaubnis zum Entsperren gab.

[Edit]
Ich kann aber dein Problem auf einer aktiven EX4 nicht nachvollziehen:
Code:
root@web2 /root/limit # vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:    96.05 Mbit/s  8657 p/s          tx:    11.74 Mbit/s  1054 p/s^C


 eth0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                   140.70 MiB  |       15.68 MiB
--------------------------------------+------------------
          max           96.09 Mbit/s  |    14.74 Mbit/s
      average           96.05 Mbit/s  |    10.70 Mbit/s
          min           96.02 Mbit/s  |     6.91 Mbit/s
--------------------------------------+------------------
  packets                     103471  |           11998
--------------------------------------+------------------
          max               8784 p/s  |        1369 p/s
      average               8622 p/s  |         999 p/s
          min               8407 p/s  |         631 p/s
--------------------------------------+------------------
  time                    12 seconds
Meine Werte an incoming-Pakete liegen etwas höher als deine und wie du am outgoing-Traffic siehst ist die Machine unter aktiver Benutzung. Die Webseiten und Serverdienste laden normal, eine Einschraenkung kann ich nicht feststellen.
Der Traffic kam aus FFM. Meine Iptables Filterregeln sind:
Code:
iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp -m icmp -m limit --limit 1/second -j ACCEPT
 
Last edited by a moderator:
root@gw2:~# for ((i=0;i<10;i++)); do ping -f -s 65500 gw1 > /dev/null 2> /dev/null & done
Code:
[1] 334775
[2] 334776
[3] 334777
[4] 334778
[5] 334779
[6] 334780
[7] 334781
[8] 334782
[9] 334783
[10] 334784
root@gw1 /proc/sys/net/ipv4 # iptables -L -n
Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 17 
DROP       icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 13 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 limit: avg 1/sec burst 5 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
root@server13 /proc/sys/net/ipv4 # vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:    96.13 Mbit/s  8236 p/s          tx:    21.75 Mbit/s  1887 p/s

Kurz danach war der o.g. Server nicht mehr erreichbar bis...
root@gw2:~# killall ping
Code:
[1]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[2]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[3]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[4]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[5]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[6]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[7]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[8]   Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[9]-  Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null
[10]+  Terminated              ping -f -s 65500 gw1 > /dev/null 2> /dev/null

Ich weiß echt nicht mehr weiter :( Kann das vielleicht daran liegen, dass ich bei OVH (IsGenug 24G) bis zu 1Gbit/s schieben kann und diese die Leitung von Hetzner vollstopft? Ich meine, den DoS kann man doch noch stoppen, oder nicht? Kommt ja nur von einer einzigen IP und wenn das o.g. Blockieren nichts hilft, dann können genauso softwareseitige Scripte das nicht ab.

 
Last edited by a moderator:
Moeglich, allerdings sollte congestion nicht solange dauern...
Auch moeglich waere dass Hetzner den Angriff erkennt und allen Traffic zur IP automatisch kurzzeitig nullrouted um ihre Infrastruktur zu schuetzen.
 
[...]
Auch moeglich waere dass Hetzner den Angriff erkennt und allen Traffic zur IP automatisch kurzzeitig nullrouted um ihre Infrastruktur zu schuetzen.
Nope, die nehmen den Server, der geflutet wird vom Netz.
 
Ne, nur nullrouted an den Router. Die Maschine bleibt weiter online. Genau das gleiche wenn sie wegen Abuse gesperrt wird.

Eigentlich solltest du dann aber eine Email erhalten von wegen dass ein Angriff erkannt wurde =)
 
Was denn wenn Bandbreite reinkommend > Bandbreite moeglich? =)
Nennt sich traffic congestion und fuehrt zu "Staus" und somit Drops an den Router =)
Ob und mit welcher Latenzzeit normale Besucher Verbindungen oeffnen koennen haengt u.a. von deren Karma ab :p
 
Back
Top