Pada Ubuntu 11.10, apakah mungkin untuk mendekripsi 2 hard disk yang dienkripsi dengan LUKS / LVM dengan memasukkan hanya satu frasa sandi saat boot?

8

di sini konfigurasi yang saya miliki: - 2 hard drive, - yang pertama dienkripsi menggunakan LUKS dan LVM. Saya ingin menambahkan dalam grup volume yang dienkripsi hard drive kedua. Saya telah berhasil menginstalnya dan mengenkripsi itu. Tetapi ketika saya boot, saya harus memasukkan 2 kata sandi untuk mendekripsi kedua hard drive.

Apakah tidak ada cara untuk menggunakan hanya satu?

Merah anggur
sumber
ini bekerja untuk saya: unix.stackexchange.com/a/110102/50601
Tim Abell

Jawaban:

4

Saya akhirnya menemukan trik untuk memasukkan hanya satu kata sandi dan semua disk fisik saya terenkripsi.

Saya mengenkripsi yang pertama dengan frasa sandi, saya mengenkripsi yang kedua menggunakan keyfile yang saya simpan di hard drive pertama (/ root / mykeyfile).

Dan dengan mengoreksi baris dalam file / etc / crypttab, itu berhasil.

Perbarui / etc / crypttab

sda5_crypt UUID = fb07f1e8-a569-4db9-9fd7-fc1994e093b5 tidak ada luks

sdb1_crypt UUID = 4c0687f0-d7af-4f2e-9c57-5ca8e909d492 / root / luks mykeyfile

Merah anggur
sumber
dd if = / dev / urandom dari = / root / mykeyfile bs = 1024 count = 20 Ini adalah contoh bagaimana membuat string acak untuk digunakan sebagai 'keyfile'.
earthmeLon
1
Masalah dengan ini adalah bahwa kompromi yang melibatkan akses ke sistem file Anda (misalnya masalah izin atau sesuatu yang kecil) akan menghasilkan kompromi kunci, masalah yang jauh lebih besar. Saya sangat merekomendasikan praktik ini. Lihat jawaban saya untuk metode yang lebih baik (dan otomatis).
menyelinap
Bisakah Anda menjelaskan bagaimana ini seharusnya bekerja? Apakah LVM mulai dalam mode terdegradasi dan kemudian memperbaiki sendiri setelah PV kedua tersedia?
aij
0

Di ubuntu, dimungkinkan untuk menggunakan kunci turunan dari root sebagai kunci tambahan pada sistem berkas lain. Ini memiliki manfaat menjaga kunci Anda untuk drive lain dari sistem file itu sendiri.

Sebelum melakukan ini, pertama-tama, pastikan / tmp hanya dipasang pada ram! Saya menyarankan mode pengguna tunggal untuk perubahan ini.

mount -t ramfs none /tmp

Kemudian, Anda dapat mengekspor kunci turunan:

# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key

Dan kemudian menambahkannya ke perangkat Anda yang lain:

# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key

Ini akan memungkinkan skrip init ubuntu menggunakan kunci turunan setelah root tidak dikunci untuk membuka kunci sisa perangkat blok dan membuatnya tersedia dengan cara yang sama di bawah / dev / mapper. Saya tidak yakin apakah mereka memerlukan entri / etc / crypttab - coba tanpa terlebih dahulu, dan jika tidak muncul, masukkan ke dalam crypttab tanpa kunci dan harus membuka kuncinya.

(Saya belum menguji semua ini.)

menyelinap
sumber
Saya mencoba tanpa crypttab di Debian, dan itu tidak berhasil. Bahkan dengan crypttab tidak bekerja, tapi saya semakin dekat. sdb3_crypt UUID = 4a ... sda3_crypt luks, initramfs, keyscript = decrypt_derived. Opsi initramfs diperlukan untuk mendapatkan skrip decrypt_derived yang disertakan dalam initramfs. Tetapi masih gagal memuat saat startup.
aij
-1

Anda secara teoritis dapat mengatur variabel lingkungan sementara dalam skrip boot khusus yang kemudian direferensikan oleh skrip inisialisasi untuk proses dekripsi Anda. Saya sebenarnya melakukan ini beberapa tahun yang lalu.

Pilihan Anda yang lain adalah untuk memotong skrip init yang ada untuk hard drive Anda dan menulis yang kustom yang memasukkan kata sandi Anda sekali dan kemudian melanjutkan dengan dua proses dekripsi.

Sebagai alternatif, Anda mungkin dapat memperpanjang volume LVM Anda ke drive kedua. Jika saya ingat dengan benar, enkripsi harus terbawa.

Tim Brigham
sumber
1
LVM dibangun di atas volume terenkripsi yang mendasarinya. Memperluas LVM tanpa membuat volume terenkripsi lainnya tidak akan mengenkripsi penyimpanan tambahan yang ditambahkan ke grup volume.
menyelinap
-2

Tidak, tidak ada cara untuk melakukan itu di luar kotak.

cstamas
sumber