GNU/Linux >> Znalost Linux >  >> Debian

Jak šifrovat adresáře/oddíly pomocí eCryptfs na Debian Squeeze

eCryptfs je skládaný kryptografický souborový systém podnikové třídy pro Linux kompatibilní s POSIX. Můžete jej použít k šifrování oddílů a také adresářů, které nepoužívají vlastní oddíl, bez ohledu na základní souborový systém, typ oddílu atd. Tento tutoriál ukazuje, jak používat eCryptfs k šifrování adresáře v Debian Squeeze.

Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 předběžná poznámka

V tomto tutoriálu zašifruji svůj domovský adresář /home/falko/, který se nachází na oddílu / (tj. /home/falko/ je obyčejný adresář a nepoužívá vlastní oddíl).

2 Instalace eCryptfs

eCryptfs lze snadno nainstalovat následovně:

apt-get install ecryptfs-utils

3 Šifrování adresáře

Nyní zašifruji svůj domovský adresář /home/falko/. Protože v tomto adresáři již jsou (nešifrované) soubory, musím si je udělat zálohu, abych je mohl později obnovit do tehdy zašifrovaného adresáře /home/falko/ (jinak tyto soubory nelze přistupovat/číst, když je adresář zašifrované):

cp -pfr /home/falko/ /tmp/

Nyní mohu zašifrovat adresář /home/falko/ jeho připojením pomocí souborového systému typu ecryptfs:

mount -t ecryptfs /home/falko /home/falko

Když to uděláte poprvé, budete muset odpovědět na několik otázek:

[email protected]:~# mount -t ecryptfs /home/falko /home/falko
Přístupové heslo: <-- some_passphrase
Vyberte šifru:
 1) aes: velikost bloku = 16; min velikost klíče = 16; max keysize = 32 (nenačteno)
 2) blowfish: blocksize = 16; min velikost klíče = 16; max keysize = 56 (nenačteno)
 3) des3_ede: blocksize = 8; minimální velikost klíče = 24; max keysize = 24 (nenačteno)
 4) twofish: blocksize = 16; min velikost klíče = 16; max keysize = 32 (nenačteno)
 5) cast6: bloksize = 16; min velikost klíče = 16; max keysize = 32 (nenačteno)
 6) cast5: bloksize = 8; min velikost klíče = 5; max keysize = 16 (nenačteno)
Výběr [aes]: <-- ENTER
Vyberte bajty klíče:
 1) 16
 2) 32
 3) 24
Výběr [16]: <-- ENTER
Povolit průchozí prostý text (y/n) [n]: <-- ENTER
Povolit šifrování názvů souboru (y/n) [n]: <-- ENTER
Pokus o připojení pomocí následujících možností:
  ecryptfs_unlink_sigs
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig/8daRNbthec Basedon /8 330099c Based obsah [/root/.ecryptfs/sig-cache.txt],
vypadá , jako byste s tímto klíčem
nikdy nepřipojili. To může značit , že jste zadali svou 
přístupovou frázi špatně.

Chcete pokračovat s připojením (ano/ne)? : <-- yes
Chcete připojit sig [bd28c38da9fc938b] k 
[/root/.ecryptfs/sig-cache.txt]
abyste se tomuto varování v budoucnu vyhnuli Ano ne)? : <-- yes
Úspěšně připojeno nové sig do souboru sig mezipaměti uživatele
Připojené eCryptfs
[e-mail chráněn]:~#

Podívejte se na výstup

mount

a měli byste vidět, že /home/falko/ je nyní zašifrováno:

[e-mail chráněný]:~# mount
/dev/sda1 na / zadejte ext3 (rw,errors=remount-ro)
tmpfs na /lib/init/rw typ tmpfs (rw,nosuid ,mode=0755)
proc na /proc typu proc (rw,noexec,nosuid,nodev)
sysfs na /sys typu sysfs (rw,noexec,nosuid,nodev)
udev na / dev typ tmpfs (rw,mode=0755)
tmpfs na /dev/shm typ tmpfs (rw,nosuid,nodev)
devpts na /dev/pts typ devpts (rw,noexec,nosuid,gid=5,mode=620)
/home/falko na /home/falko typu ecryptfs (rw,ecryptfs_sig=bd28c38da9fc938b,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink /mail[protected] ) /před>

Obnovme naši zálohu do nyní zašifrovaného adresáře /home/falko/ a poté zálohu smažte:

cp -pfr /tmp/falko/ /home/
rm -fr /tmp/falko/

Pro účely testování zkopírujme nějaký jiný soubor, např. /etc/hosts, do /home/falko/, abyste zkontrolovali, zda je skutečně zašifrován:

cp /etc/hosts /home/falko

Zatímco /home/falko/ je připojeno s typem souborového systému ecryptfs, mělo by být možné číst obsah /home/falko/hosts:

cat /home/falko/hosts

Nyní odpojte /home/falko/...

umount /home/falko

... a zkuste znovu přečíst /home/falko/hosts a měli byste získat nějaké záhadné věci:

cat /home/falko/hosts
?æËÊÀû5)í}Ó`§wʽ.ÂçµÔyiIezz°Ñd¦R,`Ëi,0ñ*úÐ%^-']YÑj÷#6 ÷¨Y-]«é²ùô 

4 Jak automaticky připojit šifrovaný oddíl při spouštění

Samozřejmě nechceme /home/falko/ připojovat pokaždé ručně - bylo by hezčí, kdyby bylo možné připojovat automaticky při bootování. K tomu potřebujeme soubor s přístupovou frází a z bezpečnostních důvodů chci, aby byl tento soubor s přístupovou frází umístěn na USB klíči.

Zapojte USB klíč a spusťte

fdisk -l

zjistit název zařízení a typ systému souborů:

[e-mail chráněno]:~# fdisk -l

Disk /dev/sda: 32,2 GB, 32212254720 bajtů
255 hlav, 63 sektorů/stopa, 3916 cylindrů
Jednotky = cylindry 16065 * 512 = 8225280 bajtů
Velikost sektoru (logická/fyzická): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální):> 512 1 2 bajtů / 5 Identifikátor disku:0x00035E35

Systém startovacího konce zařízení
/dev /sda1*1 3793 30461952 83 Linux
/dev /sda2 3793 3917 992257 5
/dev/sda5            3793         3917       992256   82  Linux swap / Solaris

Disk /dev/sdb:8086 MB/609s cylindr <6 MB /29580 bytů  cylindr 8086 MB /295 380  cylindr = cylindry 16065 * 512 = 8225280 bajtů
Velikost sektoru (logická/fyzická): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / brisk /512 bajtů identifikátor: 0x000e439f

   Zařízení Boot      Začátek          Konec      Bloky   I d  Systém
/dev/sdb1                           983     7895916    b  W95 FAT32
[e-mail chráněný]:~#

V mém případě je název zařízení /dev/sdb1 a používá systém souborů FAT32.

Připojíme USB klíč k /mnt/usb:

mkdir /mnt/usb
připojit /dev/sdb1 /mnt/usb

Podívejte se na výstup

mount

... a měli byste vidět, že se připojil pomocí souborového systému typu vfat (FAT32) - tyto informace budeme později potřebovat pro náš soubor /etc/fstab:

[e-mail chráněný]:~# mount
/dev/sda1 na / zadejte ext3 (rw,errors=remount-ro)
tmpfs na /lib/init/rw typ tmpfs (rw,nosuid ,mode=0755)
proc na /proc typu proc (rw,noexec,nosuid,nodev)
sysfs na /sys typu sysfs (rw,noexec,nosuid,nodev)
udev na / dev typ tmpfs (rw,mode=0755)
tmpfs na /dev/shm typ tmpfs (rw,nosuid,nodev)
devpts na /dev/pts typ devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 na /mnt/usb typ vfat (rw)
[e-mail chráněný]:~#

Nyní se podívejte na obsah /root/.ecryptfs/sig-cache.txt:

cat /root/.ecryptfs/sig-cache.txt
bd28c38da9fc938b

Tento podpis potřebujeme pro soubor /root/.ecryptfsrc, který vytvoříme následovně:

vi /root/.ecryptfsrc

Ujistěte se prosím, že používáte podpis ze souboru /root/.ecryptfs/sig-cache.txt v řádku ecryptfs_sig:

key=passphrase:passphrase_passwd_file=/mnt/usb/passwd_file.txtecryptfs_sig=bd28c38da9fc938becryptfs_cipher=aesecryptfs_key_bytes_file>precryptenfs_key_bytes_file>precryptenfly=passn 

Nyní vytvoříme soubor přístupového hesla na našem USB klíči:

vi /mnt/usb/passwd_file.txt
passphrase_passwd=some_passphrase

Ujistěte se, že používáte správnou přístupovou frázi, tj. přístupovou frázi, kterou byste použili, kdybyste adresář připojili ručně.

Dále otevřete /etc/fstab...

vi /etc/fstab

... a přidejte následující dva řádky (ujistěte se, že používáte správný typ systému souborů pro váš USB klíč – v mém případě vfat):

[...]/dev/sdb1 /mnt/usb vfat ro 0 0/home/falko /home/falko výchozí nastavení ecryptfs 0 0 

(Je důležité, aby řádek pro klíč USB předcházel řádku pro šifrovaný oddíl, protože před připojením šifrovaného oddílu je třeba připojit klíč USB!)

Poté restartujte systém:

restartovat

Pokud vše půjde dobře, váš šifrovaný oddíl by měl být po restartu automaticky připojen. Je však možné, že váš systém nemůže připojit váš USB klíč během spouštění, což znamená, že nelze připojit ani váš šifrovaný oddíl. Pokud k tomu dojde, upravte /etc/rc.local (tento skript se spustí na konci procesu zavádění)...

vi /etc/rc.local

... a přidejte řádek /bin/mount -a před výstupní řádek 0:

#!/bin/sh -e## rc.local## Tento skript se spustí na konci každé úrovně běhu pro více uživatelů.# Ujistěte se, že skript "ukončí 0" při úspěchu nebo jakákoli jiná # hodnota při chybě.## Chcete-li povolit nebo zakázat tento skript, stačí změnit provádění# bitů.## Ve výchozím nastavení tento skript nedělá nic./bin/mount -aexit 0 

Tím se (znovu) připojí všechny oddíly (včetně vašeho USB klíče a šifrovaného oddílu) na konci procesu spouštění.

  • eCryptfs:https://launchpad.net/ecryptfs
  • Debian:http://www.debian.org/

Debian
  1. Jak šifrovat adresář pomocí EncFS na Debian 9 Stretch Linux

  2. Jak nastavit firewall s UFW na Debianu 10

  3. Jak zálohovat databáze MySQL pomocí mylvmbackup na Debian Squeeze

  1. Jak nastavit firewall s UFW na Debianu 9

  2. Jak nainstalovat Automad CMS s Apache a Lets encrypt na Debian 10

  3. Jak nainstalovat ElkArte Forum s Apache a Lets Encrypt na Debian 10

  1. Jak nainstalovat OpenCart s Nginx a Lets Encrypt na Debian 10

  2. Jak nainstalovat Drupal 9 s Nginx a nechat šifrovat SSL na Debian 10

  3. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10