Kryptera Vm Proxmox

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016

Kryptera Vm Proxmox

Sitter och funderar på om jag ska kryptera upp en Vm som jag har som lagring men vet inte vad jag ska använda.

-Proxmox i grunden
-Vm med windows 2012 R2
-10tb data
-Os på en disk och data på en annan
-.qcow2

Är inte 100 på om jag vill använda mig att bitlocker då jag hellre kör opensource.
Har sneglat på veracrypt men är inte helt övertygad än.

Någon som har gjort detta eller vet vad jag ska använda?

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008

Om du ska kryptera hela systemet och inte vill använda BitLocker så är VeraCrypt defaultalternativet. Funkar fint. Själv kör jag VeraCrypt (och innan dess TrueCrypt) helsystemkryptering på min (fysiska) server sedan många år tillbaka, och har aldrig stött på något problem, bokstavligen inte ett enda.

Kör man däremot Windows 10 (samma med 2016 server?) och får Microsofts uppgraderingar tryckta i ansiktet 1-2 ggr per år så är det inte lika roligt med VeraCrypt eftersom man då måste dekrypta allt för att kunna göra uppgraderingen, och sedan krypta allt igen. Det hade inte behövts om det inte vore för att MS inte är öppna med hur en tredjepartskrypteringstjänst ska göra för att klara sig igenom en Windowsuppgradering. Kan bara hoppas att VeraCrypt förr eller senare lyckas lösa det ändå.

1800X, 2080 Ti, 4K

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016
Skrivet av backfeed:

Om du ska kryptera hela systemet och inte vill använda BitLocker så är VeraCrypt defaultalternativet. Funkar fint. Själv kör jag VeraCrypt (och innan dess TrueCrypt) helsystemkryptering på min (fysiska) server sedan många år tillbaka, och har aldrig stött på något problem, bokstavligen inte ett enda.

Kör man däremot Windows 10 (samma med 2016 server?) och får Microsofts uppgraderingar tryckta i ansiktet 1-2 ggr per år så är det inte lika roligt med VeraCrypt eftersom man då måste dekrypta allt för att kunna göra uppgraderingen, och sedan krypta allt igen. Det hade inte behövts om det inte vore för att MS inte är öppna med hur en tredjepartskrypteringstjänst ska göra för att klara sig igenom en Windowsuppgradering. Kan bara hoppas att VeraCrypt förr eller senare lyckas lösa det ändå.

När du säger hela systemet menar du då att du har windows i grunden eller proxmox. Det jag vet är att det var problem för några år sedan med kryptering av "thin provisioning" diskar.

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008
Skrivet av Joulester:

När du säger hela systemet menar du då att du har windows i grunden eller proxmox. Det jag vet är att det var problem för några år sedan med kryptering av "thin provisioning" diskar.

Jag syftar på gästen i det här fallet, Windows alltså. Eftersom du nämnde BitLocker så antog jag att det var "gäst-intern" och inte extern kryptering du var ute efter.

1800X, 2080 Ti, 4K

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016

@backfeed: Stämmer att jag är ute efter intern kryptering men jag är orolig att det ställer till problem med att jag kör det virtualiserad under proxmox?

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008

@Joulester: Vet inte vad det skulle vara för problem? Det enda är att om du krypterar hela systemet så kommer du vara tvungen att på något vis knappa in lösenord för att låsa upp vid boot. Men det måste du med BitLocker också.

Men visst, det kanske finns något inbyggt stöd i Proxmox för BitLocker i Windowsgäster? Vet ingenting om Proxmox, men i så fall är nog BitLocker ett bättre val.

1800X, 2080 Ti, 4K

Trädvy Permalänk
Medlem
Registrerad
Aug 2016

Du funderar på Proxmox, varför inte kryptera diskarna direkt i Proxmox? Proxmox är Linux i botten och har stöd för dm-crypt och LUKS. Känns lite onödigt att hålla på att krånga till det med att kryptera virtuella diskar när du kan kryptera direkt på hårdvaran i proxmox.
Om du inte krypterar disken som Proxmox ligger på, vilket du inte verkar vilja. Så kan du ju enkelt logga in på Proxmox (SSH) och montera de krypterade diskarna med kommandon.

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016
Skrivet av backfeed:

@Joulester: Vet inte vad det skulle vara för problem? Det enda är att om du krypterar hela systemet så kommer du vara tvungen att på något vis knappa in lösenord för att låsa upp vid boot. Men det måste du med BitLocker också.

Men visst, det kanske finns något inbyggt stöd i Proxmox för BitLocker i Windowsgäster? Vet ingenting om Proxmox, men i så fall är nog BitLocker ett bättre val.

Jag vet att det var något problem med iallafall truecrypt när jag ville utöka mina diskar om min raid blir större. Kanske är jag som kommer ihåg fel.

Skrivet av grogt:

Du funderar på Proxmox, varför inte kryptera diskarna direkt i Proxmox? Proxmox är Linux i botten och har stöd för dm-crypt och LUKS. Känns lite onödigt att hålla på att krånga till det med att kryptera virtuella diskar när du kan kryptera direkt på hårdvaran i proxmox.
Om du inte krypterar disken som Proxmox ligger på, vilket du inte verkar vilja. Så kan du ju enkelt logga in på Proxmox (SSH) och montera de krypterade diskarna med kommandon.

Jag fick för mig att detta inte gick? Finns det några nackdelar, tex med performance loss? Proxmox ligger på min stora raid som även mina vm ligger på, ställer detta till det?

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008
Skrivet av Joulester:

Jag vet att det var något problem med iallafall truecrypt när jag ville utöka mina diskar om min raid blir större. Kanske är jag som kommer ihåg fel.

Nu har jag inte stött på det problemet själv, men det ska finnas ett verktyg vid namn "VeraCryptExpander" eller "VeraCrypt Volume Expander" (från VeraCrypt själva, baserat på motsvarande verktyg som fanns till TrueCrypt).

Att utöka storleken på en disk image som har Windows installerat med VeraCrypt sytstem encryption ska inte vara några problem alls dock - det är bara att öka storleken på imagen och sedan använda Windows inbyggda partitionshanterare för att expandera. VeraCrypt krypterar allt som sedan skrivs till det nya utrymmet on-the-fly.

Men som @grogt säger, det smidigaste och enklaste är ju att låta värdsystemet kryptera alla images, så behöver du inte mecka något alls med gästerna.

Skrivet av Joulester:

Finns det några nackdelar, tex med performance loss?

Om du kör med AES som krypto och din cpu har stöd för AES-NI (vilket så gott som alla cpu:er har nuförtiden) så kommer prestandaförslusten att vara obefintlig. Det är bara om du kör med extremt snabba pci-e-anslutna ssd:er som du kan märka av lite långsammare överföringar (om du flyttar stora mängder i stöten), om cpu:n inte riktigt orkar med.

Förutsatt att den kryptering Proxmox erbjuder har stöd för AES-NI förstås. VeraCrypt och BitLocker har det iaf.

1800X, 2080 Ti, 4K

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016
Skrivet av backfeed:

Nu har jag inte stött på det problemet själv, men det ska finnas ett verktyg vid namn "VeraCryptExpander" eller "VeraCrypt Volume Expander" (från VeraCrypt själva, baserat på motsvarande verktyg som fanns till TrueCrypt).

Att utöka storleken på en disk image som har Windows installerat med VeraCrypt sytstem encryption ska inte vara några problem alls dock - det är bara att öka storleken på imagen och sedan använda Windows inbyggda partitionshanterare för att expandera. VeraCrypt krypterar allt som sedan skrivs till det nya utrymmet on-the-fly.

Men som @grogt säger, det smidigaste och enklaste är ju att låta värdsystemet kryptera alla images, så behöver du inte mecka något alls med gästerna.

Om du kör med AES som krypto och din cpu har stöd för AES-NI (vilket så gott som alla cpu:er har nuförtiden) så kommer prestandaförslusten att vara obefintlig. Det är bara om du kör med extremt snabba pci-e-anslutna ssd:er som du kan märka av lite långsammare överföringar (om du flyttar stora mängder i stöten), om cpu:n inte riktigt orkar med.

Förutsatt att den kryptering Proxmox erbjuder har stöd för AES-NI förstås. VeraCrypt och BitLocker har det iaf.

Det låter som att det är kryptering via Proxmox jag skall gå. Vilket är det smidigaste och bästa sättet att sätta upp det? Vad händer med backuper, är det krypterad automatiskt?

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Registrerad
Aug 2016
Skrivet av Joulester:

Det låter som att det är kryptering via Proxmox jag skall gå. Vilket är det smidigaste och bästa sättet att sätta upp det? Vad händer med backuper, är det krypterad automatiskt?

Det beror lite på vad du har för hårdvara och hur du tänkt sätta upp det utan kryptering. Ska du använda hårdvaru-raid, mjukvaru-raid aka dm-raid eller filsystem med raid?
Har du äkta hårdvaru-raid (dyrt att köpa de kontrollerkorten, så har du det har du fått betala för det) rekommenderar jag att raidar ihop din diskar och sedan krypterar raiden. Därefter lägger du filsystemet, alternativt LVM + filsystem, ovanpå det.
Du kan göra samma på mjukvaru-raid, men kan även kryptera diskarna först, sedan raida.

Dina ev backuper blir inte krypterade, förutsatt att du inte sparar dom på din krypterade disk. Men tänk på att bara för att du krypterat dina diskar är inte din data krypterad när du har startat dekrypteringen. Dekrypteringen pågår ända tills du stänger av den eller stänger av datorn. Dvs kan du se ditt data, kan någon som kommer åt din dator eller det utdelade datat, se din data helt okrypterat. Alltså, detta skyddar bara ditt data utifall att någon tar din dator eller hårddiskar. Har du speciellt känslig data så får du krypera det separat och bara starta den dekryperingen när du behöver det datat, sedan stänga dekryperingen.
Det finns för övrigt utrustning för att hämta en hel dator utan att bryta strömmen och en ev pågående dekryptering.

Jag själv kör btrfs som filsystem och det har raid inbyggt. Jag kryperar mina diskar först, var för sig, sedan lägger jag btrfs med raid ovanpå det. För att slippa ange lösenord för varje disk så har jag skapat en krypterad fil som innehåller nyckeln för att dekryptera diskarna.
OBS! Funderar du på btrfs ska du inte köra raid 5 eller 6. De är inte stabila sist jag kollade. Endast raid 1 eller 10.

Du blir tvungen att sätta upp det i konsolen tror jag. Jag har inte jätte-stor erfarenhet av proxmox. Men iom att Proxmox är debian så är det inget speciellt bara för att det är Proxmox utan fungerar som vanligt i Linux. När du sedan startat dekryptering, ev raidat diskar och monterat diskarna så klickar du runt i proxmox och lägger till den monteringspunken som en "storage" i Proxmox GUIt.

Du kan testa vilken hastighet du får med dm-crypt.
#> cryptsetup benchmark
Min maskin har en Xeon E3-1231v3 CPU och jag för följande resultat
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 606814 iterations per second
PBKDF2-sha256 374491 iterations per second
PBKDF2-sha512 244537 iterations per second
PBKDF2-ripemd160 496484 iterations per second
PBKDF2-whirlpool 264258 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 733.0 MiB/s 3115.0 MiB/s
serpent-cbc 128b 103.9 MiB/s 635.1 MiB/s
twofish-cbc 128b 210.4 MiB/s 405.5 MiB/s
aes-cbc 256b 546.4 MiB/s 2394.8 MiB/s
serpent-cbc 256b 105.9 MiB/s 635.0 MiB/s
twofish-cbc 256b 213.1 MiB/s 404.9 MiB/s
aes-xts 256b 2694.4 MiB/s 2701.4 MiB/s
serpent-xts 256b 636.4 MiB/s 613.6 MiB/s
twofish-xts 256b 395.5 MiB/s 401.0 MiB/s
aes-xts 512b 2070.0 MiB/s 2074.5 MiB/s
serpent-xts 512b 635.8 MiB/s 613.1 MiB/s
twofish-xts 512b 395.8 MiB/s 400.8 MiB/s

Den CPUn har AES-NI instruktioner och som kan ses så är just AES väldigt snabbt.
Iterations behöver du inte bry dig så mycket om, det talar bara om hur många hashningar din CPU klarar av per sekund. Dvs hur många hashningar du behöver för att göra lösenordsinmatningen långsamare. Utan hashningar kan någon testa väldigt många lösenord på kort tid. Så antalet hashningar är något du får ställa för din CPU och hur lång tid det ska ta mellan varje lösenords-inmatning.

Exempel på att kryptera en disk med aes-xts-plain64 och key size 512.
#> sudo cryptsetup luksFormat -s 512 -c aes-xts-plain64 /dev/sde

Exempel på att starta/öppna dekrypering en disk
#> sudo cryptsetup open /dev/sde sde_crypt

Personligen använder jag UUID i istället för sökvägen till disken, så slipper jag bry om ordningen utifall jag lägger till eller tar bort en disk.

Skapa UUID för en disk
#> sudo cryptsetup luksUUID /dev/sde
Dekrypera med UUID
#> sudo cryptsetup open UUID=0932f352-a2ad-4bdb-8736-a56465931d72 sde_crypt

Stänga dekryperingen av en disk
#> sudo cryptsetup close sde_crypt

Jag har en sheet-sheet sida sedan jag satte upp mitt system, men vill inte ha mkt trafik så jag länkar inte den här. Hör av dig om du vill, så kan jag skicka den i PM.

Lycka till!

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016
Skrivet av grogt:

Det beror lite på vad du har för hårdvara och hur du tänkt sätta upp det utan kryptering. Ska du använda hårdvaru-raid, mjukvaru-raid aka dm-raid eller filsystem med raid?
Har du äkta hårdvaru-raid (dyrt att köpa de kontrollerkorten, så har du det har du fått betala för det) rekommenderar jag att raidar ihop din diskar och sedan krypterar raiden. Därefter lägger du filsystemet, alternativt LVM + filsystem, ovanpå det.
Du kan göra samma på mjukvaru-raid, men kan även kryptera diskarna först, sedan raida.

Dina ev backuper blir inte krypterade, förutsatt att du inte sparar dom på din krypterade disk. Men tänk på att bara för att du krypterat dina diskar är inte din data krypterad när du har startat dekrypteringen. Dekrypteringen pågår ända tills du stänger av den eller stänger av datorn. Dvs kan du se ditt data, kan någon som kommer åt din dator eller det utdelade datat, se din data helt okrypterat. Alltså, detta skyddar bara ditt data utifall att någon tar din dator eller hårddiskar. Har du speciellt känslig data så får du krypera det separat och bara starta den dekryperingen när du behöver det datat, sedan stänga dekryperingen.
Det finns för övrigt utrustning för att hämta en hel dator utan att bryta strömmen och en ev pågående dekryptering.

Jag själv kör btrfs som filsystem och det har raid inbyggt. Jag kryperar mina diskar först, var för sig, sedan lägger jag btrfs med raid ovanpå det. För att slippa ange lösenord för varje disk så har jag skapat en krypterad fil som innehåller nyckeln för att dekryptera diskarna.
OBS! Funderar du på btrfs ska du inte köra raid 5 eller 6. De är inte stabila sist jag kollade. Endast raid 1 eller 10.

Du blir tvungen att sätta upp det i konsolen tror jag. Jag har inte jätte-stor erfarenhet av proxmox. Men iom att Proxmox är debian så är det inget speciellt bara för att det är Proxmox utan fungerar som vanligt i Linux. När du sedan startat dekryptering, ev raidat diskar och monterat diskarna så klickar du runt i proxmox och lägger till den monteringspunken som en "storage" i Proxmox GUIt.

Du kan testa vilken hastighet du får med dm-crypt.
#> cryptsetup benchmark
Min maskin har en Xeon E3-1231v3 CPU och jag för följande resultat
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 606814 iterations per second
PBKDF2-sha256 374491 iterations per second
PBKDF2-sha512 244537 iterations per second
PBKDF2-ripemd160 496484 iterations per second
PBKDF2-whirlpool 264258 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 733.0 MiB/s 3115.0 MiB/s
serpent-cbc 128b 103.9 MiB/s 635.1 MiB/s
twofish-cbc 128b 210.4 MiB/s 405.5 MiB/s
aes-cbc 256b 546.4 MiB/s 2394.8 MiB/s
serpent-cbc 256b 105.9 MiB/s 635.0 MiB/s
twofish-cbc 256b 213.1 MiB/s 404.9 MiB/s
aes-xts 256b 2694.4 MiB/s 2701.4 MiB/s
serpent-xts 256b 636.4 MiB/s 613.6 MiB/s
twofish-xts 256b 395.5 MiB/s 401.0 MiB/s
aes-xts 512b 2070.0 MiB/s 2074.5 MiB/s
serpent-xts 512b 635.8 MiB/s 613.1 MiB/s
twofish-xts 512b 395.8 MiB/s 400.8 MiB/s

Den CPUn har AES-NI instruktioner och som kan ses så är just AES väldigt snabbt.
Iterations behöver du inte bry dig så mycket om, det talar bara om hur många hashningar din CPU klarar av per sekund. Dvs hur många hashningar du behöver för att göra lösenordsinmatningen långsamare. Utan hashningar kan någon testa väldigt många lösenord på kort tid. Så antalet hashningar är något du får ställa för din CPU och hur lång tid det ska ta mellan varje lösenords-inmatning.

Exempel på att kryptera en disk med aes-xts-plain64 och key size 512.
#> sudo cryptsetup luksFormat -s 512 -c aes-xts-plain64 /dev/sde

Exempel på att starta/öppna dekrypering en disk
#> sudo cryptsetup open /dev/sde sde_crypt

Personligen använder jag UUID i istället för sökvägen till disken, så slipper jag bry om ordningen utifall jag lägger till eller tar bort en disk.

Skapa UUID för en disk
#> sudo cryptsetup luksUUID /dev/sde
Dekrypera med UUID
#> sudo cryptsetup open UUID=0932f352-a2ad-4bdb-8736-a56465931d72 sde_crypt

Stänga dekryperingen av en disk
#> sudo cryptsetup close sde_crypt

Jag har en sheet-sheet sida sedan jag satte upp mitt system, men vill inte ha mkt trafik så jag länkar inte den här. Hör av dig om du vill, så kan jag skicka den i PM.

Lycka till!

Intressant! Mitt system består för tillfället av:

R710
2st intel xeon E5620
64gb ram
h700 raidkort med 6st 3tb diskar i raid 5

R210II
E3-1270 v1
4gb ram (snart 16gb)
h200 raidkort med 2st 500gb diskar i raid 1

Dessa 2 ligger i ett cluster med ett separat nät via en egen nic.
All data för vm och internnät går över en annan nic.

Båda mina cpu har stöd för AES-NI
den del som är intressant för kryptering ligger på min R710

fstab config:
/dev/pve/data /var/lib/vz ext4 defaults 0 1

Går det att kryptera denna del utan att behöva flytta all data?
Är luks rätt väg att gå?

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008

LUKS krypterar hela disken (väl?) och i så fall kommer du behöva bygga om ZFS poolen.

Om du bara vill kryptera ett filsystem kan du även kolla på ecryptfs t.ex. jag kör det med endast för filer som delas över SMB, inte VM-storage (också Proxmox).

En server här, några servrar där.

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008

@Joulester: kommit på något sätt att kryptera VM's?

En server här, några servrar där.

Trädvy Permalänk
Medlem
Plats
Nyköping
Registrerad
Mar 2016
Skrivet av moron:

@Joulester: kommit på något sätt att kryptera VM's?

Har inte hittat något sätt som jag känner är det jag vill göra.

Om jag ska kryptera vm direkt så ligger veracrypt närmast till. Men jag är nog mer inne på att kryptera upp hela mitt data storage i proxmox. Men har inte bestämt mig hur detta skall lösas på bästa sätt.

Hittar inte någon bra info om hur LUKS fungerar.

Fractal Design Define R5 Svart, Intel Core i7 7700K 4.2 GHz 8MB, Noctua NH-D15, Corsair 32GB (2x16GB) DDR4 2666Mhz CL15, MSI GeForce GTX 1080 Ti 11GB Gaming X, MSI Z270 GAMING M5, Samsung 960 EVO 500GB, EVGA Supernova G2 850W

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008
Skrivet av Joulester:

Har inte hittat något sätt som jag känner är det jag vill göra.

Om jag ska kryptera vm direkt så ligger veracrypt närmast till. Men jag är nog mer inne på att kryptera upp hela mitt data storage i proxmox. Men har inte bestämt mig hur detta skall lösas på bästa sätt.

Hittar inte någon bra info om hur LUKS fungerar.

Du kan ju bara kryptera din VM-storage med ecryptFS https://www.howtoforge.com/tutorial/how-to-encrypt-directorie...

Detta är också en intressant utveckling, det har ökat takten på slutet https://github.com/zfsonlinux/zfs/pull/5769

En server här, några servrar där.