ubuntuusers.de

Auf KeepassXC von mehreren Geräten zugreifen

Status: Gelöst | Ubuntu-Version: Xubuntu 18.10 (Cosmic Cuttlefish)
Antworten |

Tut-tut

Avatar von Tut-tut

Anmeldungsdatum:
24. August 2012

Beiträge: 1385

Hallo an euch,

ich möchte KeepassXC-Datenbank gemeinsam auf mehreren Geräten nutzen, so auf dem Xubuntu-PC und zwei Xiaomi Mi-8-Smartphones. Ich habe vor Jahren gelesen, dass z.B. das Speichern der Datenbank in Dropbox unsicher sein soll.

Daher die Frage aktuell, ob es heute eine relativ sichere Möglichkeiten gibt, die keepass.kdbx zentral zu speichern, um darauf mit mehreren Geräten zugreifen zu können, z.B. die Google-Cloud?

Ein NAS scheidet leider aus, da ich zwar eine Synology besitze, diese aber nicht im Internet frei gegeben habe.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

Tut-tut schrieb:

[…] Ich habe vor Jahren gelesen, dass z.B. das Speichern […] in Dropbox unsicher sein soll.

Das ist es immer noch.

Es ist eine schlechte Idee, private Schlüssel dort zu speichern, wo andere Zugriff haben. Ungefähr so, wie z.B. seinen Haustürschlüssel unter die Fußmatte zu legen oder sein Rechnerpasswort unter die Tastatur zu kleben. Auch wenn man Schlüssel verschlüsselt, bleibt es eine schlechte Idee, andere darauf zugreifen zu lassen. Private Schlüssel speichert man dort und nur dort, wo man ausschließlich selbst zugreifen kann.

Tut-tut

(Themenstarter)
Avatar von Tut-tut

Anmeldungsdatum:
24. August 2012

Beiträge: 1385

Danke sehr!

Dann bleibt mir also nichts weiter übrig als die Datenbank vom PC auf das Smartphone zu kopieren oder ist jene auf dem Smartphone auch nicht sicher gelagert?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

Tut-tut schrieb:

[…] Datenbank […] ist jene auf dem Smartphone auch nicht sicher gelagert?

Sicherheit fängt beim eigenen Verhalten an. Wenn Du durch eigenes Verhalten ausschließen kannst, dass Dein Smartphone in unbefugte Hände gelangt und wenn doch, diese Unbefugten dann mit Deiner Datenbank nichts anfangen können, dann ist die Datenbank dort wohl sicher.

Tut-tut

(Themenstarter)
Avatar von Tut-tut

Anmeldungsdatum:
24. August 2012

Beiträge: 1385

Ja, daran glaube ich! Die Datenbank ist verschlüsselt und kann nicht einfach gelesen werden.

Vielen Dank für die Auskünfte!!! ☺

Gaudibrezn

Avatar von Gaudibrezn

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 204

Wohnort: Landau

Servus Tut-tut,

vielleicht wäre ja Syncthing etwas für dich. Syncthing (ist Open Source zu BitTorrent Sync) synchronisiert Dateien und Ordner zwischen mehreren Geräten (Cross-Platform) mit dem BitTorrent-Protokoll im eigenen Netzwerk.
Die Konfiguration via GUI ist nicht ganz so trivial, aber auch nicht schwer. Zumindest hab ich das noch so in Erinnerung. Ob das auch mit deinem NAS funktioniert kann ich dir mangels Anwendungsfall leider nicht sagen. Zwischen den Geräten geht das ganze jedoch sehr gut. 😉

Balu62

Avatar von Balu62

Anmeldungsdatum:
22. Oktober 2007

Beiträge: 972

Wohnort: Bern / Schweiz

Grundsätzlich ist das immer ein Kompromiss zwischen Usability und Security. Eine Keepass-DB ohne weiteren Schutz in einer Cloud zu speichern, setzt die Sicherheit mal grundsätzlich runter. Die Wahrscheinlichkeit, dass Deine Keepass-DB in fremde Hände gelangen kann, wird dadurch natürlich erstmal erhöht. Du kannst das aber wieder kompensieren, indem Du einen weiteren Faktor dazu nimmst - nämlich ein Key-File. Du hast damit zwei Schlüssel-Komponenten für Deine Keepass-DB: Einmal das (sichere) Passwort und zum zweiten das Key-File. Dieses Key-Flie musst Du aber unbedingt händisch auf alle zu nutzenden Geräten kopieren, also auf keinen Fall ebenfalls in der Cloud ablegen! Das musst Du jedoch nur einmal pro Gerät tun und nicht bei jeder Änderung der DB. Fällt die DB einem Angreifer in die Hände (Cloud-Zugang gehackt), ist es ohne Key-File (also den zweiten Schlüssel) wertlos. Auch wenn der Angreifer das Passwort der DB hacken könnte, ist ohne Key-File die DB nicht zu öffnen / einsehbar.

Mit einem sicheren Passwort auf der Cloud, einem ebenfalls sicheren Passwort auf dem Keepass-File und dazu noch dem Key-File, ist das Risiko auf jeden Fall faktisch nicht grösser, als wenn Du das DB-File - so wie Du es aktuell tust - auf dem Handy mit dir herumträgst.

Eine weitere Möglichkeit, die Keepass ebenfalls anbietet, wäre das Challenge-Response Verfahren, z.B. mittels YubiKey. Damit würdest Du die Sicherheit insgesamt gegenüber aktuell tatsächlich noch erhöhen.

Eine gute und praktikable Lösung, welche das zusätzliche Risiko des Speicherns in der Cloud wieder wettmacht, stellt aber eben das Key-Flie dar.

pacmexx

Anmeldungsdatum:
11. Februar 2019

Beiträge: 56

Hallo,

jetzt bitte nochmal nur zum Verständnis. Ich lege ein Keepass-DB welche zum einen mit Passwort gesichert ist weiterhin zum öffnen zusätzlich eine Key-File benötigt in der Dropbox ab welche an sich nochmals mit einem eigen Passwort geschützt, in Summe also drei mal verschlüsselt ist. Jetzt öffne ich von einem beliebigen externen Gerät aus, unter Nutzung des Passwortes und auf dem externen Gerät hinterlegtem Key-File, die Keepass-DB in der Dropbox und nutze die darin hinterlegten Benutzernamen und Passwörter zum Einloggen in meine Accounts. Die Übertragung von BN und PW aus einer geöffneten Keepass-DB von der Dropbox an die Anmeldeseite eines Accounts erfolgt jetzt verschlüsselt, für eine Dritte Partei nicht erkennbar, oder im Klartext?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

pacmexx schrieb:

[…] Die Übertragung von BN und PW […] erfolgt jetzt verschlüsselt, für eine Dritte Partei nicht erkennbar, oder im Klartext?

Deine Skepsis ist berechtigt. Je komplizierter man es macht, umso größer ist die Wahrscheinlichkeit, dass

  • man es selber irgendwann falsch bedient,

  • oder einer der dazwischen geschalteten Dienste auf dem Übertragungsweg nicht so funktioniert, wie man es selber angenommen hat,

  • oder ein professioneller Schnüffler die Daten abgreift,

  • oder …

Grundsätzlich ist bei sicherheitskritischen Problemen die einfache, übersichtliche, selbst gut verstandene Lösung gepaart mit dem eigenem vernünftigem Verhalten anzuwenden.

Die Speicherung von sensiblen Daten in einer öffentlichen Clowd ist kein sicheres Verhalten.

Die ständige Mitführung von sensiblen Daten auf einem Gerät, welches man verlieren kann, welches einem gestohlen werden kann, oder welches ins Klo fallen kann, ist auch kein sicheres Verhalten.

Wer sich sicher verhalten will, muss bereit sein, die eigene Bequemlichkeit einzuschränken.

Balu62

Avatar von Balu62

Anmeldungsdatum:
22. Oktober 2007

Beiträge: 972

Wohnort: Bern / Schweiz

Wie ich Eingangs bereits geschrieben habe, es ist immer eine Abwägung von Sicherheit und Anwendbarkeit. Das Ganze muss man, wie alles in der Informationssicherheit, Risikobasiert beurteilen. Also lass uns das mal sachlich und Faktenbasiert betrachten:

Bei der Keepass-DB sprechen wir von einem AES-256-verschlüsselten File. Das ist der Standard, der z.B. in den USA für Dokument mit höchster Geheimhaltungsstufe zugelassen ist. Die Sicherheit steht und fällt somit mit dem verwendeten Passwort. Bereits mit 12 Zeichen, bestehend aus Gross-/Kleinbuchstaben, Zahlen und Sonderzeichen, bist Du zum knacken bei einer geschätzten Rechenzeit von mehreren Millionen Jahren. Das ist der Schutz bzw. das Risiko, das Du aktuell hast, wenn jemand Dein Handy klaut oder Zugriff auf Deine Cloud erhält. Ob Dein verwendetes Passwort-Muster sicher ist, kannst Du z.B. hier überprüfen.

Als Vergleich zur Abwägung Deines Risikos: Unternehmen verschlüsseln die Festplatten für ihre Notebooks (mit sensiblen Geschäftsdaten), mit denen die Mitarbeiter in der Welt rum rennen, heute als Quasi-Standard mit Bitlocker mit meistens "nur" AES-128.

Bis dahin aus meiner Sicht ein vertretbares Risiko 😉

Jetzt kommt noch die Komponente Cloud, also z.B. Dropbox, ins Spiel: Dadurch erhöhst Du das Risiko, dass Deine Keepass-DB in fremde Hände gelangen könnte. In der Praxis ist das Risiko, dass jemand dadurch an Deine Daten gelangt, immer noch sehr gering - siehe oben. Nichts desto trotz minimieren wir jetzt aber dieses Risiko gleich wieder, in dem wir eben das Key-File - als zweiten Faktor - dazu nehmen. Das Key-File ist nichts anderes als ein zweiter hochsicherer Schlüssel. Wenn Du die DB mit "Passwort + Key-File" definierst, kannst Du sie nur noch öffnen, wenn beide Schlüssel passen. Da der zweite Schlüssel aber nur auf Deinen Geräten abgelegt ist, nicht aber auf der Cloud, ist die in der Cloud geklaute Keepass-DB faktisch wertlos.

Das Key-File musst auf jedem Gerät (Notebook, Handy, Home-PC, Tablet, ...), auf dem Du Keepass nutzen willst, vorhanden sein. Das Key-File aber auf gar keinen Fall auch auf die Cloud schmeissen! Wenn jemand Deinen Cloud-Zugang hacken würde, hätte er dann Deine Keepass-DB und das Key-File. Das wäre etwa so sinnvoll, wie wenn Du an Deiner Tür zwei Schlösser montierst und bei einem den Schlüssel gleich daneben hängst.😉

pacmexx schrieb:

Jetzt öffne ich von einem beliebigen externen Gerät aus, unter Nutzung des Passwortes und auf dem externen Gerät hinterlegtem Key-File, die Keepass-DB in der Dropbox

Nein, falscher Ansatz! Die Verbindung zu Deiner Dropbox erfolgt zwar über https, also verschlüsselt. Wesentlich sinnvoller und sicherer ist es aber, mit einer lokalen Kopie der Keepass-DB zu arbeiten. Die Synchronisation dieser lokalen Files sind Standard-Funktionen von Cloud-Diensten. Du öffnest die DB nicht auf der Cloud sondern nur lokal. Der Datenaustausch mit Anwendungen erfolgt somit ebenfalls lokal. Online - also zwischen Deinen Geräten und der Cloud - wird nur das das geschlossene DB-File (meinekeepassdb.kdbx) übertragen. Deine Zugangsdaten aus Keepass brauchst Du ja durchaus auch mal wenn Du offline bist, also keine Verbindung zu Deiner Dropbox hast.

Zum einen gibt es für alle gängigen Betriebssysteme lokale Sync-Clients (Ubuntu/Linux, Win, Mac, Android, ...) zum anderen beherrschen einige Keepass-Clients die Synchronisation gleich selbst. Ein Beispiel dafür wäre Keepass2Android.

Zur Funktionsweise: Du öffnest z.B. auf Deinem PC die Keepass-DB und legst einen neuen Eintrag an. Nach dem speichern / schliessen der Datei wird diese automatisch wieder zur Cloud synchronisiert. Von da wird das File dann wiederum auf jeden Client synchronisiert. Ist z.B. Dein Handy gerade offline, hast Du immerhin all Deine Zugangsdaten, bis auf den letzten neuen Eintrag den Du auf dem PC angelegt hast, zur Verfügung. Sobald Dein Handy wieder online ist, erfolgt die Aktualisierung.

kB schrieb:

Die Speicherung von sensiblen Daten in einer öffentlichen Clowd ist kein sicheres Verhalten.

Ideal wäre sicherlich das speichern in einer privaten Cloud, über die man selbst die Hoheit hat. Wenn aber der unbedarfte Otto-Normaluser selbst einen z.B. Nextcloud-Server betreibt und ihn nach extern zur Verfügung stellt, ist das Risiko in Summe wesentlich grösser, als eine Public-Cloud zu nutzen. Zudem sprechen wir hier nicht von Klartext-Daten, sondern hoch-sicher verschlüsselten Daten.

Die ständige Mitführung von sensiblen Daten auf einem Gerät, welches man verlieren kann, welches einem gestohlen werden kann, ist auch kein sicheres Verhalten.

Da gebe ich Dir in der Theorie natürlich recht, nur leider fernab der Praxis. Es gibt anno 2019 tatsächlich Leute, die ihre div. Zugangsdaten nicht nur im stillen Kämmerlein, sondern auch unterwegs benötigen. Wie machst Du das denn in der Praxis? Du schreibst Dir Zugangsdaten, die Du unterwegs brauchst, auf einen Zettel und steckst ihn in die Hosentasche? Das ist natürlich vieeel sicherer als eine mit einem starken Passwort verschlüsselte AES-256 Keepass-DB auf dem Handy...😉

Wer sich sicher verhalten will, muss bereit sein, die eigene Bequemlichkeit einzuschränken.

Ich kann natürlich dem TS eine relativ sichere Lösung anbieten: Alle Zugangsdaten, die im Keepass stehen, auswendig lernen. Das natürlich mit sicheren (also entsprechend langen, komplexen und regelmässig geänderten) Passwörtern. Keepass selbst auf einen USB-Stick speichern und in ein Bankschliessfach legen. Das Masterpasswort notieren und in einen verschlossenen Umschlag ebenfalls in ein Schliessfach bei einer anderen Bank legen. Natürlich musst Du dann bei jeder Passwortänderung zur Bank fahren und den USB-Stick entsprechend updaten. Wenn Du ab und zu das Masterpasswort änderst, auch noch zur zweiten Bank fahren und das hinterlegte Masterpasswort entsprechend updaten. Damit haben wir viele potentielle Risiken auf ein Minimum reduziert. Für die Anwendbarkeit dieses - aus reiner Security-Sicht - sichereren Ansatzes sehe ich allerdings schwarz...

oder welches ins Klo fallen kann

...und genau dafür ist es eben sinnvoll, wenn man die DB synchronisiert...

Nochmals: Sicherheit und Anwendbarkeit müssen immer ausgewogen sein! Wenn ich die reine Sicherheit so hochschraube, dass die Anwendbarkeit leidet, finden die User schnell irgendwelche Umgehungsmassnahmen. Dies führt dann dazu, dass die Sicherheit tatsächlich reduziert anstatt erhöht wird. Gerade der Umgang mit Passwörtern ist ein recht gutes Beispiel: Verbiete ich z.B. den Einsatz von Keepass auf mobilen Devices, führt das dazu, dass die User genau das tun, was wir nicht wollen: Für mehrere Accounts das selbe Passwort, triviale Passwörter, Passwörter werden nicht regelmässig (sprich nie) geändert, Zugangsdaten werden in Klartext notiert, ...

pacmexx

Anmeldungsdatum:
11. Februar 2019

Beiträge: 56

Hallo und Danke für die ausführliche Erklärung - das hilft. Ich werde mich mal daran machen und die Sache entsprechend umsetzen. Bezüglich des Key-Files hätte ich aber noch eine Frage. Muss das Key-File ein bestimmtes Format, Größe und Inhalt haben oder kann es auch etwas unverdächtiges wie jpeg, png oder mp3 sein?

Balu62

Avatar von Balu62

Anmeldungsdatum:
22. Oktober 2007

Beiträge: 972

Wohnort: Bern / Schweiz

pacmexx schrieb:

Muss das Key-File ein bestimmtes Format, Größe und Inhalt haben oder kann es auch etwas unverdächtiges wie jpeg, png oder mp3 sein?

Grundsätzlich sind auch andere Formate als .key möglich.

Am besten / sinnvollsten ist es jedoch, dir gleich von KeepassXC ein solches File generieren zu lassen. Dafür öffnest Du Dein bestehendes Keepass-DB-File* und wählst unter dem Menüpunkt "Datenbank" den Eintrag "Hauptschlüssel ändern". Dann wählst Du, unterhalb des Passworts, "Schlüsseldatei" aus und dann "Erstellen". Im folgenden Dialog einen Namen für das Key-File (meinkeyfile.key) vergeben. und bestätigen. Damit wird ein File mit einem zufälligen Code erstellt, welcher in etwa einer Passwort-Entropie von ca. 900 - 1000Bit entspricht. Also einen sehr komplexen Schlüssel, der sich auch nicht in zig Millionen Jahren irgendwie nachträglich generieren lässt. Zum Vergleich: Mein im vorhergehenden Mail beschriebenes, sichere Passwort hat "nur" eine Entropie von ca. 100 Bit.

