Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
lemon1337
Beiträge: 31
Registriert: 20.07.2013 15:55:32

Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von lemon1337 » 07.09.2016 10:12:50

Hi, folgendes Szenario:

- Windows Server als Fileserver
- Debian Linux mit gemountetem Windows Share

Was ich nun vorhabe, ich möchte, dass Linux Alarm schlägt, sobald auf dem Windows Share, sagen wir mal, 1000 Dateien binnen kürzester Zeit geschrieben und andere gelöscht werden, also der Fileserver im Prinzip gefloodet wird.

Meine Idee wäre jetzt, sobald dieses Verhalten erkannt wird erstellt Linux eine Datei Namens "AchtungFlood.beendedich".
Unter Windows gibts dann eine Verhaltensregel, die beim erstellen dieser Datei den Fileserver-Dienst beendet und eine Mail an den Admin schickt.

Letzteres funktioniert soweit auch schon, das einzige was mir fehlt ist die Erkennung von Linux, dass dort auf der Windows Share massiv Dateien gespammt werden.

Hat da jemand eine Idee, wie ich das in die Realität umsetze? Könnte man sowas mit Fail2Ban lösen?

mfg und Danke schonmal im Vorraus ;)

BenutzerGa4gooPh

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von BenutzerGa4gooPh » 12.09.2016 14:26:26

Man könnte mittels Script periodisch die Änderung der Anzahl von Dateien pro Zeiteinheit auswerten:
http://www.bimminger.at/content/bereich ... nzahl.html
oder/und zeitliche Änderungen des belegten Speicherplatzes:
http://www.selflinux.org/selflinux/html ... sic02.html

Trigger für eine Nachricht/Aktion wären dann Überschreitungen/Unterschreitungen bei einem Vergleich mit einer selbst vorgegebenen Anzahl von Änderungen pro Zeit.

Allerdings ist das nur ein Reagieren, Vorbeugen/Quoten pro Nutzer ist wohl besser. Funktioniert mit WindowsServer seit langem.

Vmtl. könnte man ein Intrusion Detection System, beispielsweise Debiansnort entsprechend anpassen, da kenne ich mich jedoch zu wenig aus.
https://www.debian.org/doc/manuals/secu ... ox.de.html
https://www.snort.org/documents

lemon1337
Beiträge: 31
Registriert: 20.07.2013 15:55:32

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von lemon1337 » 14.09.2016 08:10:25

HIi

danke erstmal für deine Antwort :)

Leider wird das so aber nicht funktionieren. Ransomware nimmt eine Datei, verschlüsselt sie, löscht die alte und erstellt die neue.
Es werden zwar in einem kurzem Zeitraum tausende Dateien erstellt, aber auch gelöscht, somit ist die Dateianzahl vorher = nachher

Das einzige was Ransomware von einem normalem Nutzer unterscheidet, ist die extreme Geschwindigkeit der Dateizugriffe.

Was genau meinst du mit "Funktioniert mit WindowsServer seit langem." ?

BenutzerGa4gooPh

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von BenutzerGa4gooPh » 14.09.2016 11:34:46

Damit meinte ich Quoten für Speicherplatz pro Nutzer. Hilft dir aber auch nicht weiter, habe dich nicht ganz verstanden. Bin von einem internen File-Server ausgegangen, dessen Nutzer "spinnen".

Ransomware fällt doch unter Viren/Trojaner, also Schutzmassnahmen findest du hier:
https://de.m.wikipedia.org/wiki/Ransomware, Absatz Schutz und Gegenmaßnahmen
https://www.bsi.bund.de/SharedDocs/Down ... cationFile
https://de.m.wikipedia.org/wiki/Contentfilter
Zuletzt geändert von BenutzerGa4gooPh am 14.09.2016 18:24:53, insgesamt 2-mal geändert.

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von r4pt0r » 14.09.2016 14:05:55

Mit den antiquierten Dateisystemen von Windows ist sowas nur per polling (=ressorcenvernichtend) zu lösen.
Zumal ich Windows keine Daten anvertrauen würde die auch nur ansatzweise so wichtig sind, dass sie es wert sind sie auf einen Netzwerkshare zu legen...

Ich habe kürzlich eine Lösung für den bevorstehenden Umzug unseres Fileserves auf Basis von ZFS gebaut, das die Änderung des Verhältnisses zwischen USED und REFER überwacht.
Ist ein einfaches shellscript, das per cron nach dem erstellen des neuen snapshots ausgeführt wird. Die grundlogik ist folgendermaßen:

Code: Alles auswählen

REFER(snap_t-1) / ( REFER(snap_t0) - USED(snap_t0) )
Z.B. die logische größe des datasets beim letzten snapshot (REFER(oldsnap)) war 8GB. Dazugekommen sind 2GB und 2GB wurden geändert, somit belegt der neue snapshot 4GB (USED(newsnap)) und das dataset ist jetzt 12GB groß (REFER(newsnap)):
10/(12-4) = 1.25
Diesen Wert kann man entweder direkt mit einem fixen Wert vergleichen, oder nochmals für das letzte und vorletzte snapshot berechnen, um das delta der Veränderungen zu überwachen - dadurch kompensiert man auch "frische" datasets, die noch mit relativ hoher Rate befüllt werden oder datasets auf denen eine hohe Änderungsrate normal ist. Man kann noch mehr Iterationen berechnen um einen geglätteten Wert auch für stark wechselnde Arbeitslasten zu bekommen, dabei werden aber auch unerwünschte Ereignisse mitgeglättet und ggf später erkannt - muss man für die jeweilige Umgebung abschätzen und entsprechend umsetzen.
Da die werte von ZFS ohne tatsächliche operation ("suchen") auf den Datenträgern bereitgestellt werden, hat man praktisch keinen overhead und belastet das Dateisystem nicht. Man könnte also auch problemlos im minutenabstand das dataset mit dem/den letzten snapshot abgleichen.

