Weg von Google; hin zu Self-Hosted?

Wie jeder vernünftige Mensch bin auch ich großen Konzernen gegenüber sehr skeptisch. Besonders dann, wenn sie quasi alle wichtigen Informationen aus meinem Leben besitzen. Google ist dabei ganz oben auf der Gefahrenliste, denn diese Firma besaß nicht nur all meine E-Mails, sondern auch meine Passwörter, Kontakte, Termine, Bilder, Dokumente, Notizen und meinen Browserverlauf. Alles bei einem Unternehmen, das völlig frei darin ist, meine Daten auszuwerten, an Geheimdienste weiterzugeben, oder sonst wie zu verwenden. Selbstverständlich besteht hier auch immer die Gefahr eines Hacks oder eines Software-Fehlers. So hat Google zum Beispiel vor ein paar Monaten 600 meiner E-Mails versehentlich an eine mir unbekannte Adresse weitergeleitet. Nicht so cool.

In einem solchen Fall ist die Lösung eigentlich recht klar: Weg davon! Das Problem dabei ist nur, dass das nicht so einfach ist. Nicht nur gibt man damit viel Komfort auf, der durch die Kombination der ganzen Google-Services natürlich auf der Hand liegt, sondern auch Sicherheit. Und zur Krönung kostet das Ganze dann auch noch wesentlich mehr.

Vom Regen in die Traufe

Wer von Google weg möchte, hat zwei Optionen. Entweder, er nimmt alle Daten offline und behält sie lokal auf dem Rechner, oder er verwendet seine eigenen Server und bietet die entsprechenden Online-Dienste für sich selbst an. Option eins kommt für mich persönlich nicht infrage, da ich damit vermutlich nicht mehr arbeitsfähig wäre. Ich brauche meine Kalender und Daten sowohl auf meinem PC, als auch auf meinem Smartphone. Und ich muss von unterwegs auf diese Daten zugreifen können.

Option zwei hingegen klingt erstmal ganz gut. Man hat weiterhin den Komfort (wenn auch etwas eingeschränkt) der Google Services, hat die Sicherheit aber selbst in der Hand, da man die Dienste ja auf seinem eigenen Server hostet. Doch unabhängig ist man dabei trotzdem nicht. Die Dienste sind zwangsweise noch mit dem Internet verbunden und die Software, die dann auf dem eigenen Server läuft, läuft größtenteils auch nur auf Vertrauensbasis. Schließlich kann sich in den Tools sonst was verstecken, was man auf Anhieb nicht sieht.

Und hier liegt der Hund begraben: Während Google Millionen von Dollars für die Sicherheit ihrer Dienste ausgibt und die schlausten Köpfe der Welt engagiert, damit in den Schlagzeilen nicht schon wieder “Google wurde gehackt” steht, kann man selbst nur darauf vertrauen, dass man schlau genug ist, die eigenen Server und Dienste gut genug vor Angreifern zu schützen. Selbstverständlich ist auch Google nicht zu 100% vor Angriffen oder Fehlern (siehe oben) geschützt, jedoch sind sie definitiv besser dran, als Max Mustermann, der seinen eigenen Server hostet. Selbst dann, wenn Google täglich hunderttausende von Angriffen abbekommt, während der eigene Server vermutlich nur ein paar Dutzend abbekommt.

Big Data, Big Brother, Big Problem

Ein definitiver Vorteil ist aber ganz klar zu sehen: Wer selbst hostet, stellt seine Daten weder dem Konzern, noch dem Geheimdienst zur Verfügung. Letztere könnten natürlich trotzdem einen Weg zu den eigenen Daten finden, müssten dafür aber definitiv einen wesentlich größeren Aufwand betreiben und gezielt gegen einen vorgehen. Was aber nun nicht mehr passieren kann ist, dass Google und co. die eigenen Daten zur Analyse und für Marketingzwecke verwenden. Hier hat das Self-Hosting also einen großen Vorteil und konnte mich mit diesem Argument mittlerweile auch für sich gewinnen, da die Dimension, in der Daten ausgewertet werden, in den letzten Jahren extrem zugenommen hat, und auch kein Ende in Sicht ist.

