Ero sivun ”BackZoup” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (fix)
 
(9 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
TÄMÄ ARTIKKELI ON KESKEN!
'''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 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 tiedonsiirron aikana.
* Tieto ei ole urkittavissa kohdetietokoneella.
* Tieto ei ole urkittavissa kohdetietokoneella.
* Kohdetietokoneeseen ei tarvita pääkäyttäjän oikeuksia.
* 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.


Kaikki käyttäjät käyttävät samaa tunnusta, erottelu tapahtuu ssh-avaimilla.
# [[adduser]] --disabled-password netbackup
Luodaan tunnus järjestelmään, jolle ei aseteta salasanaa                 
 
# 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 lähdekoodimuutoksen eli
[[wikipedia:Patch_(computing)#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 noudata seuraavaa ohjelmaa tavallisena käyttäjänä:
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 hakemistoon ~netbackup/nbd:
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 asetustitiedosto. Tätä ei tarvita varsinaisesti mihinkään, mutta
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:


Mikäli käytössäsi on lvm, voit luoda varmuuskopio-osion seuraavasti:
# lvcreate -L 10G -nmaakuth levy


# 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 osion nimeltään 'maakuth' lvm:n
volumegroupiin nimeltään 'levy'. Uusi osio löytyy polusta /dev/mapper/levy-maakuth.


Annetaan oikeudet osiolle:
Annetaan oikeudet osiolle:


# chown netbackup /dev/mapper/levy-maakuth
# [[chown]] netbackup /dev/mapper/levy-maakuth


LVM-osioiden sisältöä ei luontivaiheessa nollata. Jos osio sattuu
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: 


Jos käytössäsi ei ole lvm:ää, niin toiseksi paras tapa on käyttää
# dd bs=1048576 count=0 seek=10000 of=maakuth.img
tavallisia tiedostoja. Se onnistuu menemällä hakemistoon, jossa käyttäjällä
netbackup on kirjoitusoikeudet (esimerkiksi ~netbackup) ja komentamalla: 
 
# 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|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 editori ei
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
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ä:         
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 kovalevysi laittessa
Jos sovellus lopettaa ilman virhettä, on uusi etäinen kiintolevysi laittessa
/dev/nbd0.                                                                 
/dev/nbd0.                                                                 


Voit vaikka heti luoda levylle tiedostojärjestelmän mkfs:llä, liittää levyn
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   
[[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}}


Mikäli käytettävissäsi on LUKS, suosittelen sitä salaamiseen. Se tulee
Tehdään muutama oletus. Journalointia ja [[atime]]ä ei kannata verkon
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
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 käytän tiedostojärjestelmänä ext2:ta noatime-asetuksella.
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 perään:
Lisää tiedoston <tt>~root/.ssh/config</tt> loppuun:


Host backup
Host backup
        EscapeChar none
        EscapeChar none
        BatchMode yes
        BatchMode yes
        User netbackup
        User netbackup
        HostName palvelin.fi
        HostName palvelin.fi
        IdentityFile polku_salaiseen_avaimeesi
        IdentityFile polku_salaiseen_avaimeesi
        Port 22
        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
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]]

Nykyinen versio 15. lokakuuta 2021 kello 10.40

BackZoup on kotimainen varmuuskopiointijä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:

  • 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[muokkaa]

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

# adduser --disabled-password netbackup

NBD:n kääntäminen ja asennus[muokkaa]

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 suorita seuraavat komennot 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

Nyt voimme ottaa käyttöön asennetun moduulin

modprobe nbd

Asennuksen jälkeen voidaan poistaa väliaikaistiedostot:

cd
rm -r ~/tmp

Tehdään nbd:n asetustiedosto. 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[muokkaa]

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

Tallennustilan luonti[muokkaa]

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[muokkaa]

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.

Annetaan oikeudet osiolle:

# chown netbackup /dev/mapper/levy-maakuth

LVM-taltioiden sisältöä ei luontivaiheessa nollata. Jos taltio 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.

# dd if=/dev/zero of=/dev/mapper/levy-maakuth

Tiedostojärjestelmä tiedostossa[muokkaa]

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:

# 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[muokkaa]

Otetaan käyttäjän oikeudet

# 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 tekstieditori 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[muokkaa]

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/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 kiintolevysi 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:

# ~/nbd/bin/nbd-client -d /dev/nbd0

Salattu tiedostojärjestelmä[muokkaa]

Mikäli käytettävissäsi on LUKS, suosittelen sitä salaamiseen. Se tulee useimpien jakeluiden mukana [1]. [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 perustu mittaustuloksiin, joten tätä osiota kannattaa asiasta tietävien täydentää. Siksi tässä käytetään tiedostojärjestelmänä ext2:ta noatime-asetuksella.

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

# luksformat -t ext2 /dev/nbd0

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

# 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:

# 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:

# umount /mnt/backup
# cryptsetup remove backup

Viimeistely[muokkaa]

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 loppuun:

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:

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

Lähteet[muokkaa]

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