CloudSync: effizientes und sicheres Backup-Tool

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

CloudSync: Ausgabe der Commandline-Hilfe (Bild: Holger Hees)

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.

https://github.com/HolgerHees/cloudsync

CloudSync: auf GoogleDrive verschlüsseltes Backup (Bild: Holger Hees)
Kai Schmerer

Kai ist seit 2000 Mitglied der ZDNet-Redaktion, wo er zunächst den Bereich TechExpert leitete und 2005 zum Stellvertretenden Chefredakteur befördert wurde. Als Chefredakteur von ZDNet.de ist er seit 2008 tätig.

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

2 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago