Objavljeno:

Varnostne kopije (mala šola informacijske varnosti, 5. del)

Varnostne kopije podatkov (ang. backup) izdelujemo z namenom obnove podatkov v primeru okvare ali poškodbe nosilca podatkov diska oz. računalnika. Varnostna kopija nam omogoča tudi obnovitev podatkov na nove sisteme (npr. ob zamenjavi računalnika).

Ker uporaba šifriranja v primeru napake oziroma okvare nosilca podatkov lahko privede do izgube podatkov, je v primeru uporabe šifriranja potrebno poskrbeti za ustrezne varnostne kopije. Smiselno je, da varnostne kopije prav tako nahajajo v šifrirani obliki.

V nadaljevanju si bomo pogledali dve orodji, ki omogočata ustvarjanje varnostnih kopij v Linuxu, za začetek pa še nekaj pomembnih informacij. Linux vse uporabniške datoteke in osebne nastavitve uporabnikov shranjuje v tim. domači mapi (/home/ime_uporabnika). Zato je za izdelavo varnostne kopije podatkov in osebnih nastavitev posameznega uporabnika potrebno arhivirati le njegovo (celotno) domačo mapo (vključno s skritimi datotekami). Z varnostnim arhiviranjem domače mape se tako arhivirajo vse datoteke v tej mapi, kar vključuje tudi zaznamke in nameščene dodatke v spletnem brskalniku, elektronsko pošto, vključno z nastavitvami in kontakti, uporabnikove GPG šifrirne ključe, nastavitje namizja, nastavitve oz. prilagoditve posameznih programov, itd.

Shranjevanje seznama nameščenih programov

Pomembno pa je vedeti, da se z običajnim varnostnim arhiviranjem ne shrani seznam nameščenih programov. To sicer ni tema tokratnega prispevka, a vseeno na hitro omenimo postopek.

V Ubuntu Linuxu žal ni ustreznega grafičnega orodja, ki bi omogočalo shranjevanje seznama iz programskih skladišč nameščenih programov. Je pa to mogoče storiti v ukazni vrstici, a zahteva nekoliko več poznavanja operacijskega sistema Linux, zato o tem le na kratko. Naj pa omenimo, da Ubuntu omogoča sinhronizacijo programskih paketov med računalniki s pomočjo Programskega središča Ubuntu in računa na Ubuntu Software Center, vendar tudi ta rešitev – čeprav deluje v grafičnem načinu – ni povsem celovita.

Če torej želimo shraniti seznam nameščenih programskih paketov, seznam najprej shranimo seznam v tekstovno datoteko, nato shranimo seznam skladišč programskih paketov, na koncu pa še seznam šifrirnih ključev teh skladišč. To storimo z naslednjimi ukazi:

dpkg --get-selections > ~/Package.list
sudo cp /etc/apt/sources.list ~/sources.list
sudo apt-key exportall > ~/Repo.keys

Obnovitev nameščenih programov pa je mogoča z naslednjimi ukazi:

sudo apt-key add ~/Repo.keys
sudo cp ~/sources.list /etc/apt/sources.list
sudo apt-get install dselect
sudo dpkg --set-selections < ~/Package.list
sudo dselect

Obstajajo sicer naprednejše rešitve (npr. etckeeper), ki omogočajo shranjevanje zgodovine različic nameščenih programskih paketov, vendar zahtevajo podrobnejše poznavanje Linux sistemske administracije.

Še opozorilo: na ta način se shrani seznam iz programskih skladišč nameščenih programov, ne pa tudi seznam programskih paketov, ki smo jih namestili ročno. Prav tako je smiselno razmisliti tudi o (ročnem) shranjevanju nastavitev požarnega zidu, ipd.

Rešitve za shranjevanje nastavitev sistema torej obstajajo, a v nadaljevanju bomo govorili izključno o shranjevanju uporabniških podatkov in nastavitev.

Kam shranjevati?

