BitTorrent Sync – Alternative zu ownCloud/Dropbox

BitTorrent Sync LogoIn einem der vorherigen Artikel habe ich davon berichtet, dass meine ownCloud-Installation zwar etwas zickig in der Administration ist, aber grundsätzlich funktioniert.

Von Dropbox&Co. habe ich mich verabschiedet, nachdem die Gerüchte um die NSA laut wurden, dass insbesondere von großen Unternehmen in Übersee regelmäßig Daten abgeschöpft und für den amerikanischen Geheimdienst aufbereitet werden; eine normale Cloudlösung mit Serverstandorten im Ausland (wie Dropbox) kommt für mich also nicht mehr in Frage.

Durch einen Kommentar auf Golem.de bin ich auf BitTorrent Sync gestoßen, mit dem die Torrent-Entwickler wohl auch versuchen, das schlechte Image von Torrent-Downloads aufzumöbeln und gleichzeitig eine tolle Anwendung bereitstellen, mit denen sich Daten zwischen einzelnen Geräten synchron halten lassen.

Was ist BitTorrent Sync eigentlich?

BTSync basiert auf dem P2P-Protokoll das auch bei den beliebten Torrent-Downloads genutzt wird, und ermöglicht einen sicheren, privaten Austausch von Dateien zwischen einzelnen Personen bzw. Geräten.

Konkret bedeutet dass, dass man mit BTSync sozusagen ein kleines Peer-to-Peer-Netzwerk zwischen den eigenen Geräten (oder denen eines Bekannten) aufspannt, innerhalb dessen Daten synchronisiert werden können.

Wie funktioniert Dropbox&Co.?

Um den Unterschied von BTSync zu Cloud-Anbietern zu erläutern, gehe ich zuerst mit ein paar Worten auf die Art und Weise ein, wie solche Dienste funktionieren.

Der Ansatz von Dropbox, ownCloud und weiteren solcher Anbietern basiert auf einer zentralen Server-Client-Architektur.

Das bedeutet, man erhält von einem Provider eine gewisse Menge Speicherplatz auf einem Server, den man über einen Client (z.B. die Dropbox-Anwendung, bleiben wir mal bei diesem Beispiel) am lokalen PC zur Verfügung gestellt bekommt.

Lege ich nun Daten in diesen Dropbox-Ordner werden diese auf dem Server synchronisiert, der meinen Speicherplatz zur Verfügung stellt. Je nachdem in welchem Land sich dieser Server befindet, ist das – je nach Art der abgelegten Daten – bedenklich.

Natürlich hat das ganze viele Vorteile (Zugriff über WebInterface von Überall, es gibt viele Apps und auch Unterstützung etablierter Soft- und Hardwarehersteller, man muss sich idR um die Datensicherung nicht kümmern, da automatisch Revisionen angelegt werden, etc.) aber eben auch Nachteile:

  • Meine Daten liegen irgendwo auf der Welt, und manche Länder nehmen das mit dem Datenschutz nicht so genau
  • Wer garantiert mir, dass Dropbox meine Daten nicht einsieht, weiterverkauft, Behörden Zugriff genehmigt, etc.?
  • Der Speicherplatz ist meistens begrenzt, zusätzlicher Speicher kostet (und das nicht wenig)

Wie unterscheidet sich BTSync?

BTSync basiert nicht auf einer Client-Server-Architektur und ist auch nur bedingt mit z.B. Dropbox zu vergleichen. Andererseits war ich jahrelang gezwungen Dropbox zu verwenden, weil ich meine Daten zwischen mehreren Geräten synchron halten wollte – das hatte dann auch nichts mit WebInterface oder Revisionen zu tun; also irgendwo kann man beide Dienste schon auf eine Augenhöhe stellen.

Bei BTSync spannt man, wie bereits erwähnt, zwischen einzelnen Geräten ein kleines, privates Netzwerk auf.

Lege ich eine Datei in einen Ordner, der von BTSync überwacht wird, wird diese Datei in kleine Teile gespalten, verschlüsselt, und direkt zu den verbundenen Peers gesendet, entschlüsselt und Stück-für-Stück zusammengebaut. Dateien bis 4MB Größe werden dabei „an einem Stück“ gesandt – größere Dateien werden in 4MB Parts geteilt und übertragen, sodass Synchronisationen ohne nennenswerten Datenverlust wieder aufgenommen werden können.

