Jak šifrovat a zálohovat data na počítači (Windows, Linux, Mac)

Říká se, že dat, které si nezálohujete, si neceníte, takže je jedno, pokud se ztratí. 2-5 % klasických disků během 2-3 let selže, některé série SSD občas taky postihne náhlá smrt, a to nemluvím o situaci, kdy vám někdo notebook ukradne, nebo spadne na zem, polijete ho kafem či pivem apod. V tomto článku chci v rychlosti ukázat způsoby, jak na Windows, Linux a Macu zajistit zálohování. A jelikož všichni dnes máme notebooky, co taháme všude možně, v nich jsou uložená hesla a pravděpodobně osobní a citlivá data naše i druhých lidí, měli bychom vážně uvažovat i o šifrování.

Dominantní operační systémy desktopů a notebooků jsou Microsoft Windows a Apple Mac OS X, méně rozšířený je pak GNU/Linux. Některé věci jsou platné pro všechny systémy a některé věci pak specifické pro každý z nich.

Cloudové úložiště – Společné pro všechny OS

Klíčová data, na kterých právě pracujete, je třeba zálohovat v reálném čase tj. kdykoli jste připojeni k internetu by se neustále měly někam na server posílat všechny změny včetně možnosti případně se vrátit ke starším verzím souborů, nebo obnovit soubor, co jste si smazali. Tuto roli plní různá cloudová úložiště, jejich typickými zástupci jsou Dropbox, Google Drive či Microsoft OneDrive. Zdarma je k dispozici 2 GB u Dropboxu (s možností navyšování přes affiliate link), 15 GB u Google Drive a 5 GB u OneDrive, za pár euro měsíčně lze získat desítky až stovky GB. Zpravidla je dostatečná kapacita zdarma, pokud zálohování všeho ostatního řešíme jiným způsobem. Klíčové je stáhnout a nainstalovat si příslušného synchronizačního klienta a určit, která složka na počítači se má synchronizovat s cloudem. (Já díky Dropboxu přišel jen o 5 minut práce, když mi den před odevzdáním diplomky náhle a bez varování selhal disk – stačilo zapnout druhý počítač a za 10 minut pokračovat v práci.) Kdo nechce data svěřovat Googlu, Microsoftu, Amazonu či podobnému cloudu, může si na vlastním serveru či VPS provozovat ownCloud.

Za pár euro měsíčně pak lze zálohovat v cloudu celý obsah počítače pomocí CrashPlan, BackBlaze či Carbonite.

connection-1268089_640Lokální zálohování – Windows

Windows 7 nabízí vlastní nástroj pro zálohování, který lze nastavit k rozumnému zálohování dat na externí nebo síťový disk. Navíc ve Windows 7 šlo i přímo pro hlavní disk aktivovat starší verze souborů (schované to bylo ve vlastnostech disku v nastavení části disku pro body obnovení). Ve Windows 8, 8.1 a 10 Microsoft tento nástroj víceméně zrušil a nahradil jej za Historii souborů. Funguje to jinak, ale slouží to k tomu, aby se na externí či síťový disk archivovaly staré verze souborů, co se už lokálně změnily, aby bylo možné se vrátit do minulosti.

Z komerčních nástrojů, jejichž free verze jsou dostupné k některým síťovým diskům (NAS), se často objevuje Acronis, který umožňuje rozdílové (inkrementální) zálohování celého disku či jednotlivých složek, sofistikované plánované úlohy atd. Obnovit zálohy jde opět jen Acronisem.

Osobně ve firmě používám a doporučuji Cobian Backup. Pro správnou funkčnost je nejprve potřeba doinstalovat do Windows NET 3.5. Poté Cobian Backup využívá funkce Stínové kopie svazku, tj. před zálohováním pořídí „snapshot“ disku, aby zálohování probíhalo nad konzistentními daty a ty se v průběhu zálohování neměnily „pod rukama“ s tím, jak programy pokračují v ukládání nových dat. Buď lze provádět pouhý mirroring (klonování) bez zachovávání minulých verzí souborů, a to i v nekomprimované podobě, nebo rozdílové zálohování nekomprimovaně, do ZIPu či 7ZIPu. ZIP i 7Zip. Obnova rozdílových záloh ale může být pracnější, protože nástroj nedisponuje způsobem, jak pohodlně sloučit poslední plnou zálohu a následné rozdílové. Na druhou stranu se lze k jednotlivým souborům dostat jakýmkoli programem kdekoli, bez nutnosti obnovovat cokoli jen pomocí Cobianu. Zálohy ukládám na síťový disk (NAS) a po čase je rotuji (nechávám starší mazat) a záznamy o zálohování jednotlivých počítačů nechávám program posílat emailem.

