Published on

Mini PC biztonsági mentés lehetőségei

Authors
  • avatar
    Name
    Bartók Dániel
    Twitter

Az elmúlt hetekben már sok mindent megnéztünk a biztonsági mentés témaköréből. Most a gyakorlati vonalat erősítenénk még egy bejegyzés erejéig. Eddig már volt szó mentést illetően a három legnagyobb operációs rendszerről (Windows, MacOS, Ubuntu), megnéztük, hogyan működik ez egy hálózati adattáróló (NAS) esetén. Szerintem még egy olyan terület van, amely egyre jobban kezd elterjedni, ezért semmiképp nem szerettem volna kihagyni a bemutatóból. Ez pedig nem más, mint a miniszámítógépek, azon belül is a Raspberry Pi család.

A haladó bejegyzés megértéséhez szükséges előképzettség:

Az alábbi bejegyzések ismerete:

Unix eszközök:

  • rsync
  • apt
  • ssh-keygen
  • ssh
  • crontab

A bemutatott megoldásban használt eszközök:

  • Raspberry Pi 4 B mini PC
  • Synology NAS (DS220+)

A miniszámítógépekről

Egy miniszámítógép nagyjából akkora, mint egy bankkártya, minden szükséges alkatrész erre az aprónyi lapkára van integrálva. Főleg oktatási céllal készültek, aztán elterjedtek a háztartásokban is. Ennek egyik fő oka az olcsósága. Hobbi projektek megvalósítására tökéletes választás, hiszen nem kell több százezreket ráköltenünk egy komolyabb PC-re, vagy NAS-ra, ugyanis egy miniszámítógépre már pár tízezer forintból beruházhatunk. Személy szerint én is kisebb programok futtatására használom, mint például reklámszűrő (AdGuard), okos otthon (Home Assistant) és sport naptár (Sport Calendar). Ezekről bővebben majd egy későbbi bejegyzésben. Természetesen a pici méretnek is megvannak a hátrányai, nevezetesen számítási kapacitásban nem tudja felvenni a versenyt a nagytestvérével, de ez nem is feltett szándéka. Illetve adattárolásra egyetlen egy darab SD kártya szolgál, erre kerül telepítésre a kimondott miniszámítógéphez készült Unix alapú operációs rendszer és a használt alkalmazások. Éppen ezért itt az eddig megismert adatmentési megoldások nem fognak működni. Szerencsére, ahogyan azt a Kedves Olvasó már megtapasztalhatta az informatikában, erre is van megoldás.

Raspberry Pi

Biztonsági mentés a Pi-n

Ahogyan már többször hangsúlyoztam, itt is számos lehetőségünk van a biztonsági mentést illetően. Ezek közül az általam is használt megoldást fogom bemutatni. Amelyet már sajnos/nem sajnos az élet is letesztelt, hiszen pár hónapja megadta magát a memória kártya. Szerencsére sikerült a biztonsági mentést felhasználni, így nem kellett újra nulláról mindent telepíteni és beállítani. Az *rsync* eszközt fogjuk használni, ami azért is hasznos, mert épít az előző haladó bejegyzésben leírtakra, közvetve ugyan, de már ott is találkoztunk ezzel a programmal. Most viszont első kézből is megismerkedünk vele. Nincs a rendszeren előre telepítve, így ezt nekünk kell elvégezni, melyhez az operációs rendszer csomagkezelőjét hívjuk segítségül. Nyissunk egy terminált, amin keresztül csatlakozunk Pi-hez.

#Miután becsatlakoztunk a Pi-re
sudo apt-get update
sudo apt-get install -y rsync

A parancsok kiadását követően már el is kezdhetjük biztonsági mentések készítését. Itt viszont jöhet is az első kérdés, mi lesz a mentések célállomása? Ahogy azt már említettem korábban, nem érdemes a forráshelyre készíteni, hiszen az adattároló meghibásodása ellen nem véd. Ezért az én választásom a NAS-ra esett, hiszen ott egyből duplán védve lesznek az adatok a használt RAID technológia miatt. Ugye milyen szép az informatika? Előbb-utóbb, de inkább előbb mindig összeérnek a szálak. :) Ehhez viszont először a hálózati adattárólót kell megfelelően beállítani.

Synology NAS beállítása biztonsági mentés célhelyként

Ennek a megvalósításához három dologra lesz szükségünk. Első lépésként hozzunk létre egy megosztott mappát, ez lesz a mentéseink célállomása. Ehhez menjünk be a Synology admin felületére, majd a vezérlőpultban válasszuk ki a megosztott mappa menüpontot. Itt kattintsunk a létrehozás, megosztott mappa létrehozása opcióra. Adjunk a mappának egy nevet, leírást, minden mást hagyhatunk alapértelmezetten.

NAS megosztott mappa létrehozása

