Windows.  Virus.  Anteckningsböcker.  Internet.  kontor.  Verktyg.  Förare

Idag har det blivit farligare än någonsin att lagra viktig data i det klara. Och inte ens så mycket på grund av statlig övervakning (om de vill hittar de något att klaga på, och så vidare), utan på grund av de som vill stjäla denna data. I princip finns det många metoder för att skydda information, men artikeln kommer att beskriva exakt kryptografiska verktyg.


Till skillnad från vissa andra operativsystem har Linux många verktyg för kryptografiskt skydd av information – från kryptering av e-postkorrespondens till kryptering av filer och blockenheter. Vi är intresserade av kryptering på nivå med filsystem, filer och blockenheter. Till att börja med är det värt att förstå vad skillnaden är. Kryptering på filsystemnivå involverar ett lager mellan de viktigaste filsystem(såvida inte själva filsystemet stöder kryptering) och användaren.

Fördel av denna typ kryptering - att nycklarna för alla användare är olika. Nackdelen är att om du aktiverar filnamnskryptering kommer längden på det giltiga namnet att minska, dessutom kan användaren spara filen på en annan plats på disken, vilket automatiskt jämnar ut fördelen. Och en sak till - även om namnkryptering är aktiverad kommer tidsstämplarna att förbli desamma. Kryptering av blockenheter sker på en lägre nivå, under filsystemet. Samtidigt vet filsystemet självt förstås inte att det ligger på en krypterad volym.

Fördelar den här metoden motsatsen till bristerna i den föregående. Nackdelen är att du måste ange ett lösenord varje gång du startar/monterar. Den andra nackdelen är att om en angripare under körning får tillgång till filer på krypto-
teiner, allt - skriv bortkastat. Detta är precis vad som skyddar mot offlineattacker. Dessutom, i de allra flesta fall av att spara en kryptocontainer till molnet, måste du ladda upp den helt igen.

Artikeln kommer att beskriva konfigurationen av följande kryptoskyddsmetoder:
dm-krypt/LUKS- skapande av en kryptocontainer med hjälp av device-mapper och CryptoAPI-kärna;
eCryptfs- Kryptering på filsystemsnivå;
EncFS- liknande ovan, men kräver inte laddning av kärnmoduler.

DM-CRYPT/LUKS
Det finns två typer av dm-crypt-inställningar - vanlig och LUKS. Skillnaden är att vid användning av LUKS finns det metadata i början av kryptovolymen som gör att du kan använda flera nycklar och ändra dem. Samtidigt är förekomsten av en sådan titel i vissa fall i sig kompromissande – dock i de flesta liknande fall kommer att vara ett kompromissande område med hög grad av entropi. Ställa in vanlig dm-crypt med en nyckelfil och en lösenordsfras Låt oss se hur man ställer in en kombination av en vanlig dm-crypt-volym krypterad med en nyckelfil i en LUKS-behållare. Till att börja med är det värt att bestämma hur exakt sektionerna ska placeras. Det finns tre huvudalternativ:
bara en kryptovolym;
först en kryptovolym, sedan LVM ovanpå den;
först kryptovolym, sedan RAID och sedan LVM.

Och alla möjliga kombinationer. Låt oss prova det andra alternativet. Först av allt, låt oss skapa en LUKS-behållare för att lagra nyckelfilen för att kunna använda den här filen tillsammans med lösenfrasen. I det här fallet reduceras sannolikheten för kryptoanalys av en volym krypterad med vanlig dm-crypt:

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

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

# cryptsetup luksÖppna /root/key.luks kryptonyckel

# dd om=/dev/urandom av=/dev/mapper/krypteringsnyckel

Det första kommandot förbereder containerfilen, det andra skapar denna container, det tredje ansluter, det fjärde genererar nyckelinformation. Det är värt att notera att alternativet --align-payload=1 behövs så att storleken på LUKS-metadata inte är 4096 512-byte block, utan bara 2056. Således återstår 512 byte för den faktiska nyckelinformationen.
Sedan fortsätter vi till skapandet av en kryptotom. Vid denna tidpunkt kan du valfritt fylla disken med pseudoslumpdata för att göra kryptoanalys svårare, om någon. Då kan du redan skapa en kryptotom. Kommandot för detta är följande (naturligtvis, i andra fall kan identifierarna skilja sig, så du måste vara försiktig):

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


Om det behövs, upprepa samma kommando på andra enheter som kräver kryptering. Sedan kommer vi att skapa LVM på kryptotomer och FS på det:

Låt oss skapa filen /etc/initramfs-tools/hooks/cryptokeys med följande innehåll (servicedelen av skriptet är utelämnad):

Och filen /etc/initramfs-tools/scripts/local-top/cryptokeys (servicedelen igen
eller utelämnad):

# <...>

modprobe -b dm_crypt

medan! (/sbin/cryptsetup luksÖppna /etc/crypto/key .luks kryptonyckel

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

&& /sbin/cryptsetup plainOpen -- nyckel - file=/dev/mapper/cryptokey

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

&& /sbin/cryptsetup luksStäng kryptonyckel

); do

echo "Försök igen . . . ”

Gjort

Dessa två filer måste vara körbara. Sedan skapar vi en initrd:

# update-initramfs -u -k all -v

Nästa gång du startar om kommer du att bli tillfrågad om ett lösenord för LUKS-behållaren. I fallet med att använda vanlig dm-crypt finns det en annan möjlighet - ett gemensamt bottenskikt, som låter dig göra något som TrueCrypt dolda volymer. Det är lättare att ge ett exempel:

# 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

Storleken och offset anges i 512-byte block.


Avancerade funktioner i LUKS
Låt oss också titta på de avancerade funktionerna för att använda LUKS-behållare. Dessa inkluderar att byta nycklar. Detta är nödvändigt när du kompromissar eller skapar en ny nyckelpolicy. Det första steget för att göra detta är att säkerhetskopiera behållarhuvudet. Jag faller
normalt, efter att ha bytt nyckel, kan den förstöras. Vi gör det, naturligtvis, på en okrypterad partition:

