Co skonfigurujesz
Napastnicy, którzy dostaną się do sieci, zwykle najpierw próbują usunąć lub zaszyfrować kopie zapasowe, a dopiero potem serwery. Kopia, którą może usunąć skradzione konto administratora, to więc za mało. Ten poradnik buduje z BackupZit ochronę warstwową: główną kopię w lokalnym magazynie, kopię w innym miejscu i magazyn, w którym kopii nie da się zniszczyć przed upływem ustalonego okresu, nawet znając dane dostępowe do magazynu. BackupZit jest darmowy i open source (AGPLv3); wszystko, co tu opisano, należy do darmowego produktu.
Reguła 3-2-1 i 3-2-1-1-0
Reguła 3-2-1: 3 kopie danych, na 2 różnych nośnikach, z czego 1 poza firmą. Rozszerzenie 3-2-1-1-0 dodaje 1 kopię niezmienną lub offline i 0 błędów przy weryfikacji kopii. W BackupZit:
| Element | W BackupZit |
| 3 kopie | Dane produkcyjne, zadanie kopii zapasowej i zadanie kopiowania kopii. |
| 2 nośniki | Dwa magazyny, np. NAS przez SMB lub SFTP i bucket S3. |
| 1 poza firmą | Kopia trafia do chmury (S3, Azure Blob Storage) lub na utwardzone repozytorium w innym budynku. |
| 1 niezmienna lub offline | S3 z Object Lock, utwardzone repozytorium lub rotowane dyski USB. |
| 0 błędów | Automatyczne testy przywracania i sprawdzanie wszystkich zapisanych danych, z alertem, gdy coś się nie powiedzie. |
Potrzebujesz konsoli BackupZit z agentami na chronionych maszynach; poradniki dla Proxmox VE, Hyper-V i obrazów dysków Windows pokazują te pierwsze kroki.
Krok 1 — Magazyn główny do szybkiego przywracania
W konsoli otwórz Magazyn → Dodaj magazyn. Na pierwszą kopię wybierz magazyn w sieci lokalnej, aby kopie i przywracanie działały z pełną prędkością: udział SMB na serwerze plików lub NAS albo serwer Linux lub NAS przez SFTP (klucz hosta jest przypinany). Daj magazynowi osobne konto, które może zapisywać tylko w folderze kopii, i nie dołączaj magazynu kopii do domeny Windows.
Przy zapisie konsola od razu testuje magazyn — błędne hasło, klucz hosta lub udział widać teraz, a nie przy pierwszej kopii. Testuj połączenie na liście magazynów powtarza test.
Krok 2 — Dodaj magazyn niezmienny
BackupZit ma dwa rodzaje magazynu, w których kopii nie można usunąć ani nadpisać przed końcem ich okresu. Najlepiej, by był też poza firmą — wtedy jeden magazyn spełnia oba warunki.
Opcja A: S3 z Object Lock
- Utwórz bucket z włączonym Object Lock — w AWS, Wasabi i Backblaze B2 to opcja przy tworzeniu bucketu, w MinIO
mc mb --with-lock.
- Dodaj regułę cyklu życia, która usuwa nieaktualne wersje po jednym dniu (MinIO:
mc ilm rule add --noncurrent-expire-days 1 --expire-delete-marker). Usunięcie zablokowanej kopii dodaje tylko znacznik usunięcia; reguła zwalnia miejsce, gdy blokady wygasną.
- W konsoli dodaj magazyn typu Zgodne z S3 (AWS, Wasabi, Backblaze B2, MinIO, …) z endpointem, bucketem i kluczem dostępu do tego bucketu.
- Zaznacz Niezmienne kopie (S3 Object Lock, tryb zgodności) przez … dni (domyślnie 30) i wybierz okres co najmniej tak długi jak przechowywanie, które chcesz chronić.
Każdy plik zapisany przez agentów jest wtedy blokowany w trybie zgodności na ten okres plus jeden dzień: nikt — ani napastnik z kluczami, ani właściciel bucketu — nie może go wcześniej usunąć ani nadpisać. Dane, które nowa kopia przejmuje ze starszych, dostają przedłużoną blokadę, więc każdy punkt przywracania jest chroniony przez cały okres. W magazynie niezmiennym test połączenia tylko się loguje i listuje zawartość, a także sprawdza, czy bucket rzeczywiście ma Object Lock.
Azure i Google Cloud: dla Azure Blob Storage włącz w Azure niezmienność na poziomie wersji z czasową zasadą przechowywania na kontenerze. Google Cloud Storage działa jako magazyn S3, ale bez opcji Object Lock; zamiast tego ustaw w Google Cloud zasadę przechowywania bucketu (i ją zablokuj).
Opcja B: utwardzone repozytorium na własnym serwerze Linux
Na osobnym serwerze Linux działa backupzit-repo (pakiety deb i rpm są dołączone do każdego wydania na GitHubie):
apt install ./backupzit-repo_*.deb # lub: dnf install ./backupzit-repo-*.rpm
vi /etc/backupzit-repo/repo.env # BACKUPZIT_REPO_LOCK_DAYS=30
systemctl start backupzit-repo
backupzit-repo add-key office-console # pokazuje klucz dostępu jeden raz
backupzit-repo fingerprint # odcisk certyfikatu
W konsoli dodaj magazyn typu Utwardzone repozytorium (backupzit-repo w Linuksie, niezmienne) z adresem serwera (domyślnie port 8500), kluczem dostępu i odciskiem.
- Agenci i konsola mogą tylko dodawać pliki; istniejące pliki nigdy nie są nadpisywane.
- Każdy plik dostaje atrybut niezmienności (
chattr +i) na okres ustawiony na tym serwerze plus jeden dzień. Nawet root nie może go usunąć bez wcześniejszego zdjęcia atrybutu.
- Usunięcia od klientów — przez przechowywanie lub napastnika z kluczem dostępu — tylko ukrywają pliki do końca ich okresu.
- Okres ustawia się wyłącznie na serwerze repozytorium; konsola i agenci nie mogą go zmienić.
Po konfiguracji wyłącz SSH i inny dostęp zdalny do tego serwera i zabezpiecz jego lokalną konsolę, iDRAC/iLO lub dostęp z hiperwizora: ochrona jest tak silna jak jego konto root.
Krok 3 — Szyfrowanie i klucz odzyskiwania
Pozostaw włączone Szyfruj kopie (AES-256) (domyślnie). Zawartość plików, nazwy, struktura folderów i listy migawek są szyfrowane AES-256-GCM, zanim opuszczą agenta, a każda zmiana danych jest wykrywana. Niezmienność chroni przed usunięciem, szyfrowanie przed odczytem — potrzebujesz obu.
Dla każdego szyfrowanego magazynu konsola pokazuje Klucz odzyskiwania i oferuje arkusz odzyskiwania. Przechowuj go offline i z dala od kopii: z kluczem, lokalizacją magazynu i danymi dostępowymi przywrócisz dane nawet bez konsoli; bez klucza nikt nie odczyta kopii — także wsparcie BackupZit.
Krok 4 — Zadanie kopii i przechowywanie
Utwórz zadanie w Zadania kopii z magazynem głównym z kroku 1. W Zachowuj kopie ustaw N najnowszych oraz dzienne, tygodniowe i miesięczne punkty przywracania — na przykład 3 najnowsze, 7 dziennych, 4 tygodniowe i 6 miesięcznych przechowuje około pół roku z mniej więcej 20 punktami przywracania. Deduplikacja zapisuje niezmienione dane tylko raz.
Cel punktu odtwarzania (RPO), godziny określa, jak stara może być najnowsza udana kopia, np. 26 dla zadania dziennego. Zadanie, które go nie spełnia, pojawia się na pulpicie i jest zgłaszane — wychwytuje to też agenta offline od wielu dni albo omyłkowo usunięty harmonogram.
Krok 5 — Kopia poza firmą przez zadanie kopiowania
Utwórz drugie zadanie i wybierz Kopia kopii zapasowej. W Kopiuj kopie zadania wybierz zadanie z kroku 4, a jako Magazyn docelowy magazyn niezmienny lub poza firmą z kroku 2.
- Agent zadania źródłowego kopiuje istniejące kopie; chroniona maszyna nie jest czytana ponownie.
- Wysyłane są tylko dane, których jeszcze nie ma w miejscu docelowym, ponownie zaszyfrowane kluczem tego miejsca.
- Po każdej kopii zadania źródłowego (domyślnie) utrzymuje kopię na bieżąco; działa też zwykły harmonogram, np. raz na noc przy wolnym łączu.
- Kopia ma własne przechowywanie, np. 7 dziennych na NAS-ie i 12 miesięcznych w chmurze. Każdy punkt przywracania jest zablokowany przez N dni od utworzenia, więc przy blokadzie 30-dniowej starsze punkty miesięczne nie są już chronione. Dłuższa blokada chroni ich więcej, ale też zajmuje więcej danych.
Kopie plików i maszyn wirtualnych (Proxmox VE, Hyper-V, VMware) przywraca się z kopii tak jak z oryginału; kopie obrazów dysków — agentem wiersza poleceń. Kopiuj teraz od razu uruchamia kopiowanie.
Kopia offline dla małych biur: typ magazynu Rotowane dyski USB / wymienne (kopie offline) znajduje dyski po etykiecie woluminu (BZBACKUP1, BZBACKUP2 …). Skieruj na niego zadanie kopiowania, wymieniaj dyski np. co tydzień i trzymaj odłączony w bezpiecznym miejscu. Jeśli żaden dysk nie jest podłączony, uruchomienie kończy się błędem i alertem.
Krok 6 — Testy przywracania i sprawdzanie danych
Kopia jest sprawdzona dopiero wtedy, gdy została przywrócona. W Ustawienia → Testy przywracania:
- Automatycznie testuj najnowszą kopię każdego zadania (domyślnie co tydzień): losowa próbka plików z najnowszej kopii jest przywracana do folderu tymczasowego, sprawdzana bajt po bajcie z zapisanymi sumami kontrolnymi i usuwana; w obrazach dysków sprawdzane są losowe bloki. To testuje dostęp do magazynu, dane dostępowe, klucz i same dane.
- Sprawdzaj zapisane dane (domyślnie co miesiąc): każdy fragment danych w każdym repozytorium jest odczytywany i weryfikowany, co wcześnie ujawnia psujący się dysk w NAS-ie lub cichą degradację danych. Na S3 i Azure działa tylko z włączonym Także w chmurze (S3, Azure) — pobiera wszystko, uwaga na koszty pobierania.
- Zadania maszyn Proxmox mogą dodać test uruchomienia, który startuje każdą maszynę z kopii z odłączoną siecią.
Testuj przywracanie i Sprawdź dane na stronie zadania uruchamiają je od razu. Wyniki pojawiają się w Aktywność i Raporty; nieudany test wysyła alert jak każdy błąd.
Krok 7 — Alerty i wykrywanie ransomware
Kopia poza firmą, która od tygodni się nie udaje, nie jest kopią. Skonfiguruj Ustawienia → Powiadomienia e-mail (sprawdź przyciskiem Wyślij testowy e-mail) i pozostaw włączone Błędy: jeden e-mail na każde nieudane uruchomienie z przyczyną — kopie, kopiowanie, przywracanie i testy przywracania — oraz opcjonalnie raport dzienny. Ustawienia → Czat i webhooki wysyła to samo do Slacka, Microsoft Teams lub dowolnego endpointu HTTP. Na pulpicie Wymaga uwagi pokazuje nieudane zadania, pominięte harmonogramy i RPO, agentów offline oraz magazyny zapełnione w 90 % lub takie, które zapełnią się w ciągu 30 dni.
Każda kopia jest też porównywana z niedawną historią swojego zadania. Zostaje oznaczona jako podejrzana, gdy zmieniło się znacznie więcej plików niż zwykle, nowe dane przestały się kompresować (zaszyfrowane pliki wyglądają losowo), liczba plików spadła o jedną trzecią lub więcej albo ilość nowych danych gwałtownie wzrosła. BackupZit wysyła wtedy alert, pokazuje ją w podejrzanych kopii do sprawdzenia i wstrzymuje przechowywanie zadania (Przechowywanie jest wstrzymane), więc ostatnie czyste kopie nie są usuwane, nawet jeśli wciąż napływają uszkodzone. Po sprawdzeniu maszyny kliknij Sprawdzono — wznów przechowywanie.
Krok 8 — Ochrona konsoli
Magazyn niezmienny chroni kopie; konsola nadal decyduje, co jest kopiowane i przechowywane. W Ustawienia → Logowanie i bezpieczeństwo wymagaj logowania dwuskładnikowego dla administratorów i włącz Zatwierdzanie na cztery oczy: usuwanie zadań lub magazynów, skracanie przechowywania, wznawianie przechowywania po podejrzanej kopii i wyłączanie zatwierdzania wymagają wtedy drugiego użytkownika. Trzymaj konsolę w sieci wewnętrznej, nie wystawiaj portu 8443 do internetu i do zdalnej administracji używaj VPN. Dzięki Ustawienia → Kopia konsoli konsola codziennie tworzy też własną kopię w magazynie sieciowym.
Po ataku
Jeśli kopie zostały usunięte lub nadpisane, odczytaj magazyn w stanie sprzed ataku — tylko do odczytu, na S3 z Object Lock i na utwardzonym repozytorium:
backupzit-agent snapshots --repo <repozytorium> --as-of 2026-10-01T14:30
backupzit-agent restore --repo <repozytorium> --as-of 2026-10-01T14:30 --target D:\Restore latest
Na utwardzonym repozytorium administrator może też przywrócić ukryte pliki, aby kopie działały dalej normalnie:
backupzit-repo status
backupzit-repo undelete --since 2026-10-01T14:00
Ograniczenia
- Niezmienność trwa tylko tyle co blokada. Usunięta kopia naprawdę znika po upływie swojego okresu, więc dobieraj okres z myślą o tym, jak długo atak może pozostać niezauważony.
- Utwardzone repozytorium jest tak bezpieczne jak jego konto root i dostęp do jego konsoli, iDRAC/iLO lub hiperwizora.
- SMB, SFTP i dyski lokalne nie mają własnej niezmienności; łącz je z kopią niezmienną lub offline.
- Zablokowane dane zajmują miejsce do końca blokady, także po usunięciu; bez reguły cyklu życia miejsce w S3 nie jest zwalniane.
- Niezmienność nie oczyszcza danych: pliki zaszyfrowane przed kopią trafiają do kopii zaszyfrowane. Przywróć punkt sprzed ataku — wykrywanie zachowuje takie punkty, wstrzymując przechowywanie.
- Bez klucza odzyskiwania nikt nie odczyta zaszyfrowanych kopii.
- Zatwierdzanie na cztery oczy obejmuje konsolę; grupy administratorów w Active Directory lub Entra ID trzeba chronić tam.