Kryptering av Linux-partisjoner. Kryptering av partisjoner. Blokker enhetsstabel

Hjemmekatalogkryptering gir pålitelig beskyttelse for data som er lagret på harddisken eller andre lagringsmedier. Kryptering er spesielt viktig på bærbare datamaskiner, på datamaskiner med multitilgang, så vel som under andre forhold. Hjemmekatalogkryptering tilbys når du installerer Linux Mint.

Hovedfangsten med full kryptering av hjemmekatalogen er at du må "flytte" katalogen med de krypterte dataene forbi monteringspunktet.

Ytelsen reduseres litt, i hvert fall inntil SWAP brukes. SWAP er en spesiell diskpartisjon eller fil som operativsystemet flytter individuelle blokker med RAM til når det ikke er nok RAM til å kjøre applikasjoner. SWAP er også kryptert hvis du velger kryptering av hjemmekatalogen i installasjonsprogrammet, og hvilemodus slutter å fungere.

Å ikke kryptere SWAP når hjemmekatalogen er kryptert er potensielt farlig, siden data fra krypterte filer kan havne der i klartekst - hele poenget med kryptering går tapt. Fra og med versjon 14 av Linux Mint kan du under installasjonen velge alternativet for å kryptere hele disken. Dette alternativet er best egnet for lagring av personlige data på bærbare enheter (som vanligvis bare har én bruker).

1.3 Kryptering i gnome – Seahorse

Linux Mint har et innebygd passord og nøkler-verktøy, eller Seahorse. Ved å bruke funksjonene kan brukeren operere med alle nøkler, passord, samt sertifikater som er tilgjengelige i dette operativsystemet.

I hovedsak er Seahorse en applikasjon for GNOME (GNOME er et gratis skrivebordsmiljø for Unix-lignende operativsystemer), som er en frontend til GnuPG (et gratis program for å kryptere informasjon og lage elektroniske digitale signaturer) og er designet for å administrere krypteringsnøkler og passord. Den erstattet GNOME Keyring, som ble fullstendig erstattet i GNOME 2.22, selv om den ble annonsert tilbake i GNOME 2.18. Lar deg utføre alle operasjoner som tidligere måtte gjøres på kommandolinjen og kombinere dem under ett enkelt grensesnitt:

    administrere sikkerheten til arbeidsmiljøet ditt og OpenPGP- og SSH-nøkler;

    kryptere, utvide og skanne filer og tekst;

    legge til og verifisere digitale signaturer til dokumenter;

    synkronisere nøkler med nøkkelservere;

    opprette og publisere nøkler;

    reservere nøkkelinformasjon;

    legge til bilder i hvilken som helst støttet GDK som en OpenGPG bilde-ID;

1.4 TrueCrypt

TrueCrypt har et ganske praktisk grafisk grensesnitt, men dessverre har utviklerne hardkodet integrasjon med Nautilus-filbehandleren i koden.

Du kan bruke forskjellige metoder for å kryptere data.

Først må du lage en såkalt container som skal inneholde filmapper beregnet for kryptering. En beholder kan være en fil med et vilkårlig navn eller til og med en hel diskpartisjon. For å få tilgang til beholderen må du angi et passord, og du kan også lage en nøkkelfil (valgfritt) som informasjonen skal krypteres med. Beholderstørrelsen er begrenset.

Opprette krypterte partisjoner/filer

Opprette en nøkkelfil:

truecrypt -create-keyfile /home/user/test/file , hvor fil er navnet på nøkkelfilen.

Opprette en beholder, i dette tilfellet en seksjon:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

I stedet for /dev/sda9-partisjonen kan du også spesifisere en fil, for eksempel /home/user/test/cryptofile, men i dette tilfellet må du spesifisere størrelsen, dette gjøres med parameteren -size=5G før parameteren -c. Eksemplet ovenfor vil lage en 5 GB kryptofil. Noen ganger aksepterer TrueCrypt bare størrelsen i byte for 5 GB kan du enten beregne verdien på forhånd og spesifisere -size=5368709120, eller skrive den som følger: -size=`echo 1024^3*5 | bc`.

Den allerede opprettede nøkkelfilen vil bli brukt til kryptering.

Når du oppretter, vil du bli tilbudt et valg av beholdertype (normal/skjult), filsystem (FAT, ext2/3/4 eller uten FS), i dette eksemplet ble modusen uten bruk av FS valgt. Du vil også bli tilbudt et valg av krypteringsalgoritme (for eksempel AES), samt en hash-algoritme (for eksempel SHA-1) for kryptering av datastrømmer.

TrueCrypt brukes til å kryptere data i farten, det vil si at du kan montere en container og jobbe med filene i den som vanlig (åpne/rediger/lukk/opprett/slett), noe som er veldig praktisk.

Den krypterte partisjonen/filen er opprettet. Nå, hvis du trenger å formatere det interne filsystemet (heretter referert til som FS), bør du gjøre følgende.

Velg den nødvendige delen med Truecrypt:

truecrypt -k /home/user/test/file /dev/sda9

Som standard vil den Truecrypt-skapte enheten /dev/mapper/truecrypt0 bli brukt. Ved å få tilgang til denne enheten kan du endre for eksempel FS i en kryptert beholder. I dette tilfellet må dette gjøres.

sudo mkfs.ext4 -v /dev/mapper/truecrypt0

