GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come crittografare le directory con eCryptfs su Ubuntu 16.04

Questo tutorial mostra come utilizzare eCryptfs per crittografare una directory su Ubuntu 16.04 (Xenial Xerus). eCryptfs è un filesystem crittografico impilato di classe enterprise conforme a POSIX per Linux. Puoi usarlo per crittografare partizioni e anche directory che non utilizzano una partizione propria, indipendentemente dal filesystem sottostante, dal tipo di partizione, ecc.

1 Nota preliminare

In questo tutorial, crittograferò una nuova directory /home/secure. questa è una directory normale e non usa una partizione propria.

2 Installazione di eCryptfs

eCryptfs può essere facilmente installato come segue:

apt-get -y install ecryptfs-utils

3 Crittografia di una directory con eCryptfs

Ora crittograferò una nuova directory /home/secure/. Crea la directory con il comando mkdir:

mkdir /home/secure

Se utilizzi una directory esistente, potrebbero esserci già file (non crittografati) in quella directory. In questo caso è necessario eseguirne un backup in modo da poterli ripristinare nella directory /home/secure/ crittografata in seguito (altrimenti non è possibile accedere/leggere questi file mentre la directory è crittografata):

cp -pfr /home/secure/ /tmp/

Ora posso crittografare la directory /home/secure/ montandola con il tipo di file system ecryptfs:

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

Quando lo fai per la prima volta, dovrai rispondere ad alcune domande:

[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]:~#

Le impostazioni predefinite che ho scelto qui crittografano il contenuto del file ma non il nome del file. Se desideri mantenere protetti anche i nomi dei file, abilita l'opzione di crittografia del nome file durante l'installazione sopra.

Dai un'occhiata all'output di

mount

e dovresti vedere che /home/secure/ è ora crittografato:

[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]:~#

Quando si utilizza una directory esistente:ripristiniamo il backup nella directory ora crittografata /home/secure/ ed eliminiamo il backup in seguito:

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

A scopo di test, copiamo qualche altro file, ad es. /etc/hosts, su /home/secure/ per verificare se viene davvero crittografato:

cp /etc/hosts /home/secure

Mentre /home/secure/ è montato con il tipo di file system ecryptfs, dovrebbe essere possibile leggere il contenuto di /home/secure/hosts:

cat /home/secure/hosts

Ora smonta /home/secure/...

umount /home/secure

... e riprova a leggere /home/secure/hosts, e dovresti ottenere qualcosa di criptico:

cat /home/secure/hosts

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

Ubuntu
  1. Come crittografare directory/partizioni con eCryptfs su Debian Squeeze

  2. Proteggi Nginx con Let's Encrypt su Ubuntu 18.04 - Come farlo?

  3. Come installare Let's Encrypt su Ubuntu 20.04 con Apache

  4. Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

  5. Come proteggere Apache con Lets Encrypt su Ubuntu 18.04

Come installare Nginx con Let's Encrypt TLS/SSL su Ubuntu 20.04

Come installare Let's Encrypt SSL su Ubuntu con Apache

Come installare Let's Encrypt SSL con Nginx su Ubuntu 16.04 LTS

Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

Come proteggere Apache con Let's Encrypt su Ubuntu 20.04

Come proteggere il tuo sito Web con Let's Encrypt su Ubuntu 20.04