Prvo vprašanje, ki ga moramo razrešiti, ko se odločimo za ustvarjanje varnostnih kopij je, kam bomo shranjevali podatke. Ena možnost je, da jih shranjujemo na zunanji nosilec podatkov, npr. prenosni disk ali NAS napravo (tudi NAS naprave imajo lahko šifrirane diske). Pri tem pa se je potrebno zavedati možnosti, da hkrati z okvaro primarnega računalnika lahko pride tudi do okvare zunanje naprave – npr. pri udaru strele, požaru ali potresu, zato je smiselno razmisliti o ustvarjanju varnostnih kopij na zunanjo lokacijo ali še bolje na več lokacij. Varnostni standardi npr. določajo, da morajo biti pomembni podatki hranjeni na vsaj dveh lokacijah, ki se morata nahajati na dveh različnih potresnih območjih.

Seveda je vprašanje kakšnim standardom želimo slediti v primeru domače rabe, a po drugi strani se je smiselno vprašati kako pomembni so nam naši podatki (npr. družinske fotografije, itd.) in vsaj najpomembnejše podatke shraniti na več lokacijah.

Tako imamo lahko en prenosni disk z varnostnimi kopijami doma, enega pa nekje drugje (npr. pri sorodnikih ali prijateljih), diske pa periodično izmenjujemo. Še bolj enostavno je, če se na zunanji lokaciji nahaja NAS naprava, kamor se varnostne kopije samodejno shranjujejo, seveda pa je potrebno poskrbeti tudi za to, da so prenosi do zunanje lokacije ustrezo zavarovani (šifrirani).

Druga možnost pa je, da podatke shranjujemo v oblak (ang. cloud), a pri tem je potrebno vedeti, da večina oblakov ne omogoča šifriranja podatkov. Zato ima lastnik oblaka praviloma vedno možnost vpogleda v naše podatke, podatki se (lahko) nahajajo v tretjih državah z zakonodajo, ki lokalnim oblastem (npr. ZDA) omogoča dostop do naših podatkov brez odredb slovenskih sodišč, zaradi napak ali vdorov pa imajo do podatkov lahko dostop tudi nepooblaščene osebe. Podatki v oblaku morajo biti zato vedno šifrirani.

Pomembno se je tudi zavedati, da je dostopnost podatkov odvisna od dostopnosti oblaka. Če nimamo internetne povezave ali če izpade oblačni servis, bodo naši podatki ostali nedostopni (v primeru, da podatke shranjujemo na NAS napravo na zunanji lokaciji se lahko vsaj fizično odpeljemo tja in si podatke skopiramo).

Potrebno se je zavedati tudi dejstva, da z uporabo oblačnega računalništva vstopamo v določeno odvisnost od ponudnika storitve (kar lahko vodi celo v tim. priklepanje uporabnikov, ang. vendor lock-in), zato naj bo uporaba oblačnih servisov podvržena tehtnemu razmisleku.

Iz navedenih razlogov bo zato verjetno najboljša uporaba obeh pristopov hkrati – pomembne podatke si shranjujemo na lokalni zunanji disk, zunanjo lokacijo ter še v oblak.

Ubuntu One

Ubuntu One je komercialna storitev podjetja Canonical. Gre za storitev tim. oblačnega računalništva (ang. cloud computing), ki omogoča hrambo podatkov v oblaku ter nakup glasbe, deljenje datotek, zaznamkov, kontaktov, itd. preko oblačne storitve (v ozadju se uporabljajo Amazonove storitve). Storitev je zelo dobro integrirana v Ubuntu, vsak registrirani uporabnik (registracija je brezplačna) pa lahko na strežnikih storitve Ubuntu One brezplačno dobi 5 GB prostora, za manjše mesečno doplačilo pa še dodaten prostor ter nekatere dodatne zmožnosti.

Upravljanje storitve Ubuntu One

Upravljanje storitve Ubuntu One.

V storitev Ubuntu One se registriramo preko aplikacije Ubuntu One, ki jo najdemo v zaganjalniku. Na namizje je smiselno tudi namestiti poseben Ubuntu One indikator (namestimo ga s pomočjo programskega paketa “indicator-ubuntuone“, ki ga najdemo v PPA skladišču “ppa:rye/ubuntuone-extras“). Indikator prikazuje status našega osebnega oblaka (obstoj povezave, zasedenost, še nekoliko lažje je tudi upravljanje oblačne storitve, itd.).

Indikator Ubuntu One

Indikator Ubuntu One.

Po uspešni namestitvi storitve se v našem domačem imeniku pojavi podmapa Ubuntu One. Vse datoteke, ki jih shranimo v to mapo se nato sinhronizirajo v oblačno storitev. Sinhronizacija traja nekaj časa, ko pa so datoteke sinhronizirane, dobijo oznako zelene kljukice. V sinhronizacijo lahko dodajamo tudi druge mape (v pregledovalniku datotek Nautilus na mapo kliknemo z desnim miškinim gumbom in iz menija izberemo Ubuntu One – Uskladi to mapo).

Sistem nas redno obvešča o usklajevanju z Ubuntu One

Sistem nas redno obvešča o usklajevanju z Ubuntu One.

Pomembno: vsebina map, ki so usklajene s storitvijo Ubuntu One, se v oblačni storitvi nahaja v nešifrirani obliki, zato v te mape nikoli ne shranjujmo nešifriranih podatkov!

Programi za izdelovanje varnostnih kopij

Naslednja stvar, ki jo potrebujemo pa so seveda ustrezne aplikacije za ustvarjanje in obnavljanje varnostnih kopij. V Linuxu je sicer na voljo kar nekaj tovrstnih aplikacij, v nadaljevanju pa si bomo podrobneje ogledali le dve.

DejaDup najdemo med sistemskimi nastavitvami

DejaDup najdemo med sistemskimi nastavitvami.

Program omogoča prirastno varnostno kopiranje (ang. incremental backup), omogoča pa tudi šifriranje varnostnega arhiva z geslom (gesla seveda ne smemo pozabiti). Nastavimo lahko tudi samodejno periodično arhiviranje. Program je intiutiven in enostaven za uporabo.

DejaDup

DejaDup.

DejaDup omogoča shranejvanje več različic map in datotek (npr. varnostno arhiviranje se izvaja vsak dan, program pa hrani vse različice datotek za npr. zadnjih 50 dni). Ko obnavljamo podatke iz varnostne kopije, nas program vpraša katero različico (oz. kopijo iz katerega dne) želimo obnoviti. Obnavljamo (na prejšnjo različico) lahko tudi vsako datoteko ali mapo posebej in sicer tako, da v pregledovalniku datotek Nautilus z desnim miškinim gumbom kliknemo na mapo ali datoteko, ki se varnostno arhivira in izberem omožnost Povrni na predhodno različico. V nadaljevanju izberemo datum varnostne kopije iz katere želimo obnavljati in DejaDup izvede obnovitev datoteke na predhodno različico.

Obnavljanje datotek in map na prejšnje različice

Obnavljanje datotek in map na prejšnje različice.

Na podoben način lahko obnovimo tudi tim. manjkajoče datoteke, torej datoteke, ki smo jih pomotoma izbrisali iz določene mape. V Nautilusu v meniju Datoteka izberemo možnost Obnovi manjkajoče datoteke, DejaDup pa nato preišče arhiv in nam prikaže seznam datotek, ki so arhivirane, nimamo pa jih več na svojem sistemu.

Obnavljanje manjkajočih datotek

Obnavljanje manjkajočih datotek.

Drugo zmogljivo orodje za ustvarjanje varnostnih kopij oziroma če smo natančnejši, sinhronizacijo map in datotek pod Linuxom pa je orodje Rsync oziroma njegov grafični vmesnik Grsync. Namestiti je potrebno programski paket “grsync“, program pa nato zaženemo iz zaganjalnika.

Grsync se uporablja za sinhronizacijo datotek in map v različnih mapah oz. različnih sistemih, program pa omogoča ohranjanje datumov, lastništva nad datotekami ter pravic dostopov. Grsync omogoča tudi dokaj enostavno sinhronizacijo datotek na/iz oddaljene lokacije preko šifrirane ssh povezave, samodejno periodično poganjanje pa je mogoče preko tim. Cron opravila (ang. Cron) – gre za Linuxaški sistemski proces, ki skrbi za to, da se v določenem času izvede vnaprej določen ukaz ali zaporedje ukazov (npr. samodejno izvajanje ukazov v določeni časovni periodi).

Razporejevalnik opravil

Razporejevalnik opravil.

Cron je sicer potrebno nastaviti v ukazni vrstici, vendar pa lahko uporabimo program Scheduled tasks (namestimo ga s pomočjo programskega pakega gnome-schedule), ki omogoča enostavno nastavljanje urnika opravil. V Grsync si lahko ustvarimo tudi več profilov oz. sej.

Grsync

Grsync.

Varnostno arhiviranje deluje – kaj pa sedaj?

Ko imamo vzpostavljen sistem varnostnega arhiviranja in smo se prepričali, da zares deluje samodejno in periodično ter, da se podatki shranjujejo na šifrirane medije ali v šifrirani obliki, pa je zelo pomembno, da preverimo še, ali deluje tudi obnavljanje podatkov oz. da imamo izdelan in predvsem tudi preiskusimo tim. načrt okrevanja po katastrofi (ang. disaster recovery). Dejstvo je, da gre pri varnostnem arhiviranju lahko kaj narobe, poleg tega nobena aplikacija ni brez napak, zato je zelo pomembno preverjanje dejanskega obnavljanja varnostnih kopij. Naj na tem mestu jasno opozorimo, da je imel program DejaDup v preteklosti kar nekaj programskih hroščev, zaradi nekaterih pa obnavljanje varnostnih kopij v določenih primerih ni delovalo. Res pa je, da se program razvija, programski hrošči pa odpravljajo, a previdnost nikoli, tudi pri drugih aplikacijah, ni odveč.

Sistem nas redno obvešča o izvajanju varnostnega arhiviranja

Sistem nas redno obvešča o izvajanju varnostnega arhiviranja.

Zato je smiselno in potrebno, da podatke dejansko tudi skušamo obnoviti – npr. na nek drug računalnik, drug disk ali v virtualni računalnik. Šele če vse deluje kot je treba, smo lahko prepričani, da so naši podatki zares varni pred izgubo (oziroma varnejši, saj popolne varnosti ni). Za konec si vsekakor velja prebrati vsebino spletne strani The Tao of Backup. Gre za kratko Zen zgodbico, ki nam na poljuden način razloži na kaj je potrebno biti pozoren pri varnostnem arhiviranju podatkov. Na kratko:

  • pomembno je, da varnostno arhiviramo vse pomembne podatke (da česa ne pozabimo);
  • pomembna je pogostost ustvarjanja varnostnih kopij (da ne ustvarjamo varnostnih kopij preredko);
  • pomembno je, da varnostne kopije hranimo na varnih mestih (nikakor ne na istem disku, priporočljivo je na fizično ločeni lokaciji);
  • pomembno je, da shranjujemo zgodovino datotek in map oziroma, da ne uporabljamo samo sinhronizacije trenutnih različic datotek;
  • pomembno je, da postopek obnavljanja arhiviranih podatkov dejansko preiskusimo;
  • pomembno je, da so varnostne kopije ustrezno zavarovane (z enako stopnjo varnosti kot izvorni podatki);
  • pomembno je, da je poskrbljeno za integriteto varnostnega arhiva (da vemo, da iz varnostnega arhiva ni kdo izbrisal kakšne datoteke ali kakšno datoteko spremenil ali podtaknil).

Zaključek

Kot smo videli, v Linuxu obstajajo kvalitetne in enostavne rešitve za varnostno arhiviranje podatkov. Za varnostno arhiviranje je vedno smiselno poskrbeti, zlasti pa to velja v primeru uporabe šifriranja. S pomočjo uporabe razmeroma poceni zunanjih diskov in brezplačnih oblačnih storitev lahko z minimalnimi stroški poskrbimo, da bodo naši najpomembnejši podatki zavarovani pred izgubo.

V naslednjem delu pa si bomo pogledali kako podatke, ki jih ne želimo več, trajno uničimo oz. izbrišemo na način, ki onemogoča ali vsaj bistveno oteži forenzično obnavljanje.

Kategorije: Informacijska tehnologija, Informacijska varnost, Odprta koda
Ključne besede: mala šola informacijske varnosti, varnostne kopije