1 open besluit1414 voorstellen

Onderwerp

De standaardinrichting

Het beleid dat het vlootbeheer op ieder applicatiecluster afdwingt en dat een team niet kan wijzigen: beleidspakketten, teamnaamruimten, beveiliging van werklasten, naleving en bewaking.

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

Domein
Volgt uit
Functies
Producten
Verwant

Wat het is

De standaardinrichting is het vaste pakket beleid en voorzieningen op ieder applicatiecluster: aanmelding en rollen, teamnaamruimten met quotum en netwerkbeleid, certificaten, geheimen en identiteit, toelating van software, beveiligingsbewaking, compliance, logging, opslag en back-up. Zij bestaat uit beleidspakketten die het vlootbeheer uitrolt en blijvend afdwingt, ook na de levering. Een team beheert zijn toepassingen in zijn eigen naamruimten; de standaardinrichting zelf kan het niet wijzigen.

Waarom zo

Eén beproefde inrichting voor alle clusters maakt het mogelijk ze automatisch te toetsen, bij te werken en te herstellen, en beveiliging in de standaard te leggen in plaats van bij ieder team. Een standaard die alleen bij het aanmaken wordt toegepast, veroudert en laat teams afwijken; als beleid bereikt een nieuwe versie ook de bestaande clusters, eerst bij de proefgroep. Wat niet kan, wordt geweigerd en gemeld, en een bewuste afwijking is een uitzondering met eigenaar en einddatum.

Uitspraken

1 vastgesteld21 voorstellen

Alle 21 voorstellen vaststellen

Standaard als beleid

VastgesteldOntwerpbesluit#

De standaardinrichting geldt voor ieder applicatiecluster en is beleid van het vlootbeheer, geen instelling per cluster: een nieuwe versie van de standaard bereikt alle bestaande clusters, niet alleen nieuwe. Een team kan haar niet wijzigen.

Toelichting

Alternatief: een sjabloon dat alleen bij het aanmaken wordt toegepast. Dan wijken teams af en bereikt een nieuwe standaard de bestaande clusters niet.

VoorstelWaarde#

De standaardinrichting van ieder applicatiecluster bestaat uit de onderdelen hieronder, elk met de voorziening die het afdwingt.

OnderdeelInrichtingAfgedwongen door
AanmeldingVia de centrale aanmelding met meerfactoraanmelding; geen lokale accounts; noodtoegang alleen via de noodroute; het installatieaccount verwijderd nadat de centrale aanmelding en de noodtoegang zijn beproefdVlootbeheer
RollenTeamrollen voor de eigen naamruimten volgens de niveaus van rechten: schrijven in ontwikkelen en beproeven; in reguliere productie lezen, met een tijdelijke verhoging na goedkeuring door een ander teamlid; platformrollen voor de standaardinrichtingVlootbeheer
CertificatenAutomatisch uitgegeven en vernieuwd uit de eigen PKI onder de tussen-CA van de cel, ook het standaardcertificaat van de ingang; de ingang sluit TLS af met het TLS-profiel van de baseline en beleid zet HSTS op iedere route; vernieuwing, herladen door de toepassing en uitval van de uitgever beproefdCertificaatbeheer in het cluster; vlootbeheer voor TLS-profiel en HSTS
NetwerkScheiding tussen afnemers volgens de zonecontrole, met beheerdersbeleid en standaard weigeren tussen naamruimten; uitgaand verkeer alleen naar toegestane bestemmingen; hostnetwerk en secundaire interfaces alleen als de dienstbeschrijving ze vermeldtClusterbeleid
Verkeer tussen dienstenEerste levering: netwerkbeleid tussen naamruimten en versleuteling door de toepassing zelf, onversleutelde stromen alleen als uitzondering met einddatum; doelsituatie: het dienstennetwerk, per naamruimte ingeschakeld zodra de leverancier de topologie ondersteunt, niet voor virtuele machinesClusterbeleid; na de ingebruikname het dienstennetwerk en het vlootbeheer
Toelating van softwareAlleen ondertekende software uit de vrijgegeven eigen containerregistry, onafhankelijk gecontroleerd bij toelating en bij het ophalen door het knooppuntToelatingscontrole en werker
WerklastenStriktste profiel voor containers: geen verhoogde rechten en geen toegang tot de onderliggende werker; quotum en limieten per naamruimte; platformonderdelen met meer rechten, zoals bewakingssensor en opslagkoppeling, in platformnaamruimten met een eigen, in de baseline vastgelegd profielToelatingsbeleid
Geheimen en identiteitGeheimen uit het geheimenbeheer, geleverd via de geheimenkoppeling die ze vóór verloop vernieuwt; de toepassing leest het geheim bij iedere nieuwe verbinding; applicatie-identiteit voor verbindingenClusteronderdelen voor geheimen en identiteit
ComplianceWekelijkse scan van werkers en clusterinstellingen tegen het baselineprofiel, voor de gehoste besturing op het clusterbeheer; bewaking van de integriteit van de werkersCompliancecontrole
Bewaking en loggingMetingen, meldingen en logboeken; audit- en beveiligingslogboeken naar het SOCVlootbeheer
BeveiligingsbewakingSensor voor gedrag tijdens gebruik en voor kwetsbaarheden; uitval van de sensor wordt gemeldVlootbeheer
Back-upClusterobjecten en volumes volgens het back-upschema; databases via de eigen back-up van de beheerde databaseBack-upvoorziening
OpslagEigen afgeschermde ruimte op het opslagcluster met de opslagklassen van de prestatielaag ‘normaal’; quotum uit de dienstbeschrijving per naamruimte en opslagklasse; uitgegeven quota samen onder 75 procent; geen beheersleutel voor de objectopslagOpslagkoppeling en quotum
VoorstelOntwerpbesluit#

