Enkripsi disk melindungi data saat tersimpan. Di VPS, host mengendalikan hypervisor, sehingga tidak dapat menghentikan penyedia yang bertekad untuk membaca memori. Yang dilakukannya dengan baik adalah melindungi dari cadangan yang hilang, disk yang didaur ulang, dan penyimpanan yang dicuri atau disita. Ketahui mana dari itu yang Anda hadapi sebelum menghabiskan waktu untuknya.
Tentukan dari apa Anda melindungi diri
- Disk yang dipensiunkan atau disalin: enkripsi sangat membantu.
- Snapshot yang bocor: enkripsi membantu jika kunci tidak disimpan bersama snapshot.
- Penyerang langsung pada sistem yang berjalan: enkripsi tidak membantu, karena volume sudah terbuka.
- Hypervisor berbahaya: enkripsi tidak membantu di VPS. Server dedicated dengan kendali penuh atas perangkat keras adalah opsi yang lebih kuat.
Opsi 1: volume data terenkripsi
Ini tempat paling aman untuk memulai. Pasang disk kedua atau buat file loop, dan simpan data sensitif di sana. Contoh ini memakai perangkat kosong bernama /dev/vdb. Periksa ulang nama perangkat, karena memformat menghancurkan isinya.
sudo apt install -y cryptsetup
sudo cryptsetup luksFormat /dev/vdb
sudo cryptsetup open /dev/vdb secure
sudo mkfs.ext4 /dev/mapper/secure
sudo mkdir -p /srv/secure
sudo mount /dev/mapper/secure /srv/secure
Untuk menutupnya lagi: sudo umount /srv/secure && sudo cryptsetup close secure.
Opsi 2: kontainer berbasis file
Jika tidak ada disk cadangan, gunakan file sebagai kontainer.
sudo fallocate -l 20G /root/vault.img
sudo cryptsetup luksFormat /root/vault.img
sudo cryptsetup open /root/vault.img vault
sudo mkfs.ext4 /dev/mapper/vault
sudo mount /dev/mapper/vault /srv/vault
Opsi 3: disk root dengan buka kunci jarak jauh
Mengenkripsi disk root memerlukan cara memasukkan frasa sandi saat boot, sebelum jaringan aktif. Jawaban yang umum adalah server SSH kecil (dropbear) di dalam initramfs. Ini bergantung pada penyedia Anda yang mengizinkan instalasi image kustom atau instal ulang dengan partisi Anda sendiri, jadi periksa itu terlebih dahulu. Banyak panel VPS tidak mengizinkannya, dan kesalahan dapat membuat server tidak bisa boot, jadi siapkan opsi rescue.
Secara garis besar: instal dengan root terenkripsi, tambahkan dropbear-initramfs, letakkan kunci publik SSH Anda di /etc/dropbear/initramfs/authorized_keys, buat ulang initramfs, lalu reboot dan buka kunci melalui SSH dengan cryptroot-unlock.
Tangani kunci dengan benar
- Gunakan frasa sandi yang panjang dan simpan di pengelola kata sandi, bukan di server.
- Cadangkan header LUKS:
sudo cryptsetup luksHeaderBackup /dev/vdb --header-backup-file header.img. Simpan secara offline. - Jangan buka kunci otomatis dengan file kunci yang disimpan di disk yang sama. Itu menggagalkan tujuannya.
- Ingat bahwa membuka kunci saat boot berarti reboot memerlukan kehadiran Anda.
Padukan enkripsi dengan cadangan terenkripsi yang solid dan dasar-dasar dari penguatan 15 menit.