Ero sivun ”BackZoup” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(aiemmin kirjoittamani runko)
 
Rivi 20: Rivi 20:
==NBD:n kääntäminen ja asennus==
==NBD:n kääntäminen ja asennus==


NBD tarvitsee lähdekoodimuutoksen eli pätsin toimiakseen ssh:n kautta.
NBD tarvitsee lähdekoodimuutoksen eli
Ladataan nbd:n versio 2.9.11. Se onnistuu esimerkiksi osoitteesta   
[http://en.wikipedia.org/wiki/Patch_(computing)#Patches_in_software_development pätsin]
http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2 
toimiakseen ssh:n kautta.
tai sivujen http://sourceforge.net/projects/nbd/ kautta. Mukaile seuraavia
esimerkkejä:                                                             


Otetaan käyttäjän oikeudet:
Tarvitset nbd:n version 2.9.11, koska SSH-tuen mahdollistava pätsi on olemassa ainoastaan tälle versiolle. NBD on ladattavissa osoitteesta http://sourceforge.net/projects/nbd/ . SSH-pätsi on saatavissa osoitteesta http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch .


# su - netbackup
Mikäli haluat varmuuskopioida kahteen suuntaan, eli tarjota
varmuuskopiointitilaa ystävällesi ja vastaavasti käyttää ystäväsi tietokonetta
oman datasi varmuuskopiointiin, kannattaa nbd paikata ja asentaa koko käyttöjärjestelmän osana. Tällöin noudata seuraavaa ohjelmaa tavallisena käyttäjänä:


Jonka jälkeen ladataan, pätsitään ja käännetään nbd
mkdir -p ~/tmp
Voit jättää --prefixin pois, jos haluat asentaa koko järjestelmään.
cd ~/tmp                             
wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2
wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch
tar -xjf nbd-2.9.11.tar.bz2
cd nbd-2.9.11
patch -p0 <../nbd-2.9.11-ssh2.patch
./configure
make
sudo make install


# cd
Mikäli haluat ainoastaan tarjota varmuuskopiointitilaa, kannattaa nbd asentaa varmuuskopiokäyttäjän tunnuksella. Seuraava esimerkki asentaa nbd:n hakemistoon ~netbackup/nbd:
# mkdir -p tmp nbd/etc/nbd-server .ssh
# cd tmp                             
# wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2
# wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch                     
# tar -xjf nbd-2.9.11.tar.bz2                                             
# cd nbd-2.9.11                                                           
# patch -p0 <../nbd-2.9.11-ssh2.patch                                     
# ./configure --prefix=$HOME/nbd                                         
# make                                                                   
# make install                                                           


Jos kaikki meni hyvin, sovellus on nyt asennettu hakemistoon ~netbackup/nbd.
su - netbackup
Voidaan poistaa väliaikaistiedostot                                       
cd
mkdir -p tmp nbd/etc/nbd-server .ssh
cd tmp
wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2
wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch
tar -xjf nbd-2.9.11.tar.bz2
cd nbd-2.9.11
patch -p0 <../nbd-2.9.11-ssh2.patch
./configure --prefix=$HOME/nbd
make
make install


# cd
Asennuksen jälkeen voidaan poistaa väliaikaistiedostot:
# rm -r tmp
 
cd
rm -r ~/tmp


Tehdään nbd:n asetustitiedosto. Tätä ei tarvita varsinaisesti mihinkään, mutta
Tehdään nbd:n asetustitiedosto. Tätä ei tarvita varsinaisesti mihinkään, mutta
sillä saadaan nbd-server olemaan valittamatta puuttuvasta asetustiedostosta.
sillä saadaan nbd-server olemaan valittamatta puuttuvasta asetustiedostosta.
Suorita seuraavat rivit                                                      
Suorita seuraavat rivit


# cat >~/nbd/etc/nbd-server/config <<EOF
cat >~/nbd/etc/nbd-server/config <<EOF
[generic]                               
[generic]                               
[export]                                 
[export]                                 
        exportname = /blah               
        exportname = /blah               
        port = 0                         
        port = 0                         
EOF                                     
EOF                                     


Palataan takaisin root-käyttäjäksi
Palataan takaisin root-käyttäjäksi


# exit
exit


==Käyttäjäkohtaiset asetukset==
==Käyttäjäkohtaiset asetukset==

Versio 13. tammikuuta 2009 kello 22.47

TÄMÄ ARTIKKELI ON KESKEN!

BackZoup on varmuuskopiointijärjestelmä, joka mahdollistaa tietokoneen varmuuskopioinnin tietoturvallisesti Internetin kautta sellaiselle kohdetietokoneelle, jonka luottamuksellisuutta ei voida varmistaa. Järjestelmässä tieto ensin salataan ja sitten siirretään salattua siirtotietä pitkin kohteeseen. Tällä saavutetaan seuraavat edut:

  • Tieto ei ole urkittavissa tiedonsiirron aikana.
  • Tieto ei ole urkittavissa kohdetietokoneella.
  • Kohdetietokoneeseen ei tarvita pääkäyttäjän oikeuksia.

Tällainen järjestelmä voidaan saavuttaa usealla tavalla, joista BackZoup perustuu yhdistelmälle NBD + ssh + LUFS + rdiff-backup. Mikäli käytössä on LVM, saadaan varmuuskopioiden ottamiseen lisää joustavuutta. Näiden eri sovellusten tuntemus ei ole tarpeen, koska tarvittavat vaiheet neuvotaan tässä artikkelissa.

Lisätietoja muista vastaavista ratkaisuista löytyy artikkelin lopusta.

Taustaa tekniikasta

Kaikki käyttäjät käyttävät samaa tunnusta, erottelu tapahtuu ssh-avaimilla. Luodaan tunnus järjestelmään, jolle ei aseteta salasanaa

  1. adduser --disabled-password netbackup

NBD:n kääntäminen ja asennus

NBD tarvitsee lähdekoodimuutoksen eli pätsin toimiakseen ssh:n kautta.

Tarvitset nbd:n version 2.9.11, koska SSH-tuen mahdollistava pätsi on olemassa ainoastaan tälle versiolle. NBD on ladattavissa osoitteesta http://sourceforge.net/projects/nbd/ . SSH-pätsi on saatavissa osoitteesta http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch .

Mikäli haluat varmuuskopioida kahteen suuntaan, eli tarjota varmuuskopiointitilaa ystävällesi ja vastaavasti käyttää ystäväsi tietokonetta oman datasi varmuuskopiointiin, kannattaa nbd paikata ja asentaa koko käyttöjärjestelmän osana. Tällöin noudata seuraavaa ohjelmaa tavallisena käyttäjänä:

mkdir -p ~/tmp 
cd ~/tmp                              
wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2
wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch
tar -xjf nbd-2.9.11.tar.bz2
cd nbd-2.9.11
patch -p0 <../nbd-2.9.11-ssh2.patch
./configure
make
sudo make install

Mikäli haluat ainoastaan tarjota varmuuskopiointitilaa, kannattaa nbd asentaa varmuuskopiokäyttäjän tunnuksella. Seuraava esimerkki asentaa nbd:n hakemistoon ~netbackup/nbd:

su - netbackup
cd
mkdir -p tmp nbd/etc/nbd-server .ssh
cd tmp
wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2
wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch
tar -xjf nbd-2.9.11.tar.bz2
cd nbd-2.9.11
patch -p0 <../nbd-2.9.11-ssh2.patch
./configure --prefix=$HOME/nbd
make
make install

Asennuksen jälkeen voidaan poistaa väliaikaistiedostot:

cd
rm -r ~/tmp

Tehdään nbd:n asetustitiedosto. Tätä ei tarvita varsinaisesti mihinkään, mutta sillä saadaan nbd-server olemaan valittamatta puuttuvasta asetustiedostosta. Suorita seuraavat rivit

cat >~/nbd/etc/nbd-server/config <<EOF
[generic]                               
[export]                                
        exportname = /blah              
        port = 0                        
EOF                                     

Palataan takaisin root-käyttäjäksi

exit

Käyttäjäkohtaiset asetukset

Nyt voidaan tehdä asetukset eri käyttäjille. Toista tätä tarvittaessa.

Tallennustilan luonti

Varmuuskopiointitila voi olla joko tavallisia tiedostoja tai osioita. Mikäli järjestelmässäsi on LVM käytössä, suosittelen sen käyttämistä.

LVM-osio

Mikäli käytössäsi on lvm, voit luoda varmuuskopio-osion seuraavasti:

  1. lvcreate -L 10G -nmaakuth levy

Se luo uuden kymmenen gigatavun osion nimeltään 'maakuth' lvm:n volumegroupiin nimeltään 'levy'. Uusi osio löytyy polusta /dev/mapper/levy-maakuth.

Annetaan oikeudet osiolle:

  1. chown netbackup /dev/mapper/levy-maakuth

LVM-osioiden sisältöä ei luontivaiheessa nollata. Jos osio sattuu levyllä kohtaan, jolla on ollut aiemmin jo dataa, kannattaa sisältö nollata, jotta levytilan uusi omistaja ei pääsisi lukemaan aiempaa sisältöä. Tämä vie aikaa lukuisia minuutteja osion koosta riippuen.

  1. dd if=/dev/zero of=/dev/mapper/levy-maakuth

Tiedostojärjestelmä tiedostossa

Jos käytössäsi ei ole lvm:ää, niin toiseksi paras tapa on käyttää tavallisia tiedostoja. Se onnistuu menemällä hakemistoon, jossa käyttäjällä netbackup on kirjoitusoikeudet (esimerkiksi ~netbackup) ja komentamalla:

  1. dd bs=1048576 count=0 seek=10000 of=maakuth.img

Tämä luo noin 10 gigatavun tiedoston nykyiseen hakemistoon, joka on toistaiseksi tyhjä (se ei edes vie tilaa levyllä, ns. "sparse file"). Tätä tiedostoa voi käsitellä nbd:llä ikään kuin se olisi osio.

Tiedostoa ei tarvitse nollata LVM:n tapaan, koska se on tiedosto eikä osio.

Käyttäjän varmennus

Otetaan käyttäjän oikeudet

  1. su - netbackup

Pyydä käyttäjältä hänen julkinen SSH-avaimensa. Hän voi halutessaan luoda uuden avaimen ssh-keygen -sovelluksella tai käyttää olemassa olevaa.

Muokkaa tiedostoa .ssh/authorized_keys. Huolehdi, että käyttämäsi editori ei rivitä tiedostoa automaattisesti. Lisää tiedoston loppuun rivi:

command="nbd/bin/nbd-server -s 0 LAITE",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty AVAIN

Korvaa LAITE tiedostolla, johon käyttäjä tallentaa datansa. Loit sen äskettäin. Esimerkiksi /dev/mapper/levy-maakuth . Korvaa avain käyttäjän avaimella, alkaa usein ssh-rsa tai ssh-dss.

Yhteyden muodostaminen

Nyt homma on konffattu ja voit kokeilla käytännössä. Pyydä kaveriasi kääntämään nbd tämän tiedoston alun ohjeiden mukaan ja komentamaan pääkäyttäjänä:

  1. ~/nbd/bin/nbd-client -cmd ssh -i POLKU_AVAIMEEN -e none netbackup@kaverin.kone.fi ';' /dev/nbd0

Tässä POLKU_AVAIMEEN on polku salaisen avaimen tiedostoon. Jos käytät samaa avainta tavallisena käyttäjänä, se löytyy polusta ~käyttäjä/.ssh/id_dsa tai id_rsa.

Jos sovellus lopettaa ilman virhettä, on uusi etäinen kovalevysi laittessa /dev/nbd0.

Voit vaikka heti luoda levylle tiedostojärjestelmän mkfs:llä, liittää levyn mountilla ja sen jälkeen ruveta käyttämään. Kuitenkin kannattaa tutustua seuraavaan kappaleeseen, koska siinä neuvotaan salauksen käyttöönotto.

Laitteen saat poistettua järjestelmästäsi komentamalla:

  1. ~/nbd/bin/nbd-client -d /dev/nbd0

Salattu tiedostojärjestelmä

Mikäli käytettävissäsi on LUKS, suosittelen sitä salaamiseen. Se tulee ainakin Ubuntu 8.10:n vakiovarusteena.

Teen muutaman oletuksen. Journalointia ja access timeä ei kannata verkon yli liitettävässä tiedostojärjestelmässä käyttää tehokkuussyistä. Tämä ei perustu mittaustuloksiin, joten tätä osiota kannattaa asiasta tietävien täydentää. Siksi käytän tiedostojärjestelmänä ext2:ta noatime-asetuksella.

Luodaan salattu tiedostojärjestelmä. Tässä vaiheessa kannattaa keksiä itselleen salasana. Salasanan keksimisessä auttaa komento pwgen.

  1. luksformat -t ext2 /dev/nbd0

Tämän jälkeen saat salatun osion näkymään komennolla:

  1. cryptsetup luksOpen /dev/nbd0 backup

Tämä luo järjestelmääsi laitteen /dev/mapper/backup, jossa selkokielinen tiedostojärjestelmä sijaitsee. Voit esimerkiksi kokeilla osion liittämistä. Oletetaan, että sinulla on tyhjä hakemisto /mnt/backup:

  1. mount -o noatime /dev/mapper/backup /mnt/backup

Voit kokeilla tiedostojen kirjoittamista levylle.

Lopuksi voit poistaa salatun osion näkyvistä järjestelmästäsi komentamalla:

  1. umount /mnt/backup
  2. cryptsetup remove backup

Viimeistely

Lopuksi kannattaa nähdä hetki vaivaa asetusten tekemiseen, koska näin säästää aikaa tulevaisuudessa, kun ei tarvitse rutiinikäytössä muistella kaikkia komentoja ulkoa.

Helpotetaan salatun osion liittämistä tekemällä pääkäyttäjälle ssh-config. Lisää tiedoston ~root/.ssh/config perään:

Host backup

       EscapeChar none
       BatchMode yes
       User netbackup
       HostName palvelin.fi
       IdentityFile polku_salaiseen_avaimeesi
       Port 22

Tämän jälkeen yhdistäminen pitäisi onnistua lyhyemmin komentamalla:

  1. nbd-client -cmd ssh backup ';' /dev/nbd0


Lähteet

https://help.ubuntu.com/community/EncryptedFilesystemOnIntrepid