1 open besluit1414 voorstellen

Onderwerp

Koppelingen met bestaande systemen

Hoe een toepassing op het platform gegevens uit een bestaand systeem mag lezen: begrensd in vier lagen, met instemming van de eigenaar van de bron, op de identiteit van de toepassing en langs het werkelijke pad beproefd.

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

Domein
Volgt uit
Functies
Producten
Verwant

Wat het is

Een toepassing op het platform kan gegevens lezen uit een bestaand systeem buiten het platform. Zo’n koppeling is een gedeclareerde verbinding met een eigen identiteit, en de eigenaar van de bron bepaalt wat die identiteit mag. De eerste levering bevat één leeskoppeling met een testexemplaar van een bestaand systeem.

Waarom zo

Het platform kan niet zelf garanderen dat een toepassing alleen leest: dat doet de bron. Daarom is de koppeling in vier lagen begrensd, is instemming van de eigenaar een voorwaarde en wordt altijd getest dat schrijven wordt geweigerd.

Toegang op grond van identiteit in plaats van netwerkpositie voorkomt langlevende gedeelde wachtwoorden. Waar een bron geen identiteit kent, is een leesaccount met een beheerd en regelmatig vervangen geheim de gedateerde uitzondering.

Uitspraken

1 vastgesteld12 voorstellen

Alle 12 voorstellen vaststellen

Grondslag

VoorstelOntwerpbesluit#

Een leeskoppeling wordt in vier lagen begrensd: netwerk, identiteit, autorisatie in de bron en vastlegging. Het platform levert netwerk en identiteit; welke handelingen de toepassing mag, bepaalt het bestaande systeem met de rol die zijn eigenaar aan haar identiteit koppelt. De vastlegging begrenst niets, maar maakt de toegang achteraf controleerbaar.

LaagWat wordt vastgelegd en afgedwongenDoor wieBewijs
NetwerkAlleen de gedeclareerde verbinding (bron, doel, poort, richting); al het andere wordt geweigerd, en de filterregels in het datacenternetwerk loggen de weigering en melden haar aan het SOCPlatform (netwerkbeleid in het cluster) en netwerkbeheer (filterregels)Weigering van een niet-gedeclareerde verbinding
IdentiteitAanmelding met de applicatie-identiteit of, als de bron die niet kent, met een leesaccount waarvan het geheim centraal wordt beheerd en vervangenPlatform (identiteits- en geheimenbeheer)Aanmelding zonder wachtwoord, of vervanging van het geheim zonder onderbreking of binnen een gedateerde onderbrekingsuitzondering
Autorisatie in de bronEen rol met alleen leesrecht, gekoppeld aan die identiteit: een databaserol met leesrecht op de afgesproken tabellen of weergaven en zonder uitvoerrecht op procedures, een API-toegang met alleen leesbereik of een bestandsdeling met alleen leesrecht; de toegekende rechten per object vastgelegdEigenaar van het bronsysteemEen schrijfpoging geweigerd door de bron; vastgelegde rechten beperkt tot de afgesproken objecten
VastleggingBron en toepassing loggen de toegang (identiteit, tijdstip en handeling, geen gegevensinhoud); de dienstbeschrijving bewaart koppeling, rechten en een verwijzing naar de instemming van de eigenaar, geen geheimenPlatform en bronLogboeken van bron en toepassing; het besluit bij de dienstbeschrijving
VoorstelRegel#

Een koppeling heeft instemming van de eigenaar van de bron over identiteit, gegevens, doel en einddatum, en de eigenaar levert de gegevens voor de toegang. Zij gaat standaard naar een testexemplaar van het bestaande systeem en wordt jaarlijks door die eigenaar herbeoordeeld. Voor het lezen van productiegegevens bij ontwikkelen en beproeven ligt een besluit van de gegevenseigenaar vast, ook over de omgang met gekopieerde gegevens in logboeken en back-ups.

Toelichting

Eigenaar: het applicatieteam en de eigenaar van de bron. Het besluit staat bij de dienstbeschrijving.

VoorstelRegel#

Omdat het platform niet zelf kan garanderen dat een toepassing alleen leest, wordt bij een leeskoppeling altijd getest dat de bron schrijven weigert. Ook toont de koppeling aan dat een niet-gedeclareerde verbinding, ook via een ander adres of een andere poort, in het cluster en het datacenternetwerk wordt geweigerd en gemeld.

Toelichting

Dit hoort bij de toets gecontroleerde koppeling met een bestaand systeem. Eigenaar: platformbeheer, met de eigenaar van de bron.

Aanleg

VoorstelWerking#

Een koppeling wordt gedeclareerd in de dienstbeschrijving: bron, doel, poort, richting en gebruiksdoel, met de gegevensclassificatie, de eigenaar en het technisch contact van de bron en de versie van het koppelvlak. Daarna volgen de zonecontrole, de filterregel in het datacenter, de uitgaande regel in het cluster, de identiteit en de proef langs het gebruikerspad; draaiboeken in de automatisering richten het netwerkpad in.