Wenn ich also einen Ordner mit Musik-Dateien zwischen einem PC und einem Notebook mit BTSync synchron halten möchte, müssen auch zeitgleich beide Geräte angeschaltet sein, da es keinen zentralen Server gibt, der die Daten zur Verfügung stellt wenn einer der Clients nicht online ist.

Ein tolles Feature ist der LAN-Sync: Befindet sich eines der Geräte im gleichen Netzwerk wie ein anderes, erfolgt der Datenaustausch auf direktem Wege – ohne Umweg über das Internet. Das bietet zusätzliche Sicherheit und geht natürlich schneller.

Wie sieht’s mit der Sicherheit aus?

Mit einem Wort: Gut.

Schon allein durch die Tatsache, dass kein zentraler Server im Ausland verwendet wird, der auf meine Daten aufpasst, ist ein großer Schritt in die richtige Richtung.

Auch erfolgt der lesbare Datenaustausch nur durch die Clients, die das sog. Secret (quasi ein Schlüssel) besitzen – über diesen wird auch geregelt, welches Gerät Zugriff erhält. Da dieses Secret idR länger als 40 Zeichen ist, ist es quasi unmöglich es zu erraten und um Längen sicherer als normale Benutzernamen/Kennwort-Kombinationen.

Die Datenübertragung erfolgt verschlüsselt (AES-128) auf direktem Wege, sodass auch hier wenig Möglichkeit besteht, Daten abzugreifen. In manchen Fällen, in denen zwischen den Peers kein direkter Kontakt aufgebaut werden kann (Firewall), kann ein Bittorrent-Tracker genutzt werden, der dann zwischen den Peers vermittelt (dies lässt sich jedoch im Client ausschalten).

Wie synchronisiert man einen Ordner mit BTSync?

In meinem Beispiel nutze ich den BitTorrent Sync-Client für Windows auf meinem lokalen PC und auf der Gegenstelle den offiziellen Client auf Debian-Basis.

Auf meinem Windows-PC starte ich die Anwendung und wähle im Reiter „Ordner“ den Punkt „Synchron.ordner hinzufügen„. Danach gebe ich im sich öffnenden Fenster den Ordner an, der synchronisiert werden soll (D:\Test) und klicke auf „Generieren„, um einen einzigartigen Schlüssel (Secret) zu erstellen, den ich mir in die Zwischenablage kopiere. Nach einem Klick auf „OK“ ist der Ordner im P2P-Netzwerk mit dem generierten Schlüssel freigegeben.

BTSync: Ordner hinzufügenWürde ich auf der Gegenseite ebenfalls einen Windows-Client haben, würde ich die Schritte dort genauso wiederholen – mit dem Unterschied, dass ich – statt einen neuen Schlüssel zu generieren – das bereits erstellte Secret vom ersten Windows-PC eingebe.

Auf der Linux-Seite wird keine GUI wie unter Windows gepflegt, sondern ein kleiner Webserver installiert, der standardmäßig über Port 8888 erreichbar ist:

BTSync Linuxclient
BitTorrent Sync-Client auf Debian (Weboberfläche)

Hier gebe ich den Zielordner und das bereits erstellte Secret an, und schon ist die Synchronisation zwischen beiden Geräten eingerichtet. Das lässt sich natürlich über beliebig viele Geräte (und Betriebssysteme) fortsetzen.

Über Reiter in der Windows-Anwendung lassen sich dann genauer Informationen einsehen, etwa welche Dateien gerade mit welcher Geschwindigkeit synchronisiert werden, welche Dateien mit welchem Gerät synchronisiert wurden, oder welche Geräte den eigentlich Zugriff auf den Ordner XYZ haben.

In welchen Fällen macht BTSync Sinn?

Ich nutze BTSync aktuell im Test als Ersatz für meine ownCloud-Installation.

Dabei habe ich mir schon früher Ordner angelegt, in denen ich z.B. meine Rechnungen, Verträge, Musik-Dateien, kleine Datensicherungen, Bilder, etc. ablege. Ein größerer Ordner mit etwa 7 GB beinhaltet PortableApps, also Software, die sich auf jedem Computer ohne Installation ausführen lässt.

