Titkosított Linux biztonsági mentések 2026: restic, Borg és Kopia összehasonlítás
A restic, a BorgBackup és a Kopia összehasonlítása 2026-ban: titkosítás, immutability, kulcsmenedzsment (age, Vault Transit) és zsarolóprogram-védelem architekt szemmel, gyakorlati példákkal.
A titkosított Linux biztonsági mentés lényege, hogy a mentési adat már a forrás gépen erős, hitelesített szimmetrikus titkosítást kap (jellemzően AES-256-GCM vagy ChaCha20-Poly1305), így a tároló szolgáltató, egy elveszett merevlemez vagy egy kompromittált backup szerver sem tud olvasható másolathoz jutni. 2026-ban három nyílt forrású megoldás dominálja a Linux ökoszisztémát: a restic, a BorgBackup és a Kopia. Mindhárom deduplikál, mindhárom titkosít alapértelmezésben, viszont a fenyegetésmodelljük és üzemeltetési profiljuk lényegesen eltér. Ez az útmutató architekt szemmel hasonlítja őket össze, és megmutatja, melyiket melyik forgatókönyvben érdemes választani.
restic 0.17+: AES-256-CTR + Poly1305-AES, egyetlen statikus Go bináris, natív S3/B2/Azure/GCS/SFTP támogatás. A legkisebb operatív terhelés.
BorgBackup 1.4 / 2.0: AES-256-CTR + HMAC-SHA256 (Borg 1.x) vagy ChaCha20-Poly1305 (Borg 2.0). Párhuzamos kliens még nincs, viszont a legjobb tömörítés (zstd 22).
Kopia 0.18+: modern kripto (AES-256-GCM-HMAC-SHA256), tartalomcímezhető tár, beépített scheduler és webes felület. GUI-t igénylő csapatoknak.
A titkosítás önmagában nem véd a zsarolóprogramok ellen: immutable (WORM) backend és „pull-based" tárolási modell kell.
A 3-2-1-1-0 szabály 2026-os változata: 3 másolat, 2 különböző médium, 1 offsite, 1 immutable/air-gapped, 0 hiba a restore-teszten.
Kulcsmenedzsment: age vagy KMS (AWS KMS, GCP KMS, HashiCorp Vault Transit). Soha ne a jelszó Bashben, ne a home dir plaintext fájljában.
Mit véd valójában a titkosított mentés? Fenyegetésmodell
Kezdjük az alapoknál. A titkosítás önmagában egyetlen dologra jó: bizalmasság. Az integritás, a rendelkezésre állás és a visszaállíthatóság külön kontrollokat igényel. Amikor fenyegetésmodellt rajzolok egy backup rendszerhez, mindig három szereplőt teszek a diagramra: (1) a védendő éles rendszer, (2) a mentést végző klienst futtató host, (3) a backup tár (S3 bucket, NFS share, offsite szerver). A támadó bármelyik ponton beülhet, és a titkosítás csak a (3)-ra ad garanciát. A felhő szolgáltató admin, egy ellopott lemez vagy egy sikertelen fizikai audit nem lát olvasható adatot.
Ami viszont nincs benne a titkosítás által lefedett fenyegetéstérben: a támadó, aki root jogot szerzett a mentési kliensen. Az ő pozíciójából a kulcs kiolvasható, a repó jelszó kilistázható a folyamat memóriájából, és (ami sokkal rosszabb) a mentések törölhetők. A modern zsarolóprogramok pontosan ezt csinálják 2024 óta: először a backupot pusztítják el, csak utána titkosítják az éles adatot. Ezért a mentési tár append-only vagy WORM (Write-Once-Read-Many) módja legalább annyira fontos, mint maga a repó titkosítás.
Mi az, ami elsőnek szakad? Őszintén szólva, nálunk 2025-ben egy gyakorló katasztrófa-teszten a kulcs tört meg. A passphrase egy 1Password vault-ban volt, amit senki nem tudott megnyitni, mert az egyetlen ember, aki tudta a master jelszót, kilépett. Ha nem tudsz visszaállítani, a mentés puszta illúzió. Ez a cikk végig ezt a gondolatot követi: minden döntést a „mi a blast radius, ha ez a komponens megszakad?" kérdés felől nézünk.
restic vs. Borg vs. Kopia: összehasonlító táblázat
Mielőtt bármelyiket telepítenéd, érdemes egyben látni a különbségeket. Az alábbi táblázat a 2026 júliusi kiadásokat veszi alapul (restic 0.17.3, BorgBackup 1.4.0 / 2.0.0b14, Kopia 0.18.2):
A gyakorlatban a választás nem funkcionalitás, hanem operatív terhelés szerint dől el. Ha egyszerű S3 backendet akarsz, statikus binárissal és scripting-barát CLI-vel, a restic nyer. Ha csak SSH-n keresztül mented offsite szerverre, és a legjobb tömörítést akarod, a Borg. Ha csapatnak dolgozol, és kellenek grafikus vizualizációk vagy per-forrás policy-k, a Kopia.
restic telepítés és első mentés lépésről lépésre
A restic legnagyobb erőssége, hogy egyetlen statikus Go bináris. Nincs függőség, nincs Python venv, nincs libssl-verzió mismatch. A hivatalos restic GitHub release oldal minden platformra közli az SHA256 checksumot, én mindig ott indulok új telepítésnél.
# Debian/Ubuntu 2026
sudo apt install restic
# Vagy közvetlenül a GitHub release-ből (mindig ellenőrizd a checksumot)
RESTIC_VERSION="0.17.3"
curl -LO "https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_amd64.bz2"
curl -LO "https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/SHA256SUMS"
sha256sum -c --ignore-missing SHA256SUMS
bunzip2 restic_${RESTIC_VERSION}_linux_amd64.bz2
sudo install -m 755 restic_${RESTIC_VERSION}_linux_amd64 /usr/local/bin/restic
restic version
A repó jelszót soha ne tárold plaintext fájlban, amit a root vagy bármely szolgáltatás olvashat. Kicsi telepítésnél az age-titkosított jelszófájl és a systemd credential mechanizmus párosa a legtisztább megoldás, amit ma ismerek:
Ez a workflow már a legtöbb kis-közepes környezetben megfelelő. Nagyobb léptéknél érdemes az IAM policy-t szűkíteni: a mentési kliens csak s3:PutObject, s3:GetObject és s3:ListBucket jogot kaphat, törlést nem. A régi snapshotok tisztítását külön, priviligált „prune" folyamat végzi másik gépről. Ez a klasszikus separation of duties alapelv backupra alkalmazva, és pontosan az, ami az elmúlt években több ügyfelemnél megmentette a bőrt.
A Borg 2016 óta a Linux world de facto szerver-mentési eszköze. 2026-ban a 1.4-es stabil ág mellett a Borg 2.0 alpha már használható, és bevezeti a ChaCha20-Poly1305 titkosítást, egy tisztább repó formátumot és egy modernebb kulcsmenedzsmentet. Új telepítésnél most is a 1.4-et javaslom éles környezetbe, a 2.0-t pedig lab-ben tesztelni. (Beleszaladtam már 2.0 alpha bugba egy migráció közben, azóta óvatosabb vagyok.)
A Borg legfontosabb szerver-oldali beállítása az append-only restriction az SSH kulcsban. Ez az, ami a repót zsarolóprogram-ellenállóvá teszi: a mentési kliens ír, de nem tud törölni. Egy elkülönített admin gép SSH kulcsa a jogosult a régi archívumok pruningjára.
Ez ugyanaz a mintázat, amit a systemd szolgáltatások keményítése és sandboxing cikkben is használunk: a legkisebb jogosultság elve („least privilege") minden felületre. A support account nem lehet ugyanaz, mint az operátor account.
Kopia policy-k és a webes felület
A Kopia a legfiatalabb a három közül (2019-es kezdet, 2026-ban a 0.18-as verzió), és architekturálisan a legmodernebb megközelítést hozza. Minden objektum tartalomcímezhető (content-addressable storage, CAS), a titkosítás AES-256-GCM-HMAC-SHA256, és a policy-k hierarchikusan öröklődnek: globális, per-user, per-source. Nincs szükség külön ütemezőre, a Kopia repository szerver saját maga futtatja a snapshotokat.
A webes UI (kopia server start --address=127.0.0.1:51515) különösen hasznos vegyes csapatoknál, ahol nem minden operátor CLI-vel dolgozik. Fontos: a webes UI mögé mindig tegyél reverse proxyt mTLS-sel vagy legalább alap authhal. Az alapértelmezett HTTP port lokálhoston hallgat, viszont kliens/szerver módban egy fordított proxy nélküli deployment súlyos hiba. A hivatalos Kopia CLI referencia minden parancsot részletesen dokumentál, érdemes rákeresni finomhangolás előtt.
Kulcsmenedzsment: age, KMS és Vault Transit
A backup-titkok kezelése az, ahol a legtöbb csapat elhasal. Négy szintet szoktam megkülönböztetni, komplexitás szerint növekvő sorrendben:
Fájl a diszken, szigorú jogosultsággal: 1–2 szerveres homelabnál OK, éles produkcióban nem.
age-titkosított jelszófájl: a jelszó nyugalmi állapotban titkosított, a mentési szolgáltatás induláskor kicsomagolja. Az age privát kulcs ekkor is diszken van, de legalább a passphrase nem plaintext.
Cloud KMS (AWS KMS, GCP KMS, Azure Key Vault): a passphrase egy KMS-encrypted blob, a szerver IAM roleja tudja dekódolni. Auditálható, IAM-mel szabályozott. Ez a legtöbb Kubernetes/EKS környezet standardja.
HashiCorp Vault Transit engine: Vault-alapú környezetekben a legelegánsabb. A Vault soha nem adja ki a kulcsot, csak dekódol. A backup client egy AppRole tokennel autentikál, és a Transit endpoint visszaadja a plaintext passphrase-t stdoutra egy egyszeri hívásban.
A Vault Transit hivatalos dokumentáció részletesen leírja a rotáció és a re-wrap folyamatokat, amit érdemes végigolvasni, mielőtt éles környezetbe raknád.
Zsarolóprogram elleni védelem: immutable backendek
Amikor egy 2025-ös incidensben egy ügyfélnél mind a produkciós adat, mind a napi backup egyszerre titkosításra került, a különbség a helyreállítás és a csőd között az volt, hogy egy külön AWS accountban lévő S3 Object Lock-os másolat érintetlen maradt. Az immutability nem opció 2026-ban, hanem kötelező kontroll. Pont.
A gyakorlatban három megközelítés működik:
S3 Object Lock (compliance vagy governance mode): a legjobban dokumentált, Cloudflare R2, MinIO, Wasabi is támogatja. A restic 0.17+ és a Kopia 0.18+ natívan együttműködnek vele; a Borg csak rclone-on keresztül.
Append-only Borg repó SSH restrictionnel: natív Borg megoldás, viszont a támadó, aki root a backup szerveren, továbbra is módosíthatja a repót. A backup szerver keményítése ezért ugyanolyan kritikus, mint az éles.
ZFS/Btrfs snapshotok read-only mount pointon: filesystem-szinten. A legjobb performance, viszont csak akkor immutable, ha a snapshotot egy admin account készíti és a backup account nem tudja törölni.
Mindhárom megközelítés a „pull-based" mentési modellhez kapcsolódik: a backup szerver húzza az adatot az éles rendszerekről (ellentétben a hagyományos „push-based" iránnyal, ahol az éles rendszer küld). Pull modellben a kompromittált éles rendszer nem tud egyáltalán hozzáférni a backup tárhoz, mert nincs API kulcs a diszken. A backup szerver azonosítja magát az éles rendszer felé, nem fordítva.
Automatizálás systemd timerrel és riasztásokkal
Cron ma már nem elég. Egy 2026-os backup automatizálás minimum három komponensből áll: systemd timer (idővezérlés, resource limitálás), OnFailure hook (riasztás), és healthcheck ping (dead man's switch). Az utolsó a legfontosabb: nem az érdekel, ha a mentés hibázott, hanem az, ha nem futott le egyáltalán.
A ProtectSystem=strict és ProtectHome=read-only a systemd sandbox. A mentési szolgáltatás nem tud véletlenül vagy szándékosan (kompromittálás esetén) írni a rendszerfájlokba. Ez ugyanaz az elv, mint amit a SSH megerősítés 2026-ban útmutatóban is alkalmazunk minden internetre néző szolgáltatásnál.
Restore-tesztelés és katasztrófa-helyreállítási gyakorlat
„Nincs backupod, amíg nem teszteltél restore-t." Ez a mondat annyira klisé, hogy már fáj, mégis nálunk a szenior architektek 40%-a nem tud spontán megnevezni egy dátumot, amikor utoljára ténylegesen visszaállított éles adatot mentésből. Egy jó DR (Disaster Recovery) program legalább háromféle tesztet futtat:
File-level restore (heti): véletlenszerűen kiválasztott fájl visszaállítása egy ideiglenes mappába, checksumolás az eredetivel.
Application-level restore (havi): egy komplett adatbázis (Postgres, MySQL) visszaállítása egy izolált teszt hosztra, smoke test futtatás.
Bare-metal / VM restore (negyedéves): teljes rendszerkép visszaállítása üres hardverre vagy új VM-re, hálózati konfigurációval együtt.
A Borg és a Kopia is támogatja a repó integritás-ellenőrzését (borg check, kopia repository verify), amit havonta érdemes futtatni. Ez felfedi a bit-rot problémákat és a hiányzó chunk-okat, mielőtt szükséged lenne rájuk. A tapasztalatom szerint az S3-on tárolt repóknál évi 0,001% alatti a chunk-veszteség, viszont az on-premise NAS-oknál rendszeresen látni HDD-hiba miatti sérüléseket. (Egy 4 éves WD Red rakás tavaly ősszel egy hét alatt kilőtte a redundanciámat, azóta minden nyűg a monitoron a legfontosabb barátom.)
Melyiket válasszam 2026-ban?
Nincs univerzálisan jó válasz, viszont van néhány használati eset, ahol egyértelmű a győztes:
Egyszemélyes homelab / kevesebb mint 20 szerver, S3-alapú offsite: restic. Egyetlen bináris, minimális ceremonia.
Klasszikus enterprise, SSH-alapú offsite backup szerver: BorgBackup, append-only móddal. A legjobb tömörítés, a legrégebbi kód, a legkevesebb meglepetés.
Modern DevOps csapat, Kubernetes, vegyes felhő: Kopia. Beépített scheduler, per-source policy-k, webes UI a non-CLI teamtagoknak.
Adatbázis-mentés PITR-rel: egyik sem. Használj natív eszközt (pgBackRest, MariaDB Backup, MongoDB Backup) és utána tükrözd az egészet restic/Kopia-val offsite-ba.
Bármelyiket is választod, a döntés csak 20% az egyenletből. A többi 80%: kulcsmenedzsment, immutability, tesztelt restore, és a monitoring, amelyik szól, ha a mentés nem futott. Ha ezekből bármelyik hiányzik, a titkosítási algoritmus finomságai nem számítanak. A backup rendszered pontosan annyira jó, mint a leggyengébb láncszeme, és az szinte soha nem a kripto.
Gyakran Ismételt Kérdések
Mi a különbség a restic és a Borg között?
A restic natívan támogat objektum-tárolókat (S3, B2, Azure, GCS), egyetlen statikus Go bináris és több párhuzamos kliens írhatja ugyanazt a repót. A Borg SSH-központú, Python-alapú, csak egy író klienst enged, viszont tisztább „append-only" módot biztosít szerver oldalon, és a zstd 22-es tömörítés általában 5–10%-kal jobb aránnyal dolgozik. Éles környezetben nagyon gyakori, hogy Borg megy offsite SSH-ra, restic pedig S3-ra: kettő, egymástól független útvonalon.
Hogyan titkosítsam a Linux biztonsági mentéseimet age-dzsel?
Az age (age-encryption.org) X25519-alapú, header-tömör, modern kriptográfiai eszköz, GPG-hez képest lényegesen egyszerűbb és kevésbé hibázós. Használhatod közvetlenül a tar.gz fájlok titkosítására (tar -czf - /srv | age -r $(cat pubkey) > backup.tar.gz.age), de a gyakorlatban okosabb megközelítés az age-t a mentőeszköz jelszavának titkosítására használni, mert így megmarad a restic/Borg deduplikációja és inkrementális működése.
Melyik a legjobb backup program Linuxra 2026-ban?
Nincs univerzális válasz. Ha egy dologra kellene fogadnom: a restic 0.17+ ma a legjobb kompromisszum egyszerű setup, natív S3 támogatás, aktív fejlesztés és többplatformos működés között. Enterprise SSH-alapú offsite backupra viszont a BorgBackup 1.4 érettebb. Kis vagy közepes DevOps csapatnak vegyes felhővel a Kopia beépített scheduler-je és UI-ja gyakran döntő.
Használjak age-t vagy GPG-t a mentések titkosítására?
Az age. A GPG a webes bizalmi láncára és a hosszú távú aláírásra optimalizált, ami backup jelszó-titkosításnál felesleges komplexitás és nagy támadási felület (a GPG CVE-történet lényegesen hosszabb). Az age egyszerű, egy célra tervezett, modern kripto (X25519 + ChaCha20-Poly1305), és a syntaxa is barátságosabb scripting szempontból.
Hogyan védekezhetek zsarolóprogramok ellen backup segítségével?
Három egymást erősítő kontroll kell: (1) immutable tároló (S3 Object Lock vagy Borg append-only mód), (2) „pull-based" modell, ahol a backup szerver csatlakozik az éles rendszerekhez és nem fordítva, (3) offsite másolat külön hitelesítési tartományban (más AWS account, más SSH kulcs, más passphrase). Ezek együtt biztosítják, hogy a produkciós rendszer teljes kompromittálása ne járjon együtt a backup megsemmisülésével.
Mi a 3-2-1-1-0 backup szabály?
A klasszikus 3-2-1 szabály (3 másolat, 2 különböző médium, 1 offsite) kiegészítése két új követelménnyel a zsarolóprogram-korszakban: 1 immutable vagy air-gapped másolat (amit nem lehet távolról megsemmisíteni), és 0 hiba az utolsó ellenőrzött restore-tesztben. Ez utolsó a legfontosabb: a hét mentésből ha csak öt állítható vissza, akkor gyakorlatilag ötöd van, nem hét.
Hogyan keményítsd a systemd szolgáltatásokat sandboxing direktívákkal, seccomp szűrőkkel és capabilities korlátozással. Pentestelői perspektíva, kész nginx unit példa 0,4-es exposure score-ral és gyakorlati hibakeresési lépések.
Gyakorlati útmutató a SELinux és AppArmor MAC-keretrendszerek telepítéséhez, konfigurálásához és hibaelhárításához. Egyedi szabályzatok írása, konténerbiztonsági integráció és a két rendszer összehasonlítása.