Šifrování HDD

Marek

Šifrování HDD
« kdy: 27. 02. 2018, 08:49:30 »
Zdravím,

chtěl bych poprosit o radu týkající se šifrování. Pokud mám již nainstalovanou distribuci Linuxu, tak tuhle instalaci konvertit do šifrované pro všechny nebo jen pro vybrané partitions. Přemýšlel jsem o použití LUKSu, ale nezkoušel jsem to na již existující instalaci a zdali to je možné. Scénář, co řeším je zašifrování databází a logů na úrovni file systému, takže z pohledu aplikací na lokálním stroji se HDD bude jevit jako nešifrovaný, ale disk bude šifrován jako celek v rámci OS a data nebudou dostupná pro kohokoliv mimo lokální stroj. A nemohu použít aplikační šifrování, protože ty aplikace pracující s daty nejsou naše, ale zakoupené 3rd party. Proto řešíme zabezpečení na úrovni FS.

Díky za návrhy na řešení.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Šifrování HDD
« Odpověď #1 kdy: 27. 02. 2018, 09:44:42 »
Na existujici instalaci byste mohl mit dotycne adresare zasifrovane v ecryptfs. Otazka je, jestli hodlate pokazde zadavat heslo nebo ocekavate, ze se to nejak rozsifruje samo po zapnuti masiny. A take kdo po vas jde.

Trupik

Re:Šifrování HDD
« Odpověď #2 kdy: 27. 02. 2018, 10:25:28 »
Zdravím,

chtěl bych poprosit o radu týkající se šifrování. Pokud mám již nainstalovanou distribuci Linuxu, tak tuhle instalaci konvertit do šifrované pro všechny nebo jen pro vybrané partitions. Přemýšlel jsem o použití LUKSu, ale nezkoušel jsem to na již existující instalaci a zdali to je možné. Scénář, co řeším je zašifrování databází a logů na úrovni file systému, takže z pohledu aplikací na lokálním stroji se HDD bude jevit jako nešifrovaný, ale disk bude šifrován jako celek v rámci OS a data nebudou dostupná pro kohokoliv mimo lokální stroj. A nemohu použít aplikační šifrování, protože ty aplikace pracující s daty nejsou naše, ale zakoupené 3rd party. Proto řešíme zabezpečení na úrovni FS.

Díky za návrhy na řešení.
LUKS je správna voľba pre linuxové servery, používam to už roky. Existujúcu inštaláciu vieš premigrovať tak, že do stroja pridáš ďalší disk (príp. viac diskov), na nich vytvoríš kópiu, ktorá už bude šifrovaná a potom keď overíš, že to funguje, tie staré disky premažeš a odložíš ako náhradné diely. Počítaj s výpadkom niekoľko hodín, lebo to nemôžeš robiť počas prevádzky. Nacvičiť si to môžeš vopred vo Virtualboxe.

Marek

Re:Šifrování HDD
« Odpověď #3 kdy: 27. 02. 2018, 11:31:04 »
Díky moc za návrhy. Ještě bych se zeptal ad LUKS, jestli náhodou někdo neví o online návodu, protože LUKS mi přijde jako fajn řešení. Já znám postup pro čistou instalaci, to jsem dělal podle tohohle: https://linode.com/docs/security/encryption/use-luks-for-full-disk-encryption/

Ale pro existující si to nějak přesně neumím představit.

Re:Šifrování HDD
« Odpověď #4 kdy: 01. 03. 2018, 19:57:56 »
Chce to vyřešit všechna místa, kam se mohou data podít, tedy i například swap (ten lze šifrovat náhodným klíčem, pokud nepotřebujete hibernaci) nebo adresáře, kde se může objevit core dump.

Pro existující instalaci: Chcete vyřešit i stávající data? Pokud ano, bude asi "zajímavé" vyřešit jejich secure erase. V případě SSD bych pak ani o jiné možnosti než překopírování jinam a secure erase celého SSD neuvažoval.

