GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak šifrovat adresáře pomocí eCryptfs na Ubuntu 16.04

Tento tutoriál ukazuje, jak používat eCryptfs k šifrování adresáře na Ubuntu 16.04 (Xenial Xerus). 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.

1 předběžná poznámka

V tomto tutoriálu zašifruji nový adresář /home/secure. toto je běžný adresář a nepoužívá vlastní oddíl.

2 Instalace eCryptfs

eCryptfs lze snadno nainstalovat následovně:

apt-get -y install ecryptfs-utils

3 Šifrování adresáře pomocí eCryptfs

Nyní zašifruji nový adresář /home/secure/. Vytvořte adresář pomocí příkazu mkdir:

mkdir /home/secure

Pokud používáte existující adresář, pak v tomto adresáři již mohou být (nešifrované) soubory. V tomto případě si je musíte udělat zálohu, abyste je mohli později obnovit do zašifrovaného adresáře /home/secure/ (jinak k těmto souborům nebude možné přistupovat/číst, dokud je adresář zašifrován):

cp -pfr /home/secure/ /tmp/

Nyní mohu zašifrovat adresář /home/secure/ jeho připojením pomocí systému souborů typu ecryptfs:

mount -t ecryptfs /home/secure /home/secure

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

[email protected]:~# mount -t ecryptfs /home/secure /home/secure
Passphrase: <-- Enter a secure password
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]: <-- Press ENTER
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: <-- 32
Enable plaintext passthrough (y/n) [n]: <-- Press ENTER
Enable filename encryption (y/n) [n]: <-- Press ENTER
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=bd28c38da9fc938b
Mounted eCryptfs
[email protected]:~#

Výchozí nastavení, které jsem zde zvolil, šifruje obsah souboru, ale ne název souboru. Pokud si přejete ponechat v bezpečí i názvy souborů, povolte při nastavení výše možnost šifrování souborů.

Podívejte se na výstup

mount

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

[email protected]:~# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1002992k,nr_inodes=250748,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204440k,mode=755)
/dev/mapper/server1--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered,jqfmt=vfsv0,usrjquota=quota.user,grpjquota=quota.group)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd,nsroot=/)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids,nsroot=/)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer,nsroot=/)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio,nsroot=/)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb,nsroot=/)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset,nsroot=/)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct,nsroot=/)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio,nsroot=/)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory,nsroot=/)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event,nsroot=/)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices,nsroot=/)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda1 on /boot type ext2 (rw,relatime,block_validity,barrier,user_xattr,acl)
tmpfs on /run/lxcfs/controllers type tmpfs (rw,relatime,size=100k,mode=700)
devices on /run/lxcfs/controllers/devices type cgroup (rw,relatime,devices,nsroot=/)
perf_event on /run/lxcfs/controllers/perf_event type cgroup (rw,relatime,perf_event,nsroot=/)
memory on /run/lxcfs/controllers/memory type cgroup (rw,relatime,memory,nsroot=/)
net_cls,net_prio on /run/lxcfs/controllers/net_cls,net_prio type cgroup (rw,relatime,net_cls,net_prio,nsroot=/)
cpu,cpuacct on /run/lxcfs/controllers/cpu,cpuacct type cgroup (rw,relatime,cpu,cpuacct,nsroot=/)
cpuset on /run/lxcfs/controllers/cpuset type cgroup (rw,relatime,cpuset,nsroot=/)
hugetlb on /run/lxcfs/controllers/hugetlb type cgroup (rw,relatime,hugetlb,nsroot=/)
blkio on /run/lxcfs/controllers/blkio type cgroup (rw,relatime,blkio,nsroot=/)
freezer on /run/lxcfs/controllers/freezer type cgroup (rw,relatime,freezer,nsroot=/)
pids on /run/lxcfs/controllers/pids type cgroup (rw,relatime,pids,nsroot=/)
name=systemd on /run/lxcfs/controllers/name=systemd type cgroup (rw,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd,nsroot=/)
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204440k,mode=700,uid=1000,gid=1000)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204440k,mode=700)
/home/secure on /home/secure type ecryptfs (rw,relatime,ecryptfs_sig=bd28c38da9fc938b,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_unlink_sigs)
[email protected]:~#

Při použití existujícího adresáře:Obnovme naši zálohu do nyní zašifrovaného adresáře /home/secure/ a poté zálohu smažte:

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

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

cp /etc/hosts /home/secure

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

cat /home/secure/hosts

Nyní odpojte /home/secure/...

umount /home/secure

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

cat /home/secure/hosts

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

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

  2. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  3. Jak zabezpečit Apache pomocí Lets Encrypt na Ubuntu 18.04

  1. Jak zabezpečit Nginx pomocí Lets Encrypt na Ubuntu 20.04 / 18.04

  2. Zabezpečte Nginx pomocí Let's Encrypt na Ubuntu 18.04 - Jak na to?

  3. Jak zabezpečit Nginx pomocí Let's Encrypt na Ubuntu 20.04

  1. Jak nastavit Apache Subversion pomocí šifrování SSL na Ubuntu 18.04

  2. Jak šifrovat soubory pomocí Tomb na Ubuntu 16.04 LTS

  3. Jak nainstalovat Joomla s Apache2 a Lets Encrypt na Ubuntu 20.04