Dateisystem vom Netzwerkspeicher auf Spam überprüfen
Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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
- 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
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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 snort 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
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 snort 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
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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." ?
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." ?
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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
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.
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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:
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
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) )
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
Zuletzt geändert von r4pt0r am 14.09.2016 14:11:50, insgesamt 1-mal geändert.
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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.
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
Sowie in Backups in zeitlich unterschiedlichen Generationen, möglichst auch in welche vor/ohne "Locky". Bei Automatismen weiss man nie ... .
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
Wow das ist ja mal viel Text, danke dafür
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.
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
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
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.
Wird aber benötigt, sobald sehr viele Nutzer intern Dateien austauschen wollen, auch wenn diese nicht Top Secret sind, erleichtert es den Datenaustausch enorm.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...
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
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
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
Man kann auch einfach den Snapshot von gestern aktivieren. Die Frage ist wie gut ist dein Backup- und Restore-Konzept.So muss man nur diese 100 Dateien backuppen, was bei mehreren TB an Daten diesen Prozess extrem beschleunigt.
Re: Dateisystem vom Netzwerkspeicher auf Spam überprüfen
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.
(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.