Fileserver Zugriffe loggen/auswerten (Windows Server 2016)

Mr. Robot

Lieutenant
Registriert
Nov. 2015
Beiträge
932
Hallo!

Ich bin gerade dabei, mich in Windows Server 2016 einzuarbeiten. Dafür hab ich mir einen Testserver in einer VM eingerichtet. Also keine Sorge, ich zerlege kein Firmennetzwerk. Noch nicht jedenfalls... :D

Folgendes Szenario treibt mich aktuell um: Ein User oder Trojaner treibt sein Unwesen, und ich will im Nachhinein nachvollziehen, welcher User etwa eine bestimmte Datei gelöscht hat, oder was ein Trojaner auf dem Client alles vom dem Dateiserver abgezogen hat.

Ich hab mir also meinen Testserver als Dateiserver eingerichtet, und nach dieser Anleitung das loggen der Zugriffe aktiviert: https://www.rootusers.com/configure-file-access-auditing-in-windows-server-2016/

Es funktioniert so weit auch. In der Ereignisanzeige wird jeder Zugriff protokolliert. So weit super!
Allerdings finde ich es doch arg unübersichtlich. Ich hab jetzt einen Berg an Ereignissen, die alle gleich aussehen. "Überwachung erfolgreich, Aufgabenkategorie Detaillierte Dateifreigabe".
Erst wenn ich mir das Ereignis genauer ansehe, finde ich bei "RelativeTargetName" die Datei, um die es geht. Und was damit gemacht wurde, versteckt sich anscheinend etwas kryptisch in einem "AccessMask"-Zahlenwert..?

Wie soll ich da denn im Ernstfall irgendwie sinnvoll auswerten, wer was getrieben hat?
Gibt es da irgendwelche Tools dafür, oder wie geht man das an?
 
Mr. Robot schrieb:
Ich bin gerade dabei, mich in Windows Server 2016 einzuarbeiten.
Der Mainstreamsupport von W2K16 ist bereits Anfang 2022 abgelaufen, spätestens 2027 ist Sense. Warum nicht gleich 2019 oder 2022?
 
  • Gefällt mir
Reaktionen: GTrash81, roaddog1337 und madmax2010
Du kannst alternativ einen Syslog Server verwenden. Google nach ELK, Greylog, Logpoint.
Dort kannst du zentral alle Logs sammeln und dir Alarmierungen einrichten und (subjektiv) besser suchen.
 
  • Gefällt mir
Reaktionen: Mr. Robot und GTrash81
Vergiss es, mit Boardmitteln funktioniert das einfach nicht. Es gibt aber Hersteller die sich auf genau sowas spezialisiert haben. Der Access Rights Manager von Solarwinds z.B. greift die Überwachungsereignisse auf und stellt sie besser dar.
 
  • Gefällt mir
Reaktionen: snaxilian, Mr. Robot, GTrash81 und 2 andere
_anonymous0815_ schrieb:
Der Mainstreamsupport von W2K16 ist bereits Anfang 2022 abgelaufen, spätestens 2027 ist Sense. Warum nicht gleich 2019 oder 2022?
Weil unsere Firma aktuell noch den 2016er laufen hat. Da möchte ich auch erst mal mit dieser Version üben.

Masamune2 schrieb:
Vergiss es, mit Boardmitteln funktioniert das einfach nicht. Es gibt aber Hersteller die sich auf genau sowas spezialisiert haben. Der Access Rights Manager von Solarwinds z.B. greift die Überwachungsereignisse auf und stellt sie besser dar.
So was hab ich schon befürchtet. :(

1500€... puh. Ich weiß, für "Profisoftware" ist das wohl normal. Ich hab mich trotzdem noch nicht an das Preisniveau für Geschäftskunden gewöhnt. :D

Falls jemand noch günstigere Alternativen kennt, nur her damit. Es muss nicht kostenlos sein, aber wir sind auch kein Großkonzern... :)

kamblars schrieb:
Du kannst alternativ einen Syslog Server verwenden. Google nach ELK, Greylog, Logpoint.
Dort kannst du zentral alle Logs sammeln und dir Alarmierungen einrichten und (subjektiv) besser suchen.
Danke, ich schau mir das mal an!
 
  • Gefällt mir
Reaktionen: Mr. Robot und roaddog1337
Mr. Robot schrieb:
Falls jemand noch günstigere Alternativen kennt, nur her damit. Es muss nicht kostenlos sein, aber wir sind auch kein Großkonzern... :)
Linux. Das kann das was du willst schon mit Boardmitteln sauber machen und was noch nicht getan hackt man sich mit Bash oder Python zusammen.

