< Firewall-Konzept >     < zurück >

Datenschutz vs. BigData - privat vs. kommerziell. Wie sicher ist...? Gedanken zur Einrichtung eigener Web-Dienste.

An dieser Stelle möchte ich ein paar eigene Gedanken zu im Laufe der Zeit in Web-Foren gelesenen Fragen äußern, die so oder mit ähnlichem Inhalt gelegentlich gestellt werden:  "Ich möchte auf meinem neuen Raspberry PI ein NAS (und/oder eine Cloud und/oder einen Mailserver) einrichten und von außerhalb über meinen Laptop oder Smartphone darauf zugreifen. Was muss ich dafür tun, welche Programme brauche ich dafür? Ach ja, gestern war mein erster PI in der Post und ich bin noch totaler Linux-Anfänger, ich kenne mich bisher nur mit Windows-Programmen aus. Kann ein RPi mit Linux das alles leisten?"

Ja, ein Pi kann das alles mit einer beispiellosen (Linux-)Stabilität leisten. Ich selber habe solche Dienste seit mehreren Jahren in Betrieb und es läuft geradezu perfekt. Mit den folgenden Diensten auf einem wirklich sehr stromsparenden RPi und mit (m)einem wirklich sehr sicheren Linux konnte ich unseren alten Windows-Server komplett ersetzen: Printserver, Fileserver, OpenVPN-Server, Mailserver, Card/Cal-Dav-Server.

Es gibt wirklich nur eine relevante Einschränkung, und zwar ist das Bewegen sehr großer Dateien in Gigabyte-Größe mit ~10 MB/s tatsächlich nervend langsam. Aber das gibt es bei uns fast gar nicht, also empfinde ich das auch nicht als Einschränkung. Dem hingegen funktionieren alle Aktionen für Dateien in üblicher Office-Format-Größe geradezu perfekt. Ebenso perfekt ist er als Mailserver und Card/Cal-Dav-Server tätig, wobei für diese Anwendungen die gegebene Leistungsfähigkeit zur Datenbewegung in jeder Hinsicht ausreichend ist.

Aber um auf die oben eingangs gestellte Frage zurückzukommen: Die einzig richtige Antwort wäre "Wenn Du nicht vorher schon über eine längere Zeit eine Windows-Domain mit differenzierender User-Verwaltung, Netzwerk-Diensten wie Exchange-Server, Webserver, File-Server mit Public-Shares & Private-Shares & Admin-Shares, Print-Server, Firewall oder Proxy-Server oder individueller Router-Konfiguration administriert hast, dann solltest Du unter Linux zum Schutz Deiner eigenen digitalen Privatsphäre tunlichst die Finger davon lassen. Alles andere ist hochgradig fahrlässig und wirklich unvernünftig! Und darüber hinaus ist festzustellen, jeder Admin, der diese Services schon erfolgreich unter Windows eingerichtet und betreut hat, würde solche Fragen gar nicht stellen, weil er sowohl die Leistungsgrenzen des PI einschätzen kann, als sich auch über die benötigte Software im Klaren ist... da werden m.E. allenfalls gezielte Detailfragen bei einzelnen konkreten Problemen gestellt."

Bei all meinen Aussagen geht es nicht um die Dienste an sich, denn die sind wirklich alle klasse... es geht mir allein um den offenen Zugang vom Internet und einen direkten Datenweg rein in die Dienste des privaten Heim-Netzwerks. Es ist in der heutigen Zeit mit der in beträchtlichen Maße real vorhandenen Internet-Kriminalität, der permanenten Schnüffelei der bekannten Internet-Datenkraken und der staatlichen Überwachung mit ihren Datenspionen (Telekommunikationsüberwachung, Staatstrojaner, usw.)  schlichtweg verantwortungslos, solche privaten Systeme mit offenem Zugang vom Internet her in Betrieb zu nehmen, deren Arbeitsweise man nicht bis ins Detail verstanden hat, die man nicht wirklich selber erklären kann und deren Sicherheit man nicht selber sachkundig gewährleisten kann. Es ist heute absolut nicht mehr ausreichend, einfach die Installationsbeschreibung eines Programms von oben nach unten abzuarbeiten und nur zu lesen, wie man notwendige Pakete zu einem Themenkomplex mit „apt“ installiert und welche Parameter in den zu den Paketen gehörenden Confs mit Werten zu setzen sind. Die Abarbeitung einer solch technisch-chronologisch-hierarchische Fakten-Auflistung wird einem nie wirklich beim Verstehen der Zusammenhänge helfen.

Natürlich gilt unverändert die Aussage "Linux ist deutlich sicherer als Windows". Das hat aber primär mit der Tatsache zu tun, dass es im Linux-Ökosystem wegen der geringen Ausbreitung von Linux-basierenden Desktops rein wirtschaftlich uninteressant ist, große Aufwendungen in die Entwicklung von Schad-Software zu stecken, weil man einfach zu wenig potentielle Opfer erreichen kann. Und gleichermaßen ist es Fakt, dass Windows aufgrund seiner Erfahrungen mit dem seit Jahrzehnten bestehenden hohen Cyber-Crime-Druck über das Internet ein erheblich ausgereifteres Immun-System hat, im Vergleich zu Linux. Aber dem wieder entgegengesetzt ist es auch wieder ein Fakt, dass man mit hoher Sachkenntnis sein Linux in einem Maße absichern kann, wie es meiner Meinung nach mit Windows nur schwer möglich ist. Insbesondere vor dem Hintergrund, dass das Redmonder OS mit der Version 10 einen Paradigmenwechsel in der Geschäftsphilosophie praktiziert hat, mit dem das aktuelle OS nun selber quasi zur Spyware geworden ist. Warum sonst setzen so viele große Unternehmen auf Linux als Server-Systeme? Aber ich wiederhole mich: Sie tun es mit enormer Sachkenntnis.

Aus all dem sollten wir die Erkenntnis ziehen, dass gerade wir privaten Laien-Administratoren uns bei all unseren IT-Projekten absolut darüber im Klaren sein müssen, was wir da überhaupt tun.... zum Schutz unserer rein privaten EDV mit vielleicht für uns wichtigen, vertraulichen, persönlichen privaten Daten und Dokumenten. Und das, was wir dabei "basteln", sollte tatsächlich wenigstens in einem Mindestmaß auf echtem Verstehen beruhen. Irgendeine halbwegs (un)passende Web-Anleitung per Copy/Paste unreflektiert auf den eigenen RPi zu schreiben und die Server-Dienste einfach zu starten, ohne zu wissen, was da warum, wann und wie passiert ist tatsächlich die schlechteste Vorgehensweise. Es ist notwendig zu wissen, wie ich die Dienste sachkundig aktualisieren oder ändern kann, wie ich sie nach eigenem Ermessen starten und stoppen kann. Und letztlich muss man wissen, wie ich das alles schützen kann... und das alles ohne darauf zu verzichten, am Ende die Wirksamkeit der Schutzmaßnahmen auch geprüft und bestätigt zu haben.

Die Inbetriebnahme solcher typischen Dienste auf einen Linux-Rechner ist möglicherweise in wenigen Wochen/Monaten erfolgreich passiert. Für die für solche Vorhaben aber absolut notwendigen Kenntnisse, um ein solches System als Administrator auch gewissenhaft und sachkundig pflegen zu können und zur Sicherstellung eines weitestgehend störungsfreien Betriebs sollte man jedoch durchaus locker 1-2 weitere Jahre mit vielen kleinen Schritten, Lernen und viel Experimentieren einplanen. Das eigene Vorgehen bei der Produktivsetzung von Diensten muss sich unbedingt daran orientieren, zusätzliche Client-Server-Dienste nur dann in Betrieb zu nehmen, wenn man deren Wirken und Arbeitsweise wirklich verstanden hat, wenn man sie zweifelsfrei Einbruchsicher (auch zum Schutz vor Fehlbedienung durch die eigenen User) eingerichtet hat und erst nachdem man die Wirksamkeit der vorgenommenen Einstellungen auch tatsächlich geprüft und bestätigt hat.

Zum Beispiel bedeutet das für Samba mit den üblicherweise einzurichtenden Private-Shares, Public-Shares und Admin-Shares, dass man neben der Samba-Konfiguration auch die Linux-Rechteverwaltung für Benutzer und Gruppen komplett verstanden hat und das man die persönlichen Daten des einen Users vor Zugriffen durch die anderen User im LAN erfolgreich geschützt hat. Eine gewisse Privatsphäre gilt auch innerhalb der Familie. Geht man das leichtsinnigerweise anders an, verliert man im besten Fall nur die eigenen Daten. Im schlechtesten Fall übernimmt aber jemand fremdes über einen ungesicherten Zugang oder über eine "importierte" Schadsoftware und von einem selbst zunächst völlig unbemerkt zuerst die Daten und vielleicht kurz darauf sogar den ganzen Server ... einschließlich eines dauerhaften Zugangs zu allen privaten Daten. Das damit auch die Kontrolle über Webcams oder angeschlossene bzw. interne Microfone übernommen werden kann, ist nur ein böser Nebeneffekt. Zur "feindlichen Übernahme" gehört auch der sich anschließende Missbrauch des eigenen Servers, des familiären Internet-Accounts und der Mail-ISP als Bot, wenn der Server auf einmal über die persönlichen Mail-Zugänge tonnenweise Spam-Mails rausschleudert. Die einzig richtige Entscheidung für einen Neu-Linux-Administrator ist also die, die dazu führt, alle Dienste am Anfang ausschließlich nur im eigenen Heim-Netzwerk zu betreiben.

Kann ich auf meinem RPi eine Cloud einrichten?

Ja, das geht, aber aufgrund seiner limitierten Leistungsfähigkeit allerdings wieder mit Einschränkungen. Je mehr gleichzeitige User online sind, um so zäher wird es. Ich persönlich würde für den Einsatz von Cloud und Webserver eher eine andere und leistungsfähigere Hardware verwenden. Auf dem Pi würde ich das nur als Lernumgebung einrichten, ohne die Absicht zu haben, das wirklich produktiv zu setzen. Und ich würde vorher überlegen, ob "Cloud" für mich nicht eher nur so ein aufgeschnappter Begriff ist und ob ich solche umfassende Funktionalität tatsächlich brauche. Mein primäres Interesse zum Beispiel war die Synchronisation der Kontakt- und der Termindaten zwischen unseren Smartphones/Tablets und den jeweiligen persönlichen Thunderbirds auf verschiedenen Client-PCs. Dafür braucht man aber keine eigene Cloud und auch keinen Webserver, das geht perfekt mit "radicale" auf dem RPi, mit DavDroid auf den Smartphones und mit Thunderbird, Lightning und Cardbook auf den Linux-PCs. Sollen Dateien kopiert werden, macht das der Total-Commander mit dem LAN-Plugin auf den Smartphones geradezu perfekt.... also insgesamt brauchen wir keine CPU-lastige Cloud, die vermutlich eh nur sehr zäh läuft, sondern kommen mit kleinen schnellen Spezial-Anwendungen mit begrenztem Leistungsumfang bestens klar.

Ist eine lokale Cloud sicherer, als ein typischer kommerzieller Cloud-Anbieter?

Sicherer...?... bezogen auf was? Um die Frage zu beantworten, muss man zuerst unterscheiden, um welche Sicherheit es überhaupt geht und dann vergleichen.

Gesichert gegen Datenverlust durch Hardwaredefekte oder -ausfälle?

Weil kommerzielle Cloud-Anbieter vermutlich anstatt günstigerer Consumer-Hardware aus dem Elektromarkt eher RZ-taugliche Hardware verwenden, die Rechenzentren hinsichtlich Stromversorgung, Klimatisierung und Raumbedingungen absolut optimiert sind und die Daten zudem von Profis mit regelmäßigen Backups oder redundanter Speicherung gesichert werden, kann man davon ausgehen, dass dieser Speicherort aus technischer Perspektive erheblich sicherer ist, als eine private Cloud es jemals sein kann.

Gesichert gegen Zerstörung oder Unbrauchbarmachung durch Schadsoftware?

Aufgrund des professionellen Aufbaus eines RZ mit Proxy, Firewall, Antivirenüberwachung, Segmentierung der Daten, Compliance-Regeln für Mitarbeiter und Zertifizierung des Unternehmens kann man davon ausgehen, dass eine kommerzielle Cloud aus Sicht der Mitarbeiter-Qualifikation und der eingesetzten Dienste immer ein sichererer Aufbewahrungsort für die Daten ist, als es ein privates System sein kann.

Gesichert gegen Einsichtnahme und Respekt der digitalen Privatsphäre?

Mit der politischen Devise zur Liberalisierung des Datenschutzgesetzes und der Aussage, dass Daten der Rohstoff dieses Jahrhunderts sind, kann man davon ausgehen, dass heute schon mit den eigenen privaten Daten im weltweiten Datenhandel Geld verdient wird. Mit anderen Worten, meine privaten und persönlichen Daten aus meinem Leben werden ohne meine Erlaubnis mit großer Wahrscheinlichkeit systematisch ausgewertet und vermarktet. Ich habe zudem keinerlei Einfluss darauf, ob neben dem Cloud-Dienstleister auch noch fremde Behörden oder gar Drittinteressenten legalen oder illegalen Zugriff auf meine persönlichen Daten haben. Bei der Online-Speicherung meiner Daten und wenn im weltweiten Datenhandel mit dem Verkauf meiner zuvor ausspionierten Daten Geld verdient wird, werde ich hinsichtlich der Hoheit und Entscheidungsbefugnis für mein dort gespeichertes digitales Leben faktisch entmündigt. Dieser Gedanke ist für mich jedenfalls unerträglich, deshalb würde ich meine Daten niemals unverschlüsselt bei einem fremden Anbieter speichern, weder in einer Cloud, noch auf einem IMAP-Server.

Ist nun meine eigene Cloud auf dem RPi sicherer oder nicht?

Ja, solange man ihr nicht erlaubt, vom Internet kontaktiert zu werden. Ja, wenn ich die lokalen Daten segmentiere und die Zugriffe strikt reglementiere. Ja, wenn ich die Reproduzierbarkeit bei Datenverlust (Blitzschlag, Hochwasser, Plattencrash) durch regelmäßige Backups oder redundante Speicherung sicherstelle und die Qualität der Backups kontinuierlich prüfe und bestätige. Ein Backup-Prozess, mit dem man im Fall der Fälle die Daten nicht vollständig wiederherstellen kann ist reine Zeitverschwendung. Ja, wenn ich dafür sorge, dass nicht ein leichtsinniger User mit einer Ransomware die Daten aller anderen unbrauchbar machen kann. Ja, wenn ich wirksame Maßnahmen ergreife, die eine gezielte oder auch zufällige Kompromittierung von außen oder durch Anwender-Fahrlässigkeit verhindern. Die eigene Cloud ist also nur genau so sicher, wie weit meine Kenntnisse zur Administration reichen .... ansonsten ist sie es nicht.

Fazit: Im Vergleich zu einer kommerziellen Cloud ist man ist selber für alle Belange der Sicherheit verantwortlich. Und die tatsächliche Qualität dieser Sicherheit hängt unmittelbar von den eigenen Sachkenntnissen zur Herstellung dieser Sicherheit ab. Wenn ich nicht will, dass mein digitales Leben von fremden ausspioniert wird, ist die eigene Cloud die optimale Alternative. Es ist aber absolut die schlechteste Alternative, diese Cloud ohne fundierte Sachkenntnis zu betreiben, weil eine schlecht administrierte Cloud vielleicht sogar der weltweiten Hackerszene einen vollständigen Zugriff ermöglicht.

Welche Programme brauche ich für einen Fileserver?

Für ein einfaches NAS ist Samba perfekt, weil es auch Windows-Clients den Zugriff ermöglicht und geringeres KnowHow bei der Installation verlangt, als bei NFS notwendig ist.

Kann ich von außerhalb auf die Dateien zugreifen?

Nein, zuerst einmal primär nur innerhalb des Netzwerk, also nur zuhause im LAN. Wenn der Zugriff auch von außerhalb notwendig ist, geht das z.B. via OpenVPN. Das bedarf dann eines DynDNS-Accounts, mit dem das eigene Heim-Netzwerk über einen symbolischen Namen "angerufen" werden kann. Das ist notwendig, weil das durch die heute noch übliche DSL-Zwangstrennung durchaus noch ein Problem ist. Am besten kann man sich das mit einer täglich wechselnden Telefon-Nr. vorstellen - man kann nur nach Hause anrufen, wenn man die heutige Telefon-Nr. kennt. Zur Lösung des Problems braucht man einen Dienst-Anbieter, über den man mit einem immer gleichem symbolischen Namen die jetzt gerade geltende IP-Adresse des Heim-Netzwerks "anrufen" kann. ... eben diesen o.g. DynDNS-Acoount. Es gibt kostenpflichtige Dienstleister mit kontinuierlicher Funktion, kostenfreie mit temporär begrenzter Funktion und für Fritzbox-Router den Dienst MyFritz, der kostenlos ist und richtig gut funktioniert.

Ist ein eigener Webserver sicher?

Wenn man kein IT-Profis ist... ja, solange man ihm nicht erlaubt, vom Internet kommende Verbindungen anzunehmen, sonst nicht. Und ich behaupte mal, dass vermutlich ein sehr großer Anteil der privaten Laien-Admins ihren Webserver nicht wirklich ausreichend gesichert haben. Und wenn man mal eine Zeitlang Port 443 vom Router auf einen beliebigen Rechner ge'forwarded hat und dort den Traffic protokolliert, wer alles von irgendwo auf der Welt versucht eine Verbindung aufzunehmen, dann erkennt man, wie groß der Druck von außen ist und man sollte sich deshalb ein solches Vorhaben sehr genau überlegen. Bei mir ist Port 443 (ohne installierten Webserver) geöffnet ... einfach deshalb, damit ich über Port 443 via VPN tunneln kann. Ich nutze das, wenn ein offener WLAN-AP (Gastgeber) jeglichen UDP-Traffic und auch alle unprivilegierten TCP-Ports via Firewall blockt. In dem Fall verwende ich einfach den HTTPS-Port, um einen TCP-Tunnel nach Hause zu öffnen und unterlege damit den mit SSL/TLS verschlüsselten Traffic mit meinem ebenfalls verschlüsselten Tunnel. Eigentlich sollte damit überhaupt nicht mehr erkennbar sein, dass weitere verschlüsselte Daten übertragen werden

Und ich bin jedes mal beim Blick ins Log begeistert, wenn ich Tag für Tag hunderte Besucher von überall auf der Welt sehe, die mein VPN kurzerhand wieder rausgeschmissen hat. Da sag ich mal "Viel Spass mit dem Webserver", der bestimmungsgemäß rund um die Uhr auf Port 443 auf Besucher wartet und diese dann auch freudig begrüßt. Und wenn all das, was ich hier in diesem Absatz zu Ports und Protokollen genannt habe, im Moment "böhmische Dörfer" sind, dann ist das ein deutlicher Hinweis darauf, keinesfalls selber einen Webserver mit Cloud-Funktionen aufs Internet loszulassen.

Ist ein eigener Mail-Server sicher? Welches Programm brauche ich dafür?

Ja, er ist sicher... solange man ihm nicht erlaubt, vom Internet kontaktiert zu werden, sonst nicht. Wenn man z.B. wegen dem Wunsch mehrerer "daten-synchroner" Client-Geräte IMAP-Funktionen benötigt, ist das gerade hinsichtlich Datenschutz sogar viel sicherer, weil man nicht über einen längeren Zeitraum bei einem fremden Dienstleister langsam mehr und mehr werdenden persönlichen Schriftverkehr speichert. Will man allerdings vom Internet aus darauf zugreifen, gelten die gleichen Risiken wie für den Webserver. Ohne qualifizierte Maßnahmen wird solch ein Mailserver vermutlich binnen kurzer Zeit gekapert. Wir nutzen unseren Mail-Server direkt von den Clients nur im Heimnetzwerk. Und wenn unbedingt ein Zugang von außerhalb notwendig ist, dann geht das mit ein klein wenig Aufwand prima via OpenVPN-Tunnel. Das hat gleichzeitig auch den Vorteil, dass man seine Zugangsdaten zu seinen Postfächern nicht in einem unbekannten Netzwerk eingeben muss, die somit auch nicht ausspioniert werden können. Der Zugang via OpenVPN ist immer sicher. Insofern besteht für uns kaum eine Einschränkung darin, dass der Mail-Server nicht direkt vom Internet erreicht werden kann. Für einen Mail-Server ist nicht nur 1 Programm notwendig, man benötigt mehrere: Zum Beispiel Dovecot als Imap/Pop3-Server, Postfix als Mail-Transfer-Agent, Getmail als Mail-Retrival-Agent, Sieve als Mail-Filter. Neben diesen genannten gibt es noch weitere Alternativen für die gleichen Aufgaben. Mit welcher Lösung man am besten zurecht kommt, muss man für sich selber herausfinden.

Kann ich alle Daten auf der SD-Karte speichern?

Auf der SD-Karte meines PI's wird überhaupt nichts gespeichert und dafür ist sie meiner Meinung nach auch nicht gedacht. Es gibt Studien darüber, dass mit vielen schreibenden Vorgängen die Data-Retention der Karte massiv nachlässt. Meine SDC ist deshalb nur ein reines Boot-Medium, alle Schreibvorgänge -mit Ausnahme der Upgrades-  finden auf externen Speichern statt, und zwar mehrere HD und 1 SSD.

Ich habe keine Geheimnisse und ich habe auch nichts zu verbergen!

Tja, das ist eine Aussage, die m.M.n leider darauf beruht, keine wirkliche Vorstellung von den Konsequenzen der Aufhebung des Verfügungsrechts auf die eigenen Daten zu haben. Stell Dir mal vor, es kommt wirklich zur von unserer werten Frau Kanzlerin angekündigten Liberalisierung des Datenschutzes (womit sie offensichtlich sehr dubiose Interessen verfolgt), also quasi der Aufhebung des Rechts auf geschützte, eigene, private, persönliche Daten. Und dann vergleiche mal den Datenumfang, über den z.B. das Traditionsunternehmen Schufa (die bislang führende Auskunftei in Deutschland für kreditrelevante Informationen) verfügt, mit der Menge an Daten, über die Google mittlerweile weltweit verfügt. Stell Dir weiter vor, wie es sein wird, wenn Google im Rahmen des liberalen Datenhandels irgendwann mal ebenfalls als Auskunftei tätig wird und Personenprofile z.B. bei Kreditgesuchen anbietet, oder bei einer Jobsuche, oder bei der Wohnungssuche... und wenn sich dann solch ein 'Anbietender' über einen  Kunden, Mieter, Mitarbeiter für ein paar Euros Auskünfte über Dich einholen kann.

Was wirst Du sagen, wenn Du dann bei einem vielleicht irgendwann in der Zukunft stattfindenden Bewerbungsgespräch die Antwort bekommst: "Lieber Herr M., aufgrund Ihrer Neigung zu körperbetonten Sportarten sehen wir ein für uns zu hohes Risiko, sie als Mitarbeiter einzustellen". Woher wissen die das? Oder bei der Beantragung eines Renovierungs-Kredits bei der Bank: "Lieber Herr M., aufgrund Ihres aktuellen beruflich bedingten gesundheitlichen Zustandes sehen wir die Gefahr, dass sie ihren Beruf vielleicht bald nicht mehr ausüben können und dann die Kreditrate nicht mehr zahlen können." Und woher wissen die das? Oder vielleicht bei der Wohnungssuche:  "Lieber Herr M., laut ihrem Google-Profil arbeiten sie bei der Firma XYZ, deren Google-Profil zur Zeit schlechte Unternehmens-Prognosen hat. Wir können Ihnen leider die Wohnung nicht vermieten, weil sie bei dem im nächsten Jahr voraussichtlichen Konkurs Ihres Arbeitgebers wahrscheinlich ihren Job verlieren werden und wir damit vermutlich die Mietzahlungen." Was ist passiert? Nichts besonderes, Du hast nur alle Deine Termine über das Smartphone und mit Thunderbird in der Google-Cloud gespeichert, Arzttermine, Jobtermine, Freizeittermine, private Events. Du speicherst Emails, private und teilweise auch vom Arbeitgeber im IMAP-Postfach. Die Ergebnisse für Deine sportlichen Freizeitaktivitäten findest Du durch googlen. Die Reiseangebote mit passenden sportlichen Hotspots findet... na wer wohl... google. Die Google-Cloud weiß alles über Dich... na dann...  viel Glück mit der Einstellung, dass Du keine Geheimnisse hast.

Also soll/darf ich meinen Raspberry PI gar nicht vom Internet aus erreichbar machen?

Richtig, so ist es. Aber das ist dennoch die falsche Frage, es geht nicht nur um das "ob überhaupt", sondern auch um die Antwort auf die Frage "Wann ist der richtige Zeitpunkt, meine Server-Dienste auch von außen erreichbar zu machen?"

Meiner Meinung nach ist diese Anwort wirklich einfach: Der richtige Zeitpunkt ist dann erreicht, wenn alle eingerichteten Dienste beschränkt auf innerhalb des Heim-Netzwerks eine Zeitlang (mindestens mehrere Monate) fehlerfrei gelaufen sind und ich selber alle Störungen sachkundig beseitigen konnte. Und er ist  dann erreicht, wenn ich einen neuen Server (z.B. nach einem Release-Wechsel der Distribution) mit vollständiger Funktionalität jederzeit anhand meiner Dokumentation neu in Betrieb nehmen kann, ohne dabei auf ein Full-Backup des installierten Alt-Systems zurückgreifen zu müssen. Wenn man diesen Stand eines KnowHow's erreicht hat, hat man wahrscheinlich auch das Wissen erworben, seinen Server und seine Daten zuverlässig vor Attacken von außen zu schützen. Jeder andere frühere Zeitpunkt ist meiner Einschätzung nach einfach nur grob fahrlässig. Allerdings besteht mit diesem Sachwissen durchaus auch die sehr große Wahrscheinlichkeit, dass man genau diesen Zugang von außen jetzt eigentlich gar nicht mehr benötigt, weil man mit OpenVPN schon einen Zugang hat, ohne die Sicherheit aller Komponenten zu gefährden. So hat sich das beispielsweise bei mir ergeben.

Meine persönliches Fazit ist:

Komfortable Funktionen und Services mit eigener Hardware bereitzustellen, ist ohne jeden Zweifel die beste Lösung, um sich wirksam vor diesen Datenkraken und der Schnüffelei im eigenen Leben zu schützen. Wenn man es richtig macht, gibt es zu eigenen von einem selbst betriebenen Services auf eigener Hardware keine bessere Alternative für den Datenschutz des eigenen digitalen Lebens. Wenn man es jedoch falsch macht, gibt es Datenschutztechnisch nichts schlimmeres. Das A und O für die Sicherheit ist also, auf die eigenen Services solange keinen Zugriff vom Internet aus zu erlauben, bis man selber absolut fundierte Sachkenntnisse hat, um effektiv jeglichen notwendigen Schutz herstellen zu können.

Ich glaube, dass ich selber schon einigermaßen fortgeschrittene Linux-Kennntnisse habe.... aber in meinem Netzwerk ist es selbst nach mehreren Jahren des Betriebs bis heute keinem einzigen Dienst gestattet, von außen über das Internet kontaktiert zu werden. Aber durch die Nutzung von OpenVPN und dessen Möglichkeiten ist das eigentlich keine Einschränkung... ob das nun die Web-Cams sind, der File-Server, der Mail-Server, der Cal/Card-Dav-Server, mein zweiter PI als FTP-Server... auf kein einziges System ist vom Internet ein direkter Zugriff möglich, auf alle Systeme kann ich aber via OpenVPN auch aus dem Internet zugreifen.... und zwar immer über eine abhörsichere und verschlüsselte Leitung, die mich in der Ferne mitten rein in das eigene Heimnetzwerk beamt. Mit anderen Worten, ich greife i.ü.S. nicht wirklich von außerhalb aus dem Internet auf meine Daten zu, sondern immer nur von innerhalb des Netzwerkes. Das ich drinnen bin, dafür sorgt auch aus der Ferne OpenVPN.

Gibt es denn eine Möglichkeit, auf sicherem Weg von draußen über das Internet auf Daten zuhause zuzugreifen?

Ja, klar, die gibt's.... OpenVPN ist das Zauberwort. OpenVPN ist eine grandiose Alternative, um sich selber von 'draußen' mit dem Heimserver zu verbinden, ohne das Fremde die gleiche Möglichkeit haben. Gerade OpenVPN ist für mich einer der wichtigsten Komponenten zur sicheren Beibehaltung der digitalen Privatsphäre. Der eigentlich wichtigste Aspekt für OpenVPN ist, es kann die von mir bemängelte Öffnung dieser kritischen Services mit nur geringen Mehraufwand bei der Bedienung vollkommen überflüssig machen, und das quasi ohne diese von mir angesprochenen Sicherheitsmängel als Begleiterscheinung zu haben. Was ist also OpenVPN?

Zunächst mal ist OpenVPN von seinem Charakter nur eine Netzwerk-Software, es stellt eine Verbindung zwischen zwei Endgeräten her. Das wesentliche Merkmal dieser Verbindung ist, dass die zwischen den beiden Geräten ausgetauschten Daten verschlüsselt sind. Nehmen wir aber mal eine Lupe zur Hand, um etwas genauer hinzuschauen.  Dieses Thema laiengerecht zu erklären ist allerdings eine ziemlich anspruchsvolle Aufgabe, die mir auch nur gelingt, wenn ich das sehr oberflächlich tue, also indem ich mich auf eine Perspektive aus sehr großer Höhe beschränke. Also bitte ich hier um Nachtsicht der Fachleute.

Wenn ein User auf seinem PC im Internet surft und der User sich auf irgendeinem Server der Welt eine Web-Seite anschaut, so ist in diesem Moment eine TCP-Verbindung zwischen den beiden Geräten (Client-PC und Web-Server) hergestellt. Beide Geräte haben eine Netzwerk-Schnittstelle, beide Geräte haben eine IP-Adresse, und die Datenpakete beider Geräte werden auf nicht-vorhersehbaren Strecken zwischen beiden Geräten wie im Dialog hin und her gesendet. Man kann sich das wie ein Telefongespräch zwischen zwei Menschen auf der Welt vorstellen. Die gemeinsame Sprache ist das Übertragungsprotokoll, mit der sich beide miteinander verständigen können. Ohne gemeinsame Sprache gibt es keine Verständigung.  Im Datenverkehr ist TCP/IP die gemeinsame Sprache oder anders ausgedrückt, ein weltweit gültiges Übertragungsprotokoll. TCP/IP ermöglicht eine richtungsunabhängige und bidirektionale End-to-End-Verbindung. Ein IP-Datenpaket enthält wie ein Postpaket Informationen über Absender und Empfänger (die IP-Adressen) sowie  die eigentlich zu übertragenden Daten (Payload). Ein Blick auf die beiden folgenden Grafiken kann das ein wenig erklären:

Anrufer:                                  Angerufener:

Telefon

+---------------+                         Telefon

| Handy-No.:    |    <- Sprache ->        +---------------+

|               |------------             | Tel-No.:      |

| 0171-98765432 |           /             |               |

+---------------+           --------------| 0201-12345678 |

                       Telefonnetz        +---------------+

Client-PC:                                Web-Server:

Physisches Netzwerk-Interface

+---------------+                         Physisches NIC

| 192.168.0.100 |    <- IP-Pakete ->      +---------------+

|               |------------             | 203.10.17.200 |

|  Client-PC    |           /             |               |

+---------------+           --------------|   Web-Server  |

                        Internet          +---------------+

Im Normalfall sendet also ein Programm auf dem PC, wie z.B. der Browser, seine Daten via TCP-Pakete an das lokale Netzwerkinterface des PCs, das TCP-Paket wandert von dort über den DSL-Router ins Internet und findet auf irgendwelchen Routen seinen Empfänger an irgendeinem Ort auf der Welt. Diese Wege bzw. die dahinterstehende Logik zu erläutern kann natürlich hier keine Aufgabe sein. Wer sich dafür interessiert, findet alle notwendigen Infos im Web.

OpenVPN nutzt ebenfalls genau diese Verbindungen zur Kommunikation zwischen Client und Server im Internet. Der Unterschied ist, dass OpenVPN zuvor ein eigenes virtuelles Interface erstellt und dem Betriebssystem mitteilt, dass alle TCP-Datenpakete jetzt nicht mehr über das physische NIC versendet werden, sondern nur noch über das virtuelle. Den Programmen (z.B. Browser) ist das egal, für die ist das eine NIC so gut wie das andere.

Die Besonderheit ist, dass OpenVPN die Daten des ursprünglichen IP-Paketes jetzt vor dem Ausgang in Internet empfängt, diese nun vollständig verschlüsseln kann und dann ein neues TCP-Paket erstellt, welches erst jetzt an das physische Interface zur Reise ins Internet gegeben wird. OpenVPN arbeitet in gewisser Weise als Übersetzer zwischen Sender und <-Internet-> und Empfänger und verwendet dabei eine verschlüsselte Sprache (SSL, AES), die kein anderer verstehen kann. OpenVPN ist also eine absolut sichere Datenleitung in der End-to-End-Verbindung.

Hier wieder -passend zum vorherigen- zwei Beispiele, mit denen man sich die Arbeitsweise wieder sehr vereinfacht und im übertragenen Sinne vorstellen kann:

Anrufer:                                                     Angerufener:

Zerhacker          Telefon

+-------------+    +---------------+                                    

|             |    | Tel-No.:      |                Telefon              Zerhacker

| Modulation  |--->|               |--------        +---------------+    +-------------+

|             |    | 001-9876-5432 |       /        | Tel-No.:      |    |             |

+-------------+    +---------------+       ---------|               |--->| Modulation  |

                                      <- Audio ->   | 0201-12345678 |    |             |

                                      Telefonnetz   +---------------+    +-------------+

Mobiles Client-Gerät:                               Server im Heimnetzwerk:

(Laptop, Smartphone)

Virtuelles

OpenVPN-NIC        Physisches NIC

+-------------+    +---------------+                                     Virtuelles

| 10.8.0.8    |    | 172.10.17.200 |                Physisches NIC       OpenVPN-NIC

|             |--->|               |--------        +---------------+    +-------------+

| VPN-Client  |    |  Client-PC    |       /        | 192.168.0.200 |    | 10.8.0.1    |

+-------------+    +---------------+       ---------|               |--->|             |

                                     <-TCP-Pakete-> |  Home-Server  |    | VPN-Server  |

                                        Internet    +---------------+    +-------------+

Natürlich muss man sich hier beim Telefon-Beispiel zusätzlich die beiden sprechenden Menschen vorstellen, die ich nicht eingezeichnet habe. Und ebenso gibt es zwei "sprechende" Teilenehmer bei der Netzverbindung, auf der Client-Seite ist das die Applikation, irgendein Programm, auf der Server-Seite ist es ein bestimmter Service, wie z.B. Cloud-Dienste, Mailserver,  Fileserver, etc.  

Bei beiden Verbindungsbeispielen besteht jedoch der gleiche Effekt, dass das Gespräch resp. die Daten im jeweils öffentlichen Netz nicht belauscht werden können. Beim Telefon nimmt die angerufene Person das Gespräch entgegen. Da es sich bei OpenVPN allerdings um eine maschinell durchgeführte Annahme der Verbindung handelt, besteht hier anscheinend das Problem, woher weiß der VPN-Server eigentlich, ob da Freund oder Fremder "anruft".  Das ist bei OpenVPN mit individuellen Client-Zertifikaten gelöst. Das heisst, kann sich der Anrufer nicht mit einem gültigen Zertifikat (i.ü.S. fast wie ein VPN-Personalausweis) ausweisen, wird die Verbindung einfach sofort getrennt.  Das gültige Zertifikat und ein zugehöriges Keyfile wird einmalig vom "Herrn" des OpenVPN-Servers, also dem Heim-Netzwerk-Admin, herausgegeben.

< zurück >     < Firewall-Konzept >