Šifrování disku bez přesunu dat

czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Šifrování disku bez přesunu dat
« kdy: 23. 03. 2015, 15:55:26 »
resim nasledujici problem:
chci prevezt server z mista A na misto B a chci pred prevozem zasifrovat disky a po prevozu zase uvest do puvodniho (rozsifrovaneho) stavu.

myslenka je takova, ze server v miste A vypnu, nabootuju z flashky nejake live distro, provedu zasifrovani celeho /dev/sda na druhe strane udelam to same jenom s desifrovanim.

hledam ten spravny tool na sifrovani, ktery by provadel in-place sifrovani bez potreby nejakeho dalsiho mista. V idealnim pripade by to sifrovani mohlo jit pozastavit (a spustit od mista kde predtim prestal)
« Poslední změna: 23. 03. 2015, 22:49:17 od Petr Krčmář »


Re:inplace sifrovani disku
« Odpověď #1 kdy: 23. 03. 2015, 16:26:25 »
cryptsetup to umí, jen nesmíte použít luks. A musíte si pamatovat šifru, hash, atp. sám.

Re:inplace sifrovani disku
« Odpověď #2 kdy: 23. 03. 2015, 16:34:51 »
Uprimne bych si tohle bez mohutneho zalohovani nelajsnul. A jak ma clovek zalohy, tak uz je pomalu jednodussi si tu opicarnu odpustit a po prevozu obnovit ze zalohy.

czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:inplace sifrovani disku
« Odpověď #3 kdy: 23. 03. 2015, 17:06:08 »
s tim cryptsetupem si nejsem uplne jisty. zda se ze vytvori device, ktery sifruje az ve chvili kdyz do nej neco zapisuju. Ja potrebuju aby offline provedl zasifrovani celeho device ktery mu dam


principialne to je jednoduche udelat. ctu device napr po blocich 1MB. Nactu blok do pameti, zasifruju, zapisu zasifrovany blok zpet na device (na jeho puvodni misto) a jdu na dalsi blok. To ze je tu riziko, ze v prubehu teto operace dojde k selhani HW/napajeni proste pripoustim a akceptuji.

pri nejhorsim si to sam zautomatizuju pres dd if=device of=mem bs=1M seek=X count=1| openssl mem | dd if=mem of=device bs=1M seek=X count=1; X++

Jenda

Re:inplace sifrovani disku
« Odpověď #4 kdy: 23. 03. 2015, 17:13:54 »
Kdybys měl na konci trošku místa, tak už na to je hotový tool. http://www.johannes-bauer.com/linux/luksipc/ (první odkaz z mého Googlu!!!)
Možná by to šlo ohnout aby fungoval inplace.


czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:inplace sifrovani disku
« Odpověď #5 kdy: 23. 03. 2015, 17:16:19 »
na ten luksipc jsem taky narazil, ale je prave potreba nechat mu tam to misto. sice to asi neni nerealne mu ho tam zaridit, ale rad bych se obesel bez nej.

Re:inplace sifrovani disku
« Odpověď #6 kdy: 23. 03. 2015, 17:17:22 »
Mam z toho trochu pocit, jako bys ta data nenavidel ;)

czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:inplace sifrovani disku
« Odpověď #7 kdy: 23. 03. 2015, 17:27:57 »
Mam z toho trochu pocit, jako bys ta data nenavidel ;)

dobre predtim udelam zalohu dd if=device of=/external/backup, pak to cele "NEJAK" zasifruju, server prevezu, "NEJAK" desifruju a kdyz se mezitim neco posere, tak potom adhoc prevezu zalohu z mista A. Nechci to delat ale cele pausalne, protoze nezasifrovane to proste z duvodu security nemuze opustit misto A a je to cele procesne zdlouhave ten prenos/prevoz zajistit.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:inplace sifrovani disku
« Odpověď #8 kdy: 23. 03. 2015, 17:41:42 »
A o jakem objemu dat je tady rec? A disky jsou v RAID nebo jak?

czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:inplace sifrovani disku
« Odpověď #9 kdy: 23. 03. 2015, 17:54:50 »
jedna se o desitky serveru, vetsina ma RAID1 ze dvou disku na HW radici (HP Smart Array) takze v OS je to uz jako jeden device, takze netreba resit. Vetsina z nich ma 250GB, vyjimky maji 1-2TB.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Šifrování disku bez přesunu dat
« Odpověď #10 kdy: 24. 03. 2015, 13:35:48 »
Hm, tak pokud najdete soft, ktery dela, co chcete, tak nez udelate zalohy a zasifrujete to, tak vam vyrostou nehty o pet centimetru. Nebylo by lepsi disky vyndat, onalepkovat, aby se vedelo, kam patri a najmout si na jejich prepravu nejake bouchace s pancerovym autem? Nejaky ten group4 security nebo jak se to jmenuje.

Lol Phirae

Re:Šifrování disku bez přesunu dat
« Odpověď #11 kdy: 24. 03. 2015, 13:54:11 »
Totální nesmysl a ztráta času.

Re:Šifrování disku bez přesunu dat
« Odpověď #12 kdy: 24. 03. 2015, 13:56:50 »
Rychlost je to posledni, co musis resit. Ve srovnani s potrebou ty servery nekam fyzicky prevezt... AES-NI ti umozni sifrovat vicemene na rychlosti rozhrani tech disku.

Problem neni, jak to udelat rychle, ale jak to udelat spolehlive.

Na jak tluste lince to je? Da se zneuzit cloud k docasnemu ulozeni tech dat?

trubicoid2

Re:Šifrování disku bez přesunu dat
« Odpověď #13 kdy: 24. 03. 2015, 14:59:00 »
nevim, jestli to pomuze, ale koukni sem:
http://asalor.blogspot.cz/2012/08/re-encryption-of-luks-device-cryptsetup.html
cryptsetup-reencrypt
Example: Switch unencrypted installation to encrypted

pedro

Re:Šifrování disku bez přesunu dat
« Odpověď #14 kdy: 24. 03. 2015, 15:05:06 »
Vaše debata mě přiměla to prostě vyzkoušet. O této možnosti dávno vím, ale nikdy jsem nezkoušel, až dneska:

Kód: [Vybrat]
# vytvoříme si klíč
root@bigos:/# dd if=/dev/random of=/tmp/key bs=512 count=1
0+1 records in
0+1 records out
113 bytes (113 B) copied, 0.000146124 s, 773 kB/s

# vytvoříme si nějaké blokové zařízení, 100MB bude stačit
root@bigos:/# lvcreate -L 100M -n test rootvg
  Logical volume "test" created

# to blokové zařízení zaplníme nějakým smetím
root@bigos:/# dd if=/dev/urandom of=/dev/rootvg/test
dd: writing to '/dev/rootvg/test': No space left on device
204801+0 records in
204800+0 records out
104857600 bytes (105 MB) copied, 13.7658 s, 7.6 MB/s

# spočítáme si hash toho smetí
root@bigos:/# sha1sum </dev/rootvg/test
f292dd2538711b3b4798116f75c81b72cee4197a  -

# vytvoříme si šifrované zařízení
root@bigos:/# cryptsetup -c twofish-xts-plain -s 512 --key-file /tmp/key create encryptedtest /dev/rootvg/test

# zašifrujeme, tedy zkopírujeme data dd-čkem z nešifrovaného do šifrovaného
root@bigos:/# dd if=/dev/rootvg/test of=/dev/mapper/encryptedtest bs=4096
25600+0 records in
25600+0 records out
104857600 bytes (105 MB) copied, 3.32001 s, 31.6 MB/s

# checkneme si, zda šifrované zařízení obsahuje to stejné smetí, jako to nešifrované
root@bigos:/# sha1sum </dev/mapper/encryptedtest
f292dd2538711b3b4798116f75c81b72cee4197a  -
# ano, obsahuje

# zrušíme šifrované zařízení
root@bigos:/# cryptsetup luksClose encryptedtest

# ano, opravdu bylo zrušeno
root@bigos:/# cryptsetup luksClose encryptedtest
Device encryptedtest is not active.

# pro jistotu si checkneme, že nešifrované zařízení nyní obsahuje jiné smetí, než obsahovalo na začátku, tedy že je to opravdu zašifrovano
root@bigos:/# sha1sum </dev/rootvg/test
ec07359db29eadaf587d2c708c82cad0eeaf1591  -
# ano, hash je jiný, je to zašifrované

# opět vytvoříme šifrované zařízení, tentokrát s jiným jménem
root@bigos:/# cryptsetup -c twofish-xts-plain -s 512 --key-file /tmp/key create encryptedtest2 /dev/rootvg/test

# zkontrolujeme si hash na tom právě vytvořeném zařízení
root@bigos:/# sha1sum </dev/mapper/encryptedtest2
f292dd2538711b3b4798116f75c81b72cee4197a  -
# ano, je takový, jaký očekáváme, můžeme se pustit do dešifrování

# dešifrujeme
root@bigos:/# dd if=/dev/mapper/encryptedtest2 of=/dev/rootvg/test bs=4096
25600+0 records in
25600+0 records out
104857600 bytes (105 MB) copied, 1.54076 s, 68.1 MB/s

# zavřeme
root@bigos:/# cryptsetup luksClose encryptedtest2

# opravdu se zavřelo?
root@bigos:/# ls -l /dev/mapper/|grep encrypt
# ano

# hotovo, zkontrolujeme hash
root@bigos:/# sha1sum </dev/rootvg/test
f292dd2538711b3b4798116f75c81b72cee4197a  -
# očekávaný

Závěr: funguje to, jak jsme očekávali. Nicméně jedna chyba či výpadek napájení = sbohem data.

Petr