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/falkoSaat /home/falko/ di-mount dengan jenis sistem file ecryptfs, konten /home/falko/hosts seharusnya dapat dibaca:
cat /home/falko/hostsSekarang 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 -luntuk 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/usbLihatlah 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
bd28c38da9fc938bKami membutuhkan tanda tangan ini untuk file /root/.ecryptfsrc yang kami buat sebagai berikut:
vi /root/.ecryptfsrcHarap 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_passphrasePastikan 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 ulangJika 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 0Ini akan (-)me-mount ulang semua partisi (termasuk kunci USB Anda dan partisi terenkripsi) di akhir proses boot.
5 Tautan
- eCryptfs:https://launchpad.net/ecryptfs
- Debian:http://www.debian.org/
Debian Squeeze Samba Standalone Server Dengan Backend tdbsam Menyiapkan ProFTPd + TLS Di Debian SqueezeDebian