De standaardinrichting bestaat uit zeven beleidspakketten in de opslagplaats Beleid, geplaatst op clusters met de functie ‘applicatie’: aanmelding en rollen; naamruimten en werklasten; netwerk en ingang; certificaten, geheimen en identiteit; toelating, beveiligingsbewaking en uitrol; compliance en logging; opslag en back-up. Pakketten voor de database en het dienstennetwerk komen op kenmerk erbij. Ieder pakket heeft een eigen versie en doorloopt afzonderlijk ‘melden’, de proefgroep en de uitrolgolven.

Toelichting

Zo blijven wijzigingen klein en zijn ze per pakket terug te zetten. Het pakket ‘netwerk en ingang’ bevat het standaardcertificaat, het TLS-profiel en de HSTS-annotatie, het pakket ‘dienstennetwerk’ de instelling voor quantumveilige sleuteluitwisseling; beide gelden ook op gehoste platformclusters. Werkermaten, standaardwaarden per naamruimte en het vensteraanbod staan als gepubliceerde versie in de opslagplaats Catalogus.

VoorstelRegel#

Nieuw beleid in de standaardinrichting gaat van ‘melden’ via de proefgroep per uitrolgolf naar ‘afdwingen’, en alleen tijdelijk terug: voor één golf of als uitzondering met einddatum. Geeft een nieuwe versie fouten, dan gaat zij in versiebeheer terug naar de vorige versie, en het vlootbeheer rolt die terugzetting eerst bij de proefgroep uit.

Toelichting

Het nalevingsoverzicht toont per pakket de stand; een geweigerde poging van een team wordt gemeld.

VoorstelRegel#

Een wijziging van een beheerd object buiten versiebeheer wordt binnen 5 minuten gemeld en, waar het beleid afdwingt, teruggezet. De tijd tot dat herstel wordt gemeten.

Toelichting

Argo CD corrigeert automatisch en het beleid staat op afdwingen. Een wijziging door een persoon gaat ook als melding naar het SOC.

VoorstelRegel#

Een afwijking van de standaardinrichting bestaat alleen als goedgekeurde uitzondering met eigenaar, compenserende maatregel en een einddatum van ten hoogste zes maanden, zichtbaar in het nalevingsoverzicht.

Toelichting

De CISO-functie keurt uitzonderingen goed; het uitzonderingsregister legt ze vast.

Grenzen voor teams

VoorstelRegel#

Teams hebben geen rechten op platformnaamruimten, clusterbrede objecten of operators en maken geen naamruimten aan. Een poging om de standaardinrichting te wijzigen, via portaal, API of een eigen controller, op netwerkbeleid, quotum, rollen of toelatingsbeleid, wordt geweigerd en gemeld.

Toelichting

Een negatieve proef toont aan dat de standaard niet te omzeilen is.

VoorstelOntwerpbesluit#

Teamnaamruimten ontstaan alleen uit de dienstbeschrijving, zodat er geen naamruimte zonder grenzen bestaat.

Toelichting

Alternatief: teams maken zelf naamruimten. Tot het beleid zo’n naamruimte vindt, heeft zij geen quotum en geen EgressFirewall.

VoorstelRegel#

Iedere teamnaamruimte heeft een ResourceQuota, een LimitRange, een NetworkPolicy die alleen ingang en DNS toelaat, een EgressFirewall ‘default’ met een afsluitende weigerregel, ACL-logging en de labels voor profiel en toelatingscontrole.

Toelichting

Beleid meldt een teamnaamruimte waarin een van die objecten ontbreekt.

VoorstelMaatregel#

Iedere werklast heeft limieten voor processor en geheugen, en iedere naamruimte van een team een quotum. Werklasten zonder eigen limieten krijgen standaardwaarden. Het quotum begrenst de aangevraagde capaciteit bij toelating, maar reserveert niets.

Toelichting

Invulling: ResourceQuota en LimitRange per teamnaamruimte via beleid; in reguliere productie staat het beleid voor ontbrekende limieten op afdwingen. Het nalevingsoverzicht toont de naleving.

Beveiliging van werklasten

VoorstelMaatregel#

Containers draaien met het striktste profiel (restricted, met seccomp), zonder verhoogde rechten, hostnetwerk of toegang tot de werker, met SELinux in afdwingende stand op ieder knooppunt. Een team kan het profiel niet verruimen. Werklasten met verhoogde eisen in bedrijfskritische productie draaien vanaf groeipadstap 4 in een aparte sandbox. Een afwijking kan alleen met een besluit, voor platformonderdelen en voor bouwtaken op het bouwcluster.

Toelichting

Containers delen de besturingssysteemkern van het knooppunt; hun onderlinge scheiding gaat daardoor minder ver dan tussen virtuele machines. Invulling: Pod Security Admission op restricted via labels op teamnaamruimten, afgedwongen door het vlootbeheer; serviceaccounts van teams krijgen alleen restricted-v2; het standaardbeleid van Advanced Cluster Security voor geprivilegieerde containers en escalatie van rechten staat op afdwingen. Overtredingen komen in Advanced Cluster Security, en de compliancescan controleert SELinux.

VoorstelMaatregel#

Werklasten laden of starten tijdens gebruik geen uitvoerbare software van buiten de containerregistry. Het standaardsjabloon zet een alleen-lezen rootbestandssysteem; een beschrijfbaar rootbestandssysteem wordt in ontwikkelen en beproeven gemeld en in reguliere en bedrijfskritische productie geweigerd, en uitvoeren vanuit schrijfbare mappen wordt altijd geweigerd. De sensor meldt het downloaden en uitvoeren van code tijdens gebruik, en uitgaand verkeer is begrensd.

Toelichting

Geïnterpreteerde code en code in het geheugen zijn daarmee beperkt, niet uitgesloten. Invulling: readOnlyRootFilesystem true in het standaardsjabloon van de dienstbeschrijving en als beleid in Advanced Cluster Security; de beleidsregels ‘process from writable directory’ en ‘curl/wget in image’ staan op afdwingen. Een proef met een container die een bestand downloadt en uitvoert, ook met een script dat tijdens gebruik wordt opgehaald, toont de melding aan.

VoorstelMaatregel#

Het besturingssysteem van de knooppunten is onveranderbaar, op de schrijfbare configuratie- en gegevensmappen na, en alleen via de machineconfiguratie in versiebeheer te beheren. De bestandsintegriteit wordt ten minste ieder kwartier gecontroleerd en een onverwachte wijziging wordt gemeld. Buiten de noodroute is er geen rechtstreekse aanmelding op knooppunten.

Toelichting

Invulling: MachineConfig en de NodePool-definitie in versiebeheer. SSH naar knooppunten gaat alleen via de noodroute: zolang de toegangsvoorziening werkt met een SSH-certificaat van ten hoogste 1 uur uit het geheimenbeheer, anders met een sleutel uit de kluis. oc debug node kan alleen met verhoogde rechten en is zichtbaar in de audit, en de audit van debugsessies komt in het wekelijkse logoverzicht. De File Integrity Operator controleert per knooppuntrol iedere 900 seconden; na geplande updates maakt een draaiboek de referentiedatabase opnieuw aan.

VoorstelRegel#

Alleen ondertekende software uit de eigen containerregistry of leverancierssoftware uit de spiegel start, gecontroleerd door de toelatingscontrole en door de werker bij het ophalen. Beleid zet het label policy.rhtas.com/include op alle teamnaamruimten en zet het terug als het verdwijnt; het knooppunt controleert de handtekening in elk geval. De toelatingscontrole van de beveiligingsbewaking (SecuredCluster met admissionControl enforcement) staat in ontwikkelen en beproeven op failurePolicy Ignore en in reguliere en bedrijfskritische productie op Fail, na beproeving.

Toelichting

Het gebruik van de annotatie waarmee de controle wordt omzeild, wordt bewaakt. Dat de ClusterImagePolicy in een gehost cluster een niet-ondertekend beeld bij het ophalen weigert, is een acceptatiecriterium; terugvaloptie is alleen de toelatingscontrole, onder een uitzondering met einddatum. De toetsen Toelatingscontrole van software en Herleidbaarheid van software beproeven het.

VoorstelMaatregel#

Ontwikkel-, test- en productieomgevingen zijn gescheiden: een team heeft aparte clusters voor ontwikkelen en beproeven en voor reguliere productie, en er komen geen productiegegevens in ontwikkelen en beproeven zonder besluit van de gegevenseigenaar.

Toelichting

Invulling: aparte clusters per profiel met het kenmerk profiel; de beleidstoetsing weigert een dienstbeschrijving die productiegegevens in ontwikkelen en beproeven opgeeft zonder besluit. De inventaris en de dienstbeschrijvingen tonen het aan.

VoorstelEis#

Voor clusters gelden zeven beveiligingseisen. De tabel noemt ze, met de invulling die het ontwerp eraan geeft.

EisInvulling
Het platform gebruikt een vastgestelde basisconfiguratie, beheerd via GitOps of declaratieve configuratieDe standaardinrichting als beleid van het vlootbeheer, uitgerold met Argo CD
Alle cluster-, knooppunt- en werklastconfiguraties vallen onder versiebeheerClusterdefinitie, machineconfiguratie en standaardinrichting in de opslagplaatsen Platform en Beleid
Minimale functionaliteit wordt afgedwongen via SCC’s, Pod Security-niveaus en geharde knooppuntconfiguratiesHet striktste profiel voor containers, SELinux in afdwingende stand en het baselineprofiel
Het cluster heeft een actuele inventaris van knooppunten, naamruimten, werklasten, beelden en operatorsEen inventaris uit drie bronnen, dagelijks vergeleken
Onderhoud op afstand verloopt alleen via beveiligde beheerkanalen, met uitgebreide loggingDe beheerwerkplek met opgenomen sessies; SSH alleen via de noodroute
Alle configuratiewijzigingen vallen onder wijzigingsbeheer en zijn herleidbaar en omkeerbaarWijzigingsvoorstellen met beleidstoetsing; terugzetten per beleidspakket
Het besturingssysteem van de knooppunten blijft onveranderbaar en wordt alleen via de machineconfiguratie beheerdEen onveranderbaar besturingssysteem met integriteitscontrole

Naleving, inventaris en bewaking

VoorstelMaatregel#

Ieder cluster voldoet aan het baselineprofiel. Het wordt wekelijks en na iedere wijziging van de standaardinrichting gescand, en de integriteit van de werkers wordt iedere 900 seconden gecontroleerd. Er is geen open afwijking met hoog risico zonder goedgekeurde uitzondering met einddatum; het nalevingsoverzicht toont de laatste scandatum en hoort bij iedere levering. De gehoste besturing wordt op het clusterbeheer gecontroleerd.

Onderdeel van het profiel rws-bio2Invulling
BasisTailoredProfile rws-bio2 dat ocp4-cis uitbreidt (CIS-benchmark v2.0.0), samen met het knooppuntprofiel ocp4-cis-node
AanvullingRegels uit ocp4-moderate die BIO2-maatregelen dekken, zoals logging, versleuteling en sessieduur, via enableRules met motivering
UitgeschakeldNiet-toepasselijke regels, zoals besturingsregels bij gehoste clusters, via disableRules met motivering; de gehoste besturing wordt op het clusterbeheer gecontroleerd
HandmatigNiet automatisch controleerbare regels via manualRules, met vastgelegd bewijs
VariabelensetValues voor onder meer de inactiviteitstermijn (15 minuten), de maximale tokenduur (1 uur), het auditprofiel en het TLS-profiel; de sessieduur van Keycloak (8 uur) valt buiten dit profiel
ScaninstellingWekelijks, rollen master en worker, autoApplyRemediations en autoUpdateRemediations uit, ruwe resultaten bewaard met rotatie 3
HerstelVia een MachineConfig, die alle knooppunten in de pool herstart: alleen in het onderhoudsvenster, met een gepauzeerde pool om herstel te bundelen
IntegriteitFileIntegrity per knooppuntrol met een interval van 900 seconden
Toelichting

Invulling: de Compliance Operator met de profielen rws-bio2 en ocp4-cis-node; de resultaten zijn zichtbaar in het vlootbeheer en in Advanced Cluster Security. Automatisch herstel staat uit, want herstel via een MachineConfig herstart alle knooppunten in de pool.

VoorstelRegel#

De audit gaat versleuteld en met bevestigde ontvangst naar de SIEM van het SOC. Het clusterbeheer stuurt de audit van de API-servers; rechtstreeks gaan de audit van de werkers, de ACL-logboeken van netwerkbeleid en EgressFirewall en de meldingen van de beveiligingsbewaking. Het auditprofiel is WriteRequestBodies, met geheimen, routes en OAuth-clients alleen op metadataniveau. Zolang de eigen bewakingsvoorziening er niet is, blijft de dienst in het profiel ontwikkelen en beproeven.

Toelichting

Zo is onderzoek mogelijk buiten het bereik van platformbeheer. Beheer- en toepassingslogboeken blijven tot groeipadstap 2 kort op het cluster; daarna gaan zij ook naar de vergrendelde logopslag van de eigen bewakingsvoorziening, en verkeersstromen blijven 30 dagen bewaard.

VoorstelWaarde#

Ieder applicatiecluster bewaakt zichzelf en meldt rechtstreeks aan zijn meldingsroutes; een verzamelaar stuurt een vaste selectie metingen naar het vlootbeheer. Opslagmeetwaarden per cluster komen uit de bewakingsvoorziening, niet van de exporter van het opslagcluster. De meldingen staan in de tabel.

