Ero sivun ”BackZoup” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
luokitus, wikilinkkejä ym
p (fix) |
Pb (keskustelu | muokkaukset) p (luokitus, wikilinkkejä ym) |
||
Rivi 1: | Rivi 1: | ||
BackZoup on [[varmuuskopiointi]]järjestelmä, joka mahdollistaa tietojen 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: | |||
BackZoup on | |||
* Tieto ei ole urkittavissa tiedonsiirron aikana. | * Tieto ei ole urkittavissa tiedonsiirron aikana. | ||
* Tieto ei ole urkittavissa kohdetietokoneella. | * Tieto ei ole urkittavissa kohdetietokoneella. | ||
* Kohdetietokoneeseen ei tarvita | * 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. | 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. | ||
Rivi 12: | Rivi 10: | ||
==Taustaa tekniikasta== | ==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 [[salasana]]a | |||
# [[adduser]] --disabled-password netbackup | |||
# adduser --disabled-password netbackup | |||
==NBD:n kääntäminen ja asennus== | ==NBD:n kääntäminen ja asennus== | ||
NBD tarvitsee [[lähdekoodi]]muutoksen eli | |||
NBD tarvitsee | [http://en.wikipedia.org/wiki/Patch_(computing) #Patches_in_software_development pätsin] | ||
[http://en.wikipedia.org/wiki/Patch_(computing)#Patches_in_software_development pätsin] | |||
toimiakseen ssh:n kautta. | toimiakseen ssh:n kautta. | ||
Rivi 28: | Rivi 24: | ||
Mikäli haluat varmuuskopioida kahteen suuntaan, eli tarjota | Mikäli haluat varmuuskopioida kahteen suuntaan, eli tarjota | ||
varmuuskopiointitilaa ystävällesi ja vastaavasti käyttää ystäväsi tietokonetta | 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 | oman datasi varmuuskopiointiin, kannattaa nbd paikata ja asentaa koko käyttöjärjestelmän osana. Tällöin suorita seuraavat komennot tavallisena käyttäjänä: | ||
mkdir -p ~/tmp | [[mkdir]] -p ~/tmp | ||
cd ~/tmp | [[cd]] ~/tmp | ||
wget http://surfnet.dl.sourceforge.net/sourceforge/nbd/nbd-2.9.11.tar.bz2 | [[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 | wget http://iki.fi/zouppen/b/nbd-2.9.11-ssh2.patch | ||
tar -xjf nbd-2.9.11.tar.bz2 | [[tar]] -xjf nbd-2.9.11.tar.bz2 | ||
cd nbd-2.9.11 | cd nbd-2.9.11 | ||
patch -p0 <../nbd-2.9.11-ssh2.patch | [[patch]] -p0 <../nbd-2.9.11-ssh2.patch | ||
./configure | ./configure | ||
make | [[make]] | ||
sudo make install | [[sudo]] make install | ||
Mikäli haluat ainoastaan tarjota varmuuskopiointitilaa, kannattaa nbd asentaa varmuuskopiokäyttäjän tunnuksella. Seuraava esimerkki asentaa nbd:n | Mikäli haluat ainoastaan tarjota varmuuskopiointitilaa, kannattaa nbd asentaa varmuuskopiokäyttäjän tunnuksella. Seuraava esimerkki asentaa nbd:n [[hakemisto]]on <tt>~netbackup/nbd</tt>: | ||
su - netbackup | [[su]] - netbackup | ||
cd | cd | ||
mkdir -p tmp nbd/etc/nbd-server .ssh | mkdir -p tmp nbd/etc/nbd-server .ssh | ||
Rivi 59: | Rivi 55: | ||
cd | cd | ||
rm -r ~/tmp | [[rm]] -r ~/tmp | ||
Tehdään nbd:n | Tehdään nbd:n [[asetustiedosto]]. 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] | ||
Rivi 74: | Rivi 70: | ||
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== | ||
Nyt voidaan tehdä asetukset eri käyttäjille. Toista tätä tarvittaessa. | Nyt voidaan tehdä asetukset eri käyttäjille. Toista tätä tarvittaessa. | ||
===Tallennustilan luonti=== | ===Tallennustilan luonti=== | ||
Varmuuskopiointitila voi olla joko tavallisia tiedostoja tai osioita. | Varmuuskopiointitila voi olla joko tavallisia tiedostoja tai osioita. | ||
Mikäli järjestelmässäsi on LVM käytössä, suosittelen sen käyttämistä. | Mikäli järjestelmässäsi on LVM käytössä, suosittelen sen käyttämistä. | ||
====LVM-osio==== | ====LVM-osio==== | ||
Mikäli käytössäsi on LVM, voit luoda varmuuskopio-osion seuraavasti: | |||
# lvcreate -L 10G -nmaakuth levy | |||
Se luo uuden kymmenen gigatavun loogisen taltion nimeltään 'maakuth' LVM:n | |||
taltioryhmään nimeltään 'levy'. Uusi looginen taltio löytyy polusta /dev/mapper/levy-maakuth. | |||
Se luo uuden kymmenen gigatavun | |||
Annetaan oikeudet osiolle: | Annetaan oikeudet osiolle: | ||
# chown netbackup /dev/mapper/levy-maakuth | # [[chown]] netbackup /dev/mapper/levy-maakuth | ||
LVM- | LVM-taltioiden sisältöä ei luontivaiheessa nollata. Jos taltio sattuu | ||
levyllä kohtaan, jolla on ollut aiemmin jo dataa, kannattaa sisältö | levyllä kohtaan, jolla on ollut aiemmin jo dataa, kannattaa sisältö | ||
nollata, jotta levytilan uusi omistaja ei pääsisi lukemaan aiempaa | nollata, jotta levytilan uusi omistaja ei pääsisi lukemaan aiempaa | ||
sisältöä. Tämä vie aikaa lukuisia minuutteja osion koosta riippuen. | sisältöä. Tämä vie aikaa lukuisia minuutteja osion koosta riippuen. | ||
# dd if=/dev/zero of=/dev/mapper/levy-maakuth | # [[dd]] if=/dev/zero of=/dev/mapper/levy-maakuth | ||
====Tiedostojärjestelmä tiedostossa==== | ====Tiedostojärjestelmä tiedostossa==== | ||
Jos käytössäsi ei ole LVM:ää, niin toiseksi paras tapa on käyttää | |||
tavallisia [[tiedosto]]ja. Se onnistuu menemällä hakemistoon, jossa käyttäjällä | |||
netbackup on [[tiedoston oikeudet|kirjoitusoikeudet]] (esimerkiksi ~netbackup) ja komentamalla: | |||
# dd bs=1048576 count=0 seek=10000 of=maakuth.img | |||
# dd bs=1048576 count=0 seek=10000 of=maakuth.img | |||
Tämä luo noin 10 gigatavun tiedoston nykyiseen hakemistoon, joka on | Tämä luo noin 10 gigatavun tiedoston nykyiseen hakemistoon, joka on | ||
Rivi 120: | Rivi 112: | ||
===Käyttäjän varmennus=== | ===Käyttäjän varmennus=== | ||
Otetaan käyttäjän oikeudet | Otetaan käyttäjän oikeudet | ||
# su - netbackup | # su - netbackup | ||
Pyydä käyttäjältä hänen julkinen SSH-avaimensa. Hän voi halutessaan luoda uuden | Pyydä käyttäjältä hänen julkinen SSH-avaimensa. Hän voi halutessaan luoda uuden | ||
avaimen [[SSH|ssh-keygen]] -sovelluksella tai käyttää olemassa olevaa. | avaimen [[SSH|ssh-keygen]] -sovelluksella tai käyttää olemassa olevaa. | ||
Muokkaa tiedostoa .ssh/authorized_keys. Huolehdi, että käyttämäsi | Muokkaa tiedostoa <tt>.ssh/authorized_keys</tt>. Huolehdi, että käyttämäsi [[tekstieditori]] ei rivitä tiedostoa automaattisesti. Lisää tiedoston loppuun rivi: | ||
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 | 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. | 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 | Esimerkiksi <tt>/dev/mapper/levy-maakuth</tt>. Korvaa avain käyttäjän avaimella, alkaa | ||
usein ssh-rsa tai ssh-dss. | usein ssh-rsa tai ssh-dss. | ||
==Yhteyden muodostaminen== | ==Yhteyden muodostaminen== | ||
Asetukset on nyt tehty, ja voit kokeilla asiaa 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ä: | nbd tämän tiedoston alun ohjeiden mukaan ja komentamaan pääkäyttäjänä: | ||
# ~/nbd/bin/nbd-client -cmd ssh -i POLKU_AVAIMEEN -e none netbackup@kaverin.kone.fi ';' /dev/nbd0 | # ~/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 | Tässä POLKU_AVAIMEEN on polku salaisen avaimen tiedostoon. Jos käytät samaa | ||
Rivi 151: | Rivi 140: | ||
/dev/nbd0. | /dev/nbd0. | ||
Voit vaikka heti luoda levylle | Voit vaikka heti luoda levylle [[tiedostojärjestelmä]]n [[mkfs]]:llä, liittää levyn | ||
[[mount]]illa ja sen jälkeen ruveta käyttämään. Kuitenkin kannattaa tutustua | |||
seuraavaan kappaleeseen, koska siinä neuvotaan salauksen käyttöönotto. | seuraavaan kappaleeseen, koska siinä neuvotaan salauksen käyttöönotto. | ||
Laitteen saat poistettua järjestelmästäsi komentamalla: | Laitteen saat poistettua järjestelmästäsi komentamalla: | ||
# ~/nbd/bin/nbd-client -d /dev/nbd0 | # ~/nbd/bin/nbd-client -d /dev/nbd0 | ||
==Salattu tiedostojärjestelmä== | ==Salattu tiedostojärjestelmä== | ||
Mikäli käytettävissäsi on [[LUKS]], suosittelen sitä salaamiseen. Se tulee useimpien jakeluiden mukana[http://www.saout.de/tikiwiki/tiki-index.php?page=LUKSDistroSupportStatus]. | |||
Tehdään muutama oletus. Journalointia ja [[atime]]ä ei kannata verkon | |||
yli liitettävässä tiedostojärjestelmässä käyttää tehokkuussyistä. Tämä ei | yli liitettävässä tiedostojärjestelmässä käyttää tehokkuussyistä. Tämä ei | ||
perustu mittaustuloksiin, joten tätä osiota kannattaa asiasta tietävien | perustu mittaustuloksiin, joten tätä osiota kannattaa asiasta tietävien | ||
täydentää. Siksi | täydentää. Siksi tässä käytetään tiedostojärjestelmänä [[ext2]]:ta <tt>noatime</tt>-asetuksella. | ||
Luodaan salattu tiedostojärjestelmä. Tässä vaiheessa kannattaa keksiä | Luodaan salattu tiedostojärjestelmä. Tässä vaiheessa kannattaa keksiä | ||
itselleen salasana. Salasanan keksimisessä auttaa komento <tt>pwgen</tt>. | itselleen salasana. Salasanan keksimisessä auttaa komento <tt>[[pwgen]]</tt>. | ||
# luksformat -t ext2 /dev/nbd0 | # luksformat -t ext2 /dev/nbd0 | ||
Tämän jälkeen saat salatun osion näkymään komennolla: | Tämän jälkeen saat salatun osion näkymään komennolla: | ||
# cryptsetup luksOpen /dev/nbd0 backup | # [[cryptsetup]] luksOpen /dev/nbd0 backup | ||
Tämä luo järjestelmääsi laitteen /dev/mapper/backup, jossa selkokielinen | Tämä luo järjestelmääsi laitteen /dev/mapper/backup, jossa selkokielinen | ||
Rivi 182: | Rivi 169: | ||
Oletetaan, että sinulla on tyhjä hakemisto /mnt/backup: | Oletetaan, että sinulla on tyhjä hakemisto /mnt/backup: | ||
# mount -o noatime /dev/mapper/backup /mnt/backup | # mount -o noatime /dev/mapper/backup /mnt/backup | ||
Voit kokeilla tiedostojen kirjoittamista levylle. | Voit kokeilla tiedostojen kirjoittamista levylle. | ||
Rivi 188: | Rivi 175: | ||
Lopuksi voit poistaa salatun osion näkyvistä järjestelmästäsi komentamalla: | Lopuksi voit poistaa salatun osion näkyvistä järjestelmästäsi komentamalla: | ||
# umount /mnt/backup | # [[umount]] /mnt/backup | ||
# cryptsetup remove backup | # cryptsetup remove backup | ||
==Viimeistely== | ==Viimeistely== | ||
Lopuksi kannattaa nähdä hetki vaivaa asetusten tekemiseen, koska näin säästää | Lopuksi kannattaa nähdä hetki vaivaa asetusten tekemiseen, koska näin säästää | ||
aikaa tulevaisuudessa, kun ei tarvitse rutiinikäytössä muistella kaikkia | aikaa tulevaisuudessa, kun ei tarvitse rutiinikäytössä muistella kaikkia | ||
Rivi 198: | Rivi 184: | ||
Helpotetaan salatun osion liittämistä tekemällä pääkäyttäjälle ssh-config. | Helpotetaan salatun osion liittämistä tekemällä pääkäyttäjälle ssh-config. | ||
Lisää tiedoston ~root/.ssh/config | Lisää tiedoston <tt>~root/.ssh/config</tt> loppuun: | ||
Host backup | Host backup | ||
Rivi 210: | Rivi 196: | ||
Tämän jälkeen yhdistäminen pitäisi onnistua lyhyemmin komentamalla: | Tämän jälkeen yhdistäminen pitäisi onnistua lyhyemmin komentamalla: | ||
# nbd-client -cmd ssh backup ';' /dev/nbd0 | # nbd-client -cmd ssh backup ';' /dev/nbd0 | ||
==Lähteet== | ==Lähteet== | ||
https://help.ubuntu.com/community/EncryptedFilesystemOnIntrepid | https://help.ubuntu.com/community/EncryptedFilesystemOnIntrepid | ||
[[Luokka:Ohjeet]] | |||
[[Luokka:Tietoturva]] |