Aegiron: unser Sicherheitsunterbau ist vollständig in Betrieb
Aegiron ist der Sicherheitsunterbau von Cloud Spheres und seit dem Start der Beta vollständig in Betrieb. Dieser Artikel beschreibt, wie er den Verkehr zwischen den Diensten absichert, wo Geheimnisse liegen, warum E-Mail-Adressen verschlüsselt gespeichert werden und was im Cluster überhaupt starten darf.
Aegiron ist der Name des Sicherheitsunterbaus, auf dem Cloud Spheres läuft. Seit dem Start der Beta ist er vollständig in Betrieb. Weil hinter einem solchen Namen viel oder auch fast nichts stecken kann, beschreiben wir hier, was er tatsächlich tut.
Am deutlichsten sichtbar wird er daran, wie die Dienste untereinander reden. Cloud Spheres besteht aus einer ganzen Reihe einzelner Programme, die sich gegenseitig aufrufen, und jeder dieser Aufrufe läuft über gegenseitig authentifiziertes TLS. Beide Seiten weisen sich dabei aus, ein Dienst ohne gültige Identität kommt gar nicht erst durch. Darüber hinaus trägt jeder Dienst eine Liste, wen er überhaupt annimmt und welche einzelnen Aufrufe er dieser Gegenstelle erlaubt. Ein übernommener Dienst kann also nicht alles ansprechen, was zufällig im selben Netz erreichbar ist, sondern bleibt auf das beschränkt, was für ihn eingetragen wurde.
Zugangsdaten, Schlüssel und Token liegen in einem zentralen Tresor und werden den Diensten erst zur Laufzeit ausgehändigt. Damit steht kein Geheimnis in einem Repository, in einem Container-Abbild oder in einer Konfigurationsdatei. Das klingt selbstverständlich, ist in der Praxis aber selten, und der eigentliche Gewinn zeigt sich im Alltag: ein Schlüssel lässt sich austauschen, ohne dass irgendwo Quelltext geändert und neu gebaut werden muss.
E-Mail-Adressen speichern wir verschlüsselt. Damit sich trotzdem nach einer Adresse suchen lässt, gibt es einen separaten Index, der daraus einen nicht umkehrbaren Wert bildet. Die Datenbank selbst bekommt die Adresse nie im Klartext zu sehen, und wer sich einen Datenbankauszug verschaffen würde, hätte damit keine brauchbare Liste von Kontaktadressen in der Hand.
Auf jedem Knoten läuft zusätzlich eine Überwachung der Systemaufrufe. Sie achtet auf Verhalten, das an dieser Stelle ungewöhnlich ist, etwa auf einen Prozess, der plötzlich eine Shell öffnet oder in Verzeichnisse schreibt, in denen er nichts verloren hat. Auf Signaturen bekannter Schadsoftware verlässt sie sich bewusst nicht, weil die immer erst dann existieren, wenn der Schaden anderswo bereits eingetreten ist.
Geregelt ist auch, was im Cluster überhaupt starten darf. Eine Richtlinie lässt ausschließlich Abbilder aus unserer eigenen Registry zu, und in diese Registry kommt nur, was vorher gescannt wurde. Ein beliebiges Abbild aus dem Netz startet hier nicht, selbst dann nicht, wenn es jemand versehentlich in eine Konfiguration schreibt.
Dazu kommen Netzwerkregeln, die jedem Dienst genau die Gegenstellen erlauben, die er für seine Arbeit braucht. Alles andere verwirft das Netzwerk, bevor es ankommt. Zusammen mit den Identitäten aus dem zweiten Absatz ergibt das zwei voneinander unabhängige Schichten, die dasselbe verhindern. Das ist so gewollt, denn eine einzelne falsch gesetzte Regel soll nicht ausreichen, um eine Tür zu öffnen.
Nichts davon merkt man im täglichen Betrieb. Genau das ist der Maßstab, an dem wir diese Arbeit messen.
Kommentare
Kommentare werden geladen…
