Durch die Enthüllungen der letzten Zeit wird schnell klar, wie wichtig der Schutz der Privatsphäre und der privaten Daten sind. Sicher ist die Frage „Wer interessiert sich schon für meine Daten?“ ein Argument dagegen. Dafür spricht allerdings, dass die Umsetzung einer privaten Cloud recht einfach ist.
Cloud als Backup
Auf http://owncloud.org/ steht eine solche Lösung zur Verfügung. In Kombination mit einem Raid 1 NAS bietet es schon ein gewisses Maß an Datenschutz und Sicherheit. Allerdings wird schnell klar, dass man damit niemals die Datensicherheit erreichen kann, welche etablierte Cloudanbieter mit ihren geographisch verteilten Speicherrecks anbieten. Warum also nicht den kommerziellen Cloudspeicher als billiges, verschlüsseltes Backupmedium verwenden?
Nach etwas Recherche und diversen Evaluationstests wurde klar, dass bisher kein Programm alle Anforderungen für ein effizientes und sicheres Backup bietet. Bedingt durch die von Privatanwender genutzten asynchronen DSL-Anschlüsse wird ein inkrementell und verschlüsselt arbeitendes Backup-Tool benötigt. Einige Programme wie http://duplicity.nongnu.org/ kommen dem schon recht nahe, haben aber den Nachteil, dass sie ein großes verschlüsseltes Komplettsicherungsfile und viele darauf aufbauende Änderungsfiles hochladen.
Nun hat man die Wahl, alle paar Monate ein neues riesiges Komplettsicherungsfile hochzuladen oder nach ein paar Jahren mit Tausenden von Änderungsfiles hantieren zu müssen. Beides ist mit einer asynchronen DSL-Leitung nicht wirklich praktikabel. Außerdem macht es keinen Sinn, zum Beispiel alte Fotos, welche sich nie wieder ändern, jedes Mal in einem neuem Komplettsicherungsfile hochzuladen. Also muss eine eigene Lösung her.
Anforderungen
- Portabel
- Verschlüsselung sämtlicher Daten inklusive Dateinamen
- Komprimieren der Daten
- Inkrementelle Sicherung
- Einfaches Wiederherstellen der Daten
- Sicherung aller Metadaten wie Zugriffsrechte, Eigentümer, Linktargets
- Schnelles Feststellen der Änderungen
Nach ein paar Wochen Arbeit veröffentlichte ich mein mittlerweile gereiftes Projekt CloudSync unter https://github.com/HolgerHees/cloudsync
Arbeitsweise
Um eine möglichst große Entwicklerbasis anzusprechen und um es portabel zu halten, entschied ich mich für Java. Das Programm selbst verschlüsselt sämtliche Daten per OpenPGP mit AES256, Zip-Komprimierung und einem Passwort. Hierdurch sind schon mal die ersten drei Punkte abgehakt. Jede Datei wird einzeln auf den Server hochgeladen, wobei sowohl der Dateiname, der Dateiinhalt als auch die Metadaten verschlüsselt werden. Zusätzlich kann man per Regex-Parameter bestimmte Dateien ein- oder ausschließen. Fürs Erste wird alles mit einem Passwort gesichert. Später werde ich auch noch Public-Key-Verschlüsselung einbauen.
Alles was hochgeladen wurde, wird in einem „Cache“-File festgehalten. Hierdurch können später lokale Änderungen im Dateisystem ohne Serverrequests festgestellt werden. Im Falle, dass die Cache-Datei korrupt ist oder gelöscht wurde, kann sie durch einen kompletten „Serverscan“ wiederhergestellt werden. Dies dauert dann natürlich etwas länger.
Der Zugriff auf GoogleDrive wurde in einer separaten „Connector“-Klasse gekapselt, so dass es relativ leicht ist, weitere Cloud-Dienste wie Amazon Cloud Drive oder Mirosoft One Drive zu integrieren. Es müssen hierfür nur 6 Funktionen des Connector-Interfaces implementiert werden.
Aktueller Status
Mittlerweile ist das Programm unter Linux erfolgreich im Einsatz und hat schon etliche Gigabyte an Daten per Cron Job gesichert. Weiterhin kam vor kurzem die Unterstützung für Windows und OS X, eine umfangreiche ACL- und FAT32-Attribute-Implementierung sowie eine Vorschauversion für einen Dropbox Connector hinzu.
Ziele
Ziel ist es nun, eine „Community“ an Benutzern und Entwicklern für das Projekt zu begeistern, um weitere Cloud-Dienste und Verbesserungen zu integrieren. Außerdem macht es Spaß, etwas zu entwickeln, was auch von anderen Leute verwendet wird. In diesem Sinne hoffe ich, dass mein Projekt gefällt und von Nutzen ist.
Neueste Kommentare
1 Kommentar zu CloudSync: effizientes und sicheres Backup-Tool
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Für ein inkrementelles Backup für individuelle Endanwender in Verbindung mit einem kommerziellen oder non-profit Cloud oder einem externen Laufwerk nutze ich kostenlose Backup Service Home http://www.alexosoft.de/de/produkte/backup-service-home/uebersicht.aspx. Es ist möglich, die zu sichernden Dateien schon auf dem Rechner zu verschlüsseln.
Für mich als SoHo-Nutzer reicht das vollständig.