Lokální zálohování – Mac OS X

timemachine_preferencesApple už roky nabízí poměrně spolehlivý a triviálně nastavitelný program pro kompletní a rozdílové zálohování bitové kopie celého systémového disku počítače vč. stavu spuštěných programů atd. – TimeMachine. Stačí k tomu jakýkoli správně naformátovaný externí disk, síťový disk (Time Capsule od Applu či kompatibilní NAS), nebo externí disk zapojený do routeru Airport Extreme. Vřele doporučuji TimeMachine zapnout, obnovoval jsem už Macbook Air po selhání SSD a po polití kafem na nový Macbook Air TimeMachine, a byl jsem spokojený minimem práce s obnovou – stačilo pár hodin nechat nový Macbook se obnovit a po dokončení se spustilo vše včetně programů a oken spuštěných v okamžiku provádění zálohování.

Nevýhodou je, že pro zálohování je potřeba mít odhaduji minimálně 3x tak velký disk než je ten, který zálohujeme. Pro 256GB SSD na Macbooku bych doporučil minimálně 750GB externí disk. Externí disk se musí ručně připojovat, síťový disk běží pořád a po připojení do domácí sítě se po detekování síťového disku zálohování děje samo. Nevýhoda – TimeMachine nedovoluje standardně nastavit maximální prostor vyhrazený pro TimeMachine – použije se prostě celý disk a program nechává zálohy tak dlouho, dokud není celý disk plný, takže to vychází na 1 Mac = 1 externí disk. Existují způsoby, jak někdy velikost tzv. „sparsebundle“ omezit, či ručně starší zálohy mazat, ale to vyžaduje hacking v Diskové utilitě či přes příkazovou řádku, takže to běžným uživatelům nedoporučuji zkoušet a smířit se s tím, že externí disk je jen na zálohy Macu.

Lokální zálohování – Linux

Způsobů, jak na Linuxu zálohovat, je řada. Většina z nich je postavená na nástroji rsync, kolem kterého případně existují grafické nadstavby či skripty, co provádějí sofistikovanější funkce. Přehled různých nástrojů je k dispozici např. na wiki Ubuntu.

Osobně používám vlastní skripty, využívající rsync a snapshotů na úrovni souborového systému btrfs, kterým mám naformátované záložní disky. Rsync provede do vybrané složky záložního disku běžnou synchronizaci a poté se tato složka uloží jako btrfs snapshot pojmenovaný datem a časem. Další spuštění jen provede nový rsync a poté opět udělá nový snapshot. Starší snapshoty lze mazat pomocí btrfs subvolume delete a čas od času je vhodné záložní filesystém zkontrolovat pomocí btrfs-scrub.

Ukázka skriptu pro zálohu hlavního systémového SSD na externí disk. Ekvivalentně zálohuji i ostatní disky. (Skript spouštím ručně a mazání starších snapshotů dělám taky ručně, skript ale lze doplnit i o to.) openSUSE ale dnes nabízí Snapper, gra


#!/bin/bash

## Zaloha bezneho ext4 svazku do btrfs btrfs subvolume and porizeni snapshotu
## Zalozni btrfs svazek by mel byt pripojen do korenove subvolume subvolID=0, a nikoli do subvol=$backupsubvolumepath!

if [[ $EUID -ne 0 ]]; then
echo "Spusteni vyzaduje sudo (prava roota)" 1>&2
exit 1
fi

mediadir="media"
username="brozkeff"
volumename="ssd"
volumeroot="/$mediadir/$username"
volumepath=""
backupsuffix="backup"
backupvolumename="${volumename}_${backupsuffix}"
# mkdir -p $backupvolumepath
backupvolumepath="$volumeroot/$backupvolumename"

mount | grep "on ${backupvolumepath} type" > /dev/null
if [[ $? -ne 0 ]]; then
echo "Chyba, zalozni disk $backupvolumepath neni pripojen"
exit 1
fi