Kosten, Kosten, Kosten

Kommen wir zum letzten großen Kriterium im Vergleich Self-Hosting vs. Google und co. - den Kosten. Während ich für die Google-Dienste 4 Euro pro Monat gezahlt habe, um Catch-All-E-Mails fahren zu können, zahle ich nun etwas über 25 Euro pro Monat - nur für die Server und das Backup. Die Arbeitsstunden, die für die Konfiguration, Wartung und Updates anfallen, sind hierbei natürlich nicht eingerechnet.

Bei einer solchen Preisdifferenz und dem vorangegangenen Punkt der Sicherheit ist klar, warum die Google Suite, die Apple iCloud oder Microsofts Lösungen so attraktiv scheinen: Weil es attraktiv ist. Wäre da das Problem der Datenanlyse und des (möglichen) Machtmissbrauchs nicht, wären die Cloud-Services ein unfassbares Schnäppchen. Im Umkehrschluss zeigt das aber auch, wieviel diesen Konzernen unsere Daten wert sind. Für 4 Euro, bzw. 0 Euro für die meisten Nutzer, bietet Google eine Dienstleistung an, die mindestens 25 Euro pro Monat pro Nutzer kostet. Wie machen die dabei nur Gewinn?

Status Quo

Ich habe mich also entschieden, meine Daten in die eigene Hand zu nehmen, und von Google weg zu migrieren. Der ganze Prozess ging fließend und ist bis dato noch nicht zu 100% abgeschlossen. Um anderen, die eventuell dasselbe vorhaben, den Umstieg zumindest etwas leichter zu machen, möchte ich aber einmal aufzeigen, für welche Lösungen ich mich entschieden habe und welche Punkte dabei beachtet werden sollten.

Passwort Manager

Der kritischste und zugleich am einfachsten zu migrierende Service war der Passwort Manager. Hierfür habe ich mich für Bitwarden entschieden. Der Service ist Open Source und lässt sich sehr einfach via Docker auf den eigenen Server deployen. Bitwarden bietet ein sehr vergleichbares Angebot zu LastPass und für eine kleine, monatliche Gebühr kann man sogar bestimmte Passwörter, wie z.B. das Netflix-Passwort, mit Familienangehörigen oder Freunden teilen. Außerdem legt der Entwickler hinter Bitwarden großen Wert auf Sicherheit, ist recht erfahren in dem, was er tut, und veröffentlicht externe Audit-Berichte vollständig. Zudem gibt es für jede Plattform und Browser eine Bitwarden-App, die sich problemlos auch mit Self-Hosted-Versionen nutzen lässt.

Daten, Dokumente, Kalender und Kontakte

Hier gibt es meiner Ansicht nach keine zufriedenstellende Lösung im Bereich des Self-Hostings. Die allgemeine Go-To-Lösung ist Nextcloud und damit auch die einzige Plattform, die alle benötigten Features - darunter Full Text Search, Online Document Editing, Kalender, Kontakte und Aufgaben - an einem Ort liefert. Zwar finde ich Nextcloud nicht perfekt und in einigen Punkten problematisch, trotzdem funktioniert es alles in Allem ausreichend gut und kommt somit auch bei mir zum Einsatz.

Kleiner Tipp: Wer nur Daten synchronisieren möchte, so wie es Dropbox beispielsweise anbietet, ist mit Seafile besser bedient. Hier muss man dann allerdings auf Dokumentenbearbeitung, Kalender und Kontakte verzichten.

Bilder

Google Photos ist ziemlich cool. Nicht nur kann man nach Personen oder Orten in den eigenen Bildern suchen, auch Objekte oder Bildtypen können einfach per Suchbegriff gefunden werden. Entsprechend gefährlich ist es auch, diesen Dienst zu nutzen. Google kann dadurch automatisch auswerten, mit wem du abhängst, welche Objekte du in deiner Wohnung hast, und welche Kaufvorlieben du hast.

