Abuses blockieren

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

Deleted member 11691

Guest
Hallo,

ich betreibe zurzeit ein kleines vServer-Sponsoring-Projekt, welches schon sehr gut läuft. Ein kleines Problem steht mir da allerdings im wege. Ich benutze das OpenVZ-Web-Panel und möchte jedem Benutzer nur 1 CPU zuweisen (Virtuelles System ist auf jedem Debian/Ubuntu/ähnl.) und 1GB RAM. Das Problem ist allerdings:
Ich stelle im OWP (testweise) "CPU Units" auf 10, "Number of CPUs" auf 1 und "CPU Limit, %" auf 10. Leider funktioniert das ganze nicht. Ich kann auf den vServern CPUBurn installieren und es 16 'mal ausführen, dann ist die komplette CPU des Hostsystems erstmal beschäftigt, obwohl ich ja die CPU's begrenzt habe :confused: ...
OK.... Dann kam mir die Idee, den vServer von einem Benutzer herunterzufahren, welcher durchgehend (10 Minuten lang) 100% von allen 16 CPU's des Hostsystems benutzt.

Außerdem kann/möchte ich die Bandbreite nicht begrenzen, da jeder von uns ca. 1GBits möchte (Hostsystem hat eine 1GBit-Anbindung). Dies wird auch sehr sehr oft ausgenutzt: Ich habe schon 2 Benutzer gehabt, die mit ihren vServern angefangen haben einen Ping of Death auszuführen, was mir aber rechtzeitig aufgefallen ist, da wir hier auf einem anderen vServer auf dem gleichen Host aus dem Teamspeak geflogen sind.
Ich hab mir das mit dem Ping of Death so vorgestellt, dass IPTables alle weitergeleiteten Ping-Anfragen (Forward auf ICMP-Type 8) loggt und jede Minute ein Crontab ausgeführt wird, welches die Logfile zerlegt, auswertet und ggf. die vServer herunterfährt und dann die Logfiles überschreibt bzw. bei einem heruntergefahrenen vServer die Logfile sofort in ein anderes Verzeichnis (/exthd) verschiebt.

Wäre soetwas möglich und kann mir jemand dabei helfen?
Ich habe schon folgendes für den PoD:
Code:
#!/bin/bash

log=`cat /var/log/iptables.log`
echo "" > /var/log/iptables.log
log=`echo $log | sed 's/ /\n/g' | grep "SRC="`
for ip in $log
do
echo ${ip:4}
done
Weiß aber leider nicht mehr weiter :(

Liebe Grüße,
PCFreund
 
Ich hab mir das mit dem Ping of Death so vorgestellt, dass IPTables alle weitergeleiteten Ping-Anfragen (Forward auf ICMP-Type 8) loggt und jede Minute ein Crontab ausgeführt wird, welches die Logfile zerlegt, auswertet und ggf. die vServer herunterfährt und dann die Logfiles überschreibt
Hmm, du koenntest mit mod_recent auf dem Host die Anzahl an ausgehenden ICMP-Paketen eines jeden vServers zaehlen und bei Erreichen droppen und loggen. Basierend auf der Log kannst du dann deinen Cronjob den VPS auch stoppen lassen.

Bedenk aber dass es bedeutend mehr Moeglichkeiten zum Ausnutzen gibt als "nur" Ping of death. Wie schuetzt du gegen Spam, gegen TCP-DDoS, gegen Slowloris, gegen andere Angriffsvarianten? Hast du Schutzsysteme gegen UDP-Spoofing?

Ich kann auf den vServern CPUBurn installieren und es 16 'mal ausführen, dann ist die komplette CPU des Hostsystems erstmal beschäftigt, obwohl ich ja die CPU's begrenzt habe
Wie sind die Startparameter/Konfigurationsoptionen der so eingestellten vServer und wie sehen die user_beancounters aus?

ich betreibe zurzeit ein kleines vServer-Sponsoring-Projekt, welches schon sehr gut läuft. Ein kleines Problem steht mir da allerdings im wege.
Ich behaupte mal dass du dein Projekt falsch rum angefangen hast. Nicht mit dem Sponsoring anfangen und dann die Probleme loesen wollen, sondern anders rum... Du kannst ja nicht allen Ernstes behaupten dass du nicht davon ausgehen konntest dass deine "Kunden" Unsinn mit geschenktem Missbrauchs-Potential treiben wuerden?

PS: Meine Firewall's interessieren sich brennend fuer deine IP-Netze im IPv4 und IPv6 Bereich, koenntest du diese mal durchgeben :cool:
 
@traced: Linux ***.***.***.***.dlserver.eu 2.6.32-5-openvz-amd64 #1 SMP Thu Nov 3 04:22:10 UTC 2011 x86_64 GNU/Linux
Wie funktioniert das mit mod_recent? An andere Attacken habe ich da nicht gedacht, weil ich noch keine auf den vServern gesehen habe.
Startparameter sind:
Code:
#  Copyright (C) 2000-2008, Parallels, Inc. All rights reserved.
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#

VERSION="2"

ONBOOT="no"

# UBC parameters (in form of barrier:limit)
# Primary parameters
AVNUMPROC="9223372036854775807:9223372036854775807"
NUMPROC="9223372036854775807:9223372036854775807"
NUMTCPSOCK="1801439850948198:1801439850948198"
NUMOTHERSOCK="1801439850948198:1801439850948198"
VMGUARPAGES="9223372036854775807:9223372036854775807"
# Secondary parameters
KMEMSIZE="9223372036854775807:9223372036854775807"
#TCPSNDBUF="2147483647:2147483647"
TCPSNDBUF="4611686018427387903:9223372036854775807"
TCPRCVBUF="4611686018427387903:9223372036854775807"
OTHERSOCKBUF="4611686018427387903:9223372036854775807"
DGRAMRCVBUF="9223372036854775807:9223372036854775807"
OOMGUARPAGES="9223372036854775807:9223372036854775807"
# Auxiliary parameters
LOCKEDPAGES="9223372036854775807:9223372036854775807"
SHMPAGES="9223372036854775807:9223372036854775807"
PRIVVMPAGES="9223372036854775807:9223372036854775807"
NUMFILE="9223372036854775807:9223372036854775807"
NUMFLOCK="9223372036854775807:9223372036854775807"
NUMPTY="9223372036854775807:9223372036854775807"
NUMSIGINFO="9223372036854775807:9223372036854775807"
DCACHESIZE="9223372036854775807:9223372036854775807"

PHYSPAGES="0:9223372036854775807"
NUMIPTENT="9223372036854775807:9223372036854775807"

# Disk quota parameters (in form of softlimit:hardlimit)
DISK_QUOTA="no"
VE_ROOT="/var/lib/vz/root/$VEID"
VE_PRIVATE="/var/lib/vz/private/$VEID"
OSTEMPLATE="debian-6.0-x86_64"
ORIGIN_SAMPLE="unlimited"
HOSTNAME="***.***.***.***.dlserver.eu"
NAMESERVER="8.8.8.8"
IP_ADDRESS="***.***.***.***"
DISKSPACE="9223372036854775807:9223372036854775807"

/proc/user_beancounters:
Code:
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
        1:  kmemsize                 12056931             14145984  9223372036854775807  9223372036854775807                    0
            lockedpages                     0                    0  9223372036854775807  9223372036854775807                    0
            privvmpages                752825              1134741  9223372036854775807  9223372036854775807                    0
            shmpages                       18                  674  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        74                   92  9223372036854775807  9223372036854775807                    0
            physpages                  458434               465290                    0  9223372036854775807                    0
            vmguarpages                     0                    0  9223372036854775807  9223372036854775807                    0
            oomguarpages               458434               465290  9223372036854775807  9223372036854775807                   12
            numtcpsock                     19                   28     1801439850948198     1801439850948198                    0
            numflock                        8                   11  9223372036854775807  9223372036854775807                    0
            numpty                          4                    4  9223372036854775807  9223372036854775807                    0
            numsiginfo                      0                    2  9223372036854775807  9223372036854775807                    0
            tcpsndbuf                  331360                    0  4611686018427387903  9223372036854775807                    0
            tcprcvbuf                  311296                    0  4611686018427387903  9223372036854775807                    0
            othersockbuf                30056                45448  4611686018427387903  9223372036854775807                    0
            dgramrcvbuf                     0                 4360  9223372036854775807  9223372036854775807                    0
            numothersock                   62                   74     1801439850948198     1801439850948198                    0
            dcachesize                 314589               393617  9223372036854775807  9223372036854775807                    0
            numfile                      1419                 1802  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      10                   10  9223372036854775807  9223372036854775807                    0
 
9223372036854775807 heißt unlimitiert, soll das so sein ?

Bleiben die Leute, denen du einen vServer sponserst anonym oder werden, Daten, wie z.B. Anschrift in irgendeiner Weise von dir verifiziert?

Ansonsten grenzt das schon an Fahrlässigkeit jemandem Unbekannten einfach einen vServer mit root Rechten zur Verfügung zu stellen. (Wie möchtest du vorgehen, wenn du eine Anzeige bekommst, wenn über den vServer illegale Inhalte verbreitet werden und du das nicht rechtzeitig gemerkt hast?)
 
Nein, die bleiben nicht anonym. Das sind gute Bekannte von mir bzw. ich hol' mir vorher alle benötigten Daten und logge auch Netzwerk-Zugriffe per IPTables mit.
 
Ich finde es ehrlich gesagt beaengstigend dass die "guten Bekannten" auf deiner Hardware DoS-Attacken, Benchmarks und aehnliches durchfuehren.
Physische Gewalt ist ja leider verboten aber ein guter Arschtritt sollte so einige Probleme "loesen".

Zu deinem eigentlichen Problem; so ziemlich alle Angriffe kannst du durch die schiere Anzahl gleichzeitiger respektiv in kurzem Intervall erfolgter Verbindungen erkennen. Indem du beispielweise die gleichzeitige Anzahl an SMTP-Verbindungen auf 5 und die maximale Anzahl an Verbindungen auf 30/Minute festlegst kannst du so einige Versuche erkennen und stoppen bevor ein groesserer Schaden angerichtet ist.
Beachte aber dass zumindest SMTP, HTTP und noch andere Protokolle in der Lage sind mehrere Anfragen ueber eine einzige Verbindung zu schicken, was deine Kontrollmoeglichkeiten einschraenkt. Hier solltest du eventuell die Paketrate und Maximaldauer der Verbindungen begrenzen.
 
Das sind gute Bekannte von mir bzw.

Naja, eine einfache Problemlösung wäre, dass diese "guten Bekannten" nach solchen Scherzen halt keinen Vserver mehr haben...

Ich teile einen Server auch mit zwei WIRKLICHEN Freunden. Und auf die kann ich mich DEFINITIV verlassen.
 
Warum ist es eigentlich immer so, dass bei neueren Versionen etwas nicht mehr funktioniert, was davor funktioniert hat? Ich dachte, das wäre nur so, wenn was neues dazukommt, dass das Neue nicht funktioniert, wie es eigentlich sollte. Das ist aber anscheinend ganz anders...
=== Back2Topic ===
(Wie) bekomme ich diese Kernel-Version mit apt-get oder aptitude installiert?
 
Moin
Ich habe schon 2 Benutzer gehabt, die mit ihren vServern angefangen haben einen Ping of Death auszuführen, ...
Kleiner Tipp am Rande.
Wenn einer deiner Kunden (Freunde) bereits mit einer illegalen Aktion aufgefallen ist, bist im Falle einer Wiederholung Du persönlich Haftbar (Mitstörerhaftung).
In einem solchen Fall kommt nur eine sofortige Sperrung in Frage.
Eine Reaktivierung ohne ein erhöhtes Haftungsrisiko, ist nur möglich, wenn derjenige eine Unterlassungsverfügung unterschreibt und eine Wiederholung des Vorfalles darin glaubhaft ausschließt.

Alles weitere (insbesondere zu den finanziellen Folgen) erfährst Du von einem Anwalt Deines Vertrauens.

Nachtrag: Rein bezogen auf die Haftungsfrage ist es normalerweise besser keine Präventivmaßnahmen gegen illegale Aktionen vorzunehmen. Das wird im Regelfall immer zu deinen ungunsten ausgelegt werden. Unwissenheit ist ein einem solchen Fall die bessere Option.
Du musst dann nur bei einer Abuse-Meldung zeitnah reagieren.
 
Last edited by a moderator:
Rein bezogen auf die Haftungsfrage ist es normalerweise besser keine Präventivmaßnahmen gegen illegale Aktionen vorzunehmen. Das wird im Regelfall immer zu deinen ungunsten ausgelegt werden. Unwissenheit ist ein einem solchen Fall die bessere Option.
"Aber Herr Richter, wenn ich die Brille aufgehabt haette, dann waere mir doch aufgefallen dass ich zu schnell gefahren bin und dann waere es ein geplantes Vergehen gewesen".

Nur weil man sich gegen das Schlimmste absichert und bei automatisch analysierten Angriffsmuster Aktionen vornimmt bedeutet das nicht dass man davon weiss. Ein solches Argument gilt imho erst wenn es zwar zB eine manuelle Freischaltung von Dateien auf einen Webspace gibt aber diese ohne Inhaltskontrolle willkuerlich durchgefuehrt wird.
Kein Richter wird hingegen verlangen dass du den ganzen Netzwerk-Verkehr in Echtzeit oder zeitnah analysierst, wohl aber dass du das in deiner Moeglichkeit stehende vorgenommen hast um Missbrauch zu reduzieren. Das andere koennte man glatt als grobe Fahrlaessigkeit auslegen.
 
Als Provider sollte man vom Kunden nicht erwarten, dass er vor hat mit dem Server Spam zu versenden, einen Ping of Death auszuführen, o.ä. - Wenn man das von dem Kunden vermutet sollte man ihm keinen Server geben.

Daher einfach den Server sperren wenn eine Abuse Meldung kommt. Das ist das einfachste. - Warum vorher denn ganzen Aufwand betreiben und am Ende kommt doch die Abuse Meldung?
 
Verantwortungslos, dass ein 16 Jähriger vServer vergibt. Da haften immer die Eltern. Und den mit "guten Freunden" kann man nicht bringen, auch da brauchts einen Vertrag oder Verifizierung.
 
Wenn man das von dem Kunden vermutet sollte man ihm keinen Server geben.
Nicht immer muss es vom Kunden willentlich verursacht sein. Wieviele der Buechsen werden gekapert und darueber Spam verschickt oder aehnliches?
Willste auch das nicht vermeide und lieber auf Abuse warten?
Wie willst du in einem Hosting-Umfeld das Profil eines jeden Kunden auswerten um sein Risiko ein zu stufen, durch eine Detektei?

Warum vorher denn ganzen Aufwand betreiben und am Ende kommt doch die Abuse Meldung?
Weil es so weniger Abuse-Meldungen gibt. Nicht keine sondern weniger. Zumindest OVH faehrt (oder fuhr) nach "3 strikes"; also 3 Abuse-Meldungen und der Server ist down.

Um mal bei der Autobahn-Analogie zu bleiben; warum Polizeikontrollen machen um Alkoholisierte zu erwischen wenn doch immer wieder dadurch Unfaelle entstehen? Ganz einfach; weil es weniger sind und eine solche abschreckend wirkt. (Einen moeglichen monetaeren Vorteil des Landes oder Staates lassen wir mal aussen vor)
Wenn ein Anbieter dafuer bekannt ist dass er Angriffe weder erkannt noch selbststaendig was dagegen unternimmt steigt die Zahl der Missbrauche uebrigens sehr stark da er als "Geheimtipp" in entsprechenden Foren auf der dunklen Seite des Internet gehandelt wird.
 
Wie willst du in einem Hosting-Umfeld das Profil eines jeden Kunden auswerten um sein Risiko ein zu stufen, durch eine Detektei?

Er hatte doch gesagt, dass er die vServer Bekannten (Freunden) zur Verfügung stellt ...
Bei wildfremden Mietern kann man das natürlich nicht wissen.

Und selbstverständlich überwachen auch wir unsere Systeme, sodass wir auf eindeutigen Missbrauch des Servers schnell reagieren können.
Allerdings liegt es meines Erachtens letztendlich beim Kunden seinen Server zu sichern und vor Missbrauch zu schützen!
 
Jup, da habt ihrauch wieder recht. Also brauche ich mir keine bzw. weniger Sorgen machen, dass der Server sofort offline genommen wird, wenn eine Abuse-Meldung kommt? Das ist nämlich sehr erfreulich. Natürlich werde ich mich trotzdem noch darum kümmern, Missbrauch der vServer so gering wie möglich zu halten.

Danke für eure Tipps!

L.G. PCFreund
 
Das haengt vom Anbieter, der Anzahl der bereits reingetrudelten Abuse-Meldungen fuer deinen Server oder IP's des Servers und der Schwere des Vergehens ab.
Afaik sind aber die meisten Anbieter dazu uebergegangen als erste Aktion nur die eine IP zu nullrouten.

Hetzner zB ist sehr "kulant" was Abuse-Meldungen angeht und laesst dir bei den ueblichen Sachen wie Spam, ... genug Zeit das Problem selbst in den Griff zu kriegen.
Bei ausgehenden DoS-Attacken sperren sie aber, um ihr eigenes Netz zu schuetzen, die IP oder den Server; beides habe ich schon bei "in den Brunnen gefallenen" Server befreundetet Sysadmins gesehen. Die Anbieter koennen dich uebirgens auch zu einer vollstaendigen Neuinstallation zwingen wie es bsp. OVH tut (tat?)
 
Hetzner hat ein sehr sensibles IDS am laufen.
Die sperren sogar bei einem kurzen Portscan ins 192.168.0.0/24er Netz (mein Windows hat da den Zusammenhang von OpenVPN-Tunnel und lokalem Netz nicht verstanden).
Bei Server4You ist(war?) es afaik so, dass man eine Unterlassungserklärung nach einer Sperre abgeben muss.

Aber ist dein Ziel wirklich nur eine Sperre zu vermeiden?
Dein Ziel sollte vor allem sein, illegale Aktivitäten und die Beeinträchtigung fremder Systeme zu vermeiden.
 
Back
Top