heygrc
ISO 27001 A.8.13 w kodzie

Kopia zapasowa, która musi być dostępna, gdy jej potrzebujesz.

ISO 27001:2022 A.8.13 (kopie zapasowe informacji) to kontrola dotycząca możliwości odzyskiwania: zdolności do przywrócenia informacji, oprogramowania i systemów po utracie, uszkodzeniu lub błędnej zmianie. W praktyce sprowadza się to do określenia, co wymaga kopii zapasowych, ich utrzymywania, ochrony oraz testowania przywracania, aby mieć pewność, że odzyskiwanie działa. Możliwość odzyskiwania jest coraz częściej konfigurowana w kodzie: ustawienie retencji na zarządzanej bazie danych, harmonogram migawki, polityka cyklu życia. Oznacza to, że jest to decyzja podejmowana w pull request, a wyłączenie może nastąpić w jednej linii.

How it shows up in a diff

The shapes the same control failure takes.

A.8.13 rzadko jest naruszane przez kogoś, kto usuwa kopie zapasowe. Naruszane jest, gdy zmiana cicho usuwa możliwość odzyskiwania. Typowe przypadki:

  • Automatyczne kopie zapasowe są wyłączone

    Okres retencji jest ustawiony na zero lub zaplanowana migawka lub zadanie kopii zapasowej jest usuwane, przez co magazyn, który wcześniej można było odzyskać, teraz nie ma żadnego niedawnego punktu przywracania.

  • Okres retencji jest krótszy niż okno odzyskiwania

    Okres retencji kopii zapasowej jest skrócony (np. z trzydziestu dni do jednego) na tyle, że nie pokrywa już czasu, przez jaki incydent może pozostać niezauważony, zanim będzie konieczne przywrócenie.

  • Nowy magazyn jest dostarczany bez kopii zapasowej

    Baza danych, bucket lub wolumin zawierający rzeczywiste dane jest udostępniany bez skonfigurowanej kopii zapasowej, więc w przypadku jego utraty nie ma nic, z czego można by odzyskać dane.

  • Przywracanie nigdy nie zostało zweryfikowane

    Krok, który testował lub weryfikował przywracanie, jest usuwany, więc kopie zapasowe są nadal zapisywane, ale nikt nie wie, czy można je rzeczywiście odzyskać, czego oczekuje A.8.13.

  • Kopia zapasowa pozostaje niechroniona

    Migawka lub kopia zapasowa jest udostępniana publicznie, niezaszyfrowana lub udostępniana zbyt szeroko, przez co sama kopia zapasowa staje się zagrożeniem, przed którym miała chronić.

Worked example

Automatyczne kopie zapasowe wyłączone na głównej bazie danych.

Zespół chce przestać płacić za automatyczne przechowywanie kopii zapasowych na zarządzanej bazie Postgres w okresie przed uruchomieniem, więc zmiana ustawia okres retencji na zero. Instancja nie ma teraz automatycznych kopii zapasowych ani punktu przywracania w czasie. Jeśli dane zostaną utracone lub uszkodzone, odzyskiwanie opiera się na tym, co jeszcze istnieje (np. ręczna migawka, oddzielne narzędzie do kopii zapasowych), a nie na tym ustawieniu, i często nie ma nic innego.

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

Ustawienie okresu retencji na zero wyłącza automatyczne kopie zapasowe i przywracanie w dowolnym momencie na głównej bazie danych, więc w przypadku utraty lub uszkodzenia danych nie będzie niedawnego punktu przywracania. A.8.13 (kopie zapasowe informacji) dotyczy możliwości odzyskiwania i oczekuje, że kopie zapasowe będą utrzymywane i testowane. Zachowaj okres retencji, który pokrywa Twoje potrzeby odzyskiwania (lub przenieś kopie zapasowe do dedykowanego narzędzia), zamiast wyłączać je, aby zaoszczędzić na miejscu.

What an auditor does with this

Kopie zapasowe są sprawdzane pod kątem możliwości rzeczywistego przywracania.

Auditor nie przyjmuje za pewnik stwierdzenia 'mamy kopie zapasowe'; sprawdza, czy kopie zapasowe istnieją dla istotnych systemów, są przechowywane przez okres określony w polityce, są chronione i, co najważniejsze, zostały przetestowane poprzez rzeczywiste przywrócenie. Magazyn z wyłączonymi kopiami zapasowymi, skrócony okres retencji poniżej okna odzyskiwania lub nowa baza danych uruchomiona bez kopii zapasowych to rodzaj luk, które stają się ustaleniami audytu, i zwykle pojawiły się w jednej zmianie w konfiguracji infrastruktury. Najtańszym miejscem do ich wykrycia jest diff.

What this is, and is not

Przegląd, a nie system kopii zapasowych.

heygrc sygnalizuje zmiany dotyczące A.8.13 i cytuje kontrolę, aby naprawa nastąpiła w pull request. Nie uruchamia kopii zapasowych ani nie testuje przywracania. Wychwytuje moment, w którym zmiana usuwa lub osłabia możliwość odzyskiwania magazynu, na poziomie diff.