backupsubvolumepath="$backupvolumepath/$volumename"
## Pred prvnim spustenim vytvorte subvolume prikazem
# btrfs subvolume create $backupsubvolumepath
## jinak nebude fungovat prikaz btrfs snapshot
snapshotssuffix="snapshots"
snapshotsdirname="${volumename}_${snapshotssuffix}"
# mkdir -p $backupvolumepath/$snapshotsdirname
snapshotdatetime="$(date +%Y%m%d-%H%M)"
snapshotdirpath="$backupvolumepath/$snapshotsdirname/$snapshotdatetime"
excludefrom="/backup/backup_ssd-exclude.txt"

echo "Probiha RSYNC svazku $volumename do BTRFS zalozniho subvolume"
rsync --one-file-system --verbose --archive --acls --xattrs --delete --exclude-from=$excludefrom $volumepath/* $backupsubvolumepath/
echo "Vytvarim BTRFS subvolume snapshot s aktualni casovou znackou"
btrfs subvolume snapshot $backupsubvolumepath $snapshotdirpath

Poznámka pod čarou: RAID neznamená záloha

RAID (redundance) není totéž co záloha.

tl;dr: Pokud vám jsou data milá, nepoužívejte RAID 5 a vůbec ne pak stripe (RAID 0) či prostý expansion do jednoho většího logického svazku („JBOD“ / dynamický svazek Windows / Linux LVM / btrfs). Používejte jen RAID 1 nebo RAID10. Ani to ale neznamená „záloha“.

- https:_upload.wikimedia.org_wikipedia_commons_b_bb_RAID_10RAID se objevuje i v domácím prostředí na malých síťových discích (NAS) a je v tom skryté poměrně velké nebezpečí. Pokud jediným místem, kde jsou data, je na NASu, který už dále není zálohován, může to být zásadní problém, pokud některý disk selže. U jednodiskového NASu je jasné, co se stane, pokud disk selže – data jsou pryč. Takový NAS zabezpečuje data jako jakýkoli normální disk, který může selhat. Na zálohování něčeho, jehož kopie je zpravidla i jinde, to může stačit.

Dvoudiskové NASy jsou relativně bezpečné, pokud je použit RAID v režimu „mirroring“ (RAID 1). Pak aspoň při selhání jednoho disku jsou veškerá data stále na disku druhém. Je výhodnější mít každý disk koupený zvlášť resp. od jiného výrobce, aby se předešlo tomu, kdy jsou oba disky ze stejné (potenciálně vadné série).

Největší riziko představují tří či čtyřdiskovém případně vícediskové NAS, pokud jsou tam disky v režimu RAID 5 (prakticky totéž, co „Synology Hybrid RAID (SHR)“). Např. čtyřdiskový NAS se 4TB disky se chová jako 12TB úložiště. Výpadek jednoho disku lze nahradit novým diskem, ale po dobu, než se zrekonstuuje chybějící disk, se čtou data ze všech tří zbývajících disků a dopočítávají se kontrolními součty. Jediný chybný bit na kterémkoli ze zbývajících disků způsobí selhání celého pole. Čím větší disky, tím větší riziko selhání. RAID 5 prostě nepoužívejte! Třídiskový NAS nemá moc smysl (3x mirroring RAID 1 je trochu moc velký luxus a RAID 1 pro 2 disky + 1x hot spare taky), pro čtyřdiskový NAS pak jedině RAID10 (1+0). Místo 12 TB je kapacita jen 8 TB, ale řešení to je mnohem bezpečnější.

Šifrování

Šifrování celého disku dnes nemusí být nic složitého. Záleží ale na operačním systému, jeho verzi a někdy konkrétním hardwaru.

Hardwarové šifrování

Všechny operační systémy lze šifrovat pomocí self-encrypting drive (SED), což jsou dnes některá SSD (Crucial, Intel, Samsung…)

HP SED SSD - Set DriveLock password3 - USER and MASTER passwordsa) Buď lze použít „ATA password“ co lze nastavit v BIOSu (bohužel ale implementace tohoto je ve většině UEFI/BIOSů tragicky špatná, nebo úplně chybějící, což je lepší než falešný pocit bezpečí z mizerné implementace – důležitá je podpora plného 32znakého User i Master password, což jsem zatím objevil funkční jen na noteboocích od Asusu a některých HP Eliteboocích – Pokud BIOS nepodporuje HDD User i Master password, nebo omezuje délku hesla na 7, 8, 12 ap. znaků, značí to zásadní problém a doporučuji se tomuto způsobu zabezpečení vyhnout, je příliš velká šance, že takové zabezpečení lze triviálně překonat.Zejména nemožnost nastavit Master pass

b) Nebo lze využít standardu TCG Opal 2.0, který musí podporovat jak disk, tak i počítač a operační systém – Professional edice Windows toho využijí při aktivaci BitLockeru a v Linuxu by to mělo jít přes nástroj sedutil (návod).

Softwarové šifrování

Windows lze šifrovat

VeraCrypt_Creating_Volumea) softwarově pomocí Truecryptu 7.1a (nikoli 7.2!) resp. dnes spíše jeho forku Veracryptu. U počítačů s mizerným BIOSem, absenci SED disku a/nebo s Windows Home to je prakticky jediná možnost. Truecrypt/Veracrypt umí zašifrovat i systémový disk a u procesorů Intel i5 a i7 je šifrování/dešifrování hardwarově akcelerované procesorem, který podporuje instrukce AES-NI. Nevýhoda je u SSD, které to někdy dost výrazně zpomalí a zkrátí jejich životnost, neboť disk nebude mít volné místo pro garbage collection a možnost využívat TRIM. U Windows Home ale není moc jiná možnost. Dokud jsem používal Windows jako hlavní operační systém, používal jsem Truecrypt (Windows Vista od roku 2007 cca do 2011, na klasickém disku, s pomalým procesorem AMD Turion a dalo se s tím taky pracovat).

Unlockedb) Windows Vista, 7, 8, 8.1 a 10 Professional umožňují BitLocker. Standardně to šifruje disk softwarově, s možností podpory instrukcí AES-NI a TRIM u SSD. Pokud disk či SSD podporuje TCG Opal resp. eDrive, a v počítači je TPM čip (či je povoleno použití BitLockeru bez TPM čipu) může být „zašifrování“ otázkou jednotek sekund (ve skutečnosti je disk šifrovaný pořád, jen se teď aktivuje nutnost autentizace TPM čipem či heslem či USB klíčenkou při startu). Od Windows 8 lze šifrovat i USB klíčenky a externí disky (Bitlocker To Go).

Souborový systém NTFS podporuje i šifrování jednotlivých souborů pomocí EFS, a to už od dob Windows XP ale tato možnost jde zapnout opět jen u Windows Professional a má řadu nevýhod oproti plnohodnotnému BitLockeru, takže ji ani příliš nedoporučuji.

Linux nabízí několik způsobů šifrování. Použít jde i Truecrypt/Veracrypt, ale pokud není nutná kompatibilita s Windows, je lepší použít specifické nástroje pro Linux:

ecryptfs-Ubuntu Jednotlivé soubory uvnitř domovské složky si může každý uživatel šifrovat pomocí ecryptfs, např. Ubuntu to při instalaci nabízí. Je to hodně pomalé, ale ani root se k takovým souborům nedostane, takže to někdy může mít své opodstatnění.

luksDump-sdb3Nejrychlejší a nejrozšířenější je asi dm-crypt + LUKS. Tím některé distribuce nabízejí šifrování i systémového disku při instalaci, a lze tak naformátovat i všechny ostatní disky vč. externích, flash disků atd. Osobně používám výhradně LUKS pro všechny interní i externí a záložní disky (krom systémového SED SSD šifrovaného pomocí ATA BIOS password). Důležité je si někam bezpečně zálohovat hlavičky LUKS šifrovaných svazků. pro případ, že se poškodí. LUKS svazek lze šifrovat až 8 různými klíči a pro odemčení stačí zadat kterýkoli z nich.

filevault-iconMac OS X to má opět ze všech nejjednodušší – Apple nerozlišuje žádné Home a Pro verze tak jako to dělá Microsoft, a šifrování nabízí všem svým zákazníkům v rámci „základní výbavy“ a bez nutnosti něco dělat v příkazové řádce. Nástroj pro šifrování se jmenuje FileVault a aktivovat lze přes Jablko -> System Preferences -> Security -> Filevault. Klíč pro obnovu lze uložit do Apple účtu a nebo uložit/vytisknout lokálně. Doporučuji funkci hned aktivovat.

Autor

Martin

Pracuji jako ajťák a grafik na volné noze, zejména ale pro brněnskou firmičku vyrábějící ekodrogerii. Dále působím v brněnském systému místní směny Rozleťse, Českém zahrádkářském svazu, České psychedelické společnosti, spolku Archetypal a Mezinárodní komunitě dzogčhenu. Asi mě baví kumulovat různé funkce a přidávat si spoustu práce. Lidi o mě říkají, že jsem multifunkční, což je asi trochu pravda :-)

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *