Self Hosted VPN
Sichere Verbindungen mit Debian, OpenVPN und SSH
Um verschlüsselte Verbindungen über eine selbst verwaltete Infrastruktur bereitzustellen, wurde ein eigener VPN-Server auf Basis von Debian Linux eingerichtet. Im Gegensatz zu kommerziellen VPN-Anbietern verbleiben sämtliche Konfigurations- und Sicherheitseinstellungen unter eigener Kontrolle. Darüber hinaus werden die IP-Adressen vieler bekannter VPN-Anbieter von Streaming-Diensten, Webseiten oder Onlinediensten erkannt und teilweise blockiert. Ein selbst betriebener VPN-Server verwendet dagegen eine eigene Server-IP, die in der Regel nicht auf den bekannten Sperrlisten öffentlicher VPN-Dienste steht.
Als Grundlage wurde ein virtueller Server mit Debian Linux bereitgestellt. Nach der Installation wurden zunächst sämtliche Systempakete aktualisiert und die Grundkonfiguration vorgenommen. Anschließend wurde ein separater Benutzer für die Administration erstellt, um den täglichen Betrieb nicht über das Root-Konto durchführen zu müssen.
Die sichere Administration erfolgt ausschließlich über SSH. Hierfür wurde auf dem lokalen Rechner ein eigenes RSA-Schlüsselpaar mit 4096 Bit erzeugt und mit einer Passphrase geschützt. Der öffentliche Schlüssel wurde anschließend mithilfe von SCP (Secure Copy) auf den Server übertragen und in der Datei authorized_keys hinterlegt. Nach erfolgreichem Funktionstest wurden Passwortanmeldungen deaktiviert und ausschließlich die Anmeldung per Public-Key zugelassen. Zusätzlich wurde der direkte Root-Login vollständig abgeschaltet.
Für den eigentlichen VPN-Dienst kommt OpenVPN zum Einsatz. Die Installation erfolgte mithilfe eines Shell-Skripts, dessen Inhalt vor der Ausführung überprüft wurde. Während der Einrichtung wurden unter anderem die öffentliche IP-Adresse des Servers, das verwendete Übertragungsprotokoll, der VPN-Port sowie der DNS-Dienst konfiguriert. Für die Verbindung wurde bewusst UDP gewählt, da dieses Protokoll bei VPN-Verbindungen in den meisten Anwendungsfällen eine geringere Latenz und eine bessere Übertragungsleistung als TCP bietet.
Nach Abschluss der Installation wurde für jedes Endgerät eine eigene .ovpn-Konfigurationsdatei erstellt. Diese enthält sämtliche notwendigen Zertifikate und Verbindungseinstellungen und kann individuell einzelnen Clients zugeordnet werden. Dadurch lassen sich einzelne Geräte bei Bedarf unkompliziert hinzufügen oder auch wieder entfernen, ohne die gesamte VPN-Infrastruktur neu konfigurieren zu müssen.
Die Konfigurationsdateien wurden anschließend per SFTP sicher auf den jeweiligen Client übertragen und dort in den OpenVPN-Client importiert. Nach erfolgreichem Verbindungsaufbau wurde überprüft, ob der gesamte Datenverkehr korrekt über den verschlüsselten VPN-Tunnel geleitet wird und nach außen ausschließlich die öffentliche IP-Adresse des Servers sichtbar ist.
Zusätzlich wurden die Sicherheits- und Datenschutzeinstellungen des Servers angepasst. Die Protokollierung von OpenVPN wurde auf das notwendige Maß reduziert, sodass nur betriebsrelevante Informationen gespeichert werden. Gleichzeitig wurde die Firewall so konfiguriert, dass ausschließlich die für SSH und OpenVPN benötigten Dienste von außen erreichbar sind. Alle übrigen Ports bleiben standardmäßig geschlossen.
Ein weiterer Vorteil eines selbst betriebenen VPN-Servers besteht darin, dass keine Abhängigkeit von einem externen VPN-Anbieter besteht. Bei öffentlichen VPN-Diensten müssen Nutzer darauf vertrauen, dass die angegebenen No-Log-Richtlinien tatsächlich eingehalten werden. Bei einer selbst verwalteten Lösung können sämtliche Einstellungen, Protokollierungsoptionen und Sicherheitsmaßnahmen jederzeit selbst überprüft und angepasst werden.