Zum Hauptinhalt springen

Informationssicherheit und Datenschutz

Verarbeitete Daten

Gentrain verarbeitet personenbezogene Daten ausschließlich auf der Client-Seite. Personenbezogene Daten werden über Fallimporte hinzugefügt und im IndexedDB des Browsers gespeichert. Die Daten beziehen sich nicht auf den Benutzer selbst, sondern auf die Personen, die mit den bei den Gesundheitsämtern registrierten Fällen verknüpft sind.

NameBeschreibungQuelleServerseitige SpeicherungServerseitige VerarbeitungClientseitige SpeicherungClientseitige Verarbeitung
Fall IDEindeutige Kennung eines beim zuständigen Gesundheitsamt registrierten Falls. Wird verwendet, um Fälle zu identifizieren und Sequenzen den zugehörigen Fällen zuzuordnen.SurvNet, Octoware, ISGA
VornameVorname einer Person, die mit einem Fall verknüpft ist. Unterstützt die Fallzuordnung in Ausbruchsanalysen.SurvNet, Octoware, ISGA
NachnameNachname einer Person, die mit einem Fall verknüpft ist. Unterstützt die Fallzuordnung in Ausbruchsanalysen.SurvNet, Octoware, ISGA
AdresseAdresse einer Person, die mit einem Fall verknüpft ist. Unterstützt die Fallzuordnung in Ausbruchsanalysen.SurvNet, Octoware, ISGA
RegistrierungsdatumDatum, an dem ein Fall beim zuständigen Gesundheitsamt registriert wurde. Unterstützt die Fallzuordnung in Ausbruchsanalysen und das Filtern der in Diagrammen dargestellten Fälle.SurvNet, Octoware, ISGA
AusbruchsnameMit einem importierten Fall verknüpfter Ausbruch. Dient der Darstellung in Diagrammen und zum Filtern.SurvNet, Octoware, ISGA
KontaktinformationenVerknüpfung zwischen zwei Fällen und deren Art des Kontakts. Unterstützt die Ausbruchsanalysen, indem sie zusätzliche Informationen über Infektionsvorkommen liefert.SurvNet, Octoware, ISGA
Fasta IDKennung einer Sequenz, die einem importierten Fall zugeordnet ist. Dient der Identifizierung von Sequenzen und der Zuordnung von Fällen zu importierten Sequenzen.Sequencing Labs
Genetische SequenzenSequenzen, die mit importierten Fällen verknüpft sind. Sie dienen der Berechnung genetischer Abstände zwischen Fällen, die wiederum Ausbruchsanalysen unterstützen.Sequencing Labs
Ergebnis der SequenzanalyseSequenzen werden auf Mutationen basierend auf dem entsprechenden Referenzgenom analysiert. Diese Ergebnisse werden serverseitig maximal 30 Minuten gespeichert, falls Benutzer die Websocket-Verbindung schließen (z. B. durch Schließen des Browser-Tabs) und die Ergebnisse nicht sofort abrufen können.Intern(temporär)

Genetische Daten, wie Virus- und Bakteriengenome, werden an den Server übertragen, und Analyseergebnisse werden temporär für maximal 30 Minuten gespeichert.
Diese enthalten Informationen über Mutationen basierend auf dem entsprechenden Referenzgenom.
Bei der Kommunikation mit dem Server werden Sequenzen aggregiert und anonymisiert, wobei nur ein Hash als Referenz dient.

Es ist auch möglich, flexible Daten-Spalten zum Fallimport hinzuzufügen. Diese Daten werden zum Filtern von Diagrammen genutzt und nur auf der Client-Seite gespeichert und verarbeitet.

Datenverarbeitungsoperationen

OperationBeschreibungDatenZweck
DatenimportImport von Daten aus Fasta- / CSV-DateienFälle, Sequenzen, KontakteDatenbasis für Ausbruchsanalysen
Clientseitige Speicherung importierter DatenSpeicherung von Daten aus Fasta- / CSV-DateienFälle, Sequenzen, KontakteDatenbasis für Ausbruchsanalysen
DatenbankexportExport von in IndexedDB gespeicherten DatenClientseitiger AnwendungszustandPersistente Datenverwaltung, Zustandsfreigabe, Backups
DatenbankimportImport von in IndexedDB gespeicherten DatenClientseitiger AnwendungszustandPersistente Datenverwaltung, Zustandsfreigabe, Backups
SequenzanalyseWebsocket-Kommunikation zwischen Client und ServerAnonymisierte Sequenzdaten, MutationsinformationenAnalyse von Mutationen, um relevante Sequenzinformationen komprimiert zu speichern
Clientseitige Speicherung der AnalyseergebnisseSpeicherung in IndexedDBMutationsinformationenBerechnung von Abständen zwischen Sequenzen
Serverseitiges Caching der AnalyseergebnisseTemporäre Speicherung im Redis-Cache (max. 30 Minuten)MutationsinformationenErgebnisse bei Verlassen der Anwendung durch den Benutzer zwischenspeichern
Serverseitiges Caching von SequenzchunksTemporäre Speicherung im Redis-Cache (bis alle Chunks übertragen wurden oder max. 30 Minuten)Anonymisierte Sequenzen, anonymisierte AssembliesZuverlässige Websocket-Übertragung trotz großer Datenmengen
Export des AusbruchsberichtsExport einer Ausbruchsanalysen mit Fall-, Sequenz- und Kontaktinformationen in Form einer PDF-DateiFälle, Sequenzen, KontakteSammlung und Export von Ausbruchsanalysen und deren Ergebnissen

Absicherung der Postgres-Datenbank

Der Docker-Container, der die Postgres-Instanz ausführt, läuft als Nicht-Root-Benutzer. Der Zugriff auf die Datenbank erfordert Authentifizierung.

Absicherung von Redis

Die offizielle 'Redis-Sicherheitsrichtlinie' wurde konsequent befolgt, mit Ausnahme der TLS-Verschlüsselung, da der gentrain-redis Container nur vom lokalen Docker-Netzwerk aus zugänglich ist.
Der Docker-Container, der Redis ausführt, läuft als Nicht-Root-Benutzer, und die Legacy-Authentifizierung ist aktiviert. Außerdem ist die lokale Docker-IP-Adresse gebunden, um Zugriffe von anderen Quellen zu verhindern. ACL-Regeln wurden für gefährliche Befehle konfiguriert:

  • alle Befehle außer gefährlichen (-@dangerous) sind erlaubt
  • die Befehle +client|list und +keys sind explizit erlaubt, da python-rq diese nutzt

Absicherung des Admin-Panels

Authentifizierung

Um auf das GENTRAIN Admin-Panel zuzugreifen, müssen sich Benutzer authentifizieren. Verschiedene Rollen wurden implementiert, um nur bestimmten Benutzern die Benutzerverwaltung zu erlauben.

Admin-Passwörter müssen beim ersten Login gesetzt werden und folgende Regeln erfüllen:

  • mindestens 8 Zeichen
  • mindestens 1 Zahl
  • mindestens 1 Sonderzeichen ($, #, @, !, *, .)

Datei-Uploads

Der Zugriff auf andere Verzeichnisse als die angegebenen Upload-Standorte ist für den Ubuntu-Benutzer, der das Admin-Panel ausführt, nicht erlaubt. Hochgeladene Dateien werden zudem strikt anhand der erwarteten Dateimuster überprüft. Zusätzlich werden Dateien (auch einzelne Datein von Zip-Archiven) mittels ClamAV auf Sicherheitslücken überprüft. Wenn der durchgeführte ClamAV-Scan auf Sicherheitslücken hinweist, wird der Upload verhindert. Dies gilt für Schemata- und Beispieldaten-Uploads.

Absicherung der Websocket-Verbindung

Die WebSocket-Kommunikation ist TLS-verschlüsselt.