Skip to main content
  1. Teches/

Enrypting Disk in Linux using LUKS

·678 words·4 mins· ·
Cryptsetup Cryptsetup Linux Disk Encryption Luks
Wildan
Author
Wildan
An Ordinary Human Being
Table of Contents

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.

Installation
#

Karena merupakan tool standard, cryptsetup biasanya sudah terpasang ketika melakukan instalasi linux. Tapi, jika ternyata belum terpasang, silakan install terlebih dahulu:

DistroCommand
Debian/Ubuntusudo apt install cryptsetup
Arch Linuxsudo pacman -Sy cryptsetup
Opensusesudo zypper install cryptsetup
Fedorasudo dnf install cryptsetup

The Initial Setup
#

Sebelum melakukan proses enkripsi, beberapa hal berikut perlu diperhatikan:

  • Back up data-data penting terlebih dahulu!
  • Catat passphrase yang digunakan agar tidak lupa!

Berikut adalah langkah-langkah enkripsi dengan cryptsetup:

1. Mengengkripsi partisi
#

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:

sudo cryptsetup luksFormat /dev/sda3

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:

  1. Konfirmasi untuk mengenkripsi partisi, kita bisa ketik YES jika ingin melanjutkan.
  2. Passphrase atau password yang digunakan untuk meng-encrypt dan men-decrypt. Gunakan passphrase yang tidak mudah ditebak tapi tidak mudah dilupakan.

ss1
Encrypting a partition

2. Membuka partisi 🔑
#

Sekarang, kita akan membuka partisi sebelumnya yang sudah diformat dengan LUKS:

sudo cryptsetup open /dev/sda3 test

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. :

ss2
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.

3. Memformat filesystem
#

Berikutnya, kita perlu membuat format filesystem baru ke partisi ini.2 Kita hanya perlu melakukan ini di awal saja:

sudo mkfs.ext4 /dev/mapper/test

Keterangan:

  • mkfs.ext4 adalah nama filesystem standard untuk linux. Silakan disesuaikan dengan kebutuhan.
  • /dev/mapper/test adalah nama partisi terdekripsi yang sudah saya buat sebelunnya.

Perhatikan bahwa formatting filesystem ini kita lakukan ke /dev/mapper/test, bukan lagi ke /dev/sda3!

ss3
Creating partition’s filesystem

4. Mounting partisi 🛄
#

Langkah terakhir sebelum partisi ini dapat digunakan adalah me-mounting-nya ke direktori tertentu.

sudo mount /dev/mapper/test /mnt

Keterangan:

  • /dev/mapper/test adalah nama partisi yang sudah dibuat sebelumnya.
  • /mnt adalah lokasi yang saya inginkan sebagai tempat partisi /dev/mapper/test dipasang.

ss4
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:

ss5
Creating a folder and a file

5. Unmount partisi 🛅
#

Setelah selesai menggunakan partisi tersebut, kita bisa meng-unmount-nya:

sudo umount /mnt

Keterangan:

  • /mnt adalah tempat dimana partisi tadi terpasang.

ss6
Unmounting partition

Seperti terlihat, partisi /dev/mapper/test sudah terlepas dari /mnt.

6. Menutup partisi 🔐
#

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.

sudo cryptsetup close test

Dan partisi tadi /dev/sda3 sudah ter-encrypt kembali.

ss7
Close the partition

SELESAI!!!

The End
#

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:

ss8
The cycle

Additional Info: POC
#

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:

ss9
POC

Jadi, kalau kita ingin menggunakan partisi tersebut, kita harus melakukan 4 prosedur yang sudah dijelaskan sebelumnya.


Artikel ini di-inspirasi oleh video Youtube berikut:

Related

Managing Firewall in Linux with UFW (+GUFW)
·1607 words·8 mins
Ufw Ufw Gufw Linux Firewall Iptables Network Security
A simple and user-friendly CLI firewall manager: UFW. It handles incoming to and outgoing traffic from our host machine.
Mugshot to Change Your User Photo Profile
·162 words·1 min
Mugshot Mugshot Linux Xfce
Mugshot, a simple program to change personal user details such as photo profile.
Exa-Eza as a Modern Replacement for ls
·618 words·3 mins
Exa Exa Linux Ls
Want to improve and modernize your ls appearance and functionality? This is the neo-ls..