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 unseres 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. Mittlerweile hat sich mit diesem außerhalb der üblichen Rechenzentren und damit quasie dezentral positionierten Homeserver ein Projektserver etabliert, dessen auf GNU/Linux basierten Dienste sehr zuverlässig 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 neben dieser Webseite und dem eBook-Server auf ProLinOS mit dem Cloud-Speicher und dem XMPP-Server noch zwei weitere Dienste laufen, die nicht nur von mir, sondern auch einer immer mal wieder schwankenden Anzahl weiterer Mitbenutzer in Anspruch genommen werden, hat sich bei dem seit 2015 laufenden Serverbetrieb bisher gezeigt, das die hier vorhandene Netzanbindung im Zusammenspiel mit der nachstehend dargelegten hardwaretechnischen Auslegung des Servers durchaus ausreichend ist, um damit den sinnvollen Betrieb eines Homeservers zu ermöglichen.

In hardwaretechnischer Hinsicht verfügt der aktuell von mir betriebene Projektserver über eine Intel Xeon (E3-1226 v3) CPU mit 4 Kernen, 16 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. 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 etwa eine Stunde am Laufen hält.

Serversoftware

ProLinOS steht für (Pro) Linux (Lin) und freie, quelloffene Programme (OS – 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, in der jeweiligen stabilen Version (aktuell 10.3 Buster), 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 der einleitenden Darstellungen des jeweiligen Server-Dienstes, die sämtlich über das Hauptmenü zugänglich sind.

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 die noch als sicher geltenden Verschlüsselungsprotokolle TLS1.2 und TLS1.3 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. Neben HSTS setze ich 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 diesen Webseiten und Diensten von ProLinOS selbstverständlich auch keine unnötigen Drittanbieterressourcen wie User-Tracker, Social-Media-Button, nachgeladene JavaScripts oder über Google-Server eingebundene Schriftarten und dergl. mehr finden, da all dies weder mit dem Inhalt und Zweck der Seite zu tun hat, noch zu deren Umsetzung erforderlich ist und im Endeffekt nur einer Massenüberwachung Vorschub leistet.

Inzwischen sind 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. Die verschiedenen Testseiten unterscheiden sich allerdings in ihrem Prüfansatz. Auf der Seitenleiste habe ich beispielhaft mal einige dieser Testseiten aufgeführt, über die entsprechende Tests durchgeführt werden können.