1 open besluit1414 voorstellen

Onderwerp

Startketen, opslag en herstel

Hoe de cel start zonder op de gedeelde opslag te wachten, waar de basisdiensten hun gegevens bewaren, hoe het geheimenbeheer op het cluster draait en in welke volgorde de basisdiensten na verlies terugkomen.

Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas

Domein
Volgt uit
Functies
Producten
Verwant

Wat het is

De startketen zijn de diensten die beschikbaar moeten zijn voordat de rest van de cel kan starten: het geheimenbeheer, de databases van de basisdiensten, de toegangsvoorziening en het identiteitsbeheer. Dit onderwerp legt vast waar de basisdiensten hun gegevens bewaren, hoe de startketen zonder het opslagcluster start, hoe het geheimenbeheer op het cluster draait en wordt ontgrendeld, en hoe de basisdiensten na verlies terugkomen.

Het ontwerp van geheimen, sleutels en certificaten zelf staat in Geheimen, sleutels & certificaten; hier staat alleen wat over het draaien op het basisdienstencluster gaat.

Waarom zo

Het opslagcluster heeft voor zijn herstel geheimen nodig, en het geheimenbeheer mag daarom niet op het opslagcluster staan. Lokale opslag voor de diensten die zichzelf repliceren doorbreekt die kring. Diensten met één exemplaar staan juist op het opslagcluster, zodat ze op een ander knooppunt kunnen starten.

Herstel per dienst, met al haar gegevens en in een vaste volgorde, maakt de cel ook na verlies weer bruikbaar.

Uitspraken

1 vastgesteld15 voorstellen

Alle 15 voorstellen vaststellen

Opslag naar herstelgedrag

VastgesteldOntwerpbesluit#

Basisdiensten die hun gegevens zelf repliceren, zoals het geheimenbeheer, en de databases van de basisdiensten gebruiken lokale opslag op de eigen servers, niet het opslagcluster. Zo blijft het geheimenbeheer bruikbaar als juist het opslagcluster wordt hersteld.

Toelichting

Gevolg: geen live-migratie voor deze diensten. Afgewezen alternatief: alles op het opslagcluster; dat geeft bij herstel een kringafhankelijkheid tussen opslag en geheimen. Het geheimenbeheer beschrijft dit vanuit zijn kant bij Geheimenbeheer.

VoorstelRegel#

Een dienst met één exemplaar en blijvende gegevens, die elders moet kunnen starten, staat op het opslagcluster, zoals het versiebeheer en het firmwarebeheer. Ook de gedeelde inhoud staat daar: de opslagplaatsen van het versiebeheer op een blokvolume, beelden, bijlagen, pakketten en opnamen als objecten in de realm platform, en de opslag van de hub van de automatisering en de bijlagen van de datacenterregistratie op CephFS. De opslagklassen liggen in code vast.

Toelichting

De realm platform is het vertrouwensdomein van het platform in de objectopslag; zie Scheiding per afnemer.

VoorstelOntwerpbesluit#

Virtuele machines op het basisdienstencluster gebruiken lokale schijven, behalve het firmwarebeheer, en worden zonder overboeking ingericht. Ze worden herbouwd uit code en configuratieback-up. Zo werken de externe verkeersverdeling en het beheer zonder opslagcluster.

Toelichting

Afgewezen voor de leden van de externe verkeersverdeling: schijven op het opslagcluster met live-migratie. De verkeersverdeling zou dan met het opslagcluster uitvallen, en het paar dekt onderhoud en uitval al. Het firmwarebeheer heeft één exemplaar en staat daarom wel op het opslagcluster.

De startketen

VoorstelUitgangspunt#

De startketen zijn de diensten die beschikbaar moeten zijn voordat de overige diensten kunnen starten. Zij hangen niet in een kring van elkaar af: geheimenbeheer, databases en toegangsvoorziening starten zonder opslagcluster, en van buiten het cluster hebben zij alleen de naam-, tijd- en ontgrendelvoorziening nodig.

VoorstelRegel#

Het geheimenbeheer, de databases van de basisdiensten, de toegangsvoorziening en het identiteitsbeheer starten zonder opslagcluster en zonder draaiend geheimenbeheer. De beelden van de startketen staan daarvoor vooraf op ieder knooppunt.

Toelichting

Aangetoond met een proef bij de opbouw en na iedere clusterversie: na een herstart van alle knooppunten zonder opslagcluster werken deze diensten. Hoe hun geheimen zonder draaiend geheimenbeheer beschikbaar zijn, staat ook bij Geheimenbeheer.

VoorstelOntwerpbesluit#

De diensten van de startketen krijgen hun geheimen als clustergeheim via External Secrets Operator uit OpenBao, ieder uur ververst. Ook de slotgegevens van de ontgrendeling en de sleutel van de luisteraar staan als clustergeheim. Zo start het cluster opnieuw zonder draaiend geheimenbeheer.

Toelichting

Afgewezen alternatief: iedere dienst haalt bij de start zelf haar geheimen. Valt het geheimenbeheer dan uit, dan start ook de toegangsvoorziening niet, en daarlangs melden de beheerders van het geheimenbeheer zich aan. Voor toepassingen in applicatieclusters past dat alternatief wel.

