Bisakah saya membuat ext4
partisi terenkripsi baru dengan kernel 4.1 di Ubuntu 15.04?
Bisakah saya membuat ext4
partisi terenkripsi baru dengan kernel 4.1 di Ubuntu 15.04?
Jawaban:
Pertama penafian: Saya belum melakukan ini dengan Ubuntu, tetapi pada mesin dengan Debian "Stretch" diinstal menggunakan kernel Linux 4.2.3 kustom yang saya aktifkan EXT4_FS_ENCRYPTION
.
Instruksi yang diberikan oleh kmeaw tidak bekerja untuk saya persis seperti yang diposting. Beberapa hal ditinggalkan (parameter dan langkah-langkah baris perintah).
e2fsprogs
seperti yang ditunjukkan di atasHasilkan garam acak Anda. Saya menggunakan yang berikut ini untuk menyimpannya di "tempat yang aman":
head -c 16 /dev/urandom | xxd -p >~/tmp-salt.txt
echo 0x`cat ~/tmp-salt.txt` >~/.cryptoSalt
Untuk menggunakan enkripsi ext4 pada sistem file, bendera "mengenkripsi" harus diatur di blok-super. Ini bukan default ketika sistem file ext4 dibuat. Menggunakan utilitas "tune2fs" dari e2fsprogs 1.43 atau lebih baru, setel opsi "enkripsi":
sudo tune2fs -O encrypt /dev/sda4
Pasang atau pasang kembali sistem file sehingga kernel tahu tentang perubahan (mungkin itu otomatis, tetapi saya hanya melakukan ini pada partisi yang terpisah, jadi saya tidak yakin.)
Buat direktori pada sistem file yang dipasang dengan enkripsi diaktifkan:
sudo mkdir -p /secret/home/$USER
sudo chown $USER:$USER /secret/home/$USER
Buat kunci di keyring dan gunakan untuk mengatur kebijakan agar direktori dienkripsi ( sudo
perintah tidak diperlukan di sini):
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
$ /usr/bin/e4crypt set_policy 0132fed69f946c86 /secret/home/$USER
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
Setelah setiap reboot, add_key
perintah tersebut dapat digunakan mengatur kunci untuk dekripsi direktori dan turunannya:
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
Masukkan kata sandi yang sama dengan yang digunakan pada langkah sebelumnya, dan Anda tidak harus mengingat string hex descriptor.
Anda juga bisa menggunakan add_key
secara langsung. Ini akan menggunakan garam sistem file tertentu (Jadi semua folder di bawah partisi itu akan memiliki garam yang sama)
$ /usr/sbin/e4crypt add_key /secret/home/$USER
Added key with descriptor [0132fed69f946c86]
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
cp .. /secret/home/$USER/.
saya dapatkan: «cp: tidak dapat membuat file biasa '/secret/home/alexis/test-top-secret-image.svg': Kunci yang diperlukan tidak tersedia » . Saya hanya mengikuti instruksi Anda, jadi saya kira ada sesuatu yang berubah.
/usr/bin/e4crypt
" tidak memiliki "s" di tempat "/ [s]".
Linux 4.1 hadir dengan fitur Ext4 baru untuk mengenkripsi direktori sistem file. Kunci enkripsi disimpan dalam keyring. Untuk memulai, pastikan Anda telah mengaktifkan CONFIG_KEYS
dan CONFIG_EXT4_FS_ENCRYPTION
opsi-opsi kernel dan Anda memiliki kernel 4.1 atau lebih tinggi.
Pertama-tama, Anda perlu memperbarui e2fsprogs ke setidaknya versi 1.43, yang masih WIP pada saat penulisan sehingga kami perlu mengambilnya dari repositori git :
$ git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
Sumber e4crypt telah menonaktifkan bagian yang relevan dalam kode sumbernya, mengaktifkannya dengan mengedit misc / e4crypt.c dan menghapus dua baris ini di dekat baris 714:
printf("arg %s\n", argv[optind]);
exit(0);
Sekarang buat dan instal e2fsprogs baru:
$ sudo apt-get install devscripts build-essential gettext texinfo pkg-config debhelper m4
$ debuild
$ sudo dpkg -i e2fsprogs_1.43-WIP_amd64.deb
Periksa versi Anda sekarang, itu harus 1,43-WIP:
# e2fsck -V
e2fsck 1.43-WIP (18-May-2015)
Using EXT2FS Library version 1.43-WIP, 18-May-2015
Untuk bekerja dengan kunci, kita perlu menginstal keyutils
paket:
$ sudo apt-get install keyutils
Mari kita buat direktori yang akan kita enkripsi. Kebijakan enkripsi hanya dapat ditetapkan pada direktori kosong:
$ sudo mkdir -p /encrypted/dir
Pertama-tama hasilkan nilai garam acak dan simpan di tempat yang aman:
$ head -c 16 /dev/random | xxd -p
877282f53bd0adbbef92142fc4cac459
Sekarang hasilkan dan tambahkan kunci baru ke dalam keyring Anda: langkah ini harus diulangi setiap kali Anda membuka gantungan kunci (reboot)
$ sudo e4crypt -S 0x877282f53bd0adbbef92142fc4cac459
Enter passphrase (echo disabled):
Added key with descriptor [f88747555a6115f5]
Sekarang Anda tahu deskriptor untuk kunci Anda. Pastikan Anda telah menambahkan kunci ke gantungan kunci Anda:
$ keyctl show
Session Keyring
1021618178 --alswrv 1000 1000 keyring: _ses
176349519 --alsw-v 1000 1000 \_ logon: ext4:f88747555a6115f5
Hampir selesai. Sekarang tetapkan kebijakan enkripsi untuk direktori:
$ e4crypt set_policy f88747555a6115f5 /encrypted/dir
Itu saja. Jika Anda mencoba mengakses disk tanpa menambahkan kunci ke gantungan kunci, nama file dan isinya akan dianggap sebagai omong kosong terenkripsi. Berhati-hatilah menjalankan versi lama e2fsck pada sistem file Anda - itu akan memperlakukan nama file terenkripsi sebagai tidak valid.