ich habe kurz die Frage, wie ich recht einfach sehen und öfters mal überprüfen kann (über IPs wahrscheinlich), wer und wie oft versucht, auf meine Nextcloud berechtigt/unberechtigt zugreifen zu können.
In den Logging steht nichts drin.
Gibt es dafür eine APP/Funktion, die mir ggf. sogar eine Mail dazu sehen kann?
Danke für die Info. Das ist schon einmal ein Ansatz. Wenn ich es richtig sehe, sind da “lediglich” die Logs vom aktuellen Tage enthalten. Ich würde gerne z.B. einmal wöchentlich schauen, wer hier so auf meiner NC rumschrubbt.
Splunk habe ich im Netzt einmal dafür gefunden. Ist aber seit langem nicht mehr diskutiert und daher weiß ich nicht, ob diese ext. App noch anwendbar/brauchbar ist.
In dem Ordner liegen noch weitere Dateien, wie z.B. access.log.1 usw.
Das sind die vorangegangenen Tage jeweils.
Online gibt es auch einen Accesslog Reader. Dann kann man das besser lesen
Das Durchsuchen lohnt sich nicht. Achte auf alle Aktualisierungen, Sicherheitsmaßnahmen und installiere evtl. Hardening-Apps. 2FA ist auch sehr sinnvoll.
Die Frage ist halt was du überhaupt genau für Informationen sammeln willst und bei was für Ereignissen du u.U. alarmiert werden willst. bzw. was du unter berechtigtem/unberechtigtem Zugriff verstehst…
Zugriffe auf den Webserver manuell durchzuschauen macht imho tatsächlich nicht allzuviel viel Sinn, wie @devnull bereits gesagt hat, denn da findest du eine Menge Bots, die einfach das Internet scannen und dann Dinge wie /wp-login checken etc… Die wissen häufig nichtmal, dass da eine Nextcloud läuft, und wenn du deinen Webserver entsprechend konfigurierst, finden die deine Nextcloud auch dann nicht, wenn sie z.B. Requests an <IP_ADDRESSE>/login oder /status.php senden, und nicht gezielt deinen Domainnamen nutzen.
Interessanter wären tatsächliche Loginversuche, und allenfalls eben gezielte Anfragen an gewisse Unterseiten wie cloud.domain.tld/status.php etc.
Erstere loggt die Nextcloud natürlich, was im Umkehrschluss bedeutet, dass wenn du nichts im Nextcloud Log findest, sich auch niemand versucht hat unberechtigt Zutritt zu deiner Nextcloud zu verschaffen.
Letztere loggt der Webserver im access.log, aber das manuell jede Woche durchzuschauen, bringt nicht viel. Wenn du tatsächlich basierend auf diesen Daten zum Beispiel IP Sperren triggern möchtest, musst du etwas wie Fail2ban nutzen, und dort entsprechende Filter einrichten. Oder eventuell kannst du dir ja mal Crowdsec anschauen.
Möchtest du basierend auf dem access.log Alarmierungen erhalten und/oder gewisse Events visualisieren, brauchst du eine Log Aggregation Software wie z.B. Graylog, Loki/Grafana etc…
Im Prinzip will ich erkennen können, ob mir eine unbekannte IP auffällt, die ich dann ggf. sperren kann. Aber vllt liege ich da auch völlig falsch. Mit einem scharfen fail2ban und 2FA kommt ja eh niemand auf die Cloud.
Crowdsec und die anderen Empfehlungen schaue ich mir die Tage einmal an. Danke für die Tipps.
eine interessante moderne fail2ban Alternative scheint crowdsec zu sein… hier skaliert der Ansatz “böse IPs sperren” deutlich besser weil die durch den Community Ansatz bereits vor dem Zugriff auf die eigene Instanz blockiert werden…
Das macht doch fail2ban. Und mit 2FA ist es über die Benutzerverwaltung nicht möglich für Dritte zuzugreifen, da z. B. der zeitbasierte TOTP-Token für Angreifer nicht verfügbar ist.
Wenn die Software eine Sicherheitslücke hat, können IP-Adressen interessant werden. Aber vielleicht kann man sich da auch selbst schnell was scripten.
Jup und dann gibt es ja auch noch die integrierte Brute Force Protection der Nextcloud, die Anmeldeversuche verzögert.
Dagegen hilft vorallem, dass man seinen Softwarstack regelmässig patcht, oder wenn man 100% sicher sein will, macht man die Cloud gar nicht erst direkt aus dem Internet erreichbar, und greift via VPN auf das Heimnetzwerk zu, was natürlich den Nachteil hat, dass man dann keine Links mit Dritten teilen kann.
Fail2ban kann natürlich nicht nur basierend auf “failed Logins” IPs blocken. Man kann beileibige Filter/Regex für beliebige Logfiles erstellen, so auch für das Apache access.log.
Aber erhöht es wirklich die Sicherheit, wenn man irgendwelche IPs von Bots blockt, die zumeist eh nur 404s im access.log produzieren? Ich denke nicht, und gezielte Angriffe auf die Nextcloud auf diese Weise zu blocken, dürfte sich schwierig gestalten, ohne sich am Ende auch selbst zu blocken.
Man könnte auch noch Geoblocking machen, sprich alles blocken was nicht aus Europa oder Deutschland kommt. Das würde sicher den “Noise” reduzieren, bringt aber halt auch keine hundertprozentige Sicherheit, und wenn man in Urlaub fährt, und das vergisst anzupassen, kommt man auch selbst nicht mehr drauf.
So oder so, manuell irgendwelche IPs zu blocken, die im access.log auftauchen, ist imho kein gangbarer Weg, aber ab und zu mal rein schauen schadet natürlich auch nicht. Und wieviel Aufwand man mit irgendwelchen Security und Log Aggregation Tools betreiben will, muss am Ende des Tages jeder selbst entscheiden.
Ich denke, mit Fail2ban und der Bruteforce Protection ist man schon relativ gut aufgestellt für eine private Nextcloud. Fail2ban mit Crowdsec zu ersetzen, ist aber eventuell eine Überlegung wert, wenn man noch etwas mehr Prävention betreiben will.
Dein Bild zeigt Begriffe wie phpmyadmin oder wp-content (Wordpress).
Das sind typische Ergebnisse von Scannern/Crawlern.
Das kann man auch nicht einfach unterbinden.
Ich selbst vertrete die Meinung, dass man so wenig Dienste wie möglich installieren bzw. öffentlich erreichbar machen sollte. Auch wenn es die Bequemlichkeit einschränkt.