GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengenkripsi Direktori dengan eCryptfs di Ubuntu 16.04

Tutorial ini menunjukkan cara menggunakan eCryptfs untuk mengenkripsi direktori di Ubuntu 16.04 (Xenial Xerus). eCryptfs adalah sistem file kriptografi bertumpuk kelas perusahaan yang sesuai dengan POSIX untuk Linux. Anda dapat menggunakannya untuk mengenkripsi partisi dan juga direktori yang tidak menggunakan partisinya sendiri, tidak peduli sistem file yang mendasarinya, jenis partisi, dll.

1 Catatan Awal

Dalam tutorial ini, saya akan mengenkripsi direktori baru /home/secure. ini adalah direktori biasa dan tidak menggunakan partisinya sendiri.

2 Memasang eCryptfs

eCryptfs dapat dengan mudah diinstal sebagai berikut:

apt-get -y install ecryptfs-utils

3 Mengenkripsi direktori dengan eCryptfs

Sekarang saya akan mengenkripsi direktori baru /home/secure/. Buat direktori dengan perintah mkdir:

mkdir /home/secure

Jika Anda menggunakan direktori yang ada maka mungkin sudah ada file (tidak terenkripsi) di direktori tersebut. Dalam hal ini Anda harus mengambil cadangannya sehingga Anda dapat mengembalikannya ke direktori /home/secure/ yang kemudian dienkripsi (jika tidak, file ini tidak dapat diakses/dibaca saat direktori dienkripsi):

cp -pfr /home/secure/ /tmp/

Sekarang saya dapat mengenkripsi direktori /home/secure/ dengan memasangnya dengan jenis sistem file ecryptfs:

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

Ketika Anda melakukan ini untuk pertama kalinya, Anda harus menjawab beberapa pertanyaan:

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

Pengaturan default yang saya pilih di sini mengenkripsi konten file tetapi bukan nama file. Jika Anda juga ingin mengamankan nama file, harap aktifkan opsi enkripsi nama file selama penyiapan di atas.

Lihatlah output dari

mount

dan Anda akan melihat bahwa /home/secure/ sekarang dienkripsi:

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

Saat menggunakan direktori yang ada:Mari pulihkan cadangan kita ke direktori /home/secure/ yang sekarang terenkripsi dan hapus cadangan setelahnya:

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

Untuk tujuan pengujian, mari salin beberapa file lain, mis. /etc/hosts, ke /home/secure/ untuk memeriksa apakah itu benar-benar dienkripsi:

cp /etc/hosts /home/secure

Saat /home/secure/ dipasang dengan jenis sistem file ecryptfs, konten /home/secure/hosts seharusnya dapat dibaca:

cat /home/secure/hosts

Sekarang unmount /home/secure/...

umount /home/secure

... dan coba lagi untuk membaca /home/secure/hosts, dan Anda akan mendapatkan beberapa hal samar:

cat /home/secure/hosts

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

Ubuntu
  1. Cara Mengenkripsi Direktori/Partisi Dengan eCryptfs Pada Debian Squeeze

  2. Cara Menginstal Let's Encrypt di Ubuntu 20.04 dengan Apache

  3. Cara mengamankan Apache dengan Lets Encrypt di Ubuntu 18.04

  1. Cara Mengamankan Nginx dengan Lets Encrypt Di Ubuntu 20.04 / 18.04

  2. Amankan Nginx dengan Let's Encrypt di Ubuntu 18.04 - Bagaimana cara melakukannya?

  3. Cara Mengamankan Nginx dengan Let's Encrypt di Ubuntu 20.04

  1. Cara Mengatur Apache Subversion dengan Lets encrypt SSL di Ubuntu 18.04

  2. Cara Mengenkripsi File dengan Tomb di Ubuntu 16.04 LTS

  3. Cara Instal Joomla dengan Apache2 dan Lets Encrypt di Ubuntu 20.04