GNU/Linux >> Belajar Linux >  >> Debian

Cara Mengenkripsi Direktori/Partisi Dengan eCryptfs Pada Debian Squeeze

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. Tutorial ini menunjukkan cara menggunakan eCryptfs untuk mengenkripsi direktori di Debian Squeeze.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Dalam tutorial ini saya akan mengenkripsi direktori home saya, /home/falko/, yang terletak di partisi / (yaitu, /home/falko/ adalah direktori biasa dan tidak menggunakan partisi sendiri).

2 Memasang eCryptfs

eCryptfs dapat dengan mudah diinstal sebagai berikut:

apt-get install ecryptfs-utils

3 Mengenkripsi Direktori

Sekarang saya akan mengenkripsi direktori home saya /home/falko/. Karena sudah ada file (tidak terenkripsi) di direktori itu, saya harus mengambil cadangannya sehingga saya dapat mengembalikannya ke direktori /home/falko/ yang kemudian dienkripsi (jika tidak, file ini tidak dapat diakses/dibaca saat direktori tersebut dienkripsi):

cp -pfr /home/falko/ /tmp/

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

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

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

[email protected]:~# mount -t ecryptfs /home/falko /home/falko
Passphrase: <-- some_passphrase
Pilih cipher:
 1) aes: blocksize = 16; min ukuran kunci = 16; max keysize = 32 (tidak dimuat)
 2) blowfish: blocksize = 16; min ukuran kunci = 16; max keysize = 56 (tidak dimuat)
 3) des3_ede: blocksize = 8; min ukuran kunci = 24; max keysize = 24 (tidak dimuat)
 4) twofish: blocksize = 16; min ukuran kunci = 16; max keysize = 32 (tidak dimuat)
 5) cast6: blocksize = 16; min ukuran kunci = 16; max keysize = 32 (tidak dimuat)
 6) cast5: blocksize = 8; min ukuran kunci = 5; max keysize = 16 (tidak dimuat)
Pilihan [aes]: <-- ENTER
Pilih byte kunci:
 1) 16
 2) 32
 3) 24
Pilihan [16]: <-- ENTER
Aktifkan passthrough plaintext (y/n) [n]: <-- ENTER
Aktifkan enkripsi nama file (y/n) [n]: <-- ENTER
Mencoba memasang dengan opsi berikut:
  ecryptfs_unlink_sigs
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig= fd28c38da9 isi [/root/.ecryptfs/sig-cache.txt],
sepertinya Anda belum pernah memasang dengan kunci ini
sebelumnya. Ini dapat berarti bahwa Anda salah mengetik
frasa sandi Anda.

Apakah Anda ingin melanjutkan pemasangan (ya/tidak)? : <-- ya
Apakah Anda ingin menambahkan tanda [bd28c38da9fc938b] ke
[/root/.ecryptfs/sig-cache.txt]
untuk menghindari peringatan ini di masa mendatang ( ya Tidak)? : <-- ya
Berhasil menambahkan tanda baru ke file cache tanda tangan pengguna
Mounted eCryptfs
[email protected]:~#

Lihatlah output dari

pasang

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