ECryptFS nemá moc výhod. Co si vzpomínám na výkon, bylo to výrazně horší. Dále tu je omezení délky názvů souborů a AFAIR nepodpora sparse files. Nějak se s tím žít dalo, ale pokud není problém mít LUKS partition fixní velikosti, není moc důvod. Navíc se tím neřeší swap (ano, je možné každé vyřešit jinak, swap pomocí eCryptFs asi fakt nechcete...) a leakuje to více metadat, ale to už je jen takový "bonus".

Pro úplnost, EncFS, co jsem naposledy viděl, bylo vesměs kryptograficky hůře navržený klon eCryptFS, navíc přes FUSE.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Šifrování HDD
« Odpověď #5 kdy: 01. 03. 2018, 20:34:42 »
@Vít Šesták: Zalezi i na tom, pred kym chcete data chranit.

Re:Šifrování HDD
« Odpověď #6 kdy: 01. 03. 2018, 21:24:50 »
Jistě, záleží třeba i na tom, jestli ten počítač vůbec má swap. Další potenciální problém je /tmp (ale ten může být v tmpfs). Jako rule-of-thumb (ne však dogma) bych doporučil:

* root nepracuje zbytečně s citlivými daty
* co je zapisované uživatelem, který má s citlivými daty pracovat, mělo by být na správné partition. Dá se pohledat něčím ve stylu find / -xdev -user ..., případně -group a -perm, a případně pro další nechráněné mountpointy.

nobody(ten pravej)

Re:Šifrování HDD
« Odpověď #7 kdy: 01. 03. 2018, 22:22:20 »
LUKS je správna voľba[...] Existujúcu inštaláciu vieš premigrovať tak, že do stroja pridáš ďalší disk (príp. viac diskov), na nich vytvoríš kópiu, [...]Počítaj s výpadkom niekoľko hodín, lebo to nemôžeš robiť počas prevádzky. Nacvičiť si to môžeš vopred vo Virtualboxe.
nekolik hodin? to je nesmysl, <=3minuty fyzicke pridani DISKu, ten se pak zasifruje/rozdeli, pres rsync synchronizujou data, az to dojede pusti se znovu rsync kterej doplni jen zmeny co se staly v prubehu chodu, pak se pripadne stopne na par minut databaze, provede znovu rsync a/nebo se provede v nabehlem recovery rezimu a je pripraveno...

@tazatel online by to slo ale je to zbytecnej opruz a sluzby systemu by nebyli dostupne (resp. to zalezi na tom jestli tam mas i hromadu dat co nejsou potreba pro jejich beh)...
v podstate bys musel:
1 zmensit stavajici nesifrovanej oddil co to jen jde
2 na uvolnenem miste provest bezpecne prepsani obsahu
3 na volnem vytvorit (zatim mensi dle volneho mista) sifrovanej oddil
4 presunout cast dat z nesifrovaneho co se vejdou
5 goto 1 (s tim ze sifrovanej (3) uz znovu nevytvaris ale pridavas k existujicimu sifrovanemu)

a to cele do te doby nez se vsechna data z nesifrovaneho po postupnem hejbani oddilu vejdou na sifrovane, az nesifrovanej oddil odstranis, provedes vytvoreni /etc/crybtab, upravu /etc/fstab, pokud sifrujes i /boot tak nasteveni /etc/default/grub pro povoleni odsifrovani, update-grub , update-initramfs(+pripravit na autoodemknuti LUKS pokud ho budes odemykat kvuli sifrovanemu /boot uz grubem) atd... pokud

nobody(ten pravej)

Re:Šifrování HDD
« Odpověď #8 kdy: 01. 03. 2018, 22:23:57 »
EDIT: oprava prehazeneho quotovani ;-)

LUKS je správna voľba[...] Existujúcu inštaláciu vieš premigrovať tak, že do stroja pridáš ďalší disk (príp. viac diskov), na nich vytvoríš kópiu, [...]Počítaj s výpadkom niekoľko hodín, lebo to nemôžeš robiť počas prevádzky. Nacvičiť si to môžeš vopred vo Virtualboxe.
nekolik hodin? to je nesmysl, <=3minuty fyzicke pridani DISKu, ten se pak zasifruje/rozdeli, pres rsync synchronizujou data, az to dojede pusti se znovu rsync kterej doplni jen zmeny co se staly v prubehu chodu, pak se pripadne stopne na par minut databaze, provede znovu rsync a/nebo se provede v nabehlem recovery rezimu a je pripraveno...

@tazatel online by to slo ale je to zbytecnej opruz a sluzby systemu by nebyli dostupne (resp. to zalezi na tom jestli tam mas i hromadu dat co nejsou potreba pro jejich beh)...
v podstate bys musel:
1 zmensit stavajici nesifrovanej oddil co to jen jde
2 na uvolnenem miste provest bezpecne prepsani obsahu
3 na volnem vytvorit (zatim mensi dle volneho mista) sifrovanej oddil
4 presunout cast dat z nesifrovaneho co se vejdou
5 goto 1 (s tim ze sifrovanej (3) uz znovu nevytvaris ale pridavas k existujicimu sifrovanemu)

a to cele do te doby nez se vsechna data z nesifrovaneho po postupnem hejbani oddilu vejdou na sifrovane, az nesifrovanej oddil odstranis, provedes vytvoreni /etc/crybtab, upravu /etc/fstab, pokud sifrujes i /boot tak nasteveni /etc/default/grub pro povoleni odsifrovani, update-grub , update-initramfs(+pripravit na autoodemknuti LUKS pokud ho budes odemykat kvuli sifrovanemu /boot uz grubem) atd... pokud

Re:Šifrování HDD
« Odpověď #9 kdy: 01. 03. 2018, 23:21:27 »
Online si to neumím moc představit, ani s LVM. Jak by to probíhalo?

0. Dejme tomu, že máme jednu partition.
1. Tu zmenšíme, jak to jen půjde. Tady je první problém, online zvětšení často jde, ale zmenšení moc ne.
2. Vytvoříme vpravo vedle původní partition LUKS container a naformátujeme v něm filesystém.
3. Přesumene data do nového FS. Další problém, ale to zmiňujete. Možná by to řešil nějaký unionfs, ale pokud se na soubory pořád hrabe, tak asi ne.
4. Zase zmenšíme hlavní FS, stejný ptoblém jako v bodu 1.
5. Zvětšíme LUKS container. Pokud máme LVM, půjde to celkem snadno, i když za cenu fragmentace. S GPT/MBR to bude znamenat přesun celé partition vlevo, což opět asi nepůjde offline. Navíc to bude velký přenos dat.
6. Pokračujeme krokem 3, ledaže by už nebylo co přesouvat.

Vytvořením LUKSu před původní partition  nic nevyřešíme, jen přesuneme některé problémy mírně jinam.

Jenda

Re:Šifrování HDD
« Odpověď #10 kdy: 01. 03. 2018, 23:27:20 »
Online si to neumím moc představit, ani s LVM. Jak by to probíhalo?
man cryptsetup-reencrypt, "Add LUKS encryption to not yet encrypted device"

Prostě načte blok, zašifruje ho a zapíše zpátky (+ ho musí posunout o pár kB kvůli hlavičce).

Re:Šifrování HDD
« Odpověď #11 kdy: 01. 03. 2018, 23:37:45 »
Dobrý nástroj, ale je to offline, tzn. neřeší to, jak to udělat online.

Trupik

Re:Šifrování HDD
« Odpověď #12 kdy: 02. 03. 2018, 11:50:42 »
EDIT: oprava prehazeneho quotovani ;-)

LUKS je správna voľba[...] Existujúcu inštaláciu vieš premigrovať tak, že do stroja pridáš ďalší disk (príp. viac diskov), na nich vytvoríš kópiu, [...]Počítaj s výpadkom niekoľko hodín, lebo to nemôžeš robiť počas prevádzky. Nacvičiť si to môžeš vopred vo Virtualboxe.
nekolik hodin? to je nesmysl, <=3minuty fyzicke pridani DISKu, ten se pak zasifruje/rozdeli, pres rsync synchronizujou data, az to dojede pusti se znovu rsync kterej doplni jen zmeny co se staly v prubehu chodu, pak se pripadne stopne na par minut databaze, provede znovu rsync a/nebo se provede v nabehlem recovery rezimu a je pripraveno...
...
Tak, ono to asi závisí od zručnosti a odvahy. Mne by to trvalo pár hodín.  ;D