Dann oben im dem Dialog Dein gewünschtes Passwort eingeben und danach das File speichern. Beim nächsten öffnen musst Du neu (einmalig) noch den Pfad zu Deinen Key-File angeben und das wars. Zukünftig kannst Du auf diesem PC das File wie gewohnt mittels Passwort öffnen, der Pfad zum Key-File bleibt gespeichert. Wenn Du die DB auf einem anderen System nutzen willst, musst Du dort einmalig das Key-File hin kopieren und in der Keepass-App den Pfad dazu angeben.

*Wenn Du ganz sicher gehen willst, leg Dir vor dieser Übung noch eine Sicherungskopie Deines DB-Files an - nur für den Fall das was schief geht.😉

Tut-tut

(Themenstarter)
Avatar von Tut-tut

Anmeldungsdatum:
24. August 2012

Beiträge: 1385

Sehr interessante Diskussion! Habe ich erst jetzt gelesen.

Ich mache es inzwischen so, die .kdbx trotz redundanter Datenführung auf dem PC und zusätzlich auf dem Handy zu speichern (dort nehme ich K2A-Offline. Ja, ich brauche Keepass - wie von Balu62 beschrieben - unterwegs.

Das PW für die .kdbx habe ich der Sicherheit entsprechend lang gewählt. Einen zusätzlichen Schlüssel möchte ich nicht verwenden, weil ich die Erfahrung damit vor zig Jahren gemacht hatte. "Damals" speicherte ich den Schlüssel noch auf Diskette und einmal war der Schlüssel beschädigt, dann kam ich nie wieder an mein Keepass ran. Auch so ist mein Eindruck, dass ein solcher Schlüssel noch mehr Zeit benötigt, mich z.B. am Handy in die .kdbx einzuloggen. Schon die Eingabe des PW am Handy ist bei den verschiedenen Zeichen (Tastaturwechsel) umständlicher als am PC.

Balu62

Avatar von Balu62

Anmeldungsdatum:
22. Oktober 2007

Beiträge: 972

Wohnort: Bern / Schweiz

Tut-tut schrieb:

Das PW für die .kdbx habe ich der Sicherheit entsprechend lang gewählt.

Nur als Hinweis: Bedenke, das die Länge nur ein Faktor darstellt! Die Anzahl verwendeter Zeichen ("Zeichenraum" = Zahlen, Gross-/Kleinschreibung, Sonderzeichen) ist mindestens eben so wichtig! Die Komplexität ist = ZeichenraumPasswortlänge. Mit nur Zahlen und einer Länge von 12 hast Du 1012, anstelle von 6212 bei Gross-/Kleinschreibung und Zahlen. Bei einer Brut-Force Attacke ein Unterschied von ein paar wenigen Minuten zu mehreren Millionen Jahren 😉

Einen zusätzlichen Schlüssel möchte ich nicht verwenden, weil ich die Erfahrung damit vor zig Jahren gemacht hatte. "Damals" speicherte ich den Schlüssel noch auf Diskette und einmal war der Schlüssel beschädigt, dann kam ich nie wieder an mein Keepass ran.

Na dann hast Du einen wichtigen Aspekt von Sicherheit ausser acht gelassen: Die Verfügbarkeit. Von so wichtigen Daten hat man immer ein Backup, auf das man zurückgreifen kann.

Auch so ist mein Eindruck, dass ein solcher Schlüssel noch mehr Zeit benötigt, mich z.B. am Handy in die .kdbx einzuloggen. Schon die Eingabe des PW am Handy ist bei den verschiedenen Zeichen (Tastaturwechsel) umständlicher als am PC.

Wenn das Keyfile auf den Handy gespeichert ist, ergibt absolut keinerlei Zusatzaufwand. Wenn Du aber die Passwort-DB nicht über Netzwerk synchronisierst, ergibt sich aus dem Keyfile aber auch kein Zusatznutzen. Wenn jemand Dein Handy klaut, liegt der zweite Schlüssel ja dann eben schon dabei. Ein Key, der nur bei Bedarf beigestellt wird (z.B. Keyfile auf USB-Stick oder YubiKey), würde hier helfen, reduziert aber wieder die Anwendbarkeit. Da sind die Anforderung sehr unterschiedlich, je nachdem um welche Daten es sich handelt. Es ist durchaus ein Unterschied, ob Du die Zugangsdaten für einen simplen Mailaccount oder die Codes zum auslösen eines Atomangriffs in deiner Keepass-DB aufbewahrst 😉

Tut-tut

(Themenstarter)
Avatar von Tut-tut

Anmeldungsdatum:
24. August 2012

Beiträge: 1385

Danke vielmals! Jetzt habe ich eine bessere Vorstellung darüber, warum es sinnvoll ist, Sonderzeichen sowie Groß- und Kleinschreibung zu nutzen! 👍

Antworten |