Die Sicherheit von Paperless-ngx ist von entscheidender Bedeutung, da hier wichtige und sensible Daten enthalten sein können. Eine effektive Methode, um deine Dokumentenverwaltung vor potenziellen Brute-Force-Angriffen zu schützen, ist die Implementierung von Fail2ban. Fail2ban ist eine bewährte Software zur Intrusion Detection and Prevention.
Falls noch nicht geschehen, wird Fail2ban einfach mit folgendem Befehl installiert:
apt-get install fail2ban
Erstelle jetzt einen Filter für Paperless-ngx.
nano /etc/fail2ban/filter.d/paperless.conf
Trage hier den folgenden Inhalt ein. Diese Konfiguration definiert ein Fail2ban-Jail für das Monitoring von Log-Einträgen, die von der Paperless-Instanz erzeugt werden. Sie erfasst fehlgeschlagene Anmeldeversuche und Trusted-Domain-Fehler und verwendet ein Datumsmuster für die Zeitstempel in den Log-Einträgen.
[Definition] failregex = \[.*\] \[INFO\] \[paperless\.auth\] Login failed for user `.*` from IP `<HOST>` ignoreregex =
Erstelle jetzt eine neue neue Konfigurations-Datei für den Jail:
nano /etc/fail2ban/jail.d/paperless.local
In diese Datei kommt folgender Inhalt hinein. Die Zeitsperre wird in Sekunden angegeben, in meinem Beispiel wird der User nach 5 fehlgeschlagenen Anmeldeversuchen für 1 Stunde ausgesperrt. Je nach Einrichtung von Nextcloud musst du den Pfad zur Log-Datei anpassen.
[paperless] enabled = true port = 80,443 filter = paperless logpath = /Pfad/zu/Paperless/data/log/paperless.log maxretry = 5 bantime = 3600 findtime = 600
Anschließend wird Fail2ban noch einmal neu gestartet:
/etc/init.d/fail2ban restart
Nach 5 falschen Passworteingaben in der Paperless-ngx-Anmeldemaske wird die IP-Adresse des Nutzers jetzt für die angegebene Zeit gesperrt. Mit folgendem Befehl lässt sich der aktuelle Status des Jails auslesen:
fail2ban-client status paperless
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Kategorie: Server
Tags: Bruteforce, DMS, Dokumentenverwaltung, Fail2ban, Paperless, Paperless-ngx
495 Aufrufe

Über mich
Ich bin Janis (aka. EurenikZ), 26 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.
Hallo
Besten Dank für das Tutorial, leider bekomme ich das so nicht hin, da mein Paperless in Docker Desktop läuft. Fail2ban konnte ich mittles anderer Anleitung mal installieren, aber es funktioniert trotzdem nicht. Wie wäre das obige Tut anzupassen, wenn ich Paperless in Docker habe und das gleiche erreichen möchte, wie in obigen Tutorial beschrieben? Wäre sehr nett, wenn es hier auch in kurze Anleitung dazu gäbe!
Vielen Dank für ein Feedback und die investierte Zeit in eine Antwort!
Liebe Grüsse
Sandor