Paperless Internetfreigabe Kompendium
Das Paperless Internetfreigabe Kompendium zeigt dir, welche Möglichkeiten du hast: Reverse-Proxy ja/nein, VPN, SSL, 2FA oder Cloudflare.
Weitere Artikel dieser Beitragsserie:
- Paperless: Warum Dokumentenmanagement und Leistungsumpfang
- Paperless: NGX Docker installation
- Paperless: Dokumente Hinzufügen Grundlagen
- Paperless: Anpassen und Optimieren
- Paperless: Internetfreigabe Kompendium
Jetzt geht es ans Eingemachte! Grundsätzlich würde ich davon abraten, Paperless direkt im Internet freizugeben – dafür sind die enthaltenen Daten zu sensibel. Dokumente kannst du auch bequem per E-Mail versenden. Der Empfänger ist in der Regel mit einem Anhang zufriedener als mit einem Link. Außerdem kann es sein, dass Links beim Empfänger aus Sicherheitsgründen gesperrt oder automatisch entfernt werden.
Für den Zugriff von unterwegs ist es am sichersten, ein VPN zu verwenden. So kannst du – oder berechtigte Nutzer – sicher auf dein Paperless-System zugreifen. Am Ende wird außerdem eine Beispielkonfiguration mit Cloudflare VPN verlinkt, falls VPN für dich die passende Lösung ist.
Paperless-ngx ist ein leistungsstarkes Open-Source-Dokumentenmanagementsystem, das besonders für die digitale Archivierung beliebt ist. Seit Version 2.14 unterstützt es Zwei-Faktor-Authentifizierung (2FA) über TOTP, wodurch die Sicherheit beim Zugriff auf sensible Dokumente erheblich verbessert wird. Wer Paperless-ngx von außerhalb des Heimnetzwerks nutzen möchte, steht vor der Frage, wie dies sicher umgesetzt werden kann. Es gibt zwei Hauptansätze: die Freigabe mit einem Reverse-Proxy und die direkte Freigabe ohne Reverse-Proxy. Beide Methoden haben ihre Vor- und Nachteile, unterscheiden sich in ihrer Komplexität und bergen spezifische Sicherheitsrisiken. Dieser Artikel beleuchtet beide Ansätze, vergleicht sie und entscheide dich selbst.
Video: Paperless Internetfreigabe Kompendium
Sprache: 🇩🇪
☝️ Benutze YouTube Untertitel für alle Sprachen.
Freigabe mit Reverse-Proxy
Die gängigste Methode, Paperless-ngx über das Internet zugänglich zu machen, ist die Nutzung eines Reverse-Proxys, wie etwa Nginx oder der integrierte Proxy eines Synology-NAS. Zunächst benötigt man eine öffentliche Domain oder eine DDNS-Adresse, beispielsweise paperless.deinname.synology.me, die auf einem Synology-NAS über die DSM-Oberfläche einfach eingerichtet werden kann. Alternativ lässt sich eine eigene Domain über einen DNS-Anbieter konfigurieren, indem ein A-Record auf die öffentliche IP-Adresse des Servers verweist. Der Reverse-Proxy leitet dann Anfragen von https://paperless.deinname.de an den internen Paperless-ngx-Port (z. B. 8010) weiter. Auf einem Synology-NAS erfolgt dies über die Systemsteuerung im Anwendungsportal, wo ein Reverse-Proxy für HTTPS auf Port 443 mit einem Let’s Encrypt-Zertifikat erstellt wird. Auf anderen Servern wird Nginx mit einer Konfiguration eingerichtet, die HTTPS aktiviert und die Weiterleitung an Paperless-ngx definiert.In der docker-compose.yml von Paperless-ngx müssen Umgebungsvariablen wie PAPERLESS_URL (z. B. https://paperless.deinname.de) und PAPERLESS_TRUSTED_PROXIES angepasst werden, um die Proxy-Integration zu gewährleisten. Anschließend wird Port 443 im Router freigegeben und an die interne Server-IP weitergeleitet. Die 2FA-Aktivierung erfolgt in der Web-Oberfläche von Paperless-ngx: Unter „My Profile“ wird ein QR-Code für eine TOTP-App wie Google Authenticator gescannt, und die generierten Wiederherstellungscodes sollten sicher gespeichert werden. Nach der Aktivierung erfordert jeder Login zusätzlich zum Passwort einen TOTP-Code.
Diese Methode bietet mehrere Vorteile. Die SSL-Integration ist dank Tools wie Let’s Encrypt oder Synology DSM unkompliziert, und ein Reverse-Proxy ermöglicht zusätzliche Sicherheitsfunktionen wie Rate-Limiting, IP-Filterung oder Header-Manipulation, die Angriffe wie Brute-Force oder DDoS erschweren. Zudem können mehrere Dienste über Subdomains auf Port 443 laufen, was die Skalierbarkeit erhöht. Allerdings birgt die Methode Sicherheitsrisiken: Port 443 ist im Internet exponiert, was Angriffe ermöglicht, wenn keine Firewall oder IP-Beschränkungen eingerichtet sind. Falsche Proxy-Konfigurationen können zudem zu Problemen wie CSRF-Fehlern führen. Ein weiterer Nachteil ist, dass die Paperless-ngx Mobile-App TOTP nicht direkt unterstützt, sodass ein API-Token für den App-Zugriff generiert werden muss.
Freigabe ohne Reverse-Proxy
Die Alternative ist die direkte Freigabe von Paperless-ngx ohne Reverse-Proxy, wobei der Container selbst HTTPS handhabt. Auch hier ist eine Domain oder DDNS-Adresse erforderlich. Ein SSL-Zertifikat, etwa von Let’s Encrypt, wird mit Tools wie certbot erstellt und die Dateien fullchain.pem und privkey.pem in das Paperless-ngx-Datenverzeichnis kopiert. In der docker-compose.yml wird der Container so konfiguriert, dass er direkt auf Port 443 lauscht, und Umgebungsvariablen wie PAPERLESS_SSL=true und PAPERLESS_URL=https://paperless.deinname.de werden gesetzt. Port 443 muss im Router an die interne Server-IP weitergeleitet werden. Die Aktivierung von 2FA erfolgt wie bei der Reverse-Proxy-Methode über die Web-Oberfläche.
Diese Methode ist architektonisch einfacher, da kein zusätzlicher Proxy-Server benötigt wird, was besonders für kleinere Setups attraktiv ist. Dennoch ist sie mit Herausforderungen verbunden. Die manuelle Einbindung von SSL-Zertifikaten ist fehleranfälliger und erfordert regelmäßige Updates bei Zertifikatserneuerungen. Ohne Reverse-Proxy fehlen Schutzmechanismen wie Rate-Limiting oder IP-Filterung, was die Angriffsfläche erhöht. Zudem ist die Skalierbarkeit eingeschränkt, da nur ein Dienst pro Port betrieben werden kann. Wie bei der Reverse-Proxy-Methode unterstützt die Mobile-App kein TOTP, was den API-Token-Zugriff erforderlich macht.
Vergleich und Sicherheitsbedenken
Die beiden Ansätze unterscheiden sich in mehreren Aspekten. Mit einem Reverse-Proxy ist die Architektur komplexer, da ein zusätzlicher Dienst konfiguriert werden muss, doch sie bietet mehr Sicherheit und Flexibilität. Der Proxy übernimmt die SSL-Terminierung und ermöglicht erweiterte Sicherheitsfunktionen, während Paperless-ngx intern über HTTP läuft. Ohne Reverse-Proxy ist die Konfiguration simpler, aber die direkte SSL-Integration im Container ist technisch anspruchsvoller und bietet weniger Schutzmechanismen. Beide Methoden setzen Port 443 im Internet frei, was Angriffe wie Brute-Force oder DDoS ermöglicht, wenn keine Firewall oder IP-Beschränkungen eingerichtet sind. Falsche Konfigurationen, etwa bei PAPERLESS_URL oder Zertifikaten, können zu CSRF-Fehlern oder unsicheren Verbindungen führen. Die 2FA-Einschränkung der Mobile-App betrifft beide Ansätze gleichermaßen.
Generell birgt die direkte Freigabe ohne Reverse-Proxy ein höheres Sicherheitsrisiko, da Schutzschichten wie Rate-Limiting oder eine Web Application Firewall fehlen. Beide Methoden erfordern sorgfältige Absicherung, etwa durch starke Passwörter, regelmäßige Updates und Backups. Für maximale Sicherheit ist ein VPN (z. B. WireGuard) die beste Alternative, da es den direkten Internetzugriff vermeidet und Paperless-ngx nur über ein privates Netzwerk erreichbar macht.
Die Cloudflare-Alternative
Eine Möglichkeit, den Reverse-Proxy nicht lokal betreiben zu müssen und trotzdem einen Reverse-Proxy zu nutzen, ist die Lösung über „Cloudflare“.
Hier kannst du genauso deine Weiterleitungen definieren und das SSL-Zertifikat von Cloudflare verwenden – ohne ein eigenes SSL-Zertifikat installieren zu müssen.
Cloudflare bietet dir außerdem die Möglichkeit, dein Heimnetzwerk per VPN weltweit erreichbar zu machen – ganz so, als wärst du zu Hause.
In diesem Vide zeige ich dir wie du Cloudflare VPN einrichtest:
Konfiguration unter Cloudflare
Sie benötigen ein Cloudflare-Konto (kostenloser Plan ausreichend), eine in Cloudflare verwaltete Domain (z. B. paperless.deinname.de) und eine laufende Paperless-ngx-Instanz (Version ≥2.14) in Docker. Der Cloudflare Tunnel Client (cloudflared) muss installiert werden, um die Verbindung zu Cloudflares Netzwerk herzustellen.
Melden Sie sich im Cloudflare-Dashboard an, navigieren Sie zu „Zero Trust > Networks > Tunnels“ und erstellen Sie einen Tunnel (z. B. „paperless-tunnel“). Kopieren Sie den Tunnel-Token. Installieren Sie cloudflared als Docker-Dienst in Ihrer Paperless-ngx-Umgebung, konfigurieren Sie es, um Anfragen an den internen Paperless-ngx-Port (z. B. 8010) weiterzuleiten, und stellen Sie sicher, dass Umgebungsvariablen wie PAPERLESS_URL und PAPERLESS_CSRF_TRUSTED_ORIGINS auf Ihre Domain (z. B. https://paperless.deinname.de) gesetzt sind. Starten Sie die Container, um die Verbindung zu aktivieren.
Mein Beitrag zum Cloudflare Tunnel einrichten – detailliert:
Im Cloudflare-Dashboard unter „Access > Applications“ fügen Sie eine „Self-Hosted“-Anwendung hinzu, setzen Ihre Domain und definieren Zugriffsrichtlinien, z. B. MFA über Google oder Okta, oder beschränken den Zugriff auf bestimmte Nutzer. Cloudflare stellt automatisch ein SSL-Zertifikat bereit, sodass keine manuelle Zertifikatsverwaltung nötig ist. Aktivieren Sie 2FA in Paperless-ngx über die Web-Oberfläche: Unter „My Profile“ scannen Sie den QR-Code mit einer Authenticator-App (z. B. Google Authenticator) und speichern die Wiederherstellungscodes sicher. Jeder Login erfordert nun Benutzername, Passwort und TOTP-Code.
Reserve-Proxy vs. Cloudflare: Vergleichbar, aber unterschiedliche Philosophien
Cloudflare Zero Trust ist in gewisser Weise mit einem Reverse-Proxy vergleichbar, da beide Anfragen an Paperless-ngx weiterleiten und HTTPS nutzen. Allerdings geht Cloudflare Zero Trust weit über die Funktionen eines traditionellen Reverse-Proxys hinaus, indem es Zero-Trust-Prinzipien wie strenge Identitätsprüfung, MFA und keine Portfreigabe integriert. Ein Reverse-Proxy ist lokal, flexibel und bietet volle Kontrolle, erfordert jedoch mehr manuelle Sicherheitsmaßnahmen. Cloudflare Zero Trust ist cloudbasiert, einfacher zu skalieren und bietet integrierte Sicherheitsfunktionen, setzt aber Vertrauen in Cloudflare voraus. Für Paperless-ngx ist Cloudflare Zero Trust sicherer, da es die Angriffsfläche minimiert und erweiterte Schutzmechanismen bietet. Dennoch könnte ein Reverse-Proxy für Nutzer bevorzugt sein, die lokale Kontrolle und Unabhängigkeit von Drittanbietern priorisieren. Für maximale Sicherheit bleibt ein VPN die beste Option, da es Paperless-ngx komplett vom öffentlichen Internet abschirmt, wie zuvor empfohlen.
Fazit
Die Freigabe von Paperless-ngx mit einem Reverse-Proxy oder Cloudflare ist die empfohlene Methode, da sie sicherer, benutzerfreundlicher und skalierbarer ist – insbesondere auf Systemen wie Synology NAS. Die Methode ohne Reverse-Proxy eignet sich für minimalistische Setups, ist jedoch riskanter und technisch anspruchsvoller. Wer sensible Dokumente verwaltet, sollte ein VPN in Betracht ziehen, um die Angriffsfläche zu minimieren. Unabhängig von der Methode sind eine korrekte Konfiguration, regelmäßige Updates und die Nutzung von 2FA entscheidend, um Paperless-ngx sicher über das Internet zugänglich zu machen.
Link zur Unterstützung / Spende für denn Kanal
PayPal Link
Überweisung, Bitcoin und Lightning
#PaperlessNGX #Docker #DokumentenManagement #SelfHosted #OpenSource #Papierlos #Homelab #DMS #Paperless #Anleitung #PaperlessOrganisieren #DocumentManagement #Guide #InternetFreigabe #PaperlesInternetFreigabe