MeetwaardeDrempelNaarActie
Cluster onbereikbaarLanger dan 5 minuten, gezien vanuit het vlootbeheerPlatformbeheer, directDraaiboek voor uitval van de besturing
Afwijking van een beheerd objectBinnen 5 minutenPlatformbeheer; het SOC bij een wijziging door een persoonTeruggezet waar het beleid afdwingt
Beleidspakket voldoet nietBij een levering na 1 uurPlatformbeheerDe levering blijft ‘In uitvoering’
CompliancescanScan ouder dan 8 dagen; afwijking met hoog risicoPlatformbeheer, daarna de CISO-functieWerkwijze voor afwijkingen van de baseline
Certificaat30 en 7 dagen vóór verloop; mislukte vernieuwingEigenaar van de dienstVernieuwing controleren
GeheimenkoppelingLanger dan 1 uur niet gesynchroniseerdApplicatieteam en platformbeheerRol en pad controleren
WerkervervangingNieuwe werker na 20 minuten ongezondPlatformbeheerDe vervanging stopt
TijdAfwijking boven 1 secondePlatformbeheerTijdbronnen controleren
Sensor of logbron15 minuten stilSOCDraaiboek van het SOC
Toelating en uitgaand verkeerIedere weigering; 20 of meer per uur per naamruimteSOCOnderzoek
Back-upEerste mislukking of uitgebleven back-upPlatformbeheerDraaiboek voor back-up
VoorstelRegel#

De inventaris van clusters, knooppunten, naamruimten, werklasten en operators komt uit de zoekfunctie van Advanced Cluster Management, die van beelden en hun gebruik uit Quay met de scanresultaten van Clair, en die van apparatuur en netwerken uit NetBox. Een geplande taak in Ansible Automation Platform schrijft dagelijks een samenvatting per dienst met eigenaar naar NetBox en meldt verschillen.

Toelichting

Het dagelijkse verschilrapport is het bewijs.

VoorstelUitgangspunt#

Afnemers zijn op vijf lagen gescheiden: cluster (eigen besturing en etcd-sleutel), netwerk (VLAN, routeringsdomein per profiel en beheerdersbeleid), identiteit (groepen per team, identiteiten per cluster en naamruimte), opslag (namespace, subvolumegroep en CephX-gebruikers per cluster) en quota (per naamruimte, op de werkervirtualisatie en op het opslagcluster). Wat afnemers scheidt, kan een team niet wijzigen; de koppelvlakken staan in de tabel.

KoppelvlakAfnemerIsolatieGrens of quotumBijzonderheden
DienstbeschrijvingTeameigenaar en teamontwikkelaarsHet team volgt uit de aanmeldingQuotum van het team; keuzes uit het sjabloonIedere wijziging opnieuw getoetst
API en consoleTeamledenEigen cluster; rechten per naamruimteAanmelding met meerfactoraanmelding en korte tokensVia de externe verkeersverdeling
Uitrol van toepassingenTeamontwikkelaars via hun opslagplaatsArgo CD per cluster, alleen teamnaamruimtenQuotum; toelatingscontroleBeoordeling volgens de niveaus van rechten
TeamnaamruimtenToepassingenEigen serviceaccounts, netwerkbeleid en quotumResourceQuota en LimitRangeStriktste profiel
Applicatie-ingangGebruikersEigen ingangsadres en virtuele serverTLS-profiel van de baselineEigen paar verkeersverdelers als optie
Opslagklassen normaal-blok en normaal-bestandToepassingenRADOS-namespace en subvolumegroep per clusterrequests.storage per naamruimte en klasse, samen ten hoogste het quotumBestand alleen voor gedeelde toegang, ten hoogste één miljoen bestanden per volume
Objectopslag als dienstToepassingenRGW-tenant per afnemerGebruikers- en bucketquotaVia de automatisering en het geheimenbeheer
Geheimen en tijdelijke inloggegevensToepassingenClusterSecretStore en rol per naamruimteAlleen de eigen padenLezen bij iedere verbinding
Applicatie-identiteit en certificatenToepassingen en ontvangende dienstenPer cluster, naamruimte en serviceaccount; PKI-rol per clusterAlleen eigen namenVertrouwensrelatie per ontvangende dienst
Metingen en logboekenTeamledenAlleen de eigen naamruimtenKort op het cluster tot groeipadstap 2De audit gaat naar het SOC
Beheerde databaseToepassingenAfgeschermde platformnaamruimteGrootte uit de dienstbeschrijvingGeen teamrechten op databaseobjecten
Dienstennetwerk, in de doelsituatieToepassingenVertrouwensdomein per cel; regels per naamruimteStandaard weigerenAparte verkeerscomponent op aanvraag

Verwijzen hiernaar

Onderwerpen 4