Wenn man es dann in schön haben will nimmt man ELK.

Der Punkt ist ja, wie bekommst du die Daten? Wenn die nicht direkt auswertbar sind, dann ist das einfach broken by Design. Da hilft dir ELK dann auch nur bedingt weiter, da du die Daten dann erst aufbereiten musst und das ist um kotzen.

Sprich wenn du die gesuchten Zugriffe nicht einfach mit nem regex search auf die logdatei findest, dann ist das Logging schon kacke....

Wie gesagt, die Alternative lautet Linux und das hat definitiv seine Gründe. Eignet sich einfach für den Betrieb als Server. Die ganzen Konzepte sind durchdacht und offen ausgelegt. Das macht die Arbeit oft sehr sehr sehr viel einfacher. Also eine kleine Aufgabe abseits vom absoluten Default zu erledigen.
 
Die Frage ist eher warum du genau das wissen willst? Wenn du dich jetzt erst in einen Windows Server einarbeitest gibt es tausend Sachen die in einem Unternehmensnetzwerk erst mal wichtiger wären, allen voran ein gescheit aufgebautes Active Directory.
Bevor du dir tiefergehende Gedanken machst wie du im Ernstfall Forensiker spielen kannst solltest du dir noch tiefergehende Gedanken machen wie man eine Umgebung aufbaut das ein Verschlüsselungstrojaner nicht gleich leichtes Spiel hat.
 
Wenn es nach mir ginge, würden wir auch mehr Linux einsetzen. Aber erstens liegt die Entscheidung darüber nicht bei mir. Und außerdem muss ich zugeben, dass dieses "alles aus einer Hand"-Konzept von Microsoft an der ein oder anderen Stelle einige Dinge auch etwas vereinfacht. (Zumindest so lange es funktioniert.)
Und es macht natürlich auch einen Unterschied, ob man die IT-Umgebung komplett frisch aufbaut, oder versucht, von MS zu Linux zu migrieren.

Masamune2 schrieb:
Bevor du dir tiefergehende Gedanken machst wie du im Ernstfall Forensiker spielen kannst solltest du dir noch tiefergehende Gedanken machen wie man eine Umgebung aufbaut das ein Verschlüsselungstrojaner nicht gleich leichtes Spiel hat.

Da ist natürlich auch was dran.
Einige Vorkehrungen haben wir auch aktiv. Andere sind nicht so restriktiv, wie wir es als IT eigentlich gerne hätten. Es ist ein schmaler Grat zwischen Sicherheit, und sich die Mitarbeiter zum Feind machen... ;)
 
  • Gefällt mir
Reaktionen: GTrash81
Sind wieder erschreckend viele OS-Fanboys hier die nicht die Realität akzeptieren können oder wollen und stattdessen soll sich lieber $Unternehmen komplett umkrempeln.. Ja... total realistisch.
Jedes OS hat seine Stärken und Schwächen und im besten Fall setzt man jeweils das ein, was am besten die Anforderungen erfüllt und was auch sinnvoll administriert werden kann.

Mr. Robot schrieb:
Folgendes Szenario treibt mich aktuell um: Ein User oder Trojaner treibt sein Unwesen, und ich will im Nachhinein nachvollziehen, welcher User etwa eine bestimmte Datei gelöscht hat, oder was ein Trojaner auf dem Client alles vom dem Dateiserver abgezogen hat.
Das ist ein sehr weites Feld was mit viel Aufwand verbunden ist, sowohl das Thema lernen und umsetzen aber vor allem der Betrieb von so etwas denn was du beschreibst, geht schon fast in Richtung eines SIEM. Hinzu kommt: Du willst auditieren wer wann was geöffnet, geändert und gelöscht hat. In vielen Firmen grenzt das schon an Arbeitsüberwachung, hier sollte dringend im Vorfeld der Betriebsrat ins Boot geholt werden und/oder die Mitarbeiter darüber informiert werden.
Wir haben z.B. so etwas (und auch Logs der Client-Proxies etc.) aber wir verwenden die Daten ausschließlich für IT-Security relevante Anfragen und lehnen anderweitige Anfragen konsequent ab.

Ganz ehrlich: Wenn ihr so einen Fall haben werdet oder nachvollziehen wollt: Holt euch im Vorfeld 1-2 Security Incident Firmen ins Haus die ihr im Fall der Fälle dann anrufen könnt, ja oft auch 24x7x365. Die haben Mitarbeiter, die das tagtäglich machen und deutlich schneller die relevanten Infos finden können. Auch können diese euch im Vorfeld beraten, welche Schritte notwendig sind damit die Logs überhaupt nutzbar sind.