Zu meiner Überraschung gibt es tatsächlich eine Open Source-Lösung, die diese Features ebenfalls anbietet. Aktuell (Anfang 2019) befindet sich das Projekt Ownphotos noch in einer sehr frühen Entwicklungsphase und ist damit nicht wirklich für die Allgemeinheit zu empfehlen, unterstützt aber schon einige der genannten Features. So kann man nicht nur nach Namen von Personen, sondern auch nach Objekten suchen, die mittels Machine Learning in den Bildern erkannt wurden. Dass das nicht so gut funktioniert wie bei Google, dürfte hier vermutlich klar sein, ausreichend ist es aber meiner Ansicht nach durchaus. Und ein paar schöne Extra-Features gibt es auch. So gibt es zum Beispiel einen Graphen, der zeigt, welche Personen oft mit welchen anderen Personen auf den Fotos abgelichtet sind. Dadurch erkennt man ganz gut mehrere Freundesnetzwerke, was noch einmal gut visualisiert, wie attraktiv diese Daten für Google und co. sind.

Zudem bietet Ownphotos die Möglichkeit, die Bibliothek mit Nextcloud zu verbinden. Dadurch kann man den Photo Uploader der Nextcloud-App verwenden, um Ownphotos zu füttern.

Der Elefant im Raum: E-Mails

Kommen wir zu dem, was für mich lange Zeit der Hauptgrund war, Google zu verwenden: E-Mails. Vor einigen Jahren habe ich mich mal am Hosten eines eigenen E-Mail-Servers versucht, und bin kläglich gescheitert. Ich hatte von der Konfiguration so wenig Ahnung, dass ich am Ende ein Open Relay hatte, über das massenweise Spam verschickt wurde. Dadurch wurden meine E-Mails ebenfalls als Spam abgetan und landeten in den meisten Fällen im Spam-Ordner. Außerdem hat der eigene Spamfilter nicht richtig funktioniert, weswegen auch meine Inbox voll mit Spam war. Kurzum: Spam, Spam, Spam.

E-Mails sind von Grund auf nicht mehr zeitgemäß und das E-Mail-Protokoll hat sehr viele Probleme. Daher habe ich seitdem versucht, meine Finger so gut es davon zu lassen. Google war hier die perfekte Lösung: Sie schlugen sich mit allen Probleme herum, und boten mir für 4 Euro pro Monat alles, was ich mir je von E-Mails gewünscht habe: Catch-All, Sicherheit, viel Speicherplatz, ein hübsches Web-Interface, keinen Spam, korrekte Signaturen, einfache Filter, Gruppierung nach Themen und Wiedervorlage.

Mittlerweile gibt es MailCow. MailCow hat es sich zur Aufgabe gemacht, E-Mail-Hosting einfach zu machen. Und das klappt auch sehr gut. Mit ein paar Docker-Containern, Security-By-Default dank Let’s Encrypt und einem Management-Interface, über das sich Mailboxen, Domains, Filter, Jobs, Spamfilter und DNS konfigurieren und überwachen lassen, bietet MailCow ein gutes Rundumpaket für all diejenigen, die sich nicht mit Postfix, Dovecot und co. herumschlagen können oder wollen. Für mich klappt das erstmal ganz gut. Laut diverser Checks ist die Konfiguration nun auch vorbildlich sicher, sodass meine gesendeten E-Mails auch von anderen Mailservern als Ham (also Nicht-Spam) angesehen werden.

Was fehlt? Das Web-Interface und Wiedervorlage, also Snoozing. Für letzteres gibt es E-Mail-Clients, die das für einen übernehmen und per IMAP mit dem Mailserver reden. Das klappt auch relativ gut, solange man eben nur bei diesem Client bleibt. Dementsprechend muss ich an diesem Punkt auf das Web-Interface verzichten. Wer Snooze nicht so wichtig findet, kann sich aber mal RoundCube angucken.

Backups

Was beim Thema Self-Hosting gerne vergessen wird, ist das Thema Backups. Bei Cloud-Diensten wie Google muss daran auch kein Gedanke verschwendet werden. Datenverlust kann sich eine Firma wie Google einfach nicht leisten, weswegen hier natürlich Backup-Lösungen direkt integriert sind. Wenn man das Hosting aber selbst in die Hand nimmt, kann es schnell mal passieren, dass die Daten futsch sind. Das RAID geht kaputt, der Hoster hat geschludert, oder eine Ransomware lutscht einmal alle Daten von der Platte und schon sitzt man ohne Dokumente, E-Mails, Bilder und Passwörter da. Das möchte man natürlich vermeiden, weswegen eine Backup-Strategie, die funktioniert und sicher ist, ein absolutes Muss ist.

In meinem Fall werden die Daten täglich mit einer Historie von ein paar Tagen (je nach Dienst) auf meinen NAS in den eigenen vier Wänden gesichert. Und für den Fall, dass der mal kaputt geht, wird Monatlich das Wichtigste durch eine Ende-zu-Ende-Verschlüsselung auf einen Cloud-Storage meiner Wahl geschoben. Hilfreich ist hier der Service rclone, der es ermöglicht, ohne viel Aufwand eine Vielzahl an Diensten und Protokollen anzusprechen - Verschlüsselung inklusive.

Zu guter Letzt verifiziere ich alle paar Monate, dass die Backups auch noch funktionieren und wirklich die korrekten Daten enthalten. Der beste Backup-Mechanismus nützt nichts, wenn er die falschen Daten sichert oder sich diese nicht wiederherstellen lassen.

Sicherheits-Updates

Auch dieser Punkt ist beim Self-Hosting sehr wichtig. Man ist natürlich dazu geneigt, ein funktionierendes System nicht mehr anzufassen. Läuft ja. Wenn ich also einmal alle Services konfiguriert und eingerichtet habe, bin ich in der Regel froh, dass es jetzt funktioniert, und möchte möglichst nichts tun, was das wieder zerstören könnte. Updates wären ein solcher Zerstörungsfaktor, da durch neue Versionen oft auch neue Probleme kommen.

Dem muss man aber Einheit gebieten und in den sauren Apfel beißen. Regelmäßige Updates aller Services sind ein absolutes Muss. Und das beinhaltet nicht nur Nextcloud mit dem schnieken Auto-Updater, sondern auch das Betriebssystem selbst und alle Docker-Container. Wer keine Updates macht, ist in ein paar Jahren verloren. Automatisierte Angriffe, die das Netz auf bekannte Schwachstellen absuchen, warten nur darauf, den veralteten Server zu knacken. Wenn man schon keine Millionen von Euros in die Sicherheit der Anwendungen investieren kann, sollte man zumindest das Gröbste durch regelmäßige Updates abwenden und beten, dass es ausreicht. Außerdem sollte man selbst versuchen, den eigenen Dienst zu knacken: Komm’ ich per Passwort über SSH auf den Server? Sind alle Ports zu, die zu sein sollen?

Und nun?

Ich hoffe, dass der Blogpost etwas Einsicht in die Probleme und Herausforderungen beider Seiten gegeben hat und dir bei deinen Entscheidungen - welche das auch immer sein mögen - hilft. Abschließend möchte ich noch sagen:

Wer sich nicht sicher bei der Administration eines Servers fühlt, sollte meiner Ansicht nach lieber bei Google, Apple (oder wenn es unbedingt sein muss Microsoft) bleiben und lieber versuchen, die dort hochgeladenen Daten zu minimieren, statt auf Self-Hosting zu setzen. Zwar ist man dann den großen Konzernen und Geheimdiensten ausgeliefert, hat aber einen gewissen Basisschutz vor Hackern, die einem meist mehr schaden, als Konzern und Staat. Ich für meinen Teil möchte mir zumindest nicht ausmalen was passiert, wenn mein Personalausweis in die falschen Hände gerät.