Systemintegration

Eine eigene Cloud

Im Rahmen des Betriebssysteme-Unterrichts an der Berufsschule durften wir uns für das zweite Lehrjahr ein Projekt aussuchen, das wir mit einem Raspberry Pi umsetzen. Ein Raspberry Pi ist ein kleiner, leistungsschwacher, aber günstiger (ca. 35€) und energieeffizienter Einplatinenrechner, der für den Einsatz in Schulen entwickelt wurde. Der günstige Rechner entwickelte sich nicht nur bei Programmieranfängern zum Herzstück für verschiedenste Basteleien, sondern ist Standardausrüstung in einem breiten Spektrum von Bastlern bis in die Industrie.

Für das Projekt mit dem Raspberry Pi habe ich mich mit einem Klassenkameraden der Dualen Hochschule Baden-Württemberg zusammengetan, um eine Nextcloud zu realisieren. In diesem Artikel möchte ich weniger auf die Umsetzung des Projektes als auf Nextcloud an sich eingehen.

Was ist Nextcloud?

Nextcloud ist ein Fork, also ein Ableger bzw. eine Weiterentwicklung von Owncloud. Nextcloud bietet eine einfache Weboberfläche an, die wie ein „normaler“ Cloudspeicher aufgebaut ist und einfach bedienbar ist. Zudem gibt es Apps für mobile und Desktop-Betriebssysteme. Neben der Dateiablage bietet Nextcloud Zusatzfunktionen über Apps an, die sich über einen integrierten Appstore einfach und schnell installieren lassen. Dort gibt es z.B. eine Kalender-App, eine App, die verschlüsselte Videotelefonie und Textnachrichten ermöglicht, oder eine Musik-Player-App.

Die Startseite der Weboberfläche von Nextcloud

Was macht eine Cloud?

Bei Cloudspeichern denken die meisten erst einmal an Dateien, die manuell hochgeladen und mit anderen geteilt werden können. Was viele vergessen: Dazu gehören auch Adressbücher und Kalender. Smartphones synchronisieren Daten aus den Kontakten und dem Kalender meist automatisch zum Plattformanbieter, was meistens Google oder Apple ist. Alternativ wird eine solche Synchronisation aber auch von vielen Mailanbietern angeboten (abgesehen von dem Fall, dass Plattformanbieter auch der Mailanbieter sein kann).

Das Daten-Problem

Die oben genannte Synchronisation der Kontakte verursacht ein Problem: Wenn der Anbieter die Daten auswertet, kann er sehen, mit wem man vernetzt ist. Wenn er gar die Kontakte vieler Kunden auswertet, kann er nicht nur die Beziehungen mit einzelnen Freundeskreisen erkennbar machen, sondern auch sehen, wann wer wen als Kontakt hinzufügt oder löscht. Daher sollte man bei Erstellung eines Kontos bei einem Anbieter immer genau die AGB und Datenschutzbestimmungen lesen, um zu wissen, wie Daten geschützt werden oder ob die (ausgewerteten) Daten gar an Dritte weitergegeben (verkauft) werden. Letzteres geschieht zwar in der Regel anonymisiert, jedoch wird regelmäßig festgestellt, dass sich Datensätze mit etwas Aufwand auch deanonymisieren lassen.

Die Problematik beschränkt sich nicht nur auf Kontakte, sie existiert bei allen Daten. Um auf den ursprünglichen Cloudspeicher zurückzukommen: Es betrifft auch Fotos und Dokumente. So lässt sich nicht nur der Inhalt von Dokumenten analysieren, sondern auch die Metadaten: Wer hat das Dokument erstellt/bearbeitet (das Autoren-Attribut wird automatisch von Dokumentenbearbeitungsprogrammen gesetzt), wann wurde es erstellt / geändert, mit welchem Programm und Betriebssystem (wird ebenfalls automatisch vom erstellenden Programm hinzugefügt), welchen Titel hat es etc..

Bei Bildern ist das Problem noch größer: Hier lässt sich mittels Gesichtserkennungssoftware erkennen, wer dort abgebildet ist. In dem Metadaten können Kameras, die GPS integriert haben wie beispielsweise Smartphones, die genaue Position des Fotos abspeichern. Zudem werden dort Details zur Kamera sowie der Aufnahmezeitpunkt abgespeichert. Lädt man diese Bilder direkt zu einem Cloudanbieter hoch oder hat gar die Auto-Upload-Funktion aktiviert, kann dieser anhand der Metadaten ein Bewegungsmuster erstellen. Diese Funktion ist natürlich nicht nur zur Überwachung nutzbar, es gibt hier einige Apps, die Bilder so nach Orten sortieren und auf einer Karte visualisieren.

Das Metadaten-Problem

Neben den oben erwähnten Metadaten gibt es die „Metadaten“, die bei der Benutzung einer Cloud entstehen. Das beinhaltet u.A.: Wer teilt zu welcher Uhrzeit was mit wem, wann wird die Datei verändert, wie häufig wird die Datei von wem und mit welchem Endgerät von welcher IP-Adresse abgerufen.

Wie die Daten schützen?

Am Besten schützt man seine Daten, wenn man sie nur lokal behält und sie nicht in eine Cloud hochlädt. So ist man selbst vor Verlust des Cloud-Passwortes sicher. Wer auf eine Cloud nicht verzichten will,  kann die Dateien vor dem Upload verschlüsseln. Für die einfache Verschlüsselung gibt es spezielle Apps, die den Zugriff von verschiedenen Endgeräten auf die Verschlüsselten Dateien sowie deren Erstellung ermöglichen. Selbst bei dieser Ende-Zu-Ende Verschlüsselung wird aber das Metadaten-Problem nicht gelöst. Abgesehen davon sollten auch immer die Sicherheitsfunktionen des Anbieters überprüft und ggfs. genutzt werden; zum Beispiel lässt sich durch sogenannte zwei-Faktor-Authentifizierung verhindern, dass Angreifer durch erraten des Passworts Zugriff auf ein Benutzerkonto bekommen.

Eine Andere Möglichkeit: eine eigene Cloud betreiben. Dies wird mit Software wie Nextcloud ermöglicht. Da Nextcloud Freie Software ist, liegt der Quellcode vor, wodurch man ihn nach eventuellen Hintertüren durchsuchen und die Sicherheit der Software gewährleisten kann.

Wie kann ich meine eigene Cloud betreiben?

Es gibt verschiedene Möglichkeiten, um Nextcloud zu installieren. Nextcloud funktioniert technisch ähnlich eines Content-Management-System (CMS). Ein Beispiel für CMS ist die belieble Blog-Plattform WordPress, auf der übrigens auch der BAWBlog basiert.

Nextcloud Zuhause

Nextcloud lässt sich auf einem Rechner Zuhause installieren. Damit die Cloud immer erreichbar ist, muss dieser immer laufen. Ist dies ein alter Rechner, kann der Stromverbrauch recht hoch sein und würde damit entsprechende Kosten verursachen. Hier würde sich eher ein Kleinstrechner mit energieeffizientem ARM-Prozessor eignen. Für unser Projekt haben wir einen Raspberry Pi 3 verwendet. Dieser hat den Vorteil, dass er sehr energiesparend läuft, dafür aber sehr leistungsschwach ist. Zudem bietet er keine native Schnittstelle für normale Festplatten und ist daher eher für kleine Datenmengen geeignet. Schneller und einfacher bedienbar sind hier sogenannte NAS-Systeme (Network Attached Storage, zu Deutsch: Netzwerkspeicher), die zum Teil Nextcloud als App für ihr System anbieten. NAS-Systeme sind kleinere Rechner mit meist mehreren Festplattenslots und sind relativ energiesparend. Allerdings ist das Betriebssystem von NAS-Systemen meist proprietär und kann daher nicht auf Hintertüren überprüft werden; zudem sind die Geräte teuer in der Anschaffung.