Dette er hvordan ext4 FS ble opprettet inne i denne krypterte beholderen.

Siden denne beholderen allerede er "festet" til enheten /dev/mapper/truecrypt0, gjenstår det bare å montere den til en eller annen katalog. Denne monteringskatalogen må allerede eksistere på systemet.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, hvor /mnt/crypto er katalogen som den krypterte beholderen er montert til.

truecrypt -d

Nå, uten å kjenne nøkkelfilen og passordet, vil ingen kunne lese den skjulte informasjonen.

I dag har lagring av viktige data i ren tekst blitt farligere enn noen gang. Og ikke så mye på grunn av statlig overvåking (hvis de vil, vil de finne noe å klage på, og så videre), men på grunn av de som ønsker å stjele disse dataene. I prinsippet er det mange metoder for å beskytte informasjon, men denne artikkelen vil beskrive kryptografiske virkemidler.


I motsetning til enkelte andre operativsystemer har Linux en rekke verktøy for kryptografisk informasjonsbeskyttelse – fra kryptering av e-postkorrespondanse til kryptering av filer og blokkeringsenheter. Vi er interessert i kryptering på nivå med filsystemer, filer og blokkeringsenheter. For det første er det verdt å forstå hva forskjellen er. Kryptering på filsystemnivå krever tilstedeværelse av et lag mellom hovedfilsystemet (med mindre, selvfølgelig, filsystemet i seg selv ikke støtter kryptering) og brukeren.

Fordel av denne typen kryptering - nøklene er forskjellige for alle brukere. Ulempen er at hvis du aktiverer filnavnskryptering, vil lengden på det gyldige navnet reduseres, i tillegg kan brukeren lagre filen til et annet sted på disken, noe som automatisk opphever fordelen. Og en ting til - selv om navnekryptering er aktivert, vil tidsstemplene forbli de samme. Blokkeringsenhetskryptering skjer på et lavere nivå, under filsystemet. I dette tilfellet vet ikke filsystemet selv at det er plassert på et kryptert volum.

Fordeler denne metoden i motsetning til manglene til den forrige. Ulempen er at du må skrive inn et passord hver gang du laster ned/monterer det. Den andre ulempen er at hvis en angriper under kjøretid får tilgang til filer på kryptokon-
teiner, det er alt - det er tapt. Dette er nøyaktig hva beskyttelse mot offline angrep er. I tillegg, i de aller fleste tilfeller av å lagre en kryptobeholder til skyen, må du laste den opp helt på nytt.

Denne artikkelen vil beskrive hvordan du konfigurerer følgende kryptografiske beskyttelsesmetoder:
dm-krypt/LUKS- å lage en kryptobeholder ved å bruke device-mapper og CryptoAPI-kjerne;
eCryptfs- kryptering på filsystemnivå;
EncFS- lignende det som er beskrevet ovenfor, men krever ikke lasting av kjernemoduler.

DM-CRYPT/LUKS
Det finnes to typer dm-crypt-konfigurasjon - vanlig og LUKS. Forskjellen er at når du bruker LUKS, er metadata tilstede i begynnelsen av kryptotomet, slik at du kan bruke flere nøkler og endre dem. Samtidig er tilstedeværelsen av en slik overskrift i noen tilfeller i seg selv kompromitterende – dog i de fleste lignende tilfeller et område med høy grad av entropi vil også være kompromitterende. Sette opp vanlig dm-crypt med en nøkkelfil og passordfrase La oss se hvordan du setter opp en kombinasjon av et vanlig dm-crypt-volum kryptert med en nøkkelfil, i sin tur inneholdt i en LUKS-beholder. Først må du bestemme nøyaktig hvordan seksjonene skal plasseres. Det er tre hovedalternativer:
bare et kryptovolum;
først et kryptovolum, deretter LVM på toppen av det;
først kryptovolum, deretter RAID, deretter LVM.

Og alle slags kombinasjoner. La oss prøve det andre alternativet. Det første trinnet er å lage en LUKS-beholder for å lagre nøkkelfilen slik at vi kan bruke denne filen sammen med nøkkelfrasen. I dette tilfellet reduseres sannsynligheten for kryptoanalyse av et volum kryptert med vanlig dm-krypt:

# dd if=/dev/zero of=/root/key.luks bs=512 count=2057

# cryptsetup --align-payload=1 luksFormat /root/key.luks

# cryptsetup luksÅpne /root/key.luks cryptokey

# dd if=/dev/urandom of=/dev/mapper/cryptokey

Den første kommandoen forbereder beholderfilen, den andre oppretter denne beholderen, den tredje kobler den sammen, og den fjerde genererer nøkkelinformasjon. Det er verdt å merke seg at alternativet –align-payload=1 er nødvendig for å sikre at størrelsen på LUKS-metadataene ikke er 4096 512-byte blokker, men bare 2056. Dermed gjenstår det 512 byte for den faktiske nøkkelinformasjonen.
Deretter går vi videre til å lage et kryptotom. På dette tidspunktet kan du også eventuelt fylle disken med pseudo-tilfeldige data for å gjøre kryptoanalyse, hvis noen, vanskelig. Deretter kan du lage et kryptotom. Kommandoen for dette ser slik ut (selvfølgelig, i andre tilfeller kan identifikatorene være forskjellige, så du må være forsiktig):

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--key-file=/dev/mapper/cryptokey --key-size=512 open --type=plain/dev/disk/by-id/ ata-VBOX_HARDDISK_VB05eadebe-f25e8d59 crypto0


Om nødvendig må du gjenta en lignende kommando på andre enheter som krever kryptering. Deretter vil vi lage LVM og FS på kryptovolumene:

La oss lage en fil /etc/initramfs-tools/hooks/cryptokeys med omtrentlig følgende innhold (tjenestedelen av skriptet er utelatt):

Og filen /etc/initramfs-tools/scripts/local-top/cryptokeys (servicedelen igjen
utelatt):

# <...>

modprobe -b dm_crypt

samtidig som! (/sbin/cryptsetup luksÅpne /etc/crypto/key. luks cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VB05eadebe - f25e8d59 crypto0

&& /sbin/cryptsetup plainOpen -- nøkkel - fil = /dev/mapper/cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VBc2414841 - cfeccde5 crypto1

&& /sbin/cryptsetup luksLukk kryptonøkkel

) ; gjøre

echo "Prøv igjen . . . ”

ferdig

Disse to filene må være kjørbare. Deretter lager vi initrd:

# update-initramfs -u -k all -v

Neste gang du starter på nytt, vil du bli bedt om et passord for LUKS-beholderen. Hvis du bruker vanlig dm-crypt, er det et annet alternativ - et vanlig bunnlag, som lar deg gjøre noe som skjulte TrueCrypt-volumer. Det er lettere å gi et eksempel:

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto

# cryptsetup --cipher=serpent-xts-plain64 --offset=2097152--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto_shared

Størrelsen og offset er spesifisert i 512-byte blokker.


Avanserte funksjoner i LUKS
La oss også se på den avanserte bruken av LUKS-beholdere. Disse inkluderer bytte av nøkler. Dette er nødvendig når du kompromitterer eller oppretter en nøkkelrotasjonspolicy. Det første trinnet for å gjøre dette er å lage en sikkerhetskopi av beholderhodet. Jeg faller
ok, etter å ha byttet nøkkelen kan den bli ødelagt. Vi gjør det selvfølgelig på en ukryptert partisjon:

Til slutt legger vi til ny nøkkel til systemet:

La oss også vurdere prosedyren for å gjenopprette LUKS-volumer. Det enkleste alternativet er selvfølgelig når det er en kopi av overskriften. I dette tilfellet kreves det bare én kommando for å gjenopprette:

Den lengste sammenhengende linjen vil være hovednøkkelen. Den må kopieres til en fil på et ukryptert volum og deretter konverteres til binær form (før du gjør dette, sørg for at denne filen det er ingen
tegn på slutten av linjen):

ENCFS
La oss se hvordan du konfigurerer EncFS til å montere automatisk ved pålogging. Først, la oss installere de nødvendige pakkene:

Når du setter opp i ekspertmodus vil du bli stilt en rekke spørsmål: chiffertype (kun AES og Blowfish er tilgjengelig), nøkkelstørrelse, blokkstørrelse, hvordan kryptere filnavn - blokkkryptering (som fullstendig skjuler filnavnet, inkludert lengden), strømkryptering (som krypterer med nærmest mulig lengde, noe som noen ganger er praktisk hvis navnene er for lange og ved bruk av blokkchiffer er det ganske stor sannsynlighet for å overskride den maksimalt tillatte lengden) eller vil være helt fraværende. .. På slutten vil du bli bedt om et passord, det må samsvare med det som ble brukt til å logge inn, ellers vil ikke automontering fungere.

Deretter må du redigere filen /etc/security/pam_encfs.conf:

Og filen /etc/fuse.conf:

Og legg brukeren til sikringsgruppen:

$ sudo usermod - a - G sikring $ USER

Etter utlogging og innlogging kan den private katalogen brukes som lagring for personlige data. Det er imidlertid verdt å merke seg at tilsynet avdekket noen (ganske alvorlige) sikkerhetsproblemer, pga dette systemet Det anbefales sterkt ikke å bruke det til å lagre virkelig viktige data.

EKRYPTFS
Det er kjent at eCryptFS brukes i Ubuntu som standardverktøy for å beskytte hjemmekataloger. La oss se hvordan det fungerer - la oss lage en kryptert katalog manuelt. La oss installere pakkene:

Opprettelse av eCryptFS

Og monter filsystemet (under den første monteringen opprettes alle nødvendige metadata):

$ sudo mount -t ecryptfs /home/rom/. hemmelig/hjem/rom/hemmelig

Du vil bli bedt om en passordfrase (bare én gang, gjentatt oppføring er ikke implementert, noe som ikke ser veldig bra ut Bra valg, gitt at den må være lang), vil den spørre etter type chiffer (AES, Blowfish, 3DES, Twofish, CAST6 og CAST5), nøkkelstørrelsen, spørsmålet stilles om du skal tillate eller nekte ukrypterte filer i katalogen med krypterte, om vi skal kryptere filnavn... og til slutt vil den spørre om vi virkelig ønsker å montere og lagre signaturen til en bestemt fil. Spørsmålet er ikke så dumt som det kan virke med det første: i denne programvaren, i mangel av en signatur, er det ingen måte å skille det riktige passordet fra det feilaktige.

Krypterer brukerens hjemmekatalog

Under den første lanseringen kan det hende du må avslutte flere prosesser. Etter kryptering må du umiddelbart logge på som bruker, og du vil bli bedt om å skrive ned eller skrive ut passordfrasen som er generert for kryptering og beskyttet av brukerpassordet. Dette er nødvendig for gjenoppretting i nødstilfeller.


Advarsel om å huske passordfrasen

La oss se hvordan du gjenoppretter den. La oss anta at passordfrasen ikke er registrert og gjenopprettingen er fra en Live CD. Det antas at filsystemet er montert. Gå til katalogen home/.ecryptfs/rom/.ecryptfs og skriv inn kommandoen:

dm-verifisere
dm-verify-modulen er designet for å verifisere integriteten til blokkenheter. Verifisering utføres ved hjelp av et hash-tre, der "blader" er hash-summer av blokker, og "grener" er hash-summer av sett med "blader". For å bekrefte en blokkeringsenhet (enten det er en partisjon eller en disk), er det nok å sjekke bare én kontrollsum.
Denne mekanismen (sammen med digital signatur) brukes i enkelte Android-enheter for å beskytte mot modifikasjon av systempartisjoner, så vel som i Google Chromium OS.

KONKLUSJON
Linux inneholder faktisk mange verktøy for kryptografisk informasjonsbeskyttelse. Av de tre verktøyene som er beskrevet, er minst ett til stede i alle moderne Linux-distribusjoner. Men hva skal man velge?
dm-krypt/LUKS Den bør brukes i tilfeller der det er mulig å raskt deaktivere et kryptert volum og når sikkerhetskopier enten ikke er nødvendig eller på annen måte er klassifisert. I dette tilfellet denne avgjørelsen mer enn effektiv, spesielt med tanke på at kryptering kan gjøres i en kaskade av vilkårlig hekking og type (for eksempel AES-Twofish-AES), - et ekte paradis
for paranoide.
eCryptFS egnet i tilfeller der du trenger å lagre krypterte data et sted - for eksempel i skyen. Den gir ganske sterk kryptering (selv om standard 128-bits alternativet har muligheten til å redusere den kryptografiske styrken med to biter) og er gjennomsiktig for sluttbrukeren.
EncFS men en gammel for rundt ti år siden, basert på enda eldre arbeider. Foreløpig ikke anbefalt for bruk på grunn av potensielle sikkerhetshull, men kan brukes som et kryssplattformverktøy for å beskytte ikke-sensitive data i skyene.

Hvis du trenger å bruke slike midler, bør du alltid huske at beskyttelsen må være omfattende.

Disk (a la TrueCrypt). Jeg vet at det har vært arbeid med å legge til krypteringsstøtte til GRUB2, men det er ikke klart ennå. Noen andre alternativer?

(Merk at jeg egentlig mener full diskkryptering her, inkludert /boot)

De fleste av svarene beskriver et oppsett der /boot ikke er kryptert, og noen av dem prøver å forklare hvorfor en ukryptert /boot skal være ok.

Uten å gå inn i en debatt om hvorfor jeg faktisk trenger /boot for å bli kryptert, her er en artikkel som beskriver nøyaktig hva jeg trenger, basert på en modifisert versjon av GRUB2:

  • http://xercestech.com/full-system-encryption-for-linux.geek

Problemet er at disse modifikasjonene ikke ser ut til å være støttet i den nåværende GRUB2-kodebasen (eller kanskje jeg mangler noe).

8 løsninger samler inn skjemanett for "Linux-oppstartslastere som støtter full diskkryptering?"

Jeg tror den nåværende versjonen av GRUB2 ikke støtter lasting og dekryptering av LUKS-partisjoner på egen hånd (den inneholder noen chiffer, men jeg tror de bare brukes til passordstøtte). Jeg kan ikke sjekke den eksperimentelle utviklingsgrenen, men det er noen hint på GRUB-siden om at noe arbeid er planlagt for å implementere det du ønsker å gjøre.

Oppdatering (2015) : siste versjon GRUB2 (2.00) inneholder allerede kode for å få tilgang til de krypterte LUKS- og GELI-partisjonene. (Xercestch.com-lenken som OP-en ga nevner de første rettelsene for dette, men de er nå inkludert i den nyeste versjonen).

Men hvis du prøver å kryptere hele stasjonen av sikkerhetsgrunner, vær oppmerksom på at en ukryptert oppstartslaster (som TrueCrypt, BitLocker eller en modifisert GRUB) ikke gir mer beskyttelse enn en ukryptert /boot-partisjon (som påpekt av SP i kommentaren over). Alle med fysisk tilgang til datamaskinen kan like gjerne erstatte den med den tilpassede versjonen. Det er til og med nevnt i xercestech.com-artikkelen du koblet til:

For å være tydelig, dette gjør på ingen måte systemet ditt mindre sårbart for et offline-angrep hvis en angriper skulle erstatte oppstartsprogrammet med sin egen eller omdirigere oppstartsprosessen for å laste inn sin egen kode, kan systemet ditt fortsatt bli kompromittert.

Vær oppmerksom på at alle programvareprodukter for full kryptering stasjoner har denne svakheten, uavhengig av om de bruker en ukryptert oppstartslaster eller en ukryptert oppstarts-/forhåndsoppstartspartisjon. Til og med produkter som støtter TPM-brikker (Trusted Platform Module), som BitLocker, kan implementeres uten å endre maskinvaren.

En bedre tilnærming ville være:

  1. dekrypter på BIOS-nivå (i hovedkort enten på en diskadapter eller ekstern maskinvare [smartkort], med eller uten en TPM-brikke), eller
  2. ha med PBA-autorisasjonskoden (/oppstartspartisjon i dette tilfellet) på en flyttbar enhet (for eksempel et smartkort eller USB-stasjon).

For å gjøre dette på den andre måten, kan du sjekke ut Linux Full Disk Encryption (LFDE)-prosjektet på: http://lfde.org/, som gir et etterinstallasjonsskript for å flytte /boot-partisjonen til en ekstern USB-stasjon, krypterer nøkkelen med GPG og lagrer den på USB også. På denne måten er den svake delen av oppstartsbanen (den ukrypterte /boot-partisjonen) alltid med deg (du vil være den eneste med fysisk tilgang til dekrypteringskoden og nøkkelen). ( Merk: Denne siden har gått tapt og forfatterens blogg har også forsvunnet, men du kan finne de gamle filene på https://github.com/mv-code/lfde, bare å merke seg at den siste utviklingen ble gjort for 6 år siden). Som et enklere alternativ kan du installere en ukryptert oppstartspartisjon på en USB-stasjon når du installerer operativsystemet.

Med vennlig hilsen M.V.

Gjør din første RAM-disk og /boot-mappen ukryptert.

Dette vil få opp en "minimal" kjerne med drivere og støtte for å bytte til den "ekte" roten filsystem, som er kryptert.

Før du erklærer "det er et hack", husk - de fleste (om ikke alle) Linux-distribusjoner lastet som standard i dag. Dette tillater eksplisitt systemet å starte opp og laste inn root-FS ved å bruke moduler som må lastes fra filsystemet. (Slags et kylling- og eggproblem). For eksempel, hvis rotfilsystemet ditt var på et maskinvare-RAID-volum og du måtte laste inn driveren før du kunne montere root-FS.

Jeg så på lenken du la ut - selv om det ikke er noen oppstartspartisjon, er det fortsatt en ukryptert oppstartslaster på harddisken som kan nås og kompromitteres av et ondsinnet angrep. Jeg har lett etter et lignende oppsett hvor det ikke er ukrypterte data på harddisken, men foreløpig har jeg kun funnet på å kjøre bootloaderen fra en flyttbar stasjon.

Jeg tror at de fleste av dem, det du trenger er instruksjoner om hvordan du installerer et OS med kryptert HD først.

Ubuntu har en god side med instruksjoner om hvordan du lager krypterte partisjoner, LMVP, mapper osv., bare din versjon av distribusjonen din...

Nei, det tror jeg ikke.

Trenger du virkelig å kryptere/laste ned? Jeg mistenker ikke. Resten av filsystemet kan krypteres med vanlig Linux-programvare, som ligger i initramfs i /boot og ber brukeren deretter.

Du ser ut til å spørre om noe som ikke kan gjøres og sammenligne det med Windows-løsning, hvilken skjuler implementeringen for deg, men gjør faktisk det samme som Linux gjør.

Den nærmeste løsningen jeg kan tenke meg er å bruke HDD, som implementerer passordsikkerhet og kryptering. Noen bærbare Thinkpad-maskiner bruker disse maskinvareløsningene.

Svaret er skissert i artikkelen. "Dette er nå mulig med utvidelser til neste generasjons GRUB2-oppstartslaster, som har blitt lappet for å støtte ikke bare" og "vi vil installere et nytt bilde med luks grub2-støtte senere" og "Vi vil nå kompilere GRUB2-kilden med LUKS Brukerstøtte. "Det ser ut til at det er en hurtigreparasjon eller utvidelse du trenger for å skaffe og aktivere med GRUB2 eller en forked GRUB2-kilde.

Grub2 versjon 2.02~beta3 kan gjøre mye som Grub2 versjon 2.02~beta2 ikke kan gjøre, testet av meg:

  1. Oppstart med en Super Grub 2-disk
  2. Skriv "c" for å gå til kommandolinjen
  3. Skriv inn kommandoene for å montere den krypterte partisjonen jeg vil ha
    • insmod lux
    • cryptomount(hd0, #) // hvor # representerer den krypterte partisjonen
  4. Skriv inn en passordfrase og skriv inn noen kommandoer
    • multiboot (crypto0) /grub/i386-pc/core.img
    • støvel

Dette vil laste en annen Grub2 som er inne i den krypterte partisjonen, evil crazy attack har ingen plass her... Jeg starter opp fra en CD (skrivebeskyttet) og monterer deretter den krypterte partisjonen (ikke passordfrasen, noe som helst!), og starter deretter opp fra innsiden en kryptert partisjon og oppstart av Grub2 med egen meny, etc.

Advarsel: Grub2 versjon 2.02~beta2 kan ikke gjøre det samme fordi den har noen feil (som ser ut til å være fikset i Grub2 versjon 2.02~beta3) relatert til cryptomount-kommandoen...

beta2 feil jeg snakker om er:

  1. Den monterer faktisk ikke den krypterte partisjonen, så den gir deg ikke tilgang til (crypto0)/*
  2. Hvis det er mer enn én kryptert partisjon, krever bruk av cryptomount -a bare én passordfrase
  3. Etter å ha kjørt cryptomount når den kjører igjen, gjør ingenting

på beta 3:

  1. Den monterer den krypterte partisjonen og lar deg få tilgang til filer via (crypto0)/* eller (crypto1)/* etc hvis mer enn én er montert samtidig
  2. Den ber om hver passordfrase (en per kryptert seksjon)
  3. Dette lar deg kjøre den så mange ganger du trenger, du kan installere en, så en annen osv.

Sidenotat: Jeg har ikke funnet ut hvordan jeg skal demontere dem annet enn å starte på nytt eller starte opp en annen eller samme grub2/other etc boot loader.

Håper dette hjelper med å rydde opp, og forhåpentligvis vil Grub2 2.02~beta3-versjonen bli integrert i LiveCD slik at vi kan installere den uten å måtte kompilere den selv.

PD: Med Super Grub 2-disken ser jeg ingen måte å installere Grub2 versjon 2.02~beta3 på MBR partisjon/boot osv.

Vil du skjule dataene dine for nysgjerrige øyne? Vi vil lære deg teknikker for kryptering av harddisker.

Bak I fjor Temaet datasikkerhet på Internett dukket opp ofte: først i forbindelse med Snowden-avsløringene, deretter med sårbarheten i OpenSSL (Heartbleed bug). Rett før den siste ble en mindre merkbar feil i GnuTLS oppdaget. Som et resultat begynte vi å ta mer hensyn til sikkerheten til slettede data; men hva med de som er lagret på disken vår?

Blokker enhetsstabel

Før du ser på kryptering, er det viktig å forstå hvordan blokkeringsenheter fungerer. De er systemgrensesnitt til lagringsenheter som /dev/sda! Inne i en blokkenhet er en maskinvaredriver, for eksempel SATA, og selve maskinvaren. Operativsystemet samhandler deretter med blokkenheten for å lage et filsystem på den.

Blokkenheter anses vanligvis i denne kapasiteten, selv om de har andre funksjoner. Spesielt kan en slik enhet være et grensesnitt for en rekke andre blokkenheter - de kan danne en stabel. Og du har allerede gjort dette: du har et filsystem på /dev/sda1 (diskpartisjon), og denne blokkeringsenheten peker til /dev/sda (hele disken).

Teknologier som RAID og LVM (Logical Volume Management) er også blokkenhetsstabler. Du kan ha LVM på toppen RAID-array, som på sin side også er plassert på blokkenhetene til individuelle disker eller deres partisjoner.

Helenhetskryptering med dm-crypt fungerer slik: En blokkenhet opprettes på grunnlag av lagringsmediet ditt, som krypterer data når de lagres og dekrypterer når de leses. Deretter monterer du et standard filsystem på toppen av den krypterte enheten, og den fungerer akkurat som en vanlig diskpartisjon.

Mange distribusjoner kan installeres på en kryptert disk, men vi vil se direkte på opprettelsen og driften av dm-crypt-enheter, uten å berøre den svarte magien som installasjonsprogrammet utfører. Dm-crypt bruker kjernfor å kontrollere blokkenheter med kjernekryptografiske funksjoner for krypteringsformål.

Alt gjøres av kjernen, men på brukernivå trenger vi programvare for å lage og administrere dm-crypt-enheter; som dette standard verktøy står for cryptsetup. Det er sannsynligvis allerede installert på distribusjonen din; og hvis ikke, vil det sikkert være i hovedlagrene.

Kryptering

Standardverdiene er vanligvis mer enn nok, og alt tilgjengelige alternativer kan sees med cryptsetup -help Disse alternativene er kun nødvendig med LuksFormat. Når du oppretter en sikker enhet, bruker cryptsetup automatisk riktige innstillinger for å åpne den.

Det er best å holde seg til populære chiffer og hashes med mindre du har en bedre grunn til å velge noe annet. Metoder som brukes sjeldnere kan ha skjulte feil rett og slett fordi de er mindre testet, som er det som nylig skjedde med Whirlpool-hash-implementeringen i libcgrypt-biblioteket brukt av cryptsetup. Når du foretar rettelser, ble de systemene som allerede brukte defekte hashes berørt.

En annen grunn til å holde seg til konvensjonelle metoder er portabilitet. Dette er ikke viktig for den interne stasjonen, men hvis du vil bruke den krypterte stasjonen på et annet system, må de samme hashene og chifferene installeres der også.

LUKS

LUKS— Linux Unified Key Setup ble opprettet for å gi et standard, tverrplattformformat (til tross for navnet) for lagring av krypterte data på disker. Det gjelder ikke krypteringsmetoder, men måten informasjon om dem lagres på.

Han er også mer på en pålitelig måte lagring av nøkler eller passord, siden dm-crypt-metoden er utsatt for hacking. Siden LUKS er på tvers av plattformer, kan krypterte enheter også nås fra Windows ved å bruke .

Sikkerhet og personvern er svært viktig for de som lagrer viktige data på en datamaskin. Din hjemmedatamaskin er trygt, men med en bærbar datamaskin eller andre bærbare enheter er situasjonen en helt annen. Hvis du bærer den bærbare datamaskinen med deg nesten overalt og uautoriserte personer kan ha tilgang til den, oppstår spørsmålet - hvordan du kan beskytte dataene dine mot andres forstyrrelser. Det er fra fysiske angrep, hvor hvem som helst kan prøve å hente data fra USB lagring eller harddisk bærbar PC ved ganske enkelt å fjerne enheten, eller i tilfelle av en bærbar datamaskin, fjerne harddisken og koble den til et annet operativsystem.

Mange bedrifter og til og med vanlige brukere bruk diskkryptering i Linux for å beskytte konfidensiell informasjon som: klientinformasjon, filer, kontaktinformasjon og mye mer. Linux-operativsystemet støtter flere kryptografiske metoder for å beskytte partisjoner, individuelle kataloger eller hele harddisken. Alle data i noen av disse metodene blir automatisk kryptert og dekryptert i farten.

Kryptering på filsystemnivå:

  • 1. eCryptfs- Dette er en kryptografisk fil Linux-system. Den lagrer kryptografiske metadata for hver fil i egen fil, slik at filer kan kopieres mellom datamaskiner. Filen vil bli vellykket dekryptert hvis du har nøkkelen. Denne løsningen er mye brukt for å implementere en kryptert hjemmekatalog, for eksempel i Ubuntu. Også ChromeOS bygger inn disse algoritmene transparent når de brukes nettverksenheter for datalagring (NAS).
  • 2. EncFS- gir et kryptert filsystem i brukerrommet. Den kjører uten ekstra privilegier og bruker sikringsbiblioteket og kjernemodulen for å gi et filsystemgrensesnitt. EncFS er gratis programvare og er lisensiert under GPL.

Blokkkryptering på enhetsnivå:

  • Loop-AES- et raskt og gjennomsiktig filsystem, samt en pakke for kryptering av swap-partisjonen i Linux. Kildekoden til programmet har ikke blitt endret på lenge. Det fungerer med kjerner 4.x, 3.x, 2.2, 2.0.
  • TrueCrypt- Dette gratis løsning med åpen kildekode for diskkryptering i operasjonsrom Windows-systemer 7 / Vista / XP / Mac OS X, samt Linux.
  • dm-krypt+LUKS- dm-crypt er et gjennomsiktig undersystem for diskkryptering i kjerne 2.6 og nyere. Støtter kryptering av hele disker, flyttbare medier, partisjoner, RAID-volumer, programvare, logiske volumer og filer.

I denne opplæringen skal vi se på kryptering av en harddisk på Linux ved å bruke Linux Unified Key Setup-on-disk-format (LUKS) algoritmen.

Hvordan fungerer LUKS?

LUKS (Linux Unified Key Setup er enokoll. Men vi har hoppet langt foran, for å forstå hvordan det fungerer, må vi forstå andre teknologier som brukes i denne metoden.

For å utføre kryptering linux disk Dm-crypt kjernemodulen brukes. Denne modulen lar deg lage en virtuell blokkenhet i /dev/mapper-katalogen med kryptering som er transparent for filsystemet og brukeren. Faktisk er alle data plassert på en kryptert fysisk partisjon. Hvis en bruker prøver å skrive data til en virtuell enhet, krypteres de på farten og skrives til disk ved lesing fra en virtuell enhet, utføres den omvendte operasjonen – dataene dekrypteres fra den fysiske disken og overføres i klartekst via; virtuell disk til brukeren. Vanligvis brukes AES-metoden for kryptering, fordi de fleste av dem er optimalisert for det. moderne prosessorer. Det er viktig å merke seg at du kan kryptere ikke bare partisjoner og disker, men også vanlige filer ved å lage et filsystem i dem og koble dem til som en sløyfeenhet.

LUKS-algoritmen bestemmer hvilke handlinger og i hvilken rekkefølge som skal utføres når du arbeider med krypterte medier. For å jobbe med LUKS og dm-crypt-modulen, bruk Cryptsetup-verktøyet. Vi vil vurdere dette videre.

Cryptsetup-verktøy

Cryptsetup-verktøyet vil gjøre det enklere å kryptere en Linux-partisjon ved å bruke dm-crypt-modulen. La oss installere det først.

På Debian eller Ubuntu, bruk denne kommandoen:

apt-get install cryptsetup

På Red Hat-baserte distribusjoner vil det se slik ut:

yum installer cryptsetup-luks

Syntaksen for å kjøre kommandoen er:

$ cryptsetup alternativer operasjon options_operations

La oss se på de grunnleggende operasjonene som kan gjøres ved å bruke dette verktøyet:

  • luksFormat- lag en kryptert partisjon luks linux
  • luksOpen- koble til en virtuell enhet (dongle kreves)
  • luksLukk- lukk den virtuelle luks linux-enheten
  • luksAddKey- legg til krypteringsnøkkel
  • luksRemoveKey- slett krypteringsnøkkelen
  • luksUUID- vis partisjon UUID
  • luksDump- skape sikkerhetskopi LUKS-hoder

Parametrene for operasjonen avhenger av selve operasjonen, vanligvis er det enten en fysisk enhet som handlingen må utføres med, eller en virtuell enhet, eller begge deler. Ikke alt er klart ennå, men med øvelse tror jeg du vil finne ut av det.

Linux diskkryptering

Teorien er ferdig, alle verktøyene er klare. La oss nå se på kryptering av linux-partisjonen. La oss gå videre til å sette opp harddisken. Vær oppmerksom på at dette vil slette alle data fra stasjonen eller partisjonen du er i ferd med å kryptere. Så hvis det er viktige data der, er det bedre å kopiere det til et sikrere sted.

Opprette en seksjon

I dette eksemplet vil vi kryptere /dev/sda6-partisjonen, men du kan bruke en hel harddisk i stedet, eller bare en enkelt fil fylt med nuller. Opprett en kryptert partisjon:

cryptsetup -y -v luksFormat /dev/sda6

ADVARSEL!
========
Dette vil overskrive data på /dev/sda6 ugjenkallelig.

Er du sikker? (Skriv store bokstaver ja): JA
Skriv inn LUKS-passord:
Bekreft passordfrase:
Kommandoen var vellykket.

Denne kommandoen vil initialisere partisjonen og angi initialiseringsnøkkelen og passordet. Angi et passord slik at du ikke glemmer det senere.

Kjør følgende kommando for å åpne den nyopprettede partisjonen ved å bruke dm-crypt-modulen i /dev/mapper, for å gjøre dette må du skrive inn passordet som luks linux-krypteringen ble utført med:

Skriv inn passordfrase for /dev/sda6

Nå kan du se den nye virtuelle enheten /dev/mapper/backup2 opprettet med luksFormat-kommandoen:

ls -l /dev/mapper/backup2

For å se enhetens status, kjør:

cryptsetup -v status backup2

/dev/mapper/backup2 er aktiv.
type: LUKS1
chiffer: aes-cbc-essiv:sha256
nøkkelstørrelse: 256 bits
enhet: /dev/sda6
offset: 4096 sektorer
størrelse: 419426304 sektorer
modus: les/skriv
Kommandoen var vellykket.

Og med følgende kommando kan du lage en sikkerhetskopi av LUKS-overskriftene i tilfelle:

cryptsetup luksDump /dev/sda6

Vel, vi kan si at delen er klar. Og det beste er at du nå kan bruke det akkurat som alle andre vanlige partisjoner i /dev-katalogen. Du kan formatere den ved hjelp av standardverktøy, skrive data til den, endre eller sjekke filsystemet osv. Du kan ikke bare endre størrelsen. Det vil si at alt er helt gjennomsiktig, som det står i begynnelsen av artikkelen.

Formatere en partisjon

La oss først formatere disken. For å være sikker, for å slette alle dataene som var på dette stedet før, vil vi overskrive vår krypterte linux-partisjon med nuller. Dette vil redusere sannsynligheten for å bryte krypteringen gjennom en økning i mengden tilfeldig informasjon. For å gjøre dette, kjør:

dd if=/dev/null av=/dev/mapper/backup2

Verktøyet kan ta flere timer å kjøre for å kunne overvåke prosessen, bruk pv:

pv -tpreb /dev/null | dd av=/dev/mapper/backup2 bs=128M

Når prosessen er fullført, kan vi formatere enheten til et hvilket som helst filsystem. La oss for eksempel formatere den i ext4:

mkfs.ext4 /dev/mapper/backup2

Som du kan se, brukes alle cryptsetup-kommandoer på den fysiske partisjonen, mens resten av kommandoene for arbeid med disker brukes på vår virtuelle.

Montering av en skillevegg

Nå kan du bare montere det opprettede filsystemet:

$ mount /dev/mapper/backup2 /backup2

Deaktiverer en partisjon

Alt fungerer, men hvordan deaktiverer du enheten og beskytter dataene. For å gjøre dette, kjør:

cryptsetup luksLukk backup2

Montering på nytt

For å kunne jobbe med den krypterte partisjonen igjen med LUKS Linux, må du åpne den igjen:

cryptsetup luksÅpne /dev/sda6 backup2

Nå kan vi montere:

montere /dev/mapper/backup2 /backup2

Sjekk filsystemet luks

Siden etter å ha åpnet en partisjon med luks linux, denne partisjonen behandles av systemet som alle andre, kan du ganske enkelt bruke fsck-verktøyet:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Endre luks passordfrase

Linux-diskkryptering utføres med en spesifikk passordfrase, men du kan endre den. Enda bedre, du kan lage opptil åtte forskjellige passordfraser. For å endre, kjør følgende kommandoer. La oss først ta backup av LUKS-overskriftene:

cryptsetup luksDump /dev/sda6

Deretter oppretter du en ny nøkkel:

cryptsetup luksAddKey /dev/sda6

Skriv inn en hvilken som helst passordfrase:

Skriv inn ny passordfrase for nøkkelspor:
Bekreft passordfrase:

Og slett den gamle:

cryptsetup luksRemoveKey /dev/sda6

Nå må du skrive inn det gamle passordet.

konklusjoner

Det er alt, nå vet du hvordan du krypterer en partisjon i Linux, og du forstår også hvordan det hele fungerer. I tillegg åpner diskkryptering i Linux ved hjelp av LUKS-algoritmen store muligheter for fullstendig kryptering av det installerte systemet.

Fordeler:

  • LUKS krypterer hele blokkenheten og er derfor meget godt egnet for å beskytte innholdet i bærbare enheter som f.eks. Mobil, flyttbare medier eller harddisker bærbare datamaskiner.
  • Du kan bruke NAS på servere for å beskytte sikkerhetskopiene dine
  • Intel- og AMD-prosessorer med AES-NI (Advanced Encryption Standard) har et sett med kommandoer som kan fremskynde den dm-crypt-baserte krypteringsprosessen i Linux-kjernen siden 2.6.32.
  • Fungerer også med swap-partisjonen, slik at den bærbare datamaskinen kan bruke hvilemodus eller dvalefunksjon helt trygt.