LUKS (Linux Unified Key Setup) adalah standar enkripsi disk di Linux yang digunakan untuk mengenkripsi perangkat blok seperti hard disk atau partisi. Dengan LUKS, data tetap terlindungi ketika sistem dimatikan atau disk dilepas dari perangkat.
Untuk menggunakan LUKS, diperlukan utilitas cryptsetup.
Instalasi #
Install paket cryptsetup terlebih dahulu:
sudo dnf install -y cryptsetupPersiapan Disk #
Pastikan tersedia partisi atau disk yang masih kosong dan belum diformat. Pada contoh ini digunakan disk /dev/sdb.
lsblkContoh output:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 100M 0 part /boot/efi
├─sda3 8:3 0 1000M 0 part /boot
└─sda4 8:4 0 8.9G 0 part
└─rocky-lvroot 253:0 0 8.8G 0 lvm /
sdb 8:16 0 20G 0 diskMembuat Enkripsi LUKS #
Format disk target menggunakan LUKS:
sudo cryptsetup luksFormat /dev/sdbAnda akan diminta memasukkan passphrase. Gunakan password yang kuat dan simpan dengan aman karena passphrase tersebut diperlukan untuk membuka disk.
Membuka Disk Terenkripsi #
Buka disk terenkripsi dengan nama mapper sdb_enc:
sudo cryptsetup open /dev/sdb sdb_encPerintah tersebut akan membuat perangkat virtual /dev/mapper/sdb_enc.
Membuat Filesystem #
Setelah disk berhasil dibuka, buat filesystem pada device mapper:
sudo mkfs.xfs /dev/mapper/sdb_encMount Disk #
Buat direktori mount point:
sudo mkdir -p /media/dataMount disk terenkripsi:
sudo mount /dev/mapper/sdb_enc /media/dataVerifikasi hasil mount:
df -hAuto Mount Saat Boot #
Agar disk terenkripsi dapat terbuka dan ter-mount otomatis saat sistem boot, tambahkan konfigurasi pada /etc/crypttab dan /etc/fstab.
Mendapatkan UUID LUKS #
Cari UUID dari partisi terenkripsi:
sudo blkid /dev/sdbContoh output:
/dev/sdb: UUID="6901beb8-a8a9-429a-9d27-15f44a975a86" TYPE="crypto_LUKS"Membuat Keyfile #
Buat keyfile untuk membuka LUKS secara otomatis:
sudo dd if=/dev/urandom of=/etc/crypto_keyfile.bin bs=512 count=8
sudo chmod 0400 /etc/crypto_keyfile.binMenambahkan Keyfile ke LUKS #
Tambahkan keyfile ke salah satu slot LUKS:
sudo cryptsetup luksAddKey /dev/sdb /etc/crypto_keyfile.binAnda akan diminta memasukkan passphrase LUKS yang sudah ada untuk proses otorisasi.
Test Keyfile #
Pastikan keyfile dapat digunakan untuk membuka disk:
sudo cryptsetup luksOpen \
--test-passphrase \
--key-file /etc/crypto_keyfile.bin \
/dev/sdbKonfigurasi /etc/crypttab
#
Tambahkan entry berikut ke file /etc/crypttab:
sdb_enc UUID=6901beb8-a8a9-429a-9d27-15f44a975a86 /etc/crypto_keyfile.bin luksFormat umum:
<nama_mapper> UUID=<uuid_luks> <keyfile> luksKonfigurasi /etc/fstab
#
Tambahkan entry berikut ke file /etc/fstab:
/dev/mapper/sdb_enc /media/data xfs defaults,nofail 0 2Verifikasi Konfigurasi #
Sebelum reboot, lakukan pengujian:
sudo mount -a
sudo systemctl daemon-reloadJika tidak ada error, reboot sistem untuk memastikan disk terenkripsi dapat terbuka dan ter-mount otomatis saat boot.