Enkripsi disk lengkap dengan otentikasi tanpa kata sandi di Linux

16

Saya memiliki pengaturan enkripsi disk yang cukup standar di Debian 5.0.5: /bootpartisi tidak terenkripsi , dan terenkripsi sdaX_cryptyang berisi semua partisi lain.

Sekarang, ini adalah instalasi server tanpa kepala dan saya ingin dapat mem-boot-nya tanpa keyboard (sekarang saya bisa mem-boot-nya hanya dengan keyboard dan monitor terpasang).

Sejauh ini saya punya ide untuk memindahkan /bootpartisi ke drive USB dan membuat sedikit modifikasi untuk memasukkan kunci secara otomatis (saya pikir hanya ada panggilan ke askpassdalam skrip boot di suatu tempat). Dengan cara ini saya bisa boot tanpa kepala, hanya perlu memiliki flash drive saat boot.

Seperti yang saya lihat, masalahnya adalah itu

  1. Saya perlu menginvestasikan waktu untuk mencari tahu semua bagian untuk membuatnya bekerja,
  2. Jika ada pembaruan, yang diperbarui initrd, saya harus membuat ulang partisi boot pada USB, yang sepertinya membosankan.

Pertanyaannya: apakah ada solusi standar pemeliharaan rendah yang tersedia untuk apa yang ingin saya lakukan? Atau haruskah saya mencari di tempat lain sama sekali?

Alex B
sumber

Jawaban:

7

Anda dapat mengatur sistem Anda untuk meminta kunci alih-alih kata sandi dan mengubah beberapa skrip untuk mencari kunci ini pada stik USB. Saya menemukan penjelasan terperinci untuk proses ini pada Debian Lenny. Ada beberapa catatan pada akhirnya yang menjelaskan perubahan yang diperlukan untuk versi Debian yang lebih baru.

Marcel Stimberg
sumber
Kedengarannya seperti yang saya butuhkan. Pertama-tama saya perlu melihat berapa banyak upaya untuk menjaga hal-hal yang bekerja di antara pembaruan sebelum saya menerima jawabannya.
Alex B
OK, meskipun tidak ada solusi "standar", ini tampaknya berhasil.
Alex B
5

Tapi lalu apa gunanya enkripsi penuh disk, jika Anda hanya meninggalkan kunci di plaintext?

Agar itu berfungsi, Anda akan membutuhkan sesuatu seperti apa yang seharusnya menjadi Computing Platform Tepercaya sebelum Microsoft dan Big Media membajaknya untuk tujuan jahat yang menundukkan pengguna.

Idenya adalah memiliki chip yang memegang kunci di motherboard, dan setelah itu memberikan kunci hanya ketika itu diverifikasi bahwa perangkat lunak yang berjalan ditandatangani dengan benar oleh otoritas tepercaya (Anda). Dengan cara ini Anda tidak meninggalkan kunci di depan mata dan Anda tidak perlu mem-boot server secara interaktif.

Sangat disayangkan saya belum pernah melihat Komputasi Tepercaya dimanfaatkan dengan baik , yang sebenarnya bisa bermanfaat bagi pengguna akhir .


sumber
Kuncinya adalah tidak lebih meletakkan di dalam plaintext dari kunci SSH Anda meletakkan di dalam plaintext di ~/.ssh. Saya hanya ingin dapat mem-boot server tanpa kepala dengan enkripsi disk penuh dan mengambil kuncinya. Saya menyadari bahwa penyerang dapat memodifikasi partisi boot yang tidak terenkripsi dan mencuri kuncinya (seperti halnya dengan versi kata sandi reguler berbasis perangkat lunak), tetapi saya hanya melindungi dari pencurian biasa.
Alex B
Sebenarnya TPM telah kembali dari DRM dan digunakan oleh pemerintah dan perusahaan akhir-akhir ini. Ada banyak OS yang dapat menggunakannya untuk menyimpan kunci rahasia, saya tidak tahu ada yang menawarkan perlindungan integritas (yaitu tidak mengizinkan penyerang untuk memasukkan keylogger /boot).
Gilles 'SANGAT berhenti menjadi jahat'
@AlexB: Apakah server Anda memiliki TPM? Jika demikian, Anda mungkin dapat melakukan apa yang Anda inginkan dengan Grub Tepercaya .
Gilles 'SO- stop being evil'
Perhatikan bahwa ada manfaat meninggalkan kunci dalam plaintext, yang artinya Anda dapat menghapus data sensitif sepenuhnya pada disk tanpa memusatkan seluruh disk. Ya, Anda bisa memblok superblok atau tabel partisi, tetapi seperti yang kita semua tahu, data masih dapat dipulihkan dari operasi tersebut.
strugee
@ strugee: jika Anda menggunakan LUKS, menghapus header LUKS membuat seluruh volume tidak dapat dipulihkan. Jika Anda menggunakan dm-crypt tanpa header, maka ya, nanti masih dapat dipulihkan dengan kata sandi.
Jay Sullivan
5

Mandos (yang saya dan orang lain telah tulis) memecahkan masalah ini:

Mandos adalah sistem untuk memungkinkan server dengan sistem file root terenkripsi untuk reboot tanpa pengawasan dan / atau jarak jauh. Lihat halaman manual intro untuk informasi lebih lanjut, termasuk daftar FAQ.

Singkatnya, server booting mendapatkan kata sandi melalui jaringan, dengan cara yang aman. Lihat README untuk detailnya.

Teddy
sumber
1
Bahkan jika ini perangkat lunak bebas, menyatakan bahwa ini adalah produk Anda akan dihargai jika tidak benar-benar diperlukan . Tautan README / FAQ yang lebih mudah dibaca dan penjelasan singkat tentang cara kerja Mandos juga akan dihargai.
Gilles 'SO- berhenti menjadi jahat'
1
@Gilles: Selesai sekarang.
Teddy