Már esett szó a technikai felhasználókról, itt is érdemes a már bemutatott szemléletet követni, miszerint minden feladathoz használjunk egyedi fiókot. Hozzunk most létre egyet a biztonsági mentésekhez. Ezt szintén a vezérlőpultból tehetjük meg. Válasszuk a felhasználó és csoport menüpontot, majd a felhasználónál kattintsunk a létrehozásra, felhasználó létrehozása menüre. Adjunk neki nevet, leírást és egy jelszót. A megosztott mappák engedélyeinek hozzárendelésénél egyedül az előbb létrehozott mappához adjunk írás/olvasás engedélyt. Az alkalmazás-engedélyek hozzárendelésnél pedig egyedül az rsync-et válasszuk ki. Minden mást hagyhatunk alapértelmezetten.

NAS technikai felhasználó létrehozása

Végezetül pedig szükségünk van egy SSH kulcs-ra. A koncepciója hasonló, mint az API kulcsoknak, amelyet az előző gyakorlati bejegyzésben már használtuk. Bejelentkezéshez használjuk, kvázi jelszó helyett. A kulcs generálásához adjuk ki a mini PC-n a következő parancsokat.

ssh-keygen

Generating public/private rsa key pair.
#Adjuk meg mi legyen a létrejövő fájlok neve
Enter file in which to save the key (/home/pi/.ssh/id_rsa): backup

Ezzel létrejön két fájl, a kulcshoz tartozó privát és publikus kulcs. A privát részét fogjuk használni a szerverhez való csatlakozásnál. A publikus részét pedig a szerverre kell juttatnunk. Így amikor megpróbálunk csatlakozni a privát kulccsal a szerver ellenőrizni tudja a valódiságát a publikus részével. Ismerős nem igaz? Hasonló működésről olvashattunk a tanúsítványoknál is.

A publikus kulcsot legegyszerűbben egy terminál használatával tudjuk a megfelelő helyre juttatni. Csatlakozzunk a NAS-hoz az imént létrehozott felhasználónév és jelszó párossal. Amennyiben nem tudjuk a szerver IP címét, azt az admin felületen tudjuk megkeresni a vezérlőpult, hálózat, hálózati interfész lehetőségnél.

NAS belső IP cím

Utána Unix parancsokkal létrehozzuk a .ssh könyvtárat és az authorized_keys fájlt, ahova a publikus kulcs tartalmát kell bemásolnunk. Ez a fájl egy megengedő lista azokról az ssh kulcsokról, amelyek használatával becsatlakozhatunk a szerverre az adott felhasználóval. Végül pedig beállítjuk rekurzívan a mappa jogosultságát.

ssh <felhasználónév>@<NAS IP cím>
cd
mkdir .ssh
vi .ssh/authorized_keys
#Másoljuk be a létrehozott kulcs publikus tartalmát
chmod -R 700 .ssh

Rsync beállítása

Ezzel eljutottunk az utolsó lépésig, ahol az rsync-et beállítjuk az alábbi paranccsal és crontab használatával heti futtatásra ütemezzük. Bontsuk elemeire a parancsot. A sudo előtti résszel tudjuk megmondani, milyen rendszerességgel szeretnénk a parancsot futtatni. A lenti kifejezés minden hét 3. napján, azaz vasárnap hajnal 3-kor fog lefutni. Az rsync parancsnak megadjuk, hogy a Pi-n mely könyvtárról szeretnénk biztonsági mentést készíteni, végül pedig megadjuk a célhelyet amely most a NAS lesz. Ehhez a fent létrehozott felhasználónevet és a hozzá generált privát kulcsot fogjuk használni.

crontab -e
0 3 * * 3 sudo rsync -ave "ssh -p22 -i <privát kulcs>" <menteni kívánt könyvtár> <felhasználónév>@<NAS ip cím>:<célhely> > /home/pi/backup.log

A > jellel pedig a futási eredmény fájlba írjuk, így bármikor ellenőrizni tudjuk, hogyan sikerült a heti mentés.

Rsync futási eredmény

Tehát ezekkel a lépésekkel immár a mini PC-n lévő fontos adatainkról is készül biztonsági mentés. Sőt! Ha szeretnénk, a katasztrófa utáni helyreállításban bemutatott Glacier backup-ot felhasználva tovább menthetjük az adatokat a felhőbe. Tehát a múltkori és a most bemutatott bejegyzés segítségével egy mini PC-ről készíthetünk mentést egy Synology NAS szerverre, ahonnan tovább menthetjük az adatokat a felhőbe. Izgalmas nem igaz?

Ez azért már megfelelő védelmet tud nyújtani, viszont én még itt nem szeretnék megállni, ezért egy olyan megoldáson dolgozom, amely a mini PC-ben található SD kártya teljes tartalmáról készít egy biztonsági mentést és az kerül át a NAS-ra. Egyszer biztosan elkészül, Drága Olvasó pedig biztos lehetsz benne, hogy az oldalon hírt fogok róla adni.

Támogass egy kávéval