[email protected]:~# mount
/dev/sda1 on / ketik ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw ketik tmpfs (rw,nosuid ,mode=0755)
proc aktif /proc ketik proc (rw,noexec,nosuid,nodev)
sysfs aktif /sys ketik sysfs (rw,noexec,nosuid,nodev)
udev aktif / dev ketik tmpfs (rw,mode=0755)
tmpfs di /dev/shm ketik tmpfs (rw,nosuid,nodev)
devpts di /dev/pts ketik devpts (rw,noexec,nosuid,gid=5,mode=620)
/home/falko pada /home/falko ketik ecryptfs (rw,ecryptfs_sig=bd28c38da9fc938b,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
:~#

Mari pulihkan cadangan kita ke direktori /home/falko/ yang sekarang terenkripsi dan hapus cadangan setelahnya:

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

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

cp /etc/hosts /home/falko

Saat /home/falko/ di-mount dengan jenis sistem file ecryptfs, konten /home/falko/hosts seharusnya dapat dibaca:

cat /home/falko/hosts

Sekarang lepaskan /home/falko/...

umount /home/falko

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

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

4 Cara Memasang Partiton Terenkripsi Secara Otomatis Saat Booting

Tentu saja, kita tidak ingin me-mount /home/falko/ secara manual setiap kali - akan lebih baik jika dapat di-mount secara otomatis saat boot. Untuk melakukan ini, kami memerlukan file frasa sandi, dan untuk alasan keamanan, saya ingin file frasa sandi ini ditempatkan di kunci USB.

Colokkan kunci USB dan jalankan

fdisk -l

untuk mengetahui nama perangkat dan jenis sistem filenya:

[email protected]:~# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sektor/track, 3916 silinder
Satuan = silinder dari 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 bita / 512 bita
Ukuran I/O (minimum/optimal): 512 bita / 512 bita
Disk Identifier:0x00035e35

Perangkat boot start blok end ID sistem
/dev /sda1*1 3793 30461952 83 Linux
/dev /sda2 3793 3917 992257 5 Diperpanjang
/dev/sda5           3793       3917      992256   82  Linux swap / Solaris

Disk /dev/sdb: 8086 MB, 8086617600 bytes
Uni silinder
255 = silinder 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 byte / 512 byte
Ukuran I/O (minimum/optimal): 512 byte / 512 byte
Disk pengenal: 0x000e439f

   Device Boot      Mulai        End      Blocks   I d  Sistem
/dev/sdb1             1        983     7895916    b  W95 FAT32
[dilindungi email]:~#

Dalam kasus saya, nama perangkatnya adalah /dev/sdb1, dan menggunakan sistem file FAT32.

Mari pasang kunci USB ke /mnt/usb:

mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb

Lihatlah output dari

pasang

... dan Anda akan melihat bahwa itu di-mount dengan jenis sistem file vfat (FAT32) - kami akan memerlukan informasi ini nanti untuk file /etc/fstab kami:

[email protected]:~# mount
/dev/sda1 on / ketik ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw ketik tmpfs (rw,nosuid ,mode=0755)
proc aktif /proc ketik proc (rw,noexec,nosuid,nodev)
sysfs aktif /sys ketik sysfs (rw,noexec,nosuid,nodev)
udev aktif / dev ketik tmpfs (rw,mode=0755)
tmpfs di /dev/shm ketik tmpfs (rw,nosuid,nodev)
devpts di /dev/pts ketik devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 pada /mnt/usb ketik vfat (rw)
[email protected]:~#

Sekarang lihat isi /root/.ecryptfs/sig-cache.txt:

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

Kami membutuhkan tanda tangan ini untuk file /root/.ecryptfsrc yang kami buat sebagai berikut:

vi /root/.ecryptfsrc

Harap pastikan bahwa Anda menggunakan tanda tangan dari file /root/.ecryptfs/sig-cache.txt di baris ecryptfs_sig:

key=passphrase:passphrase_passwd_file=/mnt/usb/passwd_file.txtecryptfs_sig=bd28c38da9fc938becryptfs_cipher=aesecryptfs_key_bytes=16ecryptfs_passthrough=necryptfs_passthrough=necryptfiles_passthrough=

Sekarang kami membuat file frasa sandi pada kunci USB kami:

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

Pastikan Anda menggunakan frasa sandi yang benar, yaitu frasa sandi yang akan Anda gunakan jika Anda memasang direktori secara manual.

Selanjutnya buka /etc/fstab...

vi /etc/fstab

... dan tambahkan dua baris berikut (pastikan Anda menggunakan jenis sistem file yang benar untuk kunci USB Anda - vfat dalam kasus saya):

[...]/dev/sdb1 /mnt/usb vfat ro 0 0/home/falko /home/falko ecryptfs defaults 0 0 

(Penting agar baris untuk kunci USB muncul sebelum baris untuk partisi terenkripsi karena kunci USB harus dipasang sebelum partisi terenkripsi dapat dipasang!)

Kemudian reboot sistem:

boot ulang

Jika semuanya berjalan dengan baik, partisi terenkripsi Anda akan secara otomatis dipasang setelah reboot. Namun, mungkin saja sistem Anda tidak dapat memasang kunci USB Anda saat boot, yang berarti partisi terenkripsi Anda juga tidak dapat dipasang. Jika ini terjadi, edit /etc/rc.local (skrip ini dijalankan pada akhir proses boot)...

vi /etc/rc.local

... dan tambahkan baris /bin/mount -a sebelum baris exit 0:

#!/bin/sh -e## rc.local## Script ini dijalankan di akhir setiap runlevel multiuser.# Pastikan skrip akan "keluar 0" jika berhasil atau nilai # lainnya saat kesalahan.## Untuk mengaktifkan atau menonaktifkan skrip ini, cukup ubah eksekusi# bit.## Secara default skrip ini tidak melakukan apa pun./bin/mount -aexit 0 

Ini akan (-)me-mount ulang semua partisi (termasuk kunci USB Anda dan partisi terenkripsi) di akhir proses boot.

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

Debian
  1. Cara Mengenkripsi direktori dengan EncFS di Debian 9 Stretch Linux

  2. Cara Mengatur Firewall dengan UFW di Debian 10

  3. Cara Mencadangkan Database MySQL Dengan mylvmbackup Di Debian Squeeze

  1. Cara Mengatur Firewall dengan UFW di Debian 9

  2. Cara Install Automad CMS dengan Apache dan Lets Encrypt di Debian 10

  3. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  1. Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

  2. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  3. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10