VoorstelWaarde#

Wat iedere basisdienst nodig heeft om te starten.

BasisdienstHeeft nodig
ContainerregistryOpslagcluster; toegangsvoorziening voor personen
GeheimenbeheerOntgrendelvoorziening; geen opslagcluster of toegangsvoorziening
ToegangsvoorzieningDirectory; geen opslagcluster
IdentiteitsbeheerRWS-HR, AD DS en de toegangsvoorziening; geen opslagcluster
Versiebeheer van het platformOpslagcluster, database en geheimenbeheer
AutomatiseringVersiebeheer, geheimenbeheer en toegangsvoorziening
DatacenterregistratieToegangsvoorziening; adressen in Infoblox
FirmwarebeheerOpslagcluster; directory
Externe verkeersverdelingGeen opslagcluster; inrichting via de NITRO-API
BeheerwerkplekOpslagcluster voor de opname, anders de noodroute

Het geheimenbeheer op het cluster

VoorstelOntwerpbesluit#

Het geheimenbeheer draait hoog beschikbaar met Raft: drie exemplaren, één per knooppunt, op lokale volumes. Het configuratiebestand, met het auditapparaat, staat zonder geheimen in het versiebeheer. De luisteraar gebruikt TLS 1.3 op poort 8200 onder geheimen.<cel>.dc3.internal; poort 8201 is alleen voor het verkeer tussen de exemplaren. Het auditapparaat schrijft via stdout naar de SIEM, zonder waarden.

Toelichting

Terugvaloptie voor de audit: een auditbestand op een eigen volume. Het ontwerp van het geheimenbeheer zelf, van beleid tot looptijden, staat in Geheimenbeheer; het certificaat van de luisteraar bij Certificaten en PKI.

VoorstelWerking#

Het geheimenbeheer ontgrendelt via de KMS-plug-in van OpenBao bij de hardwaresleutelmodule van PKI-beheer, achter de interne RWS-PKI, met PKCS#11 over TLS, vanuit beide cellen en vanuit de herstelzone. Voor de herstelkern levert PKI-beheer een versleutelde kopie van ieder sleutelslot. Is de module onbereikbaar, dan werken draaiende exemplaren door, maar ontgrendelt een herstart niet, ook niet met de herstelsleutels; tot de module terug is, worden de exemplaren niet herstart.

Toelichting

Aanvaard restrisico: één hardwaresleutelmodule voor beide cellen, begrensd doordat draaiende exemplaren doorwerken. De keuze voor ontgrendeling buiten de cel, het eigen sleutelslot per cel en de terugvalopties staan bij Sleutels, ontgrendeling en versleuteling.

VoorstelWaarde#

Van het geheimenbeheer maakt de snapshotagent ieder uur een Raft-momentopname, versleuteld en 30 dagen bewaard. Het herstel ervan wordt beproefd in de leeromgeving en in de herstelomgeving.

Toelichting

Het herstel van het geheimenbeheer zelf staat bij Geheimenbeheer.

Back-up en herstel

VoorstelRegel#

Iedere basisdienst heeft een back-up volgens het back-upschema van het platform, met een onveranderbare kopie. Ieder kwartaal wordt van iedere dienst een herstel uitgevoerd met al haar gegevens: database, bestanden en sleutelmateriaal. De hersteltijd per dienst komt uit die herstelproef en staat in het continuïteitsplan.

Toelichting

Het back-upschema en de onveranderbare kopie horen bij Back-up & schoon herstel.

VoorstelWerking#

Iedere basisdienst wordt afzonderlijk hersteld, met al haar gegevens: het geheimenbeheer uit zijn momentopname, met de herstelsleutels en het ontgrendelmateriaal van buiten de cel; de databases met Barman; het versiebeheer met zijn export en een controle met forgejo doctor; de containerregistry met configuratie, database en bucket; het identiteitsbeheer met zijn keystore; en de virtuele machines uit code en configuratieback-up.

VoorstelWerking#

Bij herstel uit back-up en herstelkern komen de basisdiensten in een vaste volgorde terug.

StapWat terugkomtVoorwaarde of controle
VoorafNetwerk, naam en tijd, noodtoegang, ontgrendelvoorziening, drie houders van herstelsleutels en de beelden uit de herstelkernAanwezig vóór de eerste stap
1Het cluster—
2Geheimenbeheer en databasesHet geheimenbeheer is ontgrendeld
3VersiebeheerExport en database uit hetzelfde herstelpunt, gecontroleerd met forgejo doctor
4Toegangsvoorziening en identiteitsbeheerAanmelding pas na herhaling van de intrekkingen sinds het herstelpunt
5Containerregistry—
6De overige dienstenVirtuele machines uit code en configuratieback-up
Toelichting

Het versiebeheer gaat als eerste basisdienst terug, zodra cluster, opslag, database en geheimenbeheer werken; de andere diensten halen hun inrichting daaruit.

VoorstelWerking#

Iedere basisdienst kan terug naar de vorige vastgelegde versie en inrichting, voor zover leverancier en gegevensstructuur dat toelaten; de hersteltest beproeft dat per dienst. Anders is herstel uit de back-up van vóór de upgrade de terugvaloptie.

Verwijzen hiernaar

Onderwerpen 4