Mr. Robot schrieb:
Und was damit gemacht wurde, versteckt sich anscheinend etwas kryptisch in einem "AccessMask"-Zahlenwert..?
Ja und nein. Direkt oberhalb der AccessMask siehst du auch eine menschenverständliche Antwort.

Mr. Robot schrieb:
Wie soll ich da denn im Ernstfall irgendwie sinnvoll auswerten, wer was getrieben hat?
Gibt es da irgendwelche Tools dafür, oder wie geht man das an?
Als Angreifer ist das löschen der lokalen Logs ein üblicher Punkt auf der ToDo Liste.
Im besten Fall möchtest du also ein zentrales System wo deine Logs hinfließen. Achtung: Du willst nicht stumpf alle Logs dahin werfen, denn dann wirst du sehr schnell sehr viel Storage benötigen. Es macht also Sinn, nur security-relevante Logs in so ein zentrales Loggingsystem zu kippen und sich auch im Vorfeld Gedanken darüber zu machen, wie lange man die Logs am Ende aufheben will.
Das ganze Themenfeld nennt sich Log Management. Das kann mit Schwerpunkt Ops sein, also Systemlogs um bei Fehlern oder Instabilitäten eine Ursache zu finden oder eben auch mit Schwerpunkt Security, wie in deinem Fall. Hier ist das Stichwort dann SIEM.
@Masamune2 hat es bereits auf den Punkt gebracht. Mit Bordmitteln kommst du nicht weit. Entweder selbst so ein Logging-System aufsetzen und betreiben oder sowas als as-a-Service nutzen, hier zahlst dann vor allem (aber nicht nur) die Datenmenge, die du speichern willst. Dafür hast du nicht das operative Problem so etwas selbst betreiben und absichern zu müssen.

Mr. Robot schrieb:
wie wir es als IT eigentlich gerne hätten. Es ist ein schmaler Grat zwischen Sicherheit, und sich die Mitarbeiter zum Feind machen
Das ist ein veraltetes Klischee und wer als IT nur die Mitarbeiter zum Feind machen oder haben will, hat seinen Job nicht verstanden. IT ist ein Mittel zum Zweck damit die Mitarbeiter eines Unternehmens ihren Job machen können.
Ja, ohne IT geht heut vieles nicht mehr und stark in alle möglichen Geschäftsprozesse integriert aber die Kernaufgabe der IT ist es, die Mitarbeiter zu befähigen ihren Job zu erledigen. Dazu gehört auch, die IT sicher und stabil zu betreiben und wenn man Änderungen oder Einschränkungen machen will oder muss, dann holt man sich zuerst immer das Management ins Boot. Änderungen oder Einschränkungen sind hoffentlich selten aus der IT allein getrieben sondern sind sinnvoll weil $Sicherheitsgewinn oder ähnliches. So etwas umzusetzen erfordert ja die Entscheidung.
Hier muss man sich als Admin ja nicht das Leben unnötig schwer machen denn der Admin ist ja v.a. Erfüllungsgehilfe für Entscheidungen von Dritten. Dies gilt ja insbesondere für größere Änderungen oder Einschränkungen, die die tägliche Arbeit der Mitarbeiter beeinflussen. Ist also wie so vieles im Leben vor allem ein Kommunikationsproblem.
 
  • Gefällt mir
Reaktionen: Mr. Robot
snaxilian schrieb:
Ja und nein. Direkt oberhalb der AccessMask siehst du auch eine menschenverständliche Antwort.
Da steht bei mir "RelativeTargetName", also der Dateiname. Aber nicht, ob die Datei gelesen, geschrieben oder gelöscht wurde.
 
Du hast doch eine Anleitung verlinkt. In dieser ist am Ende ein Screenshot von einem entsprechenden Eintrag im Event Viewer und dort gibt es einen rot eingerahmten Bereich. Im untersten Viertel siehst du die Art des Zugriffs als 'Accesses' und als 'Access Mask'. Ersteres ist einfach nur die menschenlesbare Variante.

Noch ein genereller Tipp: Du wirst dir einen großen Gefallen tun, wenn du bzw. ihr die OS-Sprache auf englisch umstellt und ggf. deutsch als weitere Sprache installiert. Im Eingangspost beschreibst du diverse Einstellungen auf deutsch. Damit schränkst du unnötigerweise deine potentiellen Ergebnisse ein wenn du Probleme bzw. Lösungen für Probleme suchst.

Mr. Robot schrieb:
Da steht bei mir "RelativeTargetName", also der Dateiname. Aber nicht, ob die Datei gelesen, geschrieben oder gelöscht wurde.
Werde bitte konkret. Es ist schwierig deine Beschreibungen nachzuvollziehen. Liefere mal bitte Screenshots o.ä. handfestes damit wir dein Problem nachvollziehen können.
Du kannst übrigens auch Events weiter filtern, rechts im Eventviewer unter "filter current log..." um den Berg an Events weiter einzuschränken.
 
  • Gefällt mir
Reaktionen: Skysnake
Alles klar, hab den Klartext gefunden!
Ich war im "Details" Tab, statt im "Allgemein". Ich ging einfach davon aus, dass Details mehr anzeigt...

Danke!
 
snaxilian schrieb:
Sind wieder erschreckend viele OS-Fanboys hier die nicht die Realität akzeptieren können oder wollen und stattdessen soll sich lieber $Unternehmen komplett umkrempeln.. Ja... total realistisch.
Alles gut bei dir? Wer redet denn hier von komplett umkrempeln?
snaxilian schrieb:
Fall setzt man jeweils das ein, was am besten die Anforderungen erfüllt und was auch sinnvoll administriert werden kann.
Genau, daher überdenke doch bitte deine erste Aussage nochmals.

Das Problem des TS ist unter Linux einfach keines. Zudem ist der Service für Nutzer völlig transparent. Wenn sind also nur die Admins überfordert und das ist für mich ein sehr schlechtes Argument.

Es redet keiner davon alles auf Linux zu schieben. Geschweige denn die User. Das wäre meist nicht sinnvoll.

Ich kann da nur sagen. Wenn er sebst Linux gegenüber aufgeschlossen ist, dann soll er sich das Leben mit Windows einfach machen und ne Lösung mit Greylogs usw machen, wie man das halt so unter Windows macht. Also Drittanbietersoftware für alles mögliche einkaufen. Und dann als Alternative eben ne Lösung unter Linux, bei der wahrscheinlich keinerlei Drittanbietersoftware nötig ist. Ich würde aber trotzdem eine Variante mit Support rechnen. Dann hat er 3 Angebote, über die die Entscheider dann nachdenken können. Wenn Sie dann noch immer Windows wollen dann gerne. Denn die Administration ist dann auch geritzt durch den ganzen Support und die Helferlein.
 
Einige Vorkehrungen haben wir auch aktiv. Andere sind nicht so restriktiv, wie wir es als IT eigentlich gerne hätten.
Was denn genau? Nenn doch ruhig konkret was du schon umgesetzt hast dann kann man das besser bewerten.
 
Keine Adminrechte für User, Spamfilter, doppelte Virenscanner von verschiedenen Firmen für Email, Mails mit Makros in Officedateien werden geblockt, tägliche Backups der Server.

Was noch nicht gut gelöst ist, sind firmenweite Netzlaufwerke, in die alle jeden Mist rein werfen...
Und vermutlich noch andere Dinge, die wir nicht auf dem Schirm haben...
 
Mr. Robot schrieb:
Keine Adminrechte für User
Habt ihr damit auch Lateral Movement und Pass-the-Hash-Angriffe unter Kontrolle? Ansonsten bitte noch einmal da ansetzen. Stichwort ESAE.
 
Das klingt schon mal sehr gut. Ich würde mal noch Ordnerumleitungen/Arbeitsordner in den Raum werfen um direkt zu verhindern, dass auf den lokalen Platten Daten gespeichert werden.
Beim Backup 3-2-1 Regel beachtet?
Wenn Zugriffe auf das Netz von außen möglich sind sollten die besonders betrachtet werden. Webseiten idealerweise hinter einen Reverse Proxy. Was nicht von jedem Client von extern erreichbar sein muss sollte es nur per VPN sein. (HTTP-)Zugriffe von intern nach extern gehen idealerweise auch über einen Webproxy.
Das alles schränkt den Anwender nicht wirklich ein, erhöht die Sicherheit aber teilweise massiv.
 
Vielleicht möchtest du dir mal splunk ansehen. Gibt auch Testversionen davon. Nutze ich zwar nur für Linux und Aix Logs aber Windows kann der auch. Gibt auch unzählige Apps, die dir vieles direkt aufbereiten.
 
Masamune2 schrieb:
Beim Backup 3-2-1 Regel beachtet?

Ja, mit den ganzen Backups könnte ich jemanden tot werfen... :D

Splunk? Hat zumindest einen witzigen Namen! :D

Ich schaue mir die genannten Sachen in einer ruhigen Minute alle mal an, danke!
 
Zurück
Oben