heygrc
ISO 27001 A.8.13 in code

De back-up die er moet zijn als je hem nodig hebt.

ISO 27001:2022 A.8.13 (informatieback-up) is de beheersmaatregel voor herstelbaarheid: het vermogen om informatie, software en systemen te herstellen na verlies, corruptie of een misgelopen wijziging. In de praktijk komt het neer op het bepalen wat er geback-upt moet worden, het onderhouden van back-ups, het beschermen van die kopieën en het daadwerkelijk testen van een herstel, zodat je weet dat herstel werkt. Herstelbaarheid wordt steeds vaker in code geregeld: een bewaartermijn voor een beheerde database, een snapshotplanning, een levenscyclusbeleid. Dit betekent dat het een pull-requestbeslissing is en dat het in één regel kan worden uitgeschakeld.

How it shows up in a diff

The shapes the same control failure takes.

A.8.13 gaat zelden mis doordat iemand de back-ups verwijdert. Het gaat mis wanneer een wijziging stilletjes de mogelijkheid tot herstel verwijdert. De terugkerende patronen:

  • Geautomatiseerde back-ups zijn uitgeschakeld

    Een bewaartermijn wordt ingesteld op nul, of een geplande snapshot of back-up taak wordt verwijderd, waardoor een opslag die voorheen herstelbaar was, nu geen recente herstelpunt meer heeft.

  • Bewaartermijn daalt onder de herstelvenster

    De bewaartermijn van een back-up wordt verkort (van dertig dagen naar één dag) tot het punt dat deze niet meer dekt hoe lang een incident onopgemerkt kan blijven voordat herstel nodig is.

  • Een nieuwe opslag wordt geleverd zonder back-up

    Een database, bucket of volume die echte gegevens bevat, wordt ingericht zonder dat er een back-up voor is geconfigureerd, waardoor er niets is om van te herstellen als de gegevens verloren gaan.

  • Het herstel wordt nooit geverifieerd

    Een stap die een herstel testte of verifieerde, wordt geschrapt, waardoor back-ups blijven worden geschreven, maar niemand weet of ze daadwerkelijk kunnen worden hersteld, wat A.8.13 van je verwacht om te testen.

  • Een back-up blijft onbeschermd

    Een snapshot of back-up wordt openbaar, onversleuteld of te breed gedeeld, waardoor de back-upkopie zelf de blootstelling wordt waar deze tegen had moeten beschermen.

Worked example

Geautomatiseerde back-ups uitgeschakeld op de primaire database.

Een team wil stoppen met betalen voor geautomatiseerde back-upopslag op een beheerde Postgres tijdens de pre-launch, dus een wijziging stelt de bewaartermijn in op nul. De instantie heeft nu geen geautomatiseerde back-ups en geen point-in-time herstel vanaf die back-ups. Als gegevens verloren gaan of beschadigd raken, valt herstel terug op wat er toevallig nog bestaat (een handmatige snapshot, een apart back-upgereedschap), niet op deze instelling, en vaak is er niets anders.

infra/rds.tf+1 -1
resource "aws_db_instance" "primary" {  engine = "postgres"-  backup_retention_period = 7+  backup_retention_period = 0 # disables automated backups}
heygrcISO 27001:2022 A.8.13

Het instellen van de bewaartermijn op nul schakelt geautomatiseerde back-ups en point-in-time herstel op de primaire database uit, waardoor verlies of corruptie geen recent geautomatiseerd herstelpunt zou hebben. A.8.13 (informatieback-up) gaat over herstelbaarheid en verwacht dat back-ups worden bewaard en getest. Houd een bewaartermijn aan die voldoet aan je herstelbehoeften (of verplaats de back-ups naar een specifiek gereedschap), in plaats van ze uit te schakelen om opslagkosten te besparen.

What an auditor does with this

Back-up wordt gecontroleerd op of je daadwerkelijk kunt herstellen.

Een auditor neemt 'we hebben back-ups' niet voor lief; ze kijken of back-ups bestaan voor de systemen die ertoe doen, of ze worden bewaard voor de periode die in je beleid staat, of ze beschermd zijn en, cruciaal, of ze zijn getest door een daadwerkelijk herstel. Een opslag met uitgeschakelde back-ups, een bewaartermijn die onder het herstelvenster is verkort, of een nieuwe database die zonder back-ups is ingericht, is het soort gat dat een bevinding wordt, en dit komt meestal binnen met één wijziging in de infrastructuurconfiguratie. De diff is de goedkoopste plek om het op te vangen.

What this is, and is not

Een review, niet je back-upsysteem.

heygrc markeert wijzigingen die A.8.13 raken en verwijst naar de beheersmaatregel, zodat de oplossing in de pull request wordt doorgevoerd. Het voert geen back-ups uit of test geen herstels. Het vangt het moment op waarop een wijziging de mogelijkheid tot herstel van een opslag verwijdert of verzwakt, in de diff.