ProLinOS

Damit eigene Daten eigene Daten bleiben ...

Homeserver

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 insoweit quasie dezentral positionierten Homeserver ein Projektserver etabliert, dessen auf GNU/Linux basierten Dienste sehr zuverlässig und natürlich 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 einen Serverbetrieb entscheidenden Upload ausgelegt. Obwohl neben dieser Webseite auf dem Server noch eine Reihe weiterer Dienste laufen, die neben mir auch von einigen Mitbenutzern 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 für den sinnvollen Betrieb eines Homeservers ist.

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 500 GB SATA 6 Gb/s), 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), die per LVM je eine zusammenhängende knapp 4 TB große Datenpartition beherbergen. Insgesamt betrachtet sicherlich für einen Home-Server 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 zwei Stunden 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 11 Bullseye), ein. Als Webserver kommt Nginx zum Einsatz und die Verwaltung der Daten wird von den freien Datenbanken MariaDB und PostgreSQL ü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 aktuell 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 vorwärtsgerichtete Geheimhaltung, mit der eine nachträgliche Entschlüsselung verhindert werden soll.

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.