Serverstandort & Administration

Der aktuell von mir für das private Projekt ProLinOS eingesetzte Server hat wie alle bisher von mir betriebenen Server seinen Standort in Deutschland. Allerdings handelt es sich bei diesem Server diesmal nicht um einen in einem Rechenzentrum angemieteten, sondern um einen in meinem Eigentum und in einem kühlen und allgemein nicht zugänglichen Raum meines Hauses in Bremen stehenden Homeserver. Von der Hardwareauswahl und dem Zusammenbau über die Betriebssystem- und Softwareinstallation nebst Konfiguration bis zu der laufenden Administration und Überwachung des Servers wurden und werden alle Arbeiten an dem Server von mir ausgeführt. Dritte sind insoweit zu keinem Zeitpunkt beteiligt und haben auch keinen Zugriff auf diesen Projektserver von ProLinOS.

Damit sollte zugleich deutlich werden, das es sich bei ProLinOS natürlich nicht um ein allgemeines Massenprojekt handelt, mit dem vorrangig einer großen Zahl an Nutzern ein bestimmter Webdienst zur Verfügung gestellt werden soll. Vielmehr ist die Idee, mit dem Betrieb eines eigenen Homeservers ein Höchstmaß an Kontrolle über Hardware und installierte Software sowie die Konfiguration des Servers zu erlangen und damit letztlich einen wirksamen Schutz der auf dem Server abgelegten eigenen Daten zu erreichen und zudem einen sicheren Betrieb der auf ihm laufenden Dienste zu gewährleisten. Bei der anfänglichen Eigennutzung blieb es nicht lange und der Server wurde schnell von einem festen Benutzerstamm aus Familie und Freunden genutzt, der wiederum seit dem Start des Projekts ProLinOS von weiteren interessierten Mitbenutzern verstärkt wird. Mittlerweile hat sich mit diesem außerhalb der üblichen Rechenzentren und damit quasie dezentral positionierten Homeserver ein Projektserver etabliert, dessen Dienste sehr sicher und datenschutzfreundlich seit Jahren laufen.

Internetanbindung & Servertechnik

Um einen solchen Homeserver mit diverse Diensten an einem eigenen Internet-Anschluß sinnvoll betreiben zu können, ist neben einer entsprechend schnellen Internetanbindung insbesondere eine statische IP-Adresse erforderlich. Der von mir für das Projekt ProLinOS im eigenen Haus betriebene Server verfügt daher auch über einen Internet-Anschluss mit einer festen IPv4-Adresse und parallel einem festen IPv6/64-Präfix. Der Internet-Zugang selbst ist aktuell mit 200 Mbit/s im Download und 50 Mbit/s in dem für den Serverbetrieb entscheidenden Upload ausgelegt. Obwohl auf dem Server neben zwei Webseiten weitere Dienste wie der Cloud-Speicher oder der XMPP-Server und einiges mehr laufen und zusätzlich zu dem bestehenden festen Benutzerstamm eine immer mal wieder schwankende Zahl weiterer Mitbenutzer die Webdienste in Anspruch nehmen, hat sich erfreulicherweise in dem seit 2016 laufenden Serverbetrieb bisher gezeigt, das die hier gegebene Netzanbindung im Zusammenspiel mit der nachstehend dargelegten hardwaretechnischen Auslegung des Servers durchaus ausreichend ist und damit ein sinnvoller Betrieb eines eigenen Homeservers möglich ist.

In hardwaretechnischer Hinsicht verfügt der aktuell von mir betriebene Projektserver über eine Intel Xeon (E3-1226 v3) CPU mit 4 Kernen, 32 GB DDR3 RAM sowie 2 im Raid1 laufende SSD Platten (2x 240 GB SATA 6 Gb/s SSD), auf denen neben den Systemdateien auch die Programme und Dienste nebst den erforderlichen Datenbanken ihren Platz haben und weitere 2 im Hinblick auf die Ausfallsicherheit ebenfalls in einem Raid1 laufende und für den Dauerbetrieb ausgelegte HDD Platten (2x 4 TB SATA 6 Gb/s 7200 rpm), die per LVM je eine zusammenhängende knapp 4 TB große Datenpartition beherbergen. Insgesamt betrachtet sicherlich für einen eigenen Homeserver eine weit mehr als ausreichende Hardwareausstattung, die insoweit auch deutlich abgespeckter ausgelegt werden könnte. Andererseits ist sie aber neben der Internetanbindung ein weiterer Faktor, der es im Rahmen des Projekts ProLinOS erlaubt, auf dem Server eine Reihe verschiedener Webdienste zu betreiben und zudem auch weiteren interessierten Personen die Mitbenutzung des Servers bzw. einiger Serverdienste zu ermöglichen. Hinsichtlich Verfügbarkeit und Ausfallsicherheit habe ich den Projektserver mit einer batteriegestützten unterbrechungsfreien Notstromversorgung ausgestattet, die ihn ebenso wie den Router bei einem Stromausfall für ca. 50 Min. am Laufen hält.

Serversoftware

ProLinOS steht für Linux und freie, quelloffene Programme (Open Source). Insoweit wird es nicht verwundern, dass ich grundsätzlich keinen Windows-Server betreibe, sondern der Projektserver und die darauf laufenden Anwendungen aus Überzeugung nur mit quelloffener freier Software betrieben werden. Als Betriebssystem setze ich hierbei Debian GNU/Linux, aktuell in der stabilen Version 9.0 (Stretch), ein. Als Webserver kommt Nginx zum Einsatz und die Verwaltung der Daten wird von der freien Datenbank MariaDB übernommen. Weitere Angaben zu der von mir zur Umsetzung der einzelnen Webdienste eingesetzten freien und quelloffenen Software finden sich in den einleitenden Darstellungen zu dem jeweiligen Webdienst unter dem Hauptmenüpunkt „Server-Dienste“.

Serversicherheit & Verschlüsselung

Eines der wichtigsten Anliegen von ProLinOS ist im Hinblick auf die auf dem Server laufenden Webdienste natürlich die Sicherheit des eingesetzten Serversystems. Hierzu setze ich neben dem Einsatz freier Software unter anderem auf eine durchgängige Verschlüsselung, regelmäßige und zeitnahe Updates sowie starke Passwörter. Zur Zugriffs- und Transportwegverschlüsselung setze ich ein SSL-Zertifikat von Let’s Encrypt ein. Hierbei handelt es sich um ein SAN-Zertifikat, mit dem als Multi-Domain-Zertifikat sichergestellt wird, dass alle Zugriffe auf den Projektserver und die unter verschiedenen Subdomänen darauf laufenden Webdienste ebenso wie Up- und Downloads, grundsätzlich nur über verschlüsselte Verbindungen erfolgen bzw. möglich sind. Dies ist z.B. bei den Webseiten an dem kleinen Schlosssymbol in der Adresszeile des Browsers zu erkennen. Mit einem Klick darauf kann das Sicherheitszertifikat auch eingesehen werden.

Zur Einrichtung einer sicheren TLS Konfiguration setze ich derzeit durchgängig auf dem Server von ProLinOS nur das noch als sicher geltende Verschlüsselungsprotokoll TLS1.2 (TLS1.3 folgt demnächst) in Verbindung mit starken und mangels bekannter ausnutzbarer Schwachstellen ebenfalls noch als sicher geltenden Verschlüsselungsalgorithmen und entsprechenden Cipher-Suiten ein, die zudem sämtlich „Perfect Forward Secrecy“ (PFS) ermöglichen. Diese Methode für den Schlüsselaustausch bewirkt, das ein im Rahmen von Überwachungs- und Ausspähaktivitäten in verschlüsselter Form aufgezeichneter und gespeicherter Datenverkehr selbst dann nicht entschlüsselt werden kann, wenn es zu einem späteren Zeitpunkt gelingt, in den Besitz des damals genutzten Hauptschlüssels zu kommen, da die für eine Sitzung (Datenverkehr) verwendeten und hierzu jeweils neu ausgehandelten Sitzungsschlüssel bei Beendigung der Sitzung gelöscht werden und sich später nicht mehr rekonstruieren lassen. PFS steht insoweit für eine perfekte vorwärtsgerichtete Geheimhaltung, die eine nachträgliche Entschlüsselung verhindern soll.

Datenschutz & Privatsphäre

Ebenso wie der Schutz des Serversystems gehört auch der im Hinblick auf den bei der Nutzung der verfügbaren Webdienste zu gewährleistende Datenschutz und die bei Aufruf der Webseite zu schützende Privatsphäre der Besucher zu den Kernanliegen von ProLinOS. Alle Verbindungen und Übertragungen von Passwörtern und Nutzerdateien erfolgen daher nur verschlüsselt und natürlich werden Passwörter grundsätzlich auch nur verschlüsselt auf dem Server abgelegt. Weitere Einzelheiten hierzu finden sich in den jeweiligen Einführungen der verfügbaren Serverdienste.

Zur Sicherstellung oder Erzwingung verschlüsselter TLS-Verbindungen setze ich „Strict Transport Security“ (HSTS) ein, was im Ergebnis dazu führt, das jede unverschlüsselte Verbindung und jede Verbindung mit einem selbst unterschriebenen und damit ungültigen Zertifikat abgebrochen wird. Die Art und Stärke der Verschlüsselung wird hierbei durch die von mir vorgegebenen Cipher-Suiten bestimmt. Kann ein veralteter Browser diese nicht verarbeiten (TLS-Handshake), so wird auch keine Verbindung aufgebaut und der Nutzer erhält in seinem Browser einen entsprechenden Hinweis. Hier ist es dann an dem Nutzer oder Besucher seinen veralteten Müll gegen einen zeitgemässen und sicheren Browser zu tauschen. Wie auf den nachstehend angesprochenen Testseiten ersichtlich, setze ich neben HSTS für alle Verbindungen noch eine Reihe weiterer sogenannter „HTTP Security Header“ ein, mit denen neben der Sicherheit des Servers auch der Privatsphärenschutz der Nutzer und der Besucher der Webseiten von ProLinOS erhöht wird, wobei sich auf den Webseiten natürlich auch keine Tracker oder sonstige unnötige Drittanbieterressourcen finden.

Server und Webseiten testen

Eine Datenschutzerklärung ist erforderlich und gut, aber zur Umsetzung und Gewährleistung eines effektiven Datenschutzes in unserer heutigen IT-Wirklichkeit des weltweiten Web sind letztlich doch in erster Linie verantwortungsbewußte Server- und Webseitenbetreiber gefordert. Und da sieht es leider keineswegs durchweg rosig aus. Keine oder unzulänglich eingerichtete Verschlüsselungen, die auch noch dem letzten völlig veralteten Browser einen Zugang ermöglichen sollen und Webseiten, die mit Diensten und Ressourcen von Drittanbietern wie Cookies, User-Trackern, Social-Media-Button, etlichen nachgeladenen JavaScripts oder über Google-Server eingebundene Schriftarten und dergl. mehr, durchsetzt sind, obwohl all dies mit dem Inhalt oder Zweck der Seite nichts zu tun hat bzw. in der Regel zu deren Umsetzung nicht erforderlich ist und im Endeffekt nur einer Massenüberwachung Vorschub leistet.

Ein Klick auf das Bild öffnet den Test zu prolinos.de

Wie auf dem nebenstehenden Bild ersichtlich, kann man sich über die Prüfseite CryptCheck zunächst einen recht guten Gesamtüberblick über die auf einem Server bestehende aktuelle Konfiguration der Verschlüsselung verschaffen. Daneben sind inzwischen aber auch eine ganze Reihe von verschiedenen Testseiten verfügbar, die nicht nur für den Administrator eines Servers oder einen Webseitenbetreiber sehr hilfreich bei der Umsetzung einer sicheren Konfiguration sein können, sondern zudem auch dem Benutzer eines Webdienstes oder Besucher einer Webseite die Möglichkeit bieten, sich einen ersten Eindruck von den Sicherheits- und Datenschutzfunktionen eines Serverdienstes oder einer Webseite zu verschaffen und hierbei insbesondere auch festzustellen, welche Tracker, Cookies oder sonstige Drittanbieterdienste darauf im Hintergrund aktiv sind.

Die verschiedenen Testseiten unterscheiden sich allerdings in ihrem Prüfansatz. So wird z.B. bei der einen der Schwerpunkt auf die Verschlüsselung und bei anderen auf den Schutz der Privatsphäre gelegt. Und es gibt auch spezielle Seiten zum Test von XMPP-Servern oder mit Nextcloud betriebenen Cloud-Speichern. Auf der Seitenleiste habe ich beispielhaft einige dieser Testseiten aufgeführt, über die entsprechende Tests zu ProLinOS und den darunter laufenden Diensten aufgerufen und die von mir getroffenen Sicherheits- und Verschlüsselungseinstellungen abgeklopft werden können.