Da ich stets versuche, meine Rechner mit so wenig Software-Installationen wie möglich zu vermüllen, liegen darin auch Anwendungen die ich regelmäßig nutze und manchmal auch für berufliche Zwecke nutzen muss (FileZilla, ProductKey-Finder, OpenOffice, etc.).

Und hier sehe ich auch den größten Nutzen von BTSync: Es ist schwierig, einen Ordner mit PortableApps zwischen Geräten synchron zu halten – nicht nur wegen der doch schon großen Datenmenge, sondern auch, weil sich viele Dateien beim Start dieser Anwendungen ändern – oder etwa bei einem Update einer Anwendung.

Meine reinen Daten (PDFs, Word-Dokumente, etc.) lasse ich als zusätzliches Backup zwischen Geräten synchronisieren, meine portable Software nutze ich dagegen sowohl auf meinem privaten PC als auch auf meinem Firmen-Laptop.

Weitere Anwendungsfälle könnten so aussehen:

  • Daten auf Familiengeräten synchron halten (Musik, Videos, Filme, etc.)
  • Zu Datensicherungszwecken als RSYNC-Alternative
  • Zum teilen von Daten in kleinen Workgroups (Softwareentwicklung, Mediendesign, etc.) oder zwischen Freunden (Videos, Bilder, Schulzwecke)

In meinem Fall gibt es jedoch eine Besonderheit: Da ich ENTWEDER in der Firma ODER zu Hause bin, ergo immer nur eins meiner Geräte angeschaltet und Online ist, würde die Synchronisation quasi nie stattfinden.

Ich löse dieses Problem, in dem ich auf meinem privaten Root-Server den BTSync-Client auf Debianbasis installiert habe, und ihn quasi als zentralen Server „der immer am Netz hängt“ mit einbeziehe. Um meine privaten Dateien (Verträge, Rechnungen, Kündigungen, Passwörter, etc.) zusätzlich zu schützen, greife ich auf den BoxCryptor Classic zurück, der mir die Dateien zusätzlich verschlüsselt.

Würde also mein RootServer-Betreiber auf die Idee kommen zu schnüffeln – oder jede andere Instanz – oder eines meiner Geräte entwendet werden, könnte man mit den synchronisierten Dateien nichts anfangen, da diese nur mit einem längeren Passwort entschlüsselt werden können.

Da private NAS-Systeme immer mehr im kommen sind, gibt es mittlerweile auch eine BitTorrent Sync-App für Synology und QNAP-Geräte (für den Fall, dass man gerade keinen Rootserver zur Hand hat…). Caschy hat dazu etwas in seinem Blog geschrieben.

Fazit

Ich werde die BTSync-Lösung im direkten Vergleich mit meiner bisherigen ownCloud- bzw. Dropbox-Installation weiterhin testen.

Bereits jetzt bin ich jedoch über die Einfachheit überrascht; ich muss mich nirgends registrieren oder Daten preisgeben. Ich installiere einfach den BitTorrent Sync-Client, erstelle einen lokalen Ordner und notiere mir das Secret – fertig.

Auch gibt es zusätzliche Features, um etwa Einmal-Zugriffe auf Ordner für Dritte zu genehmigen, oder zeitlich-begrenzte Zugänge für Freunde.

Zwar muss man auf ein Webinterface verzichten (das ich nie genutzt habe), und der Umweg über einen zentralen Server ist nicht schön aber in Anbetracht des dt. Serverstandorts und der grundsätzlich verschlüsselten Dateien kein großes Sicherheitsleck.

Demnächst werde ich einen kleinen Raspberry Pi im elterlichen Haushalt als kleine NAS-Lösung integrieren; für Raspbian gibt es den BTSync-Client natürlich auch. Wenn ich meine Daten dorthin synchronisiere, kann ich die Synchronisation mit meinem RootServer abschalten – der Raspi läuft 24/7 und wäre ein idealer, zentraler Server – zumal quasi „selbst gehostet“.

Anwendungsfälle

Bastian
Bastian

Seit 2006 bin ich täglich im IT-Umfeld unterwegs und interessiere mich für technische Lösungen im Hard- und Softwarebereich, die einem den Alltag erleichtern. Zu meinen Hobbies zählt der 3D-Druck, das Tüfteln, Scripten, eine eigene Holzwerkstatt, sowie der unqualifizierte Umgang mit dem Lötkolben.

Artikel: 126

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert