Šifriranje particij Linux. Šifriranje particij. Blokiraj sklad naprav

Šifriranje domačega imenika zagotavlja zanesljivo zaščito podatkov, shranjenih na vašem trdem disku ali drugem mediju za shranjevanje. Šifriranje je še posebej pomembno na prenosnih računalnikih, na računalnikih z večkratnim dostopom, pa tudi v vseh drugih pogojih. Šifriranje domačega imenika je na voljo pri namestitvi Linux Mint.

Glavni ulov pri popolnem šifriranju domačega imenika je, da morate imenik s šifriranimi podatki »premakniti« onkraj točke namestitve.

Zmogljivost se nekoliko zmanjša, vsaj dokler se ne uporabi SWAP. SWAP je posebna diskovna particija ali datoteka, v katero operacijski sistem premakne posamezne bloke RAM-a, ko RAM-a ni dovolj za izvajanje aplikacij. SWAP je šifriran tudi, če v namestitvenem programu izberete šifriranje domačega imenika in način mirovanja preneha delovati.

Nešifriranje SWAP, ko je domači imenik šifriran, je potencialno nevarno, saj lahko podatki iz šifriranih datotek končajo tam v čistem besedilu - celoten smisel šifriranja je izgubljen. Od različice 14 Linux Mint lahko med namestitvijo izberete možnost šifriranja celotnega diska. Ta možnost je najbolj primerna za shranjevanje osebnih podatkov na prenosnih napravah (ki imajo običajno samo enega uporabnika).

1.3 Šifriranje v gnome – Seahorse

Linux Mint ima vgrajen pripomoček za gesla in ključe ali Seahorse. Z uporabo njegovih zmogljivosti lahko uporabnik deluje z vsemi ključi, gesli in potrdili, ki so na voljo v tem OS.

V bistvu je Seahorse aplikacija za GNOME (GNOME je brezplačno namizno okolje za operacijske sisteme, podobne Unixu), ki je vmesnik za GnuPG (brezplačni program za šifriranje informacij in ustvarjanje elektronskih digitalnih podpisov) in je zasnovan za upravljanje šifrirnih ključev in gesla. Zamenjal je GNOME Keyring, ki je bil popolnoma nadomeščen v GNOME 2.22, čeprav je bil napovedan že v GNOME 2.18. Omogoča izvajanje vseh operacij, ki so bile prej potrebne v ukazni vrstici, in njihovo združevanje v enem vmesniku:

    upravljajte varnost vašega delovnega okolja ter ključev OpenPGP in SSH;

    šifriranje, razširitev in skeniranje datotek in besedila;

    dodajanje in preverjanje digitalnih podpisov v dokumente;

    sinhronizirati ključe s strežniki ključev;

    ustvarjanje in objavljanje ključev;

    rezervne ključne informacije;

    dodajte slikam v katerem koli podprtem GDK kot ID fotografije OpenGPG;

1.4 TrueCrypt

TrueCrypt ima dokaj priročen grafični vmesnik, a na žalost so razvijalci v kodo vgradili integracijo z upraviteljem datotek Nautilus.

Za šifriranje podatkov lahko uporabite različne metode.

Najprej morate ustvariti tako imenovani vsebnik, ki bo vseboval mape datotek, namenjene šifriranju. Vsebnik je lahko datoteka s poljubnim imenom ali celo celotna diskovna particija. Za dostop do vsebnika morate določiti geslo, ustvarite pa lahko tudi ključno datoteko (opcijsko), s katero bodo podatki šifrirani. Velikost posode je omejena.

Ustvarjanje šifriranih particij/datotek

Ustvarjanje ključne datoteke:

truecrypt -create-keyfile /home/user/test/file, kjer je file ime ključne datoteke.

Ustvarjanje vsebnika, v tem primeru razdelka:

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

Namesto particije /dev/sda9 lahko določite tudi datoteko, na primer /home/user/test/cryptofile, vendar boste v tem primeru morali določiti njeno velikost, to storite s parametrom -size=5G pred parameter -c. Zgornji primer bo ustvaril kripto datoteko velikosti 5 GB. Včasih TrueCrypt sprejme samo velikost v bajtih; za 5 GB lahko vrednost izračunate vnaprej in podate -size=5368709120 ali pa jo zapišete takole: -size=`echo 1024^3*5 | bc`.

Že ustvarjena ključna datoteka bo uporabljena za šifriranje.

Pri ustvarjanju vam bo ponujena izbira vrste vsebnika (normalen/skrit), datotečnega sistema (FAT, ext2/3/4 ali brez FS), v tem primeru je bil izbran način brez uporabe FS. Na izbiro vam bo tudi algoritem šifriranja (na primer AES) in algoritem zgoščevanja (na primer SHA-1) za šifriranje podatkovnih tokov.

TrueCrypt se uporablja za šifriranje podatkov na letenju, to pomeni, da lahko namestite vsebnik in delate z datotekami v njem kot običajno (odpri/uredi/zapri/ustvari/izbriši), kar je zelo priročno.

Šifrirana particija/datoteka je bila ustvarjena. Zdaj, če morate formatirati njegov notranji datotečni sistem (v nadaljevanju FS), morate narediti naslednje.

Izberite želeni razdelek z uporabo Truecrypt:

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

Privzeto bo uporabljena naprava /dev/mapper/truecrypt0, ki jo je ustvaril Truecrypt. Z dostopom do te naprave lahko spremenite na primer FS v šifriranem vsebniku. V tem primeru je to treba storiti.

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

Tako je bil ext4 FS ustvarjen znotraj tega šifriranega vsebnika.

Nato, ker je ta vsebnik že "pritrjen" na napravo /dev/mapper/truecrypt0, ostane le še, da ga preprosto pripnemo v nek imenik. Ta imenik za vpenjanje mora že obstajati v sistemu.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, kjer je /mnt/crypto imenik, v katerega je nameščen šifrirani vsebnik.

truecrypt -d

Zdaj, brez poznavanja ključne datoteke in gesla, nihče ne bo mogel prebrati skritih informacij.

Danes je shranjevanje pomembnih podatkov v navadnem besedilu postalo bolj nevarno kot kdaj koli prej. Pa ne toliko zaradi državnega nadzora (če hočejo, bodo našli kaj za pritoževati in podobno), ampak zaradi tistih, ki hočejo te podatke ukrasti. Načeloma obstaja veliko metod za zaščito informacij, vendar bo ta članek opisal kriptografska sredstva.


Za razliko od nekaterih drugih operacijskih sistemov ima Linux različna orodja za kriptografsko zaščito informacij – od šifriranja elektronske pošte do šifriranja datotek in blokirnih naprav. Zanima nas šifriranje na ravni datotečnih sistemov, datotek in blokovnih naprav. Najprej je vredno razumeti, kakšna je razlika. Šifriranje na ravni datotečnega sistema zahteva prisotnost sloja med glavnim datotečnim sistemom (če seveda sam datotečni sistem ne podpira šifriranja) in uporabnikom.

Prednost te vrstešifriranje - ključi so različni za vse uporabnike. Pomanjkljivost je, da če omogočite šifriranje imena datoteke, se dolžina veljavnega imena zmanjša, poleg tega lahko uporabnik datoteko shrani na drugo mesto na disku, kar samodejno izniči korist. In še nekaj - tudi če je omogočeno šifriranje imen, bodo časovni žigi ostali enaki. Šifriranje blokovne naprave poteka na nižji ravni, pod datotečnim sistemom. V tem primeru sam datotečni sistem seveda ne ve, da se nahaja na šifriranem nosilcu.

Prednosti ta metoda v nasprotju s pomanjkljivostmi prejšnjega. Pomanjkljivost je, da boste morali ob vsakem prenosu/montaži vnesti geslo. Druga pomanjkljivost je, da če med izvajanjem napadalec pridobi dostop do datotek na kriptokon-
teiner, to je vse - izgubljeno je. Prav to je zaščita pred napadi brez povezave. Poleg tega boste v veliki večini primerov shranjevanja kripto vsebnika v oblak morali v celoti znova naložiti.

Ta članek opisuje nastavitev naslednjih metod kriptografske zaščite:
dm-crypt/LUKS- ustvarjanje kripto vsebnika z uporabo device-mapperja in jedra CryptoAPI;
eCryptfs- šifriranje na ravni datotečnega sistema;
EncFS- podoben zgoraj opisanemu, vendar ne zahteva nalaganja modulov jedra.

DM-KRIPT/LUKS
Obstajata dve vrsti konfiguracije dm-crypt - navadna in LUKS. Razlika je v tem, da so pri uporabi LUKS metapodatki prisotni na začetku kriptotoma, kar vam omogoča uporabo več ključev in njihovo spreminjanje. Hkrati je prisotnost takšne glave v nekaterih primerih sama po sebi ogrožajoča - vendar v večini podobnih primerih ogrožajoče bo tudi območje z visoko stopnjo entropije. Nastavitev navadnega nosilca dm-crypt s ključno datoteko in geslom. Oglejmo si, kako nastaviti kombinacijo navadnega nosilca dm-crypt, šifriranega s ključno datoteko, ki je vsebovana v vsebniku LUKS. Najprej se morate odločiti, kako natančno bodo razdelki postavljeni. Obstajajo tri glavne možnosti:
samo kripto volumen;
najprej kripto nosilec, nato LVM na vrhu;
najprej kripto nosilec, nato RAID, nato LVM.

In vse možne kombinacije. Poskusimo drugo možnost. Prvi korak je ustvariti vsebnik LUKS za shranjevanje datoteke ključev, tako da lahko to datoteko uporabimo skupaj s ključno frazo. V tem primeru je verjetnost kriptoanalize nosilca, šifriranega z navadno dm-crypt, zmanjšana:

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

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

# cryptsetup luksOpen /root/key.luks cryptokey

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

Prvi ukaz pripravi datoteko vsebnika, drugi ustvari ta vsebnik, tretji ga poveže, četrti pa generira ključne informacije. Treba je omeniti, da je možnost –align-payload=1 potrebna za zagotovitev, da velikost metapodatkov LUKS ni 4096 512-bajtnih blokov, ampak le 2056. Tako ostane 512 bajtov za dejanske ključne informacije.
Nato nadaljujemo z ustvarjanjem kriptotoma. Na tej točki lahko po želji tudi napolnite disk s psevdonaključnimi podatki, da otežite kriptoanalizo, če sploh obstaja. Nato lahko ustvarite kriptotom. Ukaz za to izgleda takole (seveda se lahko v drugih primerih identifikatorji razlikujejo, zato morate biti previdni):

# 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


Po potrebi morate ponoviti podoben ukaz na drugih napravah, ki zahtevajo šifriranje. Nato bomo ustvarili LVM in FS na kriptovolumenih:

Ustvarimo datoteko /etc/initramfs-tools/hooks/cryptokeys s približno naslednjo vsebino (storitveni del skripta je izpuščen):

In datoteka /etc/initramfs-tools/scripts/local-top/cryptokeys (spet servisni del
izpuščeno):

# <...>

modprobe -b dm_crypt

medtem! (/sbin/cryptsetup luksOpen /etc/crypto/key. luks cryptokey

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

&& /sbin/cryptsetup plainOpen -- ključ - datoteka = /dev/mapper/cryptokey

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

&& /sbin/cryptsetup luksZapri kriptoključ

) ; narediti

echo »Poskusi znova. . . ”

Končano

Ti dve datoteki morata biti izvedljivi. Nato ustvarimo initrd:

# posodobitev-initramfs -u -k vse -v

Ob naslednjem ponovnem zagonu boste morali vnesti geslo za vsebnik LUKS. Če uporabljate navaden dm-crypt, obstaja še ena možnost - skupna spodnja plast, ki vam omogoča, da naredite nekaj podobnega skritim nosilcem TrueCrypt. Lažje je navesti primer:

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

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

Velikost in odmik sta podana v 512-bajtnih blokih.


Napredne funkcije LUKS
Poglejmo si še napredne uporabe kontejnerjev LUKS. Ti vključujejo menjavo ključev. To je potrebno pri ogrožanju ali ustvarjanju politike rotacije ključev. Prvi korak za to je ustvariti varnostno kopijo glave vsebnika. Jaz padam
ok, po menjavi ključa se lahko uniči. To naredimo seveda na nešifrirani particiji:

Na koncu dodamo nov ključ v sistem:

Razmislimo tudi o postopku obnovitve nosilcev LUKS. Najlažja možnost je seveda, če obstaja kopija glave. V tem primeru je za obnovitev potreben samo en ukaz:

Najdaljša neprekinjena linija bo glavni ključ. Kopirati ga je treba v datoteko na nešifriranem nosilcu in nato pretvoriti v binarno obliko (pred tem se prepričajte, da ta datoteka ne obstajajo
znakov na koncu vrstice):

ENCFS
Poglejmo, kako konfigurirati EncFS za samodejno namestitev ob prijavi. Najprej namestimo potrebne pakete:

Pri nastavitvi v strokovnem načinu vam bodo postavljena številna vprašanja: tip šifre (na voljo sta samo AES in Blowfish), velikost ključa, velikost bloka, kako šifrirati imena datotek - šifriranje blokov (ki popolnoma skrije ime datoteke, vključno z dolžina), tokovno šifriranje (ki šifrira z najbližjo možno dolžino, kar je včasih priročno, če so imena predolga in je pri uporabi bločne šifre precej velika verjetnost prekoračitve največje dovoljene dolžine) ali pa bo popolnoma odsoten. .. Na koncu boste pozvani k vnosu gesla, ki se mora ujemati s tistim, ki ste ga uporabili za prijavo, sicer samodejna namestitev ne bo delovala.

Nato morate urediti datoteko /etc/security/pam_encfs.conf:

In datoteka /etc/fuse.conf:

In dodajte uporabnika v skupino varovalk:

$ sudo usermod - a - G varovalka $ UPORABNIK

Po odjavi in ​​prijavi lahko zasebni imenik uporabite kot shrambo osebnih podatkov. Velja pa omeniti, da je revizija razkrila nekaj (precej resnih) varnostnih težav, zaradi katerih ta sistem Zelo ni priporočljivo, da ga uporabljate za shranjevanje res pomembnih podatkov.

ECRYPTFS
Znano je, da se eCryptFS uporablja v Ubuntuju kot privzeto orodje za zaščito domačih imenikov. Poglejmo, kako deluje - ročno ustvarimo šifriran imenik. Namestimo pakete:

Izdelava eCryptFS

In priklopite datotečni sistem (med prvim priklopom se ustvarijo vsi potrebni metapodatki):

$ sudo mount - t ecryptfs / home / rom / . skrivnost/doma/rom/skrivnost

Vprašani boste za geslo (samo enkrat, ponovni vnos ni izveden, kar ni videti zelo dobro dobra odločitev, glede na to, da mora biti dolg), potem bo vprašal za vrsto šifre (AES, Blowfish, 3DES, Twofish, CAST6 in CAST5), velikost ključa, postavljeno je vprašanje, ali dovoliti ali zavrniti nešifrirane datoteke v imeniku pri šifriranih, ali naj šifrira imena datotek ... in na koncu nas vpraša, ali res želimo priklopiti in shraniti podpis v določeno datoteko. Vprašanje ni tako neumno, kot se morda zdi na prvi pogled: v tej programski opremi, če ni podpisa, ni mogoče razlikovati pravilnega gesla od napačnega.

Šifriranje domačega imenika uporabnika

Med prvim zagonom boste morda morali prekiniti več procesov. Po šifriranju se morate takoj prijaviti kot uporabnik in pozvani boste, da zapišete ali natisnete geslo, ki je bilo ustvarjeno za šifriranje in zaščiteno z uporabniškim geslom. To je potrebno za okrevanje v nujnih primerih.


Opozorilo, da si zapomnite svoje geslo

Poglejmo, kako ga obnoviti. Predpostavimo, da geslo ni posneto in da je obnovitev z Live CD-ja. Predpostavlja se, da je datotečni sistem nameščen. Pojdite v imenik home/.ecryptfs/rom/.ecryptfs in vnesite ukaz:

dm-preveri
Modul dm-verify je namenjen preverjanju neoporečnosti blok naprav. Preverjanje se izvaja z uporabo zgoščenega drevesa, kjer so "listi" zgoščene vsote blokov, "veje" pa zgoščene vsote nizov "listov". Tako je za preverjanje blokovne naprave (ne glede na to, ali gre za particijo ali disk) dovolj, da preverite samo eno kontrolno vsoto.
Ta mehanizem (skupaj z digitalni podpis) se uporablja v nekaterih napravah Android za zaščito pred spreminjanjem sistemskih particij, pa tudi v OS Google Chromium.

ZAKLJUČEK
Linux dejansko vsebuje veliko orodij za kriptografsko zaščito informacij. Od treh opisanih orodij je vsaj eno prisotno v vseh sodobnih distribucijah Linuxa. Toda kaj izbrati?
dm-crypt/LUKS Uporabiti ga je treba v primerih, ko je mogoče hitro onemogočiti šifriran nosilec in ko varnostne kopije bodisi niso potrebne ali so drugače razvrščene. V tem primeru ta odločitev več kot učinkovito, še posebej glede na to, da je šifriranje možno izvajati v kaskadi poljubnega gnezdenja in vrste (na primer AES-Twofish-AES), - pravi raj
za paranoike.
eCryptFS primeren v primerih, ko morate nekam shraniti šifrirane podatke - na primer v oblak. Zagotavlja precej močno šifriranje (čeprav ima privzeta 128-bitna možnost možnost zmanjšanja kriptografske moči za dva bita) in je pregleden za končnega uporabnika.
EncFS ampak to je starec pred približno desetimi leti, ki temelji na še bolj starodavnih delih. Trenutno ni priporočljivo za uporabo zaradi morebitnih varnostnih lukenj, vendar se lahko uporablja kot orodje za več platform za zaščito neobčutljivih podatkov v oblaku.

Če morate uporabiti takšna sredstva, se morate vedno spomniti, da mora biti zaščita celovita.

Disk (a la TrueCrypt). Vem, da je bilo nekaj dela na dodajanju podpore za šifriranje v GRUB2, vendar še ni pripravljeno. Še kakšne druge možnosti?

(Upoštevajte, da tukaj dejansko mislim na celotno šifriranje diska, vključno z /boot)

Večina odgovorov opisuje nastavitev, kjer /boot ni šifriran, nekateri od njih pa poskušajo razložiti, zakaj bi moral biti nešifriran /boot v redu.

Ne da bi se spuščal v razpravo o tem, zakaj dejansko potrebujem šifriranje /boot, je tukaj članek, ki natančno opisuje, kaj potrebujem, na podlagi spremenjene različice GRUB2:

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

Težava je v tem, da se zdi, da te spremembe niso podprte v trenutni kodni bazi GRUB2 (ali pa morda nekaj pogrešam).

8 Rešitev zbira spletne obrazce za »Zagonske nalagalnike Linux, ki podpirajo polno šifriranje diska?«

Mislim, da trenutna različica GRUB2 ne podpira samostojnega nalaganja in dešifriranja particij LUKS (vsebuje nekaj šifer, vendar mislim, da se uporabljajo samo za podporo geslom). Ne morem preveriti veje eksperimentalnega razvoja, vendar je na strani GRUB nekaj namigov, da je načrtovano nekaj dela za implementacijo tega, kar želite narediti.

Posodobitev (2015) : Najnovejša različica GRUB2 (2.00) že vsebuje kodo za dostop do šifriranih particij LUKS in GELI. (Povezava xercestch.com, ki jo je zagotovil OP, omenja prve popravke za to, vendar so zdaj vključeni v najnovejšo različico).

Vendar, če poskušate šifrirati celoten pogon iz varnostnih razlogov, upoštevajte, da nešifriran zagonski nalagalnik (kot je TrueCrypt, BitLocker ali spremenjen GRUB) ne zagotavlja več zaščite kot nešifrirana particija /boot (kot je poudaril SP v zgornjem komentarju). Vsakdo, ki ima fizični dostop do računalnika, ga lahko prav tako enostavno zamenja z različico po meri. To je celo omenjeno v članku xercestech.com, ki ste ga povezali:

Da bo jasno, zaradi tega vaš sistem nikakor ni manj ranljiv za napade brez povezave; če bi napadalec zamenjal vaš zagonski nalagalnik s svojim ali preusmeril zagonski proces za nalaganje lastne kode, bi lahko bil vaš sistem še vedno ogrožen.

Upoštevajte, da so vsi programski izdelki za popolno šifriranje diski imajo to slabost, ne glede na to, ali uporabljajo nešifriran zagonski nalagalnik ali nešifrirano zagonsko/predzagonsko particijo. Tudi izdelke, ki podpirajo čipe TPM (Trusted Platform Module), kot je BitLocker, je mogoče implementirati brez spreminjanja strojne opreme.

Boljši pristop bi bil:

  1. dešifriranje na ravni BIOS-a (in matična plošča bodisi na adapterju diska ali zunanji strojni opremi [pametna kartica], z ali brez čipa TPM), oz
  2. imejte avtorizacijsko kodo PBA (v tem primeru /boot partition) (avtorizacija pred zagonom) na izmenljivi napravi (kot je pametna kartica ali pogon USB).

Če želite to narediti na drugi način, si lahko ogledate projekt Linux Full Disk Encryption (LFDE) na: http://lfde.org/, ki nudi skript po namestitvi za premik /boot particije na zunanji pogon USB, šifriranje ključa z GPG in shranjevanje na USB. Tako je šibki del zagonske poti (nešifrirana /zagonska particija) vedno z vami (edini boste imeli fizični dostop do kode in ključa za dešifriranje). ( Opomba: To spletno mesto je bilo izgubljeno in avtorjev blog je prav tako izginil, vendar lahko najdete stare datoteke na https://github.com/mv-code/lfde, pri čemer upoštevajte le, da je bil zadnji razvoj izveden pred 6 leti). Kot enostavnejšo alternativo lahko med namestitvijo operacijskega sistema namestite nešifrirano zagonsko particijo na pogon USB.

Lep pozdrav, M.V.

Naredite svoj prvi disk RAM in mapo /boot nešifrirano.

To bo prikazalo "minimalno" jedro z gonilniki in podporo za preklop na "pravi" koren datotečni sistem, ki je šifriran.

Preden izjavite, da gre za vdor, si zapomnite - večina (če ne vsi) Linux distribucije privzeto naložen danes. To izrecno omogoča vašemu sistemu zagon in nalaganje korenskega FS z uporabo modulov, ki jih je treba naložiti iz datotečnega sistema. (Nekakšen problem kokoši in jajca). Na primer, če je bil vaš korenski datotečni sistem na strojnem nosilcu RAID in ste morali naložiti njegov gonilnik, preden ste lahko namestili korenski FS.

Pogledal sem povezavo, ki ste jo objavili - čeprav ni zagonske particije, je na trdem disku še vedno nešifriran zagonski nalagalnik, do katerega je mogoče dostopati in ga ogroziti zlonamerni napad. Iskal sem podobno nastavitev, pri kateri na trdem disku ni nešifriranih podatkov, vendar sem do zdaj našel le zagon zagonskega nalagalnika z izmenljivega pogona.

Verjamem, da večina od njih potrebuje navodila, kako najprej namestiti operacijski sistem s šifriranim HD.

Ubuntu ima dobro stran z navodili, kako ustvariti šifrirane particije, LMVP, mape itd., samo vašo različico vaše distribucije ...

Ne, mislim, da ne.

Ali res potrebujete šifriranje/prenos? Sumim, da ne. Preostali del datotečnega sistema je mogoče šifrirati z običajno programsko opremo Linux, ki se nahaja v initramfs v /boot in uporabnika ustrezno pozove.

Zdi se, kot da zahtevate nekaj, kar ni mogoče narediti, in to primerjate s tem Windows rešitev, ki skriva izvajanje pred vami, vendar dejansko počne isto kot Linux.

Najbližja rešitev, ki se mi zdi, je uporaba HDD, ki izvaja zaščito z geslom in šifriranje. Nekateri prenosniki Thinkpad uporabljajo te rešitve strojne opreme.

Odgovor je naveden v članku. "To je zdaj mogoče z razširitvami naslednje generacije zagonskega nalagalnika GRUB2, ki je bil popravljen tako, da podpira ne samo" in "pozneje želimo namestiti novo sliko s podporo za luks grub2" in "Zdaj bomo prevedli izvor GRUB2 z LUKS podporo. »Zdi se, da obstaja hitri popravek ali razširitev, ki jo morate pridobiti in omogočiti z GRUB2 ali razcepljenim virom GRUB2.

Grub2 različica 2.02~beta3 zmore marsikaj, česar Grub2 različica 2.02~beta2 ne zmore, preizkusil sem jaz:

  1. Zagon z diskom Super Grub 2
  2. Vnesite "c", da odprete ukazno vrstico
  3. Vnesite ukaze za namestitev šifrirane particije, ki jo želim
    • insmod lux
    • cryptomount(hd0, #) // kjer # predstavlja šifrirano particijo
  4. Vnesite geslo in vnesite nekaj ukazov
    • multiboot (crypto0) /grub/i386-pc/core.img
    • čevelj

To bo naložilo drug Grub2, ki je znotraj šifrirane particije, zlobni nori napad tukaj nima mesta ... Zaženem se s CD-ja (samo za branje) in nato priklopim šifrirano particijo (ne gesla, karkoli!), nato se zaženem od znotraj šifrirano particijo in zagon Grub2 z lastnim menijem itd.

Opozorilo: Grub2 različica 2.02~beta2 ne more narediti enakega, ker ima nekaj napak (ki so videti odpravljene v Grub2 različici 2.02~beta3), povezanih z ukazom cryptomount...

beta2 napake, o katerih govorim, so:

  1. Pravzaprav ne priklopi šifrirane particije, zato vam ne dovoljuje dostopa do (crypto0)/*
  2. Če obstaja več kot ena šifrirana particija, uporaba cryptomount -a zahteva samo eno geslo
  3. Po zagonu cryptomount, ko se znova zažene, ne naredi ničesar

na beta 3:

  1. Priklopi šifrirano particijo in vam omogoča dostop do datotek prek (crypto0)/* ali (crypto1)/* itd., če je hkrati nameščenih več kot ena
  2. Zahteva vsako geslo (po eno na šifriran del)
  3. To vam omogoča, da ga zaženete tolikokrat, kot ga potrebujete, lahko namestite enega, nato drugega itd.

Dodatna opomba: Nisem ugotovil, kako jih odklopiti, razen ponovnega zagona ali zagona drugega ali istega zagonskega nalagalnika grub2/other itd.

Upajmo, da bo to pomagalo razjasniti stvari in upajmo, da bo različica Grub2 2.02~beta3 integrirana v LiveCD, da jo bomo lahko namestili, ne da bi jo morali sami prevesti.

PD: Z diskom Super Grub 2 ne vidim načina za namestitev Grub2 različice 2.02~beta3 na MBR particija/boot itd.

Ali želite svoje podatke skriti pred radovednimi očmi? Naučili vas bomo tehnik šifriranja trdega diska.

zadaj Lansko leto Tema varnosti internetnih podatkov se je pogosto pojavljala: najprej v povezavi s Snowdnovimi razkritji, nato z ranljivostjo v OpenSSL (Heartbleed bug). Malo pred zadnjim je bila odkrita manj opazna napaka v GnuTLS. Posledično smo začeli več pozornosti posvečati varnosti izbrisanih podatkov; kaj pa tisti, ki so shranjeni na našem disku?

Blokiraj sklad naprav

Preden pogledamo šifriranje, je pomembno razumeti, kako delujejo blokirne naprave. So sistemski vmesniki za naprave za shranjevanje, kot je /dev/sda! Znotraj blokovne naprave je gonilnik strojne opreme, kot je SATA, in sama strojna oprema. Operacijski sistem nato sodeluje z blokovno napravo, da na njej ustvari datotečni sistem.

V tej vlogi se običajno obravnavajo blokovne naprave, čeprav imajo druge funkcije. Predvsem je lahko takšna naprava vmesnik za številne druge blokovne naprave – lahko tvorijo sklad. In to ste že storili: imate datotečni sistem na /dev/sda1 (particija diska) in ta blok naprava kaže na /dev/sda (celoten disk).

Tehnologije, kot sta RAID in LVM (Logical Volume Management), so tudi skladi blokovnih naprav. Morda imate LVM na vrhu polje RAID, ki pa se nahaja tudi na blokovnih napravah posameznih diskov ali njihovih particij.

Šifriranje cele naprave z dm-crypt deluje takole: na podlagi vašega pomnilniškega medija se ustvari blokovna naprava, ki šifrira podatke pri shranjevanju in dešifrira pri branju. Nato namestite standardni datotečni sistem na vrh šifrirane naprave in deluje tako kot običajna diskovna particija.

Številne distribucije je mogoče namestiti na šifriran disk, vendar bomo pogledali neposredno izdelavo in delovanje naprav dm-crypt, ne da bi se dotaknili črne magije, ki jo izvaja namestitveni program. Dm-crypt uporablja podsistem za preslikavo naprav jedra za nadzor blokovnih naprav s kriptografskimi funkcijami jedra za namene šifriranja.

Vse naredi jedro, vendar na ravni uporabnika potrebujemo programsko opremo za ustvarjanje in upravljanje naprav dm-crypt; Všečkaj to standardno orodje pomeni cryptsetup. Verjetno je že nameščen v vaši distribuciji; in če ne, potem bo zagotovo v glavnih skladiščih.

Šifriranje

Privzete vrednosti so običajno več kot dovolj in vse razpoložljive možnosti si lahko ogledate s cryptsetup -help Te možnosti so potrebne samo z LuksFormat. Pri ustvarjanju varne naprave cryptsetup samodejno uporablja pravilne nastavitve da ga odprete.

Najbolje je, da se držite priljubljenih šifer in zgoščenih vrednosti, razen če imate boljši razlog, da izberete kaj drugega. Metode, ki se uporabljajo manj pogosto, imajo morda skrite pomanjkljivosti preprosto zato, ker so manj preizkušene, kar se je nedavno zgodilo z implementacijo zgoščevanja Whirlpool v knjižnici libcgrypt, ki jo uporablja cryptsetup. Pri popravkih so bili prizadeti tisti sistemi, ki so že uporabljali okvarjene zgoščene vrednosti.

Drugi razlog, da se držimo običajnih metod, je prenosljivost. Za notranji disk to ni pomembno, če pa želite šifrirani pogon uporabiti v drugem sistemu, morajo biti tam nameščeni enaki zgoščevalci in šifre.

LUKS

LUKS— Nastavitev poenotenega ključa Linuxa je bila ustvarjena za zagotavljanje standardnega formata za več platform (kljub imenu) za shranjevanje šifriranih podatkov na diske. Ne zadeva metod šifriranja, temveč način shranjevanja informacij o njih.

Je tudi več na zanesljiv način shranjevanje ključev ali gesel, saj je metoda dm-crypt dovzetna za vdore. Ker je LUKS večplatformski, lahko do šifriranih naprav dostopate tudi iz sistema Windows z uporabo .

Varnost in zasebnost sta zelo pomembni za tiste, ki v računalnik shranjujejo pomembne podatke. Vaš domači računalnik je varen, pri prenosniku ali drugih prenosnih napravah pa je situacija zelo drugačna. Če prenosnik nosite s seboj skoraj povsod in lahko do njega pridejo nepooblaščene osebe, se postavlja vprašanje - kako zaščititi svoje podatke pred vmešavanjem drugih ljudi. Je od fizičnih napadov, kjer si lahko vsak poskuša pridobiti podatke USB pomnilnik oz trdi disk prenosnik tako, da preprosto odstranite napravo ali v primeru prenosnika odstranite trdi disk in ga povežete z drugim operacijskim sistemom.

Mnoga podjetja in celo običajni uporabniki uporabite šifriranje diska v Linuxu za zaščito zaupnih informacij, kot so: informacije o odjemalcih, datoteke, Kontaktni podatki in veliko več. Operacijski sistem Linux podpira več kriptografskih metod za zaščito particij, posameznih imenikov ali celotnega trdega diska. Vsi podatki v kateri koli od teh metod so samodejno šifrirani in dešifrirani sproti.

Šifriranje na ravni datotečnega sistema:

  • 1. eCryptfs- to je kriptografska datoteka sistem Linux. Shranjuje kriptografske metapodatke za vsako datoteko v ločena datoteka, tako da je mogoče datoteke kopirati med računalniki. Datoteka bo uspešno dešifrirana, če imate ključ. Ta rešitev se pogosto uporablja za implementacijo šifriranega domačega imenika, na primer v Ubuntuju. Tudi ChromeOS pregledno vdela te algoritme, ko jih uporablja omrežne naprave za shranjevanje podatkov (NAS).
  • 2.EncFS- zagotavlja šifriran datotečni sistem v uporabniškem prostoru. Deluje brez dodatnih privilegijev in uporablja knjižnico varovalk in modul jedra za zagotavljanje vmesnika datotečnega sistema. EncFS je brezplačna programska oprema in je licencirana pod GPL.

Šifriranje blokov na ravni naprave:

  • Loop-AES- hiter in pregleden datotečni sistem ter paket za šifriranje izmenjalne particije v Linuxu. Izvorna koda programa že dolgo ni bila spremenjena. Deluje z jedri 4.x, 3.x, 2.2, 2.0.
  • TrueCrypt- To brezplačna rešitev z odprtim izvorna koda za šifriranje diska v operacijskih sobah Windows sistemi 7 / Vista / XP / Mac OS X, pa tudi Linux.
  • dm-crypt+LUKS- dm-crypt je pregleden podsistem za šifriranje diska v jedru 2.6 in novejšem. Podpira šifriranje celotnih diskov, izmenljivih medijev, particij, nosilcev RAID, programsko opremo, logični nosilci in datoteke.

V tej vadnici si bomo ogledali šifriranje trdega diska v sistemu Linux z uporabo algoritma Linux Unified Key Setup-on-disk-format (LUKS).

Kako deluje LUKS?

LUKS (Linux Unified Key Setup je protokol za šifriranje blokovne naprave. Vendar smo skočili daleč naprej, da bi razumeli, kako deluje, moramo razumeti druge tehnologije, ki se uporabljajo v tej metodi.

Za izvedbo šifriranja linux disk Uporabljen je jedrni modul dm-crypt. Ta modul vam omogoča, da ustvarite virtualno blokovno napravo v imeniku /dev/mapper s šifriranjem, ki je pregledno za datotečni sistem in uporabnika. Dejansko se vsi podatki nahajajo na šifrirani fizični particiji. Če uporabnik poskuša zapisati podatke v virtualno napravo, se ti sproti šifrirajo in zapišejo na disk, pri branju z virtualne naprave pa se izvede obratna operacija - podatki se dešifrirajo s fizičnega diska in se v obliki čistega besedila posredujejo prek virtualni disk uporabniku. Običajno se za šifriranje uporablja metoda AES, ker je večina optimiziranih zanjo. sodobni procesorji. Pomembno je omeniti, da lahko šifrirate ne samo particije in diske, ampak tudi navadne datoteke, tako da v njih ustvarite datotečni sistem in jih povežete kot napravo zanke.

Algoritem LUKS določa, katera dejanja in v kakšnem vrstnem redu bodo izvedena pri delu s šifriranimi mediji. Za delo z LUKS in modulom dm-crypt uporabite pripomoček Cryptsetup. O tem bomo še razmislili.

Pripomoček Cryptsetup

Pripomoček Cryptsetup bo olajšal šifriranje particije Linux z uporabo modula dm-crypt. Najprej ga namestimo.

V Debianu ali Ubuntuju uporabite ta ukaz:

apt-get namestitev cryptsetup

V distribucijah, ki temeljijo na Red Hatu, bo videti takole:

yum namestite cryptsetup-luks

Sintaksa za izvajanje ukaza je:

$ cryptsetup možnosti operacije options_operations

Oglejmo si osnovne operacije, ki jih je mogoče izvesti s tem pripomočkom:

  • luksFormat- ustvarite šifrirano particijo luks linux
  • luksOpen- povežite virtualno napravo (potreben ključek)
  • luksZapri- zaprite virtualno napravo luks linux
  • luksAddKey- dodajte šifrirni ključ
  • luksRemoveKey- izbrišite šifrirni ključ
  • luksUUID- pokaži UUID particije
  • luksDump- ustvarjati varnostno kopijo glave LUKS

Parametri operacije so odvisni od same operacije, običajno je bodisi fizična naprava, s katero je treba izvesti akcijo, ali virtualna naprava ali oboje. Ni še vse jasno, ampak z vajo, mislim, da boste ugotovili.

Linux šifriranje diska

Teorija je zaključena, vsa orodja so pripravljena. Zdaj pa si poglejmo šifriranje particije Linux. Preidimo na nastavitev trdega diska. Upoštevajte, da boste s tem izbrisali vse podatke iz pogona ali particije, ki jo boste šifrirali. Če so tam pomembni podatki, jih je bolje kopirati na bolj varno mesto.

Ustvarjanje razdelka

V tem primeru bomo šifrirali particijo /dev/sda6, vendar lahko namesto tega uporabite celoten trdi disk ali samo eno datoteko, napolnjeno z ničlami. Ustvarite šifrirano particijo:

cryptsetup -y -v luksFormat /dev/sda6

OPOZORILO!
========
To bo nepreklicno prepisalo podatke na /dev/sda6.

Ali si prepričan? (Vnesite velike črke da): DA
Vnesite geslo LUKS:
Preverite geslo:
Ukaz uspešen.

Ta ukaz bo inicializiral particijo ter nastavil inicializacijski ključ in geslo. Določite geslo, da ga pozneje ne pozabite.

Zaženite naslednji ukaz, da odprete novo ustvarjeno particijo z uporabo modula dm-crypt v /dev/mapper; za to boste morali vnesti geslo, s katerim je bilo izvedeno šifriranje luks linux:

Vnesite geslo za /dev/sda6

Zdaj lahko vidite novo virtualno napravo /dev/mapper/backup2, ustvarjeno z ukazom luksFormat:

ls -l /dev/mapper/backup2

Za ogled stanja naprave zaženite:

cryptsetup -v varnostna kopija stanja2

/dev/mapper/backup2 je aktiven.
tip: LUKS1
šifra: aes-cbc-essiv:sha256
velikost ključa: 256 bitov
naprava: /dev/sda6
odmik: 4096 sektorjev
velikost: 419426304 sektorjev
način: branje/pisanje
Ukaz uspešen.

In z naslednjim ukazom lahko naredite varnostno kopijo glav LUKS za vsak slučaj:

cryptsetup luksDump /dev/sda6

No, lahko rečemo, da je razdelek pripravljen. In najboljše pri tem je, da ga zdaj lahko uporabljate kot vsako drugo običajno particijo v imeniku /dev. Lahko ga formatirate s standardnimi pripomočki, vanj zapišete podatke, spremenite ali preverite datotečni sistem itd. Ne morete samo spremeniti velikosti. To pomeni, da je vse popolnoma transparentno, kot je navedeno na začetku članka.

Formatiranje particije

Najprej formatirajmo disk. Zaradi varnosti bomo našo šifrirano particijo linux prepisali z ničlami, da bi izbrisali vse podatke, ki so bili prej na tem mestu. To bo zmanjšalo verjetnost zloma šifriranja s povečanjem količine naključnih informacij. Če želite to narediti, zaženite:

dd if=/dev/zero of=/dev/mapper/backup2

Zagon pripomočka lahko traja več ur; če želite spremljati postopek, uporabite pv:

pv -tpreb /dev/nič | dd od=/dev/mapper/backup2 bs=128M

Ko je postopek končan, lahko napravo formatiramo v poljuben datotečni sistem. Na primer, oblikujmo ga v ext4:

mkfs.ext4 /dev/mapper/backup2

Kot lahko vidite, so vsi ukazi cryptsetup uporabljeni za fizično particijo, preostali ukazi za delo z diski pa za našo virtualno.

Montaža particije

Zdaj lahko namestite samo ustvarjeni datotečni sistem:

$ mount /dev/mapper/backup2 /backup2

Onemogočanje particije

Vse deluje, ampak kako onemogočiti napravo in zaščititi podatke. Če želite to narediti, zaženite:

cryptsetup luksZapri varnostno kopijo2

Ponovna montaža

Če želite znova delati s šifrirano particijo z LUKS Linuxom, jo ​​morate znova odpreti:

cryptsetup luksOpen /dev/sda6 backup2

Zdaj lahko montiramo:

mount /dev/mapper/backup2 /backup2

Preverite datotečni sistem luks

Ker po odprtju particije z luks linux sistem to particijo obravnava kot vse druge, lahko preprosto uporabite pripomoček fsck:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Spremenite geslo luks

Šifriranje diska Linux se izvaja z določenim geslom, vendar ga lahko spremenite. Še bolje, ustvarite lahko do osem različnih gesel. Za spremembo zaženite naslednje ukaze. Najprej varnostno kopirajmo glave LUKS:

cryptsetup luksDump /dev/sda6

Nato ustvarite nov ključ:

cryptsetup luksAddKey /dev/sda6

Vnesite poljubno geslo:

Vnesite novo geslo za režo za ključe:
Preverite geslo:

In izbriši staro:

cryptsetup luksRemoveKey /dev/sda6

Zdaj boste morali vnesti staro geslo.

zaključki

To je vse, zdaj veste, kako šifrirati particijo v Linuxu, in tudi razumete, kako vse deluje. Poleg tega šifriranje diska v Linuxu z uporabo algoritma LUKS odpira široke možnosti za popolno šifriranje nameščenega sistema.

Prednosti:

  • LUKS šifrira celotno blokovno napravo in je zato zelo primeren za zaščito vsebine prenosnih naprav, kot je npr. Mobilni telefon, izmenljivi mediji oz trdi diski prenosniki.
  • Za zaščito varnostnih kopij lahko uporabite NAS na strežnikih
  • Procesorji Intel in AMD z AES-NI (Advanced Encryption Standard) imajo nabor ukazov, ki lahko pospešijo postopek šifriranja na podlagi dm-crypt v jedru Linuxa od 2.6.32.
  • Deluje tudi z izmenjalno particijo, tako da lahko vaš prenosnik popolnoma varno uporablja način mirovanja ali mirovanje.