VanNaarHandeling
DienstbeschrijvingZonecontroleLegt bron, doel, identiteit, poort en gegevensrechten vast.
AutomatiseringFirewall en clusterPast alleen de toegestane zoneregel en uitgaande regel toe.
ToepassingOntvangende bronAuthenticeert met haar applicatie-identiteit of met de beoordeelde terugval.
BronAutorisatieStaat de aangevraagde gegevenshandeling toe of weigert haar.
BewakingVergelijkingVergelijkt waargenomen stromen met de declaraties, met onbekende perioden expliciet.
Toelichting

Zo registreert de dienstbeschrijving de koppeling, die de eigenaar van de bron jaarlijks herbeoordeelt. Het resultaat: een werkende netwerkverbinding verleent geen schrijfrecht op de bron.

VoorstelOntwerpbesluit#

Na de eerste leeskoppeling komen koppelingen per dienst via Applicatieverkeer en ketenkoppelingen, en in groeipadstap 4 API-beheer aan de applicatie-ingang: toegang en dosering per API, via een API-gateway achter de clusteringang en volgens het API-contract, voor teams die API’s aanbieden.

Toelichting

Iedere uitbreiding vraagt een eigen ontwerpbesluit.

Identiteit en geheimen

VoorstelOntwerpbesluit#

De identiteit van een koppeling wordt per koppeling bepaald, in een vaste volgorde: eerst een SPIFFE-identiteit als X.509-certificaat voor wederzijdse TLS, dan als JWT, en alleen als de bron geen van beide kan controleren een leesaccount als uitzondering. De terugval wordt vooraf gepland.

Toelichting

De federatie met een bestaand systeem is een ontwerpbesluit per bron. Afgewezen: alleen leesaccounts, want dat geeft langlevende gedeelde geheimen zonder toegang per identiteit; leesaccounts blijven voor bronnen zonder identiteit, als uitzondering met einddatum.

VoorstelRegel#

Kent de bron geen applicatie-identiteit, dan gebruikt de koppeling een leesaccount met een statisch geheim in OpenBao. Het geheim wordt iedere 30 dagen vervangen, met overlap als de bron twee geldige waarden tegelijk toestaat en anders binnen een gedateerde onderbrekingsuitzondering, en na een incident binnen 24 uur. Het is een beheerd langlevend geheim, als goedgekeurde uitzondering geregistreerd met eigenaar, reden en einddatum. Bij een database als bron levert de database-engine van het geheimenbeheer de inloggegevens.

Toelichting

Een vervanging is geslaagd als het nieuwe geheim zonder onderbreking in gebruik is en het oude niet meer werkt, ook niet voor bestaande verbindingen. Controle: het register en de proef van vervanging.

VoorstelWerking#

Bij problemen met de applicatie-identiteit valt een koppeling tijdelijk terug op een leesaccount met centraal beheerd geheim en einddatum, als goedgekeurde uitzondering met instemming van de eigenaar van de bron. Een mislukte koppeling wordt volledig verwijderd; de gegevens van het bestaande systeem veranderen niet.

Beproeving

VoorstelEis#

De eerste koppeling wordt met het eerste applicatieteam langs het werkelijke gebruikerspad beproefd, ook op wat er gebeurt als iets misgaat. Zij is gereed wanneer de testtoepassing een opdracht kan opslaan en de brongegevens kan lezen maar niet wijzigen, en de scenario’s zijn beproefd met vastgelegd resultaat.

ScenarioVerwachte uitkomstBewijs
Lezen van brongegevensDe toepassing leest de afgesproken gegevens.Logboek van bron en toepassing
Schrijven naar de bronGeweigerd door het bestaande systeem wegens ontbrekend recht.Foutmelding en logboek van de bron
Niet-gedeclareerde verbindingGeweigerd in het cluster en het datacenternetwerk, ook via een ander adres of een andere poort, en vastgelegd.Weigering in het logboek; melding bij het SOC
Vervangen inloggegevensHet nieuwe geheim is in gebruik zonder onderbreking of binnen de vastgelegde onderbrekingsuitzondering; het oude werkt niet meer, ook niet voor bestaande verbindingen.Verslag van de vervanging
Gedeeltelijk mislukte leveringStatus ‘Onvolledig’ met de ontbrekende stap; het beheer hervat de levering zonder dubbele regels of objecten.Leverstatus en verslag
BeëindigingVerbinding, filterregels, identiteit, geheim en account of rol in de bron verwijderd; lopende sessies beëindigd.Verslag van de beëindiging
Toelichting

De proef hoort bij de toetsen gecontroleerde koppeling met een bestaand systeem en toegang op applicatie-identiteit. Voorwaarde is dat ingang en zonering, de standaardinrichting van de applicatieclusters en de beheerde database gereed zijn.

VoorstelRegel#

Bevindingen van het eerste team komen op de verbeterplanning voordat volgende afnemers aansluiten. Een open bevinding met gevolgen voor beveiliging of beheer blokkeert het aansluiten tot zij is opgelost of de diensteigenaar het restrisico heeft geaccepteerd, medeondertekend door de CISO-functie.

VoorstelMaatregel#

De stromen van een koppeling worden gecontroleerd met de netwerkweergave van Advanced Cluster Security, en vanaf groeipadstap 2 met het netwerkinzicht van de eigen bewakingsvoorziening. Afwijkingen worden gemeld, en werkelijke en gedeclareerde stromen komen in het maandelijkse verslag.

Verwijzen hiernaar

Onderwerpen 1