Ero sivun ”BackZoup” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
→Taustaa tekniikasta
(10 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
'''BackZoup''' on kotimainen [[varmuuskopiointi]]järjestelmä, joka mahdollistaa tietojen varmuuskopioinnin tietoturvallisesti Internetin kautta sellaiselle kohdetietokoneelle, jonka luottamuksellisuutta ei voida varmistaa. Esimerkkinä tällaisesta kohdekoneesta on vaikkapa kaverisi kone. 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 | [[wikipedia:Patch_(computing)#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 55: | Rivi 51: | ||
make | make | ||
make install | make install | ||
Nyt voimme ottaa käyttöön asennetun moduulin | |||
modprobe nbd | |||
Asennuksen jälkeen voidaan poistaa väliaikaistiedostot: | Asennuksen jälkeen voidaan poistaa väliaikaistiedostot: | ||
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 74: | ||
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 116: | ||
===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-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 148: | Rivi 141: | ||
id_rsa. | id_rsa. | ||
Jos sovellus lopettaa ilman virhettä, on uusi etäinen | Jos sovellus lopettaa ilman virhettä, on uusi etäinen kiintolevysi laittessa | ||
/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]. {{Vanhentunut linkki}} | |||
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 173: | ||
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 179: | ||
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 188: | ||
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 | ||
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: | Tämän jälkeen yhdistäminen pitäisi onnistua lyhyemmin komentamalla: | ||
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]] |