Kali ini kita akan belajar cara meng-encypt disk/drive di linux menggunakan LUKS (Linux Unified Key Format). LUKS adalah format enkripsi yang umum digunakan di linux. Salah satu tool yang dapat digunakan untuk mengenkripsi disk/drive adalah cryptsetup1.
Karena merupakan tool standard, cryptsetup biasanya sudah terpasang ketika melakukan instalasi linux, sebab cryptsetup memang langsung menggunakan modul default bawaan kernel Linux, yaitu dm-crypt2. Kita bisa memeriksa modul tersebut dengan perintah berikut:
Terminal window
1
lsmod | grepcrypt
dm-crypt Linux kernel module used by cryptsetup
Tapi, jika ternyata belum terpasang, silakan install terlebih dahulu:
Pertama, kita perlu mengenkripsi partisi yang terdapat di sebuah disk/drive terlebih dahulu. Artinya, sebuah disk/drive mungkin punya lebih dari satu partisi dan kita tidak harus mengenkripsi semua partisinya.
Berikut perintahnya:
Terminal window
1
sudocryptsetupluksFormat/dev/sda3
INFO
Keterangan:
/dev/sda3 adalah partisi yang akan saya encrypt. Silakan disesuaikan.
Partisi yang ada dapat dilihat dengan perintah lsblk.
Setelah itu, akan muncul 2 prompt:
Konfirmasi untuk mengenkripsi partisi, kita bisa ketik YES jika ingin melanjutkan.
Passphrase atau password yang digunakan untuk meng-encrypt dan men-decrypt. Gunakan passphrase yang tidak mudah ditebak tapi tidak mudah dilupakan.
Sekarang, kita akan membuka partisi sebelumnya yang sudah diformat dengan LUKS:
Terminal window
1
sudocryptsetupopen/dev/sda3test
INFO
Keterangan:
test adalah nama partisi yang terenkripsi tadi. Nama ini hanya sementara. Jadi, bisa diganti ketika kita membuka partisi ini lagi nanti.
Sekarang, bandingkan partisi yang belum dibuka dengan yang sudah dibuka dengan lsblk. Sekarang, kita memiliki sebuah partisi baru yang ter-decrypt yang bernama “test” di /dev/sda3. :
Opening up the encrypted partition
Hal penting lainnya yang perlu dicatat juga di tahap ini adalah bahwa partisi yang sudah didekripsi akan muncul di /dev/mapper.
Langkah terakhir sebelum partisi ini dapat digunakan adalah me-mounting-nya ke direktori tertentu.
Terminal window
1
sudomount/dev/mapper/test/mnt
INFO
Keterangan:
/dev/mapper/test adalah nama partisi yang sudah dibuat sebelumnya.
/mnt adalah lokasi yang saya inginkan sebagai tempat partisi /dev/mapper/test dipasang.
Mounting partition
Seperti terlihat pada tangkapan layar, partisi /dev/mapper/test sudah terpasang ke /mnt.
Sekarang, kita sudah bisa menggunakan (mengisinya dengan file & folder) partisi tersebut. Misalnya, saya akan mengisinya dengan sebuah direktori/folder bernama “secret-dir” dan sebuah file teks bernama “secret-file.txt” di dalamnya:
Ketika sudah tidak digunakan lagi, pastikan kita menutup partisi tersebut agar ketika misalnya komputer atau disk/drive kita di-hack, data-data dalam partisi kita akan tetap aman karena kita sudah kembali mengenkripsinya kembali.
Terminal window
1
sudocryptsetupclosetest
Dan partisi tadi /dev/sda3 sudah ter-encrypt kembali.
Sampai di tahap ini, kita telah berhasil membuat enkripsi pada sebuah partisi di disk/drive. Jika kita ingin menggunakan partisi tersebut lagi, kita hanya perlu men-decrypt partisinya dan me-mounting-nya ke suatu direktori (langkah 2 & 4), dan jika sudah selesai, kita bisa kembali meng-unmount dan meng-encrypt-nya lagi (langkah 5 & 6).
Misalnya, sekarang saya ingin menghapus file “secret-file.txt” yang sudah dibuat sebelumnya dan menggantinya dengan file baru bernama “secrets.txt”. Berikut adalah langkah-langkahnya:
Kalau kita mencoba untuk me-mounting partisi /dev/sda3 secara manual seperti biasa, tentu saja tidak akan berhasil karena kita sudah mengubah filesystem partisi tersebut ke format LUKS dan tentu saja karena sudah di-encrypt:
POC
Jadi, kalau kita ingin menggunakan partisi tersebut, kita harus melakukan 4 prosedur yang sudah dijelaskan sebelumnya.
Jika seandainya (suatu hari nanti), Anda sudah tidak memerlukan partisi LUKS itu lagi, Anda mungkin akan menghapus partisi tersebut. Tapi masalahnya, secara default, format file system-nya LUKS tidak otomatis terhapus jika partisinya dihapus. Artinya, meskipun partisi tersebut terhapus, tapi ketika Anda akan menggunakan “blok” partisi yang dulu terdapat format LUKS di dalamnya ketika membuat partisi baru, otomatis file system-nya akan langsung menjadi LUKS lagi.
Oleh karena itu, sebelum menghapus partisi, alangkah baiknya menghapus format file system-nya terlebih dahulu:
Terminal window
1
sudowipefs-a/dev/<nama_partisi>
menghapus format file system
Baru kemudian boleh dihapus, bisa dengan cfdisk atau tools partisi lainnya.
Artikel ini di-inspirasi oleh video Youtube berikut: