Grabenkrieger

Ein Blog über Konzertfotografie und IT

Auf dem Weg zum Servercluster – Verschlüsselung

Teil 1: Die Anforderung
Teil 2: Die Ressourcen
Teil 3: Die Absicherung
Teil 4: Das Dateisystem
Teil 5: Datenbank-Containerisierung
Teil 6: Verschlüsselung

Während die Europäische Union gerade die Verschlüsselung von Messengern aufweichen möchte (einen Generalschlüssel oder eine Backdoor in eine Verschlüsselung einzubauen macht eine Verschlüsselung quasi unbrauchbar), zwingt die DSGVO eigentlich sowohl die Messenger-Betreiber, als auch mich als Clusterbetreiber zum sorgfältigen Umgang mit den Daten im Datenbanksystem als auch mit allen anderen Daten.

Sowohl Gluster als auch die TiDB bringen eine Transportverschlüsselung mit, die man sich einschalten kann. Bei beiden ist die Konfiguration jedoch zeitaufwendig bis kompliziert, da man beiden ein Certificate Authority-signiertes Zertifikat benutzen muss. Zwar kann man sich die Zertifikate auch selber signieren, so richtig einfach ist der Weg bei beiden Systemen nicht. Bei Gluster werden beispielsweise alle erstellten Zertifikate aller Peers konkateniert, daraus entsteht dann die Signierung, die auf allen Servern ausgerollt werden muss. Ein neuer Server bedeutet also: Spielt den selben Song nochmal.

Bei der TiDB habe ich die Transportverschlüsselung zwischen den Nodes als auch zwischen den Nodes und dem Client gar nicht zum Laufen bekommen. Hinzu kommt: Pro Server müssen 3 Dienste (TiKV, TiDB, PD) abgesichert werden plus die Absicherung in Richtung Client.

Ein Gespräch mit meinem Arbeitskollegen Sven hat mich auf die Lösung gebracht. Er hatte die Idee ein VPN zwischen den Servern aufzuspannen.
Ähnlich, wie in einem WLAN, kann ich ein VPN mit einem Pre-Shared-Key betreiben. Dieser ist unbedingt geheim zu halten und ist auf allen Nodes gleich. Auch ähnlich, wie in einem WLAN, ist die Transportverschlüsselung damit gewährleistet.
Standardmäßig würde man hier wohl auf OpenVPN setzen. Jedoch hat OpenVPN für mich den Nachteil, dass hier wieder eine Server/Client-Architektur benutzt wird. Es gibt quasi einen, teils auch mehrere Server, auf die sich die Clients verbinden müssen, um Teil des Netzwerks zu werden.
Eine Suche führte mich dann aber zur Software VPNCloud. Diese lässt sich wahnsinnig einfach und schnell einrichten. Im Gegensatz zu vielen gängigen VPN-Lösungen ist VPNCloud eine Peer-to-Peer-Lösung. Ein neuer Node, muss sich mit einem x-beliebigen Node des VPNs verbinden und ist danach Teil des Netzwerks. Transportverschlüsselung inklusive.

Für das VPN wird auf jedem Server ein weiteres virtuelles Netzwerkinterface geöffnet. Wichtig ist natürlich, dass alle Dienste, die irgendwie miteinander kommunizieren sollen dann auf dein internen IPs kommunizieren und nicht mehr auf den externen IPs. Damit wären die Daten auf den Transportwegen dann tatsächlich gesichert.

Foto: TheDigitalWay / Pixabay

Weiter Beitrag

Zurück Beitrag

Antworten

© 2024 Grabenkrieger

Thema von Anders Norén