Aktifkan enkripsi disk setelah instalasi

61

Saya menjalankan 13:10 Cakep. Jika saya tidak mengaktifkan enkripsi disk selama instalasi, apakah ada cara untuk mengaktifkannya post facto?

Saya menemukan ini , yang mengatakan bahwa enkripsi harus terjadi pada waktu instalasi, tetapi juga mengacu pada Fedora. Saya dapat dengan mudah mem-boot ke disk langsung jika ada cara untuk melakukannya dari sana.

Isaac Dontje Lindell
sumber
Enkripsi cakram penuh atau hanya folder / home Anda?
Joren
Disk penuh. (Tindak lanjut pertanyaan: apa
kelebihan dan kekurangan
/ enkripsi disk rumah tidak termasuk ruang swap. Data sensitif dapat ditulis ke swap yang tidak dienkripsi, jika hanya / home yang dienkripsi. Ini dapat dipulihkan. Ubuntu memiliki dekripsi / home otomatis selama logon. Enkripsi disk penuh membutuhkan kata sandi saat boot dan login. Mengubah ukuran drive yang dienkripsi adalah proses yang melelahkan. Jika Anda memiliki drive eksternal, mudah untuk mengenkripsi setelah instalasi di 13.10 Saucy Salamander: cadangkan data Anda, luncurkan "disk" dari dashboard, pilih drive eksternal Anda, klik di roda gigi, pilih enkripsi, buka kunci drive drive Anda yang baru dienkripsi , salin kembali data.
user75798

Jawaban:

57

Jika Anda ingin mengaktifkan enkripsi folder rumah Anda, Anda perlu menginstal dan menggunakan paket-paket ini: ecryptfs-utilsdan cryptsetup. Anda juga akan memerlukan akun pengguna lain dengan hak administrator (sudo). Dokumentasi lengkapnya ada di sini:

Jika Anda ingin mengaktifkan enkripsi disk lengkap setelah instalasi, jawaban singkat untuk saat ini mungkin: tidak, Anda tidak bisa . Lagi pula, jika Anda tertarik tentang ini, pertanyaan Anda adalah rangkap:

Radu Rădeanu
sumber
8
Harap sertakan setidaknya langkah-langkah dasar howto tertaut Anda di sini. Untuk berjaga-jaga jika tautan Anda offline, perubahan atau bersifat sementara tidak dapat dijangkau.
con-f-use
1
@ con-f-use Jika Anda membaca dengan seksama (tanpa kebingungan), langkah-langkah yang sangat mendasar disertakan dalam jawaban.
Radu Rădeanu
1
Apa yang terjadi jika Anda memiliki saham samba di folder rumah Anda yang dienkripsi? Dapatkah pengguna jaringan tidak lagi membaca file atau mereka mendekripsi lebih dari berbagi?
Rush Frisby
21

Tindak lanjut pertanyaan: apa kelebihan dan kekurangan dari disk lengkap vs hanya / home?

Enkripsi di / rumah dilakukan menggunakan sistem file ruang pengguna yang disebut ecryptfs. Ini dilakukan dengan sangat baik dan dirajut dengan ketat ke dalam sistem autentikasi default sehingga Anda tidak akan memiliki kelemahan usability: ketika Anda memasukkan akun Anda (baik dari shell jarak jauh atau dari layar login default) kata sandi Anda digunakan untuk membuka kunci keamanan , yang kemudian digunakan untuk mengenkripsi / mendekripsi file Anda di direktori home Anda dengan cepat (Sistem file yang dipasang akan berada langsung di / home / nama pengguna). Ketika Anda logout / home / nama pengguna tidak di-mount dan hanya file yang dienkripsi yang tetap terlihat di sistem (biasanya di /home/.ecryptfs/username/.Private/). Mereka terlihat seperti sekelompok file scrabbled / acak karena nama file dienkripsi juga. Satu-satunya informasi yang bocor adalah: ukuran file, stempel waktu, dan jumlah file (dengan enkripsi disk penuh ini juga tersembunyi).

Jika sistem Anda akan dibagikan kepada beberapa pengguna, ini adalah fitur yang sangat bagus untuk dimiliki bahkan jika Anda memutuskan untuk menambahkan enkripsi disk lengkap bersama dengan ini: keamanan enkripsi disk Penuh tidak aktif ketika mesin menyala dan berjalan saat di rumah ( ecryptfs) enkripsi adalah Nyala selama Anda keluar.

Jadi, enkripsi disk penuh dan enkripsi rumah tidak harus saling eksklusif.

Berikut daftar kemungkinan pengaturan, tergantung pada kebutuhan keamanan yang berbeda:

  • HANYA ENKRIPSI DISK LENGKAP: Jika Anda satu-satunya yang menggunakan komputer dan mesin Anda dapat menangani overhead enkripsi disk lengkap (semua desktop modern dapat melakukannya tanpa memperhatikan pengguna, netbook dan laptop lama tidak terlalu) Anda dapat menggunakan penuh enkripsi disk dan simpan di rumah di partisi yang sama dengan OS Anda (/).
  • ENKRIPSI DISK LENGKAP DAN ENKRIPSI ECRYPTFS RUMAH : Jika Anda khawatir tentang data pribadi Anda sedang dibaca saat komputer Anda aktif atau Anda berbagi komputer dengan pengguna lain, maka Anda dapat memiliki rumah di partisi yang berbeda dari / dan menggunakan ecryptfs sepanjang disk penuh enkripsi (yaitu enkripsi dari / melalui LUKS)
  • HANYA ENKRIPSI ECRYPTFS RUMAH : Jika Anda tidak terlalu khawatir tentang seseorang merusak sistem Anda saat Anda pergi tetapi Anda masih ingin menyimpan data pribadi Anda aman maka lewati enkripsi disk penuh dan cukup gunakan ecryptfs (enkripsi rumah). Bonus tambahan dari skenario ini adalah bahwa ini cukup mudah diatur bahkan setelahnyaAnda telah menginstal Ubuntu, hanya dengan menggunakan ecryptfs-migrate-home. Ini juga merupakan pengaturan default Ubuntu sebelum mengubah beberapa rilis kembali, menambahkan kemungkinan enkripsi disk penuh. Karena sebagian besar desktop modern dapat menangani enkripsi disk penuh tanpa keringat dan menambah lapisan keamanan tipis terhadap injeksi kode off-line, enkripsi disk penuh ditambahkan ke dalam penginstal. Perhatikan bahwa bagi sebagian besar pengguna hanya mengenkripsi rumah mereka dengan ecryptfs akan cukup untuk kebutuhan mereka: menjaga teman-teman mereka dan laptop umum mencuri data pribadi mereka. Selain itu, jika Anda telah ditargetkan secara tunggal oleh organisasi dengan sarana yang tepat, memiliki enkripsi disk lengkap atau enkripsi rumahan saja tidak akan membuat banyak perbedaan kecuali Anda juga telah menetapkan banyak perilaku paranoid lainnya (seperti: menyimpan kernel di pen-drive terpisah yang selalu ada di Anda; terus-menerus memeriksa perusakan / keylogger perangkat keras dan sebagainya)

Jika saya tidak mengaktifkan enkripsi disk selama instalasi, apakah ada cara untuk mengaktifkannya post facto?

Ya dan itu akan lebih mudah jika Anda saat ini menggunakan LVM dan memiliki cukup ruang pada sistem Anda untuk menyalin semua file sistem yang tidak terenkripsi ke dalam partisi LUKS terenkripsi. Saya tidak akan membahas detail saat ini karena saya tidak tahu apakah Anda menggunakan LVM dan jika Anda lebih suka tidak menggunakan ecrypfs untuk saat ini dan melewatkan kerumitan enkripsi disk penuh hingga instalasi baru berikutnya.

pengguna824924
sumber
3

Nah, Anda bisa membuat cadangan dari semua direktori penting dan perangkat lunak yang diinstal. Pastikan 13.10 Anda sepenuhnya diperbarui untuk menghindari konflik versi. Biasanya hal-hal yang dicadangkan adalah:

Setelah itu Anda menginstal ulang sistem hanya sekarang dienkripsi. Perbarui hingga batas penuh. Kemudian pindahkan cadangan ke sistem terenkripsi dan instal semua perangkat lunak dari versi sebelumnya.

Pastikan untuk tidak menimpa file yang penting untuk enkripsi, ketika meletakkan kembali cadangan (mis /etc/fstab. /etc/cryptab, Beberapa hal yang berhubungan dengan grub dan beberapa hal dalam /boottidak boleh diganti dengan file yang dicadangkan).

membingungkan
sumber
1

Dari Ubuntu 16.04 yang berfungsi, saya berhasil dalam enkripsi partisi root pasca-instalasi, dengan partisi root yang berisi segalanya kecuali / boot. Saya meletakkan / boot di usb yang terpisah. Khususnya saya melakukan ini sebelum memutakhirkan ke Ubuntu 18, dan upgrade bekerja dengan baik pada versi disk terenkripsi.

Enkripsi tidak dilakukan "di tempat", yang baik-baik saja dengan saya karena saya tidak ingin menimpa versi yang berfungsi sampai pengaturan yang baru berhasil.

Melakukan prosedur yang benar sangat sederhana dan cepat. (Meskipun mencari tahu prosedur yang benar sangat memakan waktu karena saya mengikuti beberapa petunjuk palsu.)

GARIS BESAR

  1. Buat disk USB linux langsung - nyaman untuk memiliki kegigihan diaktifkan. Boot di disk USB langsung itu.
  2. Buat grup volume terenkripsi luks pada partisi kosong. (Dalam kasus saya itu pada disk yang sama dengan linux asli, tetapi bisa juga disk lain.) Buat / (root) dan tukar volume logis pada partisi terenkripsi. Ini akan bertindak sebagai partisi virtual sejauh menyangkut linux yang disalin.
  3. Salin file dari root lama ke root baru.
  4. Mengatur dan mempartisi USB lain untuk bertindak sebagai disk boot yang dapat dilepas.
  5. Atur beberapa file di root baru, lakukan sihir, dan chroot ke root baru dan kemudian instal grub ke disk boot dari lingkungan root baru chroot.

RINCIAN

1 - Booting dengan disk USB linux langsung - akan lebih mudah untuk mengaktifkan kegigihan.

Menginstal Ubuntu 16 pada usb dengan unetbootin. GUI memungkinkan "kegigihan" untuk ditentukan, tetapi langkah lain juga diperlukan untuk membuat kegigihan itu bekerja - modifikasi /boot/grub/grub.cfguntuk menambahkan --- persistentsebagai berikut:

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

Boot dengan USB langsung

2- Buat grup volume terenkripsi luks pada partisi kosong. Buat / (root) dan tukar volume logis pada partisi terenkripsi itu.

Asumsikan partisi yang tidak digunakan untuk dienkripsi adalah /dev/nvme0n1p4.

Secara opsional , jika Anda memiliki data lama pada partisi yang ingin Anda sembunyikan sebelum enkripsi dan pemformatan, Anda dapat menghapus partisi secara acak. Lihat diskusi di sini .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Siapkan enkripsi.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Anda akan diminta untuk mengatur kata sandi.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Anda akan diminta memasukkan kata sandi. Perhatikan bahwa itu crypt1adalah nama yang diputuskan pengguna sewenang-wenang. Sekarang buat volume dan format.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

Gunakan utilitas ini untuk melihat volume dan memahami hierarki.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3 - Salin file dari root lama ke root baru

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... salinan dalam mode arsip, mempertahankan semua mode file dan bendera.

4 - Mengatur dan mempartisi USB lain untuk bertindak sebagai disk boot yang dapat dilepas.

Saya menggunakan gparted untuk ini. Siapkan dua partisi. Partisi pertama adalah vfat, yang kedua ext2. Masing-masing adalah 512 MB, Anda mungkin bisa mendapatkan lebih sedikit. Asumsikan perangkat /dev/sdf.

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5- Siapkan beberapa file di root baru, lakukan sihir, dan chroot ke root baru dan kemudian instal grub ke disk boot dari lingkungan root baru chroot.

Temukan beberapa UUID untuk digunakan nanti. Perhatikan output dari perintah berikut:

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

Pasang partisi root dan partisi boot

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

Siapkan file /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

di mana "[uuid of ...]" hanyalah kombinasi huruf-angka-tanda hubung.

Buat file /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Beberapa keajaiban diperlukan untuk memasuki lingkungan direktori root:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

Sekarang atur disk USB boot dengan grub:

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

Sekarang Anda harus dapat reboot dan boot menggunakan disk boot USB yang baru dibuat.

Toubleshooting-

(a) Jaringan harus terhubung untuk apt install --reinstall grub-efi-amd64perintah. Jika jaringan terhubung tetapi DNS gagal, coba

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Sebelum memanggil initramfs, vmlinuz...file saat ini yang digunakan dalam linux asli harus ada di direktori root baru. Jika tidak, temukan dan letakkan di sana.

(c) The grub-installperintah akan oleh pencari default semua disk linux lain dapat menemukan bahkan jika mereka tidak mounted, dan menempatkan mereka dalam menu boot pada boot USB baru. Biasanya ini tidak diinginkan, sehingga dapat dihindari dengan menambahkan baris ini ke /boot/default/grub.cfg:

GRUB_DISABLE_OS_PROBER=true

CATATAN: File teks dengan kunci enkripsi dapat ditambahkan ke USB boot yang dapat dilepas.

Craig Hicks
sumber
0

Jawaban sederhana: Tidak.

Jawaban rumit:

Mengenkripsi disk atau partisi akan menghapus semua yang saat ini ada di disk atau partisi itu, jadi untuk mengenkripsi disk Anda juga harus menghapus konten disk. Anda harus membuat cadangan data yang sesuai sebelum memulai. Jelas, ini berarti Anda harus menginstal ulang sistem untuk menggunakan enkripsi disk penuh, tidak ada jalan lain. Ini karena data acak akan ditulis di seluruh disk untuk mempersulit pemulihan data.

Tapi, saat ini Anda tidak perlu mengenkripsi partisi root Anda. Ingatlah bahwa jika sesuatu terjadi, Anda keluar dari sistem Anda tanpa kemungkinan untuk memulihkan data. Anda sebaiknya mempertimbangkan hanya mengenkripsi informasi pribadi Anda saja.

Lihat pertanyaan terkait Bagaimana cara mengenkripsi disk penuh setelah menginstal?

Braiam
sumber
"Keluar dari sistem Anda tanpa kemungkinan untuk memulihkan data" <--- Itu tidak benar. Selama seseorang memiliki kunci enkripsi, data dapat dipulihkan dengan Media Sedang.
con-f-use
@ con-f-use memperhitungkan bahwa ada syarat "jika sesuatu berjalan kawat" yang berarti bahwa jika sesuatu yang sangat buruk terjadi pada drive / partisi yang dienkripsi.
Braiam
Yah ya jika Anda nitpicky, orang juga harus menjaga cadangan header LUKS baru-baru ini pada disk terenkripsi. Tapi saya akan memasukkannya dalam "kunci enkripsi". Selain itu tidak ada salahnya enkripsi penuh dari sudut pandang pemulihan data. Namun, fakta bahwa Anda dapat mengetahui versi Ubuntu yang ada di sana, program apa yang diinstal dan sebagainya menyediakan kemungkinan vektor serangan pada disk yang tidak sepenuhnya dienkripsi. SSD umumnya juga. Jadi untuk paranoid masih ada jalan sekitar enkripsi disk penuh.
con-f-use
"Tapi, saat ini kamu tidak perlu mengenkripsi partisi root kamu." Tolong bicara sendiri, saya benar-benar tidak setuju. "Mengenkripsi disk atau partisi akan menghapus semua yang saat ini ada di disk atau partisi itu, jadi untuk mengenkripsi disk Anda juga harus menghapus isi disk." Sekali lagi, tidak setuju. Truecrypt adalah contoh yang sangat bagus untuk melakukan FDE di Windows dengan disk yang ada. Bahkan, itu adalah metode de facto menginstal - tidak terenkripsi, dan setelah selesai, mengenkripsi itu. Itu tidak mengubah jawaban karena itu tidak mungkin untuk Ubuntu, tetapi pernyataan Anda sangat kategoris, dan salah.
Cookie
@Cookie mengapa Anda mengenkripsi partisi yang memiliki barang yang dapat Anda instal nanti? (dan tolong, saya berbicara tentang sistem pengguna run-of-the-mill, tidak ada hubungannya dengan server perusahaan / perusahaan yang mungkin memiliki barang-barang yang diinstal di dalamnya) 2) apa yang Anda bicarakan adalah fitur truecrypt yang hanya tersedia untuk Windows up to date dan jika Anda tidak dapat menemukan sistem enkripsi Linux yang dapat mengenkripsi partisi setelah instalasi, pernyataan saya benar karena sekarang ini tidak mungkin.
Braiam