Lägg slutligen till en ny nyckel till systemet:

Överväg proceduren för att återställa LUKS-volymer. Det enklaste alternativet är förstås när det finns en kopia av rubriken. I det här fallet krävs bara ett kommando för att återställa:

Den längsta sammanhängande linjen kommer att vara huvudnyckeln. Den måste kopieras till en fil på en okrypterad volym och sedan konverteras till binär form (innan det bör du se till att i given fil det finns inga
radslutstecken):

ENCFS
Låt oss se hur du konfigurerar EncFS för att automatiskt monteras vid inloggning. Låt oss först installera de nödvändiga paketen:

När du ställer in i expertläge kommer en rad frågor att ställas: chiffertyp (endast AES och Blowfish är tillgängliga), nyckelstorlek, blockstorlek, hur man krypterar filnamn - blockchiffer (som helt döljer filnamnet, inklusive längden ), streaming (som krypterar med närmast möjliga längd, vilket ibland är bekvämt om namnen är för långa och när man använder ett blockchiffer är det ganska stor sannolikhet att överskrida den maximalt tillåtna längden) eller kommer att vara helt frånvarande ... Vid i slutet kommer ett lösenord att begäras, det måste matcha det som användes för att ange, annars fungerar inte automontering.

Därefter måste du redigera filen /etc/security/pam_encfs.conf:

Och filen /etc/fuse.conf:

Och lägg till användaren i säkringsgruppen:

$ sudo usermod -a -G säkring $USER

Efter utloggning-inloggning kan den privata katalogen användas som lagring av personuppgifter. Det är dock värt att notera att granskningen avslöjade några (ganska allvarliga) säkerhetsproblem, på grund av vilka detta system Det är starkt avskräckt att använda för att lagra riktigt viktig data.

ECRYPTFS
eCryptFS är känt för att användas av Ubuntu som standardverktyg för hemkatalogskydd. Låt oss se hur det fungerar - låt oss skapa en krypterad katalog manuellt. Installera paket:

Skapande av eCryptFS

Och montera FS (under den första monteringen skapas all nödvändig metadata):

$ sudo mount -t ecryptfs /home/rom/ . hemlighet/hem/rom/hemlighet

En lösenfras kommer att begäras (endast en gång, återinträde är inte implementerat, vilket inte ser särskilt bra ut bra beslut, med tanke på att den borde vara lång), kommer den att fråga efter typen av chiffer (AES, Blowfish, 3DES, Twofish, CAST6 och CAST5), nyckelstorlek, fråga om man vill tillåta eller neka okrypterade filer i katalogen med krypterade, om man ska kryptera filnamn ... och till sist kommer den att fråga om vi verkligen vill montera och spara signaturen till en specifik fil. Frågan är inte så dum som den kan tyckas först: i denna programvara, i avsaknad av en signatur, finns det inget sätt att skilja ett korrekt lösenord från ett felaktigt.

Kryptering av användarens hemkatalog

Under den första körningen kan du behöva avsluta flera processer. Efter kryptering måste du omedelbart logga in som användare, och du kommer att bli ombedd att skriva eller skriva ut lösenfrasen som genereras för kryptering och skyddas i sin tur av användarens lösenord. Detta är nödvändigt för återhämtning i händelse av en nödsituation.


Kom ihåg lösenfrasvarning

Låt oss se hur man återställer det. Låt oss anta att lösenfrasen inte är inspelad och återställningen kommer från en live-CD. Det antas att FS är monterad. Gå till katalogen home/.ecryptfs/rom/.ecryptfs och skriv kommandot:

dm-verifiera
Modulen dm-verify är utformad för att kontrollera integriteten hos blockenheter. Verifiering utförs med hjälp av ett hashträd, där "löv" är hashsummorna av block och "grenar" är hashsummorna av uppsättningar av "löv". För att verifiera en blockenhet (vare sig det är en partition eller en disk), räcker det alltså att kontrollera endast en kontrollsumma.
Denna mekanism (tillsammans med en digital signatur) används i vissa Android-enheter för att skydda mot modifiering systempartitioner, såväl som i Google Chromium OS.

SLUTSATS
Linux innehåller verkligen en hel del verktyg för kryptografiskt skydd av information. Av de tre beskrivna sätten finns åtminstone ett i alla moderna Linux-distributioner. Men vad ska man välja?
dm-krypt/LUKS bör användas i de fall där det är möjligt att snabbt inaktivera en krypterad volym och när säkerhetskopior antingen inte behövs eller på annat sätt är klassificerade. I detta fall detta beslut mer än effektivt, särskilt med tanke på att du kan kryptera i en kaskad av godtycklig häckning och typ (till exempel AES-Twofish-AES), - ett riktigt paradis
för den paranoida.
eCryptFS lämplig i de fall du behöver spara krypterad data någonstans - till exempel till molnet. Det ger ganska stark kryptering (även om standardvarianten på 128 bitar har potential att sänka säkerheten med två bitar) och är transparent för slutanvändaren.
EncFS men - en gammal man för ungefär ett decennium sedan, baserad på ännu äldre verk. Rekommenderas för närvarande inte för användning på grund av potentiella säkerhetshål, men kan användas som ett plattformsoberoende verktyg för att skydda okänslig data i molnen.

Om du behöver använda sådana verktyg bör du alltid komma ihåg att skyddet måste vara heltäckande.

Kom ihåg att författaren till det här arbetet talar om metoderna för att kryptera diskpartitioner som han själv använder.

linux

Denna manual använder Linux dm-krypt (enhetsmapper) på kärnan 2.6 . Vi kommer att kryptera avsnittet /dev/sdc1, det kan vara vilken partition, disk, USB eller fil som helst som skapats lossetup. Här kommer vi att använda /dev/loop0, se . enhetsmappare använder en etikett för att identifiera ett avsnitt, i detta exempel sdc1, men det kan vara vilken annan sträng som helst.