Je nach dem welche Clients auf dem dataset arbeiten, kann man z.b. das aktuelle dataset klonen (->analyse), dann zum letzten "unauffälligen" snapshot zurückrollen und readonly setzen. das wäre mein vorgehen wenn windowskisten darauf rumpfuschen dürfen (stichwort cryptolocker).
So können alle weiter mit dem letzten "known good" status arbeiten, durch readonly kann die verseuchte Kiste nicht wieder Schaden anrichten und über das zurückgehaltene dataset/snapshot kann man herausfinden was los war bzw den client/User identifizieren.
Auch gegen "fatfinger" und angep.sste Mitarbeiter die den Fileserver leerräumen wollen greift dieser Mechanismus.


Man könnte auch über die atime und/oder mtime und auditd was bauen, aber da Windows jede Datei angrabbelt wenn man ein Verzeichnis öffnet (speziell mediendateien wie Bilder), dürfte das recht aufwändig werden und eine erhebliche Last auf den Fileserver und das Dateisystem bringen (modifizierte atime oder mtime = veränderte Metadaten müssen beim snapshot geschrieben werden -> deutlich erhöhter overhead!). Auch gebilde mit "find -mtime" sind extrem teuer und haben einen gewaltigen overhead - das einzig sinnvolle/skalierbare ist der Ansatz auf Dateisystemebene, was aber ein Dateisystem aus dem aktuellen jahrhundert voraussetzt :wink:
Zuletzt geändert von r4pt0r am 14.09.2016 14:11:50, insgesamt 1-mal geändert.

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von uname » 14.09.2016 14:09:28

Ich denke z.B.100 verschlüsselte Dateien sind schon 100 Dateien zu viel. Und da du am Ende nicht rausbekommst welche Dateien es waren bleibt nur die vollständige Rücksicherung aller Daten des letzten Backups. Somit ist eine Früherkennung nicht ganz so wichtig. Die Benutzer werden sich wohl von alleine melden. Investiere lieber mehr Zeit in aktuellere Backups, die für den Schadcode unerreichbar seind.

BenutzerGa4gooPh

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von BenutzerGa4gooPh » 14.09.2016 18:27:45

Sowie in Backups in zeitlich unterschiedlichen Generationen, möglichst auch in welche vor/ohne "Locky". Bei Automatismen weiss man nie ... . :mrgreen:

lemon1337
Beiträge: 31
Registriert: 20.07.2013 15:55:32

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von lemon1337 » 15.09.2016 07:54:18

Wow das ist ja mal viel Text, danke dafür :D

100 Verschlüsselte Dateien sind zwar 100 zu viel, aber immerhin besser als alles.
So muss man nur diese 100 Dateien backuppen, was bei mehreren TB an Daten diesen Prozess extrem beschleunigt.


r4pt0r hat geschrieben:Zumal ich Windows keine Daten anvertrauen würde die auch nur ansatzweise so wichtig sind, dass sie es wert sind sie auf einen Netzwerkshare zu legen...
Wird aber benötigt, sobald sehr viele Nutzer intern Dateien austauschen wollen, auch wenn diese nicht Top Secret sind, erleichtert es den Datenaustausch enorm.
Und was sonst benutzen? Linux mit Samba? Viel Spaß bei der Rechtervergabe wenn man über 100 Nutzer hat und da täglich die Rechte geändert werden :D

Unter Linux könnte man das zwar ez via fail2ban machen, aber wie ja oben beschrieben eignet sich linux hier eher weniger als fileserver ;)

das mit zfs werde ich mir mal genauer ansehen

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von uname » 15.09.2016 09:17:12

So muss man nur diese 100 Dateien backuppen, was bei mehreren TB an Daten diesen Prozess extrem beschleunigt.
Man kann auch einfach den Snapshot von gestern aktivieren. Die Frage ist wie gut ist dein Backup- und Restore-Konzept.

BenutzerGa4gooPh

Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen

Beitrag von BenutzerGa4gooPh » 15.09.2016 11:55:59

Ist übrigens ein ganz interessantes Thema, verschlüsselte Dateien automatisch, also algorithmisch zu erkennen, ungewollt verschlüsselte automatisch rückzusichern oder bei deren gehäuften Auftreten bzw. zeitlicher Änderung der Anzahl zu reagieren, Anliegen des TE. Und des BKA, vmtl. in anderem Zusammenhang: https://www.dasec.h-da.de/wp-content/up ... hurner.pdf
(Meine Überlegung war, dass eine verschlüsselte Datei eine geringere Entropie/Informationsgehalt besitzen müsste, als andere. So bin ich auf den Link gestoßen.)

Wenn es den TE interessiert, könnte man nach entsprechenden Programmen suchen ... .

Für Mitleser:
Das Prinzip der Glaubhaften Abstreitbarkeit bei Veracrypt besteht momentan aus einem inneren, verschlüsselten Container mit wesentlichen Daten und einem äußeren, verschlüsselten, nachweisbaren Container mit unwesentlichen Daten, dessen freier Bereich mit Zufallszahlen überschrieben ist und somit die gleiche Entropie besitzt, wie der innere, somit nicht nachweisbare und damit bestreitbare Container.

Antworten