Nextcloud im Rechenzentrum

Im Rechenzentrum ist es meist günstiger, da man hier auf einem Physikalischen Rechner mehrere virtuelle Rechner betreiben kann. Dies ermöglicht meist deutlich günstigere Preise als der Strom im eigenen Heim kosten würde. Neben virtuellen Servern bieten Hostinganbieter auch einfache Webhostingpakete an, auch „Shared Hosts“ genannt. Darauf läuft Nextcloud auch, allerdings ist die Kompatibilität nicht garantiert. Bei Webhostingpaketen sollte darauf geachtet werden, dass SQL-Datenbanken im Paket enthalten sind. Zwar lässt sich Nextcloud auch ohne eine Datenbank betreiben, wird dadurch aber langsamer; dieser Weg ist insbesondere für größere Installationen ungeeignet.

Am einfachsten lässt sich die eigene Cloud über Hostinganbieter realisieren, die Nextcloud offiziell anbieten. Eine Liste dieser Provider bietet Nextcloud auf seiner Seite an. Einige der dort gelisteten Provider bieten auch kostenlose Pakete mit bis zu 10GB Speicherplatz an. Leider lässt sich bei Providern nicht so einfach prüfen, ob bei der Implementierung von Nextcloud eine Hintertür eingebaut wurde. Hier empfehle ich persönlich eine Recherche über die Seriosität, soweit möglich; zudem achte ich darauf, wo der Anbieter seinen Sitz hat und seine Rechenzentren betreibt, da er in anderen Ländern anderen Gesetzen und anderem Datenschutz unterliegt.

Der Aufwand

Am höchsten ist der Aufwand Zuhause: Eigene Hardware aufstellen, Backups machen und bei Ausfall den Fehler suchen & beheben ist nur ein Teil der anfallenden Aufgaben; auch muss das Betriebssystem, auf dem Nextcloud läuft, mit einer Firewall abgesichert werden und regelmäßig upgedatet werden. Leichter ist es hier bei den gehosteten Lösungen, die auf einem Web Host basieren: Hier muss nur die Nextcloud aktualisiert werden und Einstellungen wie zur Verschlüsselung angepasst werden; Firewall und Betriebssysteme werden vom Anbieter betreut. Am einfachsten ist es allerdings, wenn Sie jemanden kennen, dessen Cloud Sie mitbenutzen können.

Eine Cloud voller Insellösungen?

Doch was ist nun, wenn jeder seine eigene Cloud betreibt? Wir haben zwar Dezentralität geschaffen, aber das erschwert ja das Teilen von Inhalten, da Clouds keinen einheitlichen Standard für das Teilen mit anderen Clouds haben, richtig? Ja und nein. Es gibt zwar keinen allgemeinen Standard, aber Nextcloud und Owncloud unterstützen ein System namens „Federated Cloud Sharing„. Damit können Dateien mit Nutzern anderer Next-/Ownclouds geteilt werden.

Brauche ich das?

Das ist eine nicht ganz einfach zu beantwortende Frage, die letztendlich nur Sie selbst beantworten können. Probieren Sie es doch einfach mal mit der von der Nextcloud GmbH zur Verfügung gestellten Demo aus!

Update vom 10.04.2018

Wie der Spiegel erfahren hat, wird Nextcloud auch die Grundlage für die „Bundescloud“ des ITZBund sein.

Verfasst von Flo

Als Auszubildender zum Fachinformatiker mit Fachrrichtung Systemintegration durfte ich mich, neben den alltäglichen Aufgaben im Referat Datenmanagement und Systemtechnik, mit verschiedenen Projekten für den Berufsschulunterricht und die BAW beschäftigen.