Kryptera diskpartitioner med LUKS

LUKS Med dm-krypt mycket bekvämt för att kryptera diskpartitioner, det låter dig ha flera lösenord för en partition och även enkelt ändra dem. För att kontrollera om du är tillgänglig att använda LUKS, typ: cryptsetup --hjälp om ungefär LUKS ingenting dök upp, läs nedan " dm-krypt utan LUKS". Skapa först en partition om det behövs fdisk /dev/sdc.

Hur man skapar en krypterad partition

# dd om=/dev/urandom av=/dev/sdc1 # Valfritt. Bara för paranoida# cryptsetup -y luksFormat /dev/sdc1 # Detta kommer att förstöra all data på sdc1 # cryptsetup luksOpen /dev/sdc1 sdc1 # mkfs.ext3 /dev/mapper/sdc1 # Ett filsystem kommer att skapas ext3 # mount -t ext3 /dev/mapper/sdc1 /mnt # umount /mnt # cryptsetup luksClose sdc1
montera
# cryptsetup luksOpen /dev/sdc1 sdc1 # mount -t ext3 /dev/mapper/sdc1 /mnt
Avmontera
# umount /mnt # cryptsetup luksStäng sdc1

dm-krypt utan LUKS

# cryptsetup -y skapa sdc1 /dev/sdc1 # Eller något annat avsnitt som /dev/loop0 # dmsetup ls # Kontrollera, kommer att visa: sdc1 (254, 0) # mkfs.ext3 /dev/mapper/sdc1 # Bara om det görs för första gången!# mount -t ext3 /dev/mapper/sdc1 /mnt # umount /mnt/ # cryptsetup ta bort sdc1 # Lossa krypterad partition Gör samma sak (utan att skapa fs) för att montera om partitionen. Om ett felaktigt lösenord skrivs in kommer monteringskommandot att misslyckas. I så fall är det bara att ta bort displayen sdc1 (cryptsetup ta bort sdc1) och skapa en ny.

FreeBSD

Ett par populära diskkrypteringsmoduler är gbde Och geli. Geli snabbare eftersom den använder hårdvaruacceleration. Se FreeBSD-handboken kapitel 18.6 för mer detaljerad beskrivning. För jobb, geli måste laddas som en kärnmodul eller byggas in i den vid kompilering. alternativ GEOM_ELI enhetskrypto # Eller ladda som en kärnmodul:# echo "geom_eli_load="JA"" >> /boot/loader.conf # Eller kldload geom_eli

Använd ett lösenord och nyckel

Författaren använder dessa inställningar för typisk partitionskryptering, han använder ett lösenord och en nyckel för att kryptera " huvudnyckel- huvudnyckel". För att montera den krypterade partitionen behöver du både ett lösenord och en nyckel /root/ad1.key. "huvudnyckel" lagras inuti partitionen och är osynlig. Följande exempel är typiskt för en USB- eller filbild.

Skapa en krypterad partition

# dd if=/dev/random of=/root/ad1.key bs=64 count=1 # Den här nyckeln krypterar huvudnyckeln# geli init -s 4096 -K /root/ad1.key /dev/ad1 # -s 8192 och OK för enheter# geli bifoga -k /root/ad1.key /dev/ad1 # DO skapar säkerhetskopiering/root/ad1.key# dd if=/dev/random of=/dev/ad1.eli bs=1m # Valfritt och tidskrävande # newfs /dev/ad1.eli # Skapa ett filsystem# montera /dev/ad1.eli /mnt # Montera krypterad partition
Bifoga
# geli bifoga -k /root/ad1.key /dev/ad1 # fsck -ny -t ffs /dev/ad1.eli # Om du är osäker, kontrollera filsystemet# montera /dev/ad1.eli /mnt
Lösgöra
Avmonteringsproceduren utförs automatiskt vid avstängning. # umount /mnt # geli loss /dev/ad1.eli
/etc/fstab
Monteringen av en krypterad partition kan konfigureras via /etc/fstab. Lösenordet kommer att begäras vid nedladdning. # grep geli /etc/rc.conf geli_devices="ad1" geli_ad1_flags="-k /root/ad1.key" # grep geli /etc/fstab /dev/ad1.eli /home/private ufs rw 0 0

Endast lösenord

Detta är ett mer lämpligt sätt att kryptera en flash-enhet eller en bild baserad på en fil, den ber bara om ett lösenord. I det här fallet du behöver inte oroa dig för nyckelfiler. Proceduren liknar den som beskrivs ovan, förutom att skapa nyckelfiler. Låt oss kryptera en 1 GB-bild skapad från en fil /krypterad fil. # dd om=/dev/noll av=/krypterad fil bs=1M count=1000 # Skapa en 1GB fil# mdconfig -at vnode -f /krypterad fil # geli init /dev/md0 # Kryptera endast med lösenord# geli attach /dev/md0 # newfs -U -m 0 /dev/md0.eli # mount /dev/md0.eli /mnt # umount /dev/md0.eli # geli lossa md0.eli Nu kan den här bilden monteras på en annan dator genom att helt enkelt ange ett lösenord. # mdconfig -at vnode -f /krypterad fil # geli bifoga /dev/md0 # montera /dev/md0.eli /mnt

: - Ryska

Aktiv sidutveckling slutförd

Om det finns något att tillägga, komplettera då avsnitten med ny information. Våra stavfel och fel i artikeln kan redigeras säkert, det finns ingen anledning att rapportera detta via e-post, vänligen observera styling denna sida och använd sektionsavskiljare (grå linjer av varierande tjocklek).

Datakryptering i Debian

Många tror att du inte behöver kryptera din data. Men i vardagen stöter vi ofta på sådana situationer som "en flash-enhet gick förlorad" eller "en bärbar dator överlämnades för reparation" etc. Om dina data är krypterade behöver du inte oroa dig för det alls: ingen kommer att publicera det på Internet eller använda det på något annat sätt.

Kryptering med cryptsetup

Installera nödvändiga komponenter:

# apt-get install cryptsetup

Standardsyntax

/dev/sda2. Låt oss ange kommandot:

# cryptsetup skapa sda2_crypt /dev/sda2

Detta kommando kommer att skapa en krypterad anslutning till vår disk. I katalog /dev/mapper en ny enhet kommer att visas med det namn vi begärde: /dev/mapper/sda2_crypt, åtkomst som vi använder krypterad diskåtkomst. I fallet med LUKS skulle namnet vara /dev/mapper/sda2_crypt

Om det redan fanns ett filsystem på disken och vi skulle vilja spara data på det, måste vi kryptera dem för efterföljande användning:

# dd if=/dev/sda2 av=/dev/mapper/sda2_crypt

Om en ny disk skapas på en tom partition kan du formatera den:

# mkfs.ext3 /dev/mapper/sda2_crypt

Senare kan du montera den här disken var som helst:

# montera /dev/mapper/sda2_crypt /path/to/mount/point

Kontrollera dataintegriteten (som vanligt, bäst att använda i omonterat tillstånd):

# fsck.ext3 /dev/mapper/sda2_crypt

Och till och med dekryptera tillbaka om vi inte vill använda kryptering längre:

# dd if=/dev/mapper/sda2_crypt of=/dev/sda2

LUKS syntax

Ovanstående steg kan utföras enligt LUKS-standarden

Vi initierar avsnittet:

cryptsetup luksFormat /dev/sda2

Vi ansluter till systemet:

cryptsetup luksOpen /dev/sda2 sda2_crypt

Formatering:

mkfs.ext4 -v -L DATA /dev/mapper/sda2_crypt

Vi monterar:

montera /dev/mapper/sda2_crypt /mnt/data

Avsnittet kan inaktiveras manuellt om systemet

cryptsetup luksStäng sda2_crypt

Anslutning vid start

Filen används för detta ändamål. krypttab.

För vår disk, skriv följande rad i den:

nano /etc/crypttab # namnmappare enhetsnyckel params/options # Standardsyntax sda2_crypt /dev/sda2 ingen aes-cbc-plain:sha256 # och/eller LUKS standard sda2_crypt /dev/sda2 ingen luks

Standard är att kryptera med ett lösenord som angetts av användaren. Således, varje gång du startar din dator kommer systemet att be dig varje gång om ett lösenord för att ansluta varje krypterad partition. Även om dessa avsnitt inte är registrerade i fstab.

Om vi ​​vill montera manuellt, lägg till alternativet bil i fältet "Inställningar/Alternativ".

Montering av en krypterad partition manuellt enligt data från /etc/crypttab

cryptdisks_start msda2_crypt

Och avstängning med förmonterad fs.

cryptdisks_stop sda2_crypt

För att automatiskt montera fs på den anslutna krypterade partitionen, lägg till en rad till /etc/fstab

/dev/mapper/sda2_crypt /mnt/data ext4 standardvärden 0 0

Jobbar med nycklar i LUKS

LUKS-sektionen stöder 8 olika nycklar, som var och en passar i sin egen plats.

Se listan över använda nycklar

cryptsetup luksDump /dev/sda2

2 typer av nycklar kan användas i LUKS - nyckelfraser och filer.

Du kan lägga till ett nyckelord

cryptsetup luksAddKey /dev/sda2

Kan Adda nyckelfil(2048 bitar) och ange åtkomsträttigheter till den.

dd if=/dev/urandom of=/root/ext2.key bs=512 count=4 cryptsetup luksAddKey /dev/sda2 /root/ext2.key chmod 400 /root/sda2.key cryptsetup -d /root/sda2.key luksÖppna /dev/sda2 sda2_crypt

För att ansluta vid start med nyckel, redigera /etc/crypttab

nano /etc/crypttab sda2_crypt /dev/sda2 /root/sda2.key luks

Du kan ta bort en lösenfras eller nyckel från ett avsnitt

cryptsetup luksKillSlot /dev/sda2 1

Nödmontering i "utländsk" distribution

Ingen är säker från problem och ibland behöver du komma åt en krypterad partition från en nödsituation LiveCD-skiva.

Vi startar, ansluter partitionen till systemet och monterar fs:

cryptsetup luksOpen /dev/sda2 sda2_crypt mount -t ext4 /dev/mapper/sda2_crypt /mnt/backup

Efter arbetet, avmontera fs och koppla bort den krypterade partitionen från systemet

umount /mnt/backup cryptsetup luksStäng sda2_crypt

Avstängningsfelmeddelanden

Om rotpartitionen är krypterad, kommer ett meddelande att visas vid avstängning

stoppa tidiga kryptodiskar... misslyckades

Detta är ett tekniskt fel. Vid avstängning demonteras alltid filsystemen först, och först därefter demonteras partitionen. Som ett resultat visar det sig att cryptsetup-verktyget som finns på den omonterade rotpartitionen inte längre är tillgängligt för lansering, vilket INIT berättar om. Utan kryckor kan detta problem inte lösas, eftersom. för detta måste du överväga alternativ med att överföra cryptsetup till en RAM-disk

En liknande situation uppstår när du använder en mjukvaru-RAID som innehåller en rotpartition. 8)

Kryptering med loop-aes-modulen

Kryptering av en hårddiskpartition, flash-enhet med ett lösenord

I denna hur krypteringsmetod som beskrivs AES256, andra metoder kan tillämpas på liknande sätt (ersätter namnet på metoden med den lämpliga). Vi behöver följande paket:

# apt-get install loop-aes-utils loop-aes-modules-`uname -r`

Notera: om du använder en kärna för vilken de nödvändiga loop-aes-modulerna inte finns i förvaret, kan du installera modulerna med följande kommandon:

# apt-get install module-assistant loop-aes-source # modul-assistant a-i loop-aes

Första stadiet

inledande skede vi förbereder disken för att arbeta med den med kryptering.

Låt oss välja partitionen på disken (eller flashenheten) som vi vill kryptera, till exempel kommer det att bli det /dev/sda2. Låt oss ange kommandot:

# lossetup -e AES256 -T /dev/loop0 /dev/sda2

Efter att ha utfört detta kommando kommer alla anrop till enheten /dev/loop0 kommer att krypteras och krypteras och omdirigeras till enheten /dev/sda2. Nu har vi både krypterade och okrypterade kanaler till lagringsenheten. Data krypteras med lösenordet du angav när du körde lossetup.

Nu kan vi till exempel formatera enheten:

# mkfs.ext3 /dev/loop0

Vi kan montera den:

# mount /dev/loop0 /path/to/mount

vi kan inaktivera kryptering:

# lostup -d /dev/loop0

och viktigast av allt, vi kan kryptera partitionen utan dataförlust:

# dd om=/dev/sda2 av=/dev/loop0

och även dekryptera om vi beslutar att kryptering inte är vår metod:

# dd if=/dev/loop0 av=/dev/sda2

Tja, det bästa är att vi kan kontrollera filsystemets integritet:

# fsck.ext3 /dev/loop0

Den här funktionen är inte tillgänglig i alla partitionskrypteringsmetoder.

Vardagsbruk

Om du redan hade en sektionsinlägg /dev/sda2 i din /etc/fstab, då behöver du bara lägga till alternativ, och om inte, skriv något så här:

/dev/sda2 /path/to/mount ext3 loop,kryptering=AES256 0 0

Nu när du laddar operativ system du kommer att bli tillfrågad om ett lösenord för att montera.

Om du inte vill att nedladdningsprocessen ska avbrytas av en lösenordsbegäran kan du lägga till alternativ bil,användare på rekord /etc/fstab:

/dev/sda2 /sökväg/till/montera ext3 loop,kryptering=AES256,noauto,användare 0 0

Naturligtvis kan du montera manuellt (eller från ett skript):

# mount /dev/sda2 /path/to/mount -o loop,kryptering=AES256

Montering av flera filsystem

Ibland vill man kryptera flera sektioner med data samtidigt, men för att inte ange ett hav av lösenord för varje montera. Du har till exempel en flash-enhet som du bär hemifrån till jobbet, en bärbar hårddisk osv. Eller bara några partitioner/hårddiskar.

Låt oss säga att vi har en krypterad partition /dev/sda2, som vi monterar till katalogen varje gång vi startar /mnt1. Dök upp ny hårddisk /dev/sdb1 och vi vill att den ska monteras automatiskt i katalogen mnt2 vid montering av den första. Du kan självklart skapa gemensamt system på något liknande LVM, men du kan gå den enklare vägen:

föreskriva i fstab som följande rad:

/dev/sda2 /mnt1 ext3 noatime,exec,loop,kryptering=AES256 0 0

Systemet, vid start, monterar punkterna i samma ordning som beskrivs i fstab, så om den första partitionen inte är monterad förblir nyckeln för att montera den andra partitionen otillgänglig och den andra partitionen kommer inte heller att monteras.

Lösenordet lagras som oformatterad text detta är verkligen inte särskilt vackert, men det lagras på en krypterad partition (som kan avmonteras). Du kan använda istället gpg-nyckel, detta kommer dock inte att tillföra mycket säkerhet (om de redan kan stjäla nyckeln kommer det inte att göra så stor skillnad vad denna nyckel kommer att vara), krypteringsalternativ med gpg-nyckel som beskrivs i man förlorar, här ska jag bara ge ett exempel på inspelning i fstab:

/dev/sda2 /mnt1 ext3 noatime,exec,loop,kryptering=AES256 0 0

Anteckningar

För mer information om krypteringsalgoritmer som stöds, se man förlorar, kan du även se en beskrivning av andra programalternativ lossetup.

Om du har problem med att installera AES-moduler, läs då dokumentationen som medföljer paketet loop-aes-källa.

GRUB och krypterad rotdisk

När du installerar en rotpartition på en krypterad disk kan GRUB visa buggar i huvudmenyn. Detta händer eftersom standardteckensnittet /usr/share/grub/unicode.pf2 inte är tillgängligt. Kopiera teckensnittet

cp /usr/share/grub/unicode.pf2 /boot/grub/

Ange inställningen

nano /etc/default/grub GRUB_FONT=/boot/grub/unicode.pf2

Använder inställningen:

update-grub
Författare: Nitish Tiwari
Publiceringsdatum: 4 februari 2015
Översättning: N.Romodanov
Överföringsdatum: mars 2015

TrueCrypt underhålls inte längre, men dm-crypt och LUKS är ett bra alternativ med öppen källkod. källkod, som låter dig kryptera och använda krypterad data.

Datasäkerhet har blivit ett av de största problemen bland internetanvändare. Nyheter om datastöld från webbplatser har blivit mycket vanliga, men att skydda din data är inte bara webbplatsernas ansvar, det finns mycket som vi som slutanvändare kan göra för vår egen säkerhet. Till exempel är bara några exempel att använda starka lösenord, kryptera hårddiskarna som finns på våra datorer och använda säkra anslutningar. I synnerhet kryptering hårddiskär på ett bra sätt säkerhet - det kommer inte bara att skydda dig från trojaner som försöker stjäla dina data över nätverket, utan också från fysiska attacker.

I maj i år, utvecklingen av TrueCrypt-applikationen, känd verktyg programvara med öppen källkod för diskkryptering. Som många av er vet var det ett av de mycket pålitliga verktygen för att kryptera enheter. Det är tråkigt att se ett verktyg av den här kalibern försvinna, men sådan är storheten med open source-världen att det finns flera andra open source-verktyg som kan hjälpa dig att uppnå säkerhet med diskkryptering, som också har en hel del konfigurationsinställningar. Vi kommer att betrakta två av dem - dm-crypt och LUKS - som TrueCrypt-alternativ för Linux-plattformen. Låt oss börja med en snabb titt på dm-crypt och sedan LUKS.

Detta är grundläggande information om en enhet som använder LUKS, som anger vilken kryptering som används, krypteringsläget, hashalgoritmen och annan kryptografisk data.

Resurser

Steg 01: Med tanke på Dm-krypt

Namnet på applikationen dm-crypt är en förkortning för device mapper-crypt (kryptera när man mappar en enhet). Som namnet antyder är den baserad på ett ramverk för enhetskartläggning. Linux-kärnor, designad för att mappa blockenheter till virtuella blockenheter på högre nivå. När du kartlägger enheter kan du använda flera kärnfunktioner, såsom dm-cache (skapar hybridvolymer), dm-verity (designad för att kontrollera integriteten hos block, är en del av Chrome OS) och även den mycket populära Docker. För kryptografiska ändamål använder dm-crypt Linux Kernel Crypto API-ramverket.

Så, för att sammanfatta, är dm-crypt-applikationen ett krypteringsundersystem på kärnnivå som erbjuder transparent diskkryptering: detta betyder att filerna är tillgängliga direkt efter att disken har monterats - det finns ingen synlig fördröjning för slutanvändaren. För att kryptera med dm-crypt kan du helt enkelt ange ett av de symmetriska chiffrarna, chifferläget, nyckeln (vilken storlek som helst), IV-genereringsläget och sedan skapa en ny blockenhet i /dev. Nu, när du skriver till den här enheten, kommer kryptering att ske, och när den läses kommer den att dekrypteras. Du kan montera ett filsystem på den här enheten som vanligt, eller så kan du använda dm-crypt-enheten för att skapa andra konstruktioner som en RAID- eller LVM-volym. Mappningstabellen för dm-crypt är inställd enligt följande:

Här är värdet för start-sektor vanligtvis 0, värdet på storlek är storleken på enheten i sektorer, och målnamnet är det namn du vill ge den krypterade enheten. Målmappningstabellen består av följande avsnitt:

[<#opt_params> ]

Steg 02: Med tanke på LUKS

Som vi såg i föregående steg kan dm-crypt-applikationen kryptera/dekryptera data på egen hand. Men det har några nackdelar - om du använder dm-crypt direkt kommer det inte att skapa metadata på disken, och detta kan vara ett stort problem om du vill säkerställa kompatibilitet mellan olika Linux-distributioner. Applikationen dm-crypt stöder inte heller användningen av flera nycklar, medan det i verkligheten är mycket viktigt att använda flera nycklar.

Det är av dessa skäl som metoden LUKS (Linux Unified Key Setup) föddes. LUKS är Linux-krypteringsstandarden. hårddiskar och standardisering möjliggör interoperabilitet mellan olika distributioner. Flera nycklar och lösenfraser stöds också. Som en del av denna standardisering läggs en LUKS-header till den krypterade datan, och denna header innehåller all information som behövs för konfigurering. När det finns en sådan rubrik med data kan användare enkelt byta till vilken annan distribution som helst. Projektet dm-crypt rekommenderar för närvarande att använda LUKS som det föredragna sättet att ställa in diskkryptering. Låt oss titta på hur man installerar verktyget cryptsetup och hur man använder det för att skapa LUKS-baserade volymer.

Steg 03: Installation

Funktionaliteten på kärnnivå som dm-crypt använder är redan tillgänglig i alla Linux-distributioner; vi behöver bara ett gränssnitt till dem. Vi kommer att använda verktyget cryptsetup, som låter dig skapa volymer med dm-crypt, LUKS-standarden och den gamla goda TrueCrypt-applikationen. För att installera cryptsetup på Debian/Ubuntu-distributioner kan du använda följande kommandon:

$ sudo apt-get uppdatering$ sudo apt-get install cryptsetup

Det första kommandot synkroniserar raketindexfiler med innehållet i deras förråd: det får information om senaste versionerna alla tillgängliga paket. Det andra kommandot kommer att ladda ner och installera cryptsetup-paketet på din dator. Om du använder RHEL/Fedora/CentOS-distributionen kan du använda kommandot yum för att installera verktyget cryptsetup.

$ yum installera cryptsetup-luks

Steg 04: Skapa en målfil

Nu när cryptsetup-verktyget har installerats, måste vi skapa en målfil som kommer att hålla LUKS-behållaren. Även om det finns många sätt att skapa en sådan fil, måste ett antal villkor uppfyllas när du skapar den:

  • Filen bör inte bestå av flera delar som finns på olika platser på disken, det vill säga när du skapar den bör du omedelbart tilldela en tillräcklig mängd minne för den.
  • Hela filen måste fyllas med slumpmässiga data så att ingen kan säga var data som används vid kryptering kommer att finnas.

När du skapar en fil som uppfyller ovanstående villkor kan kommandot dd hjälpa oss, även om det kommer att fungera relativt långsamt. Använd den bara med den speciella enhetsfilen /dev/random som anges som indata och målfilen som ska anges som utdata. Ett exempelkommando ser ut så här:

$ dd if=/dev/random of=/home/nitish/basefile bs=1M count=128

Detta kommer att skapa en 128 MB fil som heter basefile i katalogen /home/nitish. Observera dock att det här kommandot kan ta lång tid att slutföra; i systemet som vår expert använde tog det en timme.

Steg 05: Skapa dm-crypt LUKS

Efter att du har skapat målfilen måste du skapa en LUKS-sektion i den här filen. Det här avsnittet fungerar som basskiktet på vilket all datakryptering är uppbyggd. Dessutom innehåller rubriken i detta avsnitt (LUKS-huvudet) all information som krävs för kompatibilitet med andra enheter. För att skapa en LUKS-partition, använd kommandot cryptsetup:

$ cryptsetup -y luksFormat /home/nitish/basefile

Efter att du samtyckt till att data inuti basfilen kommer att raderas permanent, skriv in lösenfrasen och bekräfta den, kommer LUKS-partitionen att skapas. Du kan kontrollera detta med följande filkommando:

$filbasfil

Observera att frasen du anger här kommer att användas för att dekryptera data. Det är mycket viktigt att memorera det och lagra det på ett säkert ställe, för om du glömmer det kommer du nästan säkert att förlora all data på den krypterade partitionen.

Steg 06: Skapa och montera ett filsystem

LUKS-behållaren vi skapade i föregående steg är nu tillgänglig som en fil. I vårt exempel är detta /home/nitish/basefile. Verktyget cryptsetup låter dig öppna en LUKS-behållare som en oberoende enhet. För att göra detta, mappa först behållarfilen till enhetsnamnet och montera sedan enheten. Displaykommandot ser ut så här:

När du har angett lösenordsfras skapat i föregående steg kommer LUKS-behållaren att mappas till volym1. Vad som faktiskt händer är att filen öppnas som en lokal loopback-enhet, så att resten av systemet nu kan behandla filen som om den vore en riktig enhet.

Steg 07: Filsystem - fortsättning

LUKS-behållarfilen är nu tillgänglig på systemet som en vanlig enhet. Innan vi kan använda den för normala operationer måste vi formatera den och skapa ett filsystem på den. Du kan använda vilket filsystem som helst som stöds på ditt system. I mitt exempel använde vi ext4 eftersom det är det senaste filsystemet för Linux-system.

$ mkfs.ext4 -j /dev/mapper/volym1

När enheten väl har formaterats är nästa steg att montera den. Du måste först skapa en monteringspunkt, helst i /mnt (sunt förnuft).

$ mkdir /mnt/filer

Nu monterar vi:

För att krysskontrollera, använd kommandot df –h - du kommer att se enheten "/dev/mapper/volume1" i slutet av listan över monterade enheter. Det kan ses att LUKS-huvudet redan upptar en del utrymme i enheten.

Tack vare detta steg kan du nu använda en LUKS-enhet med ett ext4-filsystem. Använd bara den här fillagringsenheten - allt du skriver till den här enheten kommer att krypteras, och allt du läser från den kommer att dekrypteras och visas för dig.

Steg 08: Använda en krypterad disk

Vi har följt flera steg för att uppnå detta resultat, och om du inte är så tydlig med hur det hela fungerar, kommer du troligen att bli förvirrad över vad som behöver göras endast en gång (krävs för installation), och det bör göras regelbundet när du använder kryptering. Låt oss överväga följande scenario: du slutförde alla steg ovan och stängde sedan av datorn. Nästa dag, när du startar din dator, kan du inte hitta den monterade enheten - vart tog den vägen? För att hantera allt detta måste du komma ihåg att efter att du har startat systemet måste du montera LUKS-behållaren och avmontera den innan du stoppar datorn.

För att komma åt LUKS-filen, varje gång du slår på din dator, följ dessa steg och stänger sedan filen på ett säkert sätt innan du stänger av din dator:

Öppna LUKS-filen (dvs. /home/nitish/basefile) och ange lösenordet. Kommandot ser ut så här:

$ cryptsetup luksOpen /home/nitish/basefile volume1

När filen är öppen, montera den (om den inte monteras automatiskt):

$ montera /dev/mapper/volume1 /mnt/filer

Nu kan du använda den monterade enheten som en vanlig disk och läsa från eller skriva data till den.

När du är klar, avmontera enheten så här:

$ umount /mnt/filer

Efter framgångsrik avmontering, stäng LUKS-filen:

$ cryptsetup luksStäng volym1

Steg 09: Säkerhetskopiering

De flesta förluster av data som lagras i en LUKS-behållare beror på korruption av LUKS-huvudet eller nyckelplatserna. Förutom det faktum att LUKS-rubriker kan skadas även på grund av oavsiktlig överskrivning i huvudminnet, i verkliga förhållanden Det är också möjligt att hårddisken misslyckas helt. Det bästa sättet att skydda sig mot sådana problem är säkerhetskopiering. Låt oss se vilka säkerhetskopieringsalternativ som finns tillgängliga.

För att säkerhetskopiera LUKS-huvudfilen, ange parametern luksHeaderBackup i kommandot:

$ sudo cryptsetup luksHeaderBackup /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Eller, om du vill återställa en fil från en säkerhetskopia, ange parametern luksHeaderRestore i kommandot:

$ sudo cryptsetup luksHeaderRestore /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Du kan använda parametern isLuks för att söka efter en LUKS-huvudfil och verifiera att filen du har att göra med motsvarar en verklig LUKS-enhet.

$ sudo cryptsetup -v isLuks /home/nitish/basefile

Vi har redan sett hur man säkerhetskopierar LUKS header-filer, men att säkerhetskopiera en LUKS header skyddar inte riktigt mot ett totalt diskfel, så du måste säkerhetskopiera hela partitionen med följande cat-kommando:

$ cat /home/nitish/basefile > basefile.img

Steg 10: Olika inställningar

Det finns några andra inställningar som kan vara användbara när du använder dm-crypt LUKS-kryptering. Låt oss ta en titt på dem.

För att dumpa LUKS-huvudet har kommandot cryptsetup alternativet luksDump. Det låter dig ta en ögonblicksbild av LUKS-huvudfilen för enheten du använder. Ett exempelkommando ser ut så här:

$ cryptsetup luksDump /home/nitish/basefile

I början av den här artikeln nämnde vi att LUKS stöder flera nycklar. Låt oss se detta i aktion nu genom att lägga till en ny nyckelfack ( not per.: nyckelfack - nyckelfärdig plats):

$ cryptsetup luksAddKey --Key-slot 1 /home/nitish/basefile

Detta kommando lägger till en nyckel till nyckelfack nummer 1, men först efter att du har skrivit in det aktuella lösenordet (nyckeln som finns i nyckelfack 0). Det finns totalt åtta nyckelplatser, och du kan dekryptera data med vilken nyckel som helst. Om du dumpar rubriken efter att ha lagt till den andra nyckeln, kommer du att se att den andra nyckelplatsen är upptagen.

Du kan ta bort nyckelfack så här:

$ cryptsetup luksRemoveKey /home/nitish/basefile

Detta kommer att ta bort nyckelfacket med det högsta facknumret. Var noga med att inte radera alla platser, annars kommer din data att gå förlorad permanent.

Kryptering av hemkatalogen ger tillförlitligt skydd av data som lagras på en hårddisk eller andra media. Kryptering är särskilt relevant på bärbara datorer, datorer med fleråtkomst och i alla andra miljöer. Hemkatalogkryptering erbjuds när du installerar Linux Mint.

Den främsta haken in fullständig kryptering hemkatalogen är att du måste "flytta" katalogen med krypterad data utanför monteringspunkten.

Prestanda sjunker något, åtminstone inte ännu med SWAP. SWAP är en speciell diskpartition eller fil där operativsystemet flyttar enskilda block av RAM-minne när det inte finns tillräckligt med RAM-minne för att köra applikationer. SWAP är också krypterad om du väljer att kryptera din hemkatalog i installationsprogrammet, och viloläget slutar fungera.

Kryptera inte SWAP med en krypterad hemkatalog - potentiellt farligt, eftersom det kan finnas data från krypterade filer i klartext - hela poängen med krypteringen går förlorad. Från och med version 14 av Linux Mint är det under installationen möjligt att välja alternativet att kryptera hela disken. Det här alternativet är mest lämpligt för att lagra personliga data på bärbara enheter (som vanligtvis bara har en användare).

1.3 Kryptering i gnome - Seahorse

Linux Mint har ett inbyggt verktyg som heter "Lösenord och nycklar" eller Seahorse. Genom att använda dess funktioner kan användaren arbeta med alla nycklar, lösenord och certifikat som finns tillgängliga i detta operativsystem.

I huvudsak är Seahorse en applikation för GNOME (GNOME är en gratis skrivbordsmiljö för Unix-liknande operativsystem), som är en front-end till GnuPG (ett gratis program för informationskryptering och skapande av digitala signaturer) och är designat för att hantera kryptering nycklar och lösenord. Kom för att ersätta GNOME-nyckelringen, som ersattes helt i GNOME 2.22, även om den tillkännagavs redan i GNOME 2.18. Låter dig utföra alla operationer som du tidigare behövde göra på kommandoraden och kombinera dem under ett enda gränssnitt:

    hantera din säkerhet arbetsmiljö och OpenPGP och SSH-nycklar;

    kryptera, expandera och verifiera filer och text;

    lägg till och kontrollera digitala signaturer till dokument;

    synkronisera nycklar med nyckelservrar;

    skapa och publicera nycklar;

    reservera nyckelinformation;

    lägg till bilder i valfri GDK som stöds som ett OpenGPG foto-ID;

1.4 TrueCrypt

TrueCrypt har ett ganska användarvänligt grafiskt gränssnitt, men tyvärr har utvecklarna integrerat med Nautilus filhanterare i koden.

Olika metoder kan användas för att kryptera data.

Först måste du skapa en så kallad container, som kommer att innehålla filmappar avsedda för kryptering. En behållare kan vara en fil med ett godtyckligt namn eller till och med en hel diskpartition. För att komma åt behållaren måste du ange ett lösenord, och du kan också skapa en nyckelfil (valfritt) som kommer att användas för att kryptera information. Behållaren är begränsad.

Skapa krypterade partitioner/filer

Skapa en nyckelfil:

truecrypt -create-keyfile /home/user/test/file , där fil är namnet på nyckelfilen.

Skapa en behållare, i det här fallet ett avsnitt:

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

Istället för /dev/sda9-partitionen är det fullt möjligt att specificera en fil, till exempel /home/user/test/cryptofile, men i det här fallet kommer det att vara nödvändigt att specificera dess storlek, detta görs med -size= 5G-parametern före parametern -c. Detta exempel kommer att skapa en 5 GB kryptofil. Ibland accepterar TrueCrypt storleken endast i byte, för 5 GB kan du antingen beräkna värdet i förväg och specificera -size=5368709120, eller skriva det så här: -size=`echo 1024^3*5 | bc`.

En redan gjord nyckelfil kommer att användas för kryptering.

När du skapar kommer du att bli ombedd att välja typ av behållare (normal / dold), filsystem (FAT, ext2 / 3/4 eller utan FS), i det här exemplet valdes läget utan att använda FS. Du kommer också att erbjudas ett val av krypteringsalgoritm (till exempel AES), samt en hashalgoritm (till exempel SHA-1) för kryptering av dataströmmar.

TrueCrypt används för att kryptera data i farten, det vill säga genom att montera behållaren kan du arbeta med filerna i den som vanligt (öppna/redigera/stäng/skapa/ta bort), vilket är väldigt bekvämt.

En krypterad partition/fil har skapats. Om du nu behöver formatera dess interna filsystem (nedan kallat FS) till önskat, bör du göra följande.

Välj önskad partition med Truecrypt:

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

Som standard kommer den skapade Truecrypt-enheten /dev/mapper/truecrypt0 att användas. Genom att komma åt den här enheten kan du ändra till exempel filsystemet i en krypterad behållare. I det här fallet måste det göras.

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

Genom detta gjordes ext4 FS inuti denna krypterade behållare.

Dessutom, eftersom den här behållaren redan är "ansluten" till /dev/mapper/truecrypt0-enheten, återstår det att helt enkelt montera den till någon katalog. Denna monteringskatalog måste redan finnas på systemet.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, där /mnt/crypto är katalogen till vilken den krypterade behållaren är monterad.

truecrypt -d

Nu, utan att känna till nyckelfilen och lösenordet, kan ingen läsa den dolda informationen.

Om du upptäcker ett fel, välj en textbit och tryck på Ctrl + Retur
DELA MED SIG: