TYPO3 Filetransfer-Extension

TYPO3-Plugin für sicheres Filesharing

Problem:
Eine sichere und zugleich DSGVO-konforme Übertragung von Dateien ist durch externe Anbieter (WeTransfer, Dropbox) kritisch.

Ziel:
Eine eigene Dateitransfer-Lösung mit voller Transparenz und Kontrolle über den Dateitransfer – ohne laufende Kosten oder Abos.

Was?App, WebJahr2019

Kernfeatures:

  • Einfaches, intuitives Upload-Tool für Dateien
  • Download läßt sich zeitlich begrenzen und per Passwort schützen
  • Optionale Benachrichtigung nach Download
  • Individueller Begrüßungstext
  • Upload von sehr großen Dateien
  • Sichere Übertragung der Daten an den eigenen Webserver
  • Verschlüsselte Speicherung der Dateien im Dateisystem
  • Ausführliches Logfile im Backend mit Info über den Status der Downloads
  • Passwörter, Dateinamen etc. sind an keiner Stelle im Klartext lesbar

Upload-Formular

Download-Formular

Backend: Logfile

Technische Details und DSGVO-Infos

Übertragung und Speicherung der (physischen) Dateien auf dem Server:

  • Alle Dateien werden später auf dem Live-Server während des Up- und Downloads per TLS sicher
    übertragen
  • Das Passwort (sowohl beim Up- als auch Download) wird bei der Übertragung zusätzlich zum TLS noch per AES-256 verschlüsselt. Das automatisch vorgeschlagene Passwort ist 12 Zeichen lang und enthält Groß/Kleinbuchstaben, Zahlen und Sonderzeichen.
  • Die Dateien auf dem Server liegen in einem geschützten Verzeichnis außerhalb des Webverzeichnisses.
  • Große Dateien werden bei der Übertragung automatisch in kleinere „Portionen“ geteilt, dadurch lassen sich technische Beschränkungen (wie die maximale Upload-Größen) seitens des Hosts umgehen. Theoretisch ist die Dateigröße nur durch den Festplatten-Speicher begrenzt.
  • Die Dateien auf dem Server werden in Chunks / Fragmente gesplittet, jeder Chunk ist ebenfalls einzeln per AES-256 mit unterschiedlichen Passwörtern verschlüsselt, die Dateinamen sind unleserlich und geben keinen Rückschluss auf den Dateityp mehr. Selbst beim Zugriff über FTP ist ein Zusammenfügen der Chunks und eine Entschlüsselung (nahezu) ausgeschlossen.
  • Erst beim Download werden die Chunks zusammengeführt und per Streaming in Echtzeit entschlüsselt, sowie sicher per TLS übertragen. Die Datei wird dabei zu keinem Zeitpunkt vollständig entschlüsselt auf dem Server gespeichert.
  • Alle kritischen Felder (Passwörter, lesbare Dateinamen etc.) werden in der Datenbank ebenfalls verschlüsselt gespeichert. Nach Beenden des Uploads gibt es aus Sicherheitsgründen keine Möglichkeit – auch nicht für den Admin – das bestehende Passwort eines Downloads einzusehen oder zu ändern.
  • Bei mehr als 3 Login-Fehlversuchen wird der Download gesperrt. Der Admin kann die Sperrung im Backend wieder aufheben.

Speicherung der Zugriffe in der Datenbank:

  • Jeder Download und Login-Versuch wird zur Sicherheit protokolliert. Wir speichern dabei die IP-Adresse in voller Länge für 30 Tage. Nach 30 Tagen wird die IP-Adresse anonymisiert, in dem der letzte Block entfernt wird (aus 5.12.10.111 wird 5.12.10.x), Nach 6 Monaten wird der Logeintrag dann vollständig gelöscht. Der Admin (Typo3-Backend-User) kann dieses Logfile dateibezogen im Backend einsehen.
  • Wir speichern in der Datenbank folgende Informationen: Download-Dateiname, IP-Adresse des Benutzers, Zeitpunkt des Downloads und Status (success / fail)

Technische Basis:

  • Entwickelt als Typo3-Extension für Typo3 ab Version 7+, als Standalone-Lösung installierbar