Cara Mengenkripsi Partisi di Linux

Pada salah satu artikel kami sebelumnya, kita telah mempelajari bagaimana Anda dapat mengenkripsi seluruh sistem berkas root pada Linux dengan mudah.

Namun, pada beberapa kasus, Anda mungkin ingin mengenkripsi satu partisi sederhana yang mungkin menyimpan beberapa file penting Anda.

Seperti yang sudah Anda ketahui, mengenkripsi disk Anda sangatlah penting. Jika laptop Anda dicuri, Anda mungkin akan kehilangan semua informasi pribadi Anda.

Namun, ada beberapa cara bagi Anda untuk mengatasi masalah ini: dengan mengenkripsi partisi disk Anda.

Pada tutorial ini, Anda akan mempelajari semua langkah yang diperlukan untuk mengenkripsi seluruh partisi disk, mengamankannya dengan kata sandi atau keyfile.

Enkripsi Partisi menggunakan cryptsetup

Seperti yang telah dijelaskan pada artikel sebelumnya, mengenkripsi partisi melibatkan pemformatan seluruh disk.

Sebagai konsekuensinya, jika Anda berencana untuk mengenkripsi disk dengan data yang sudah ada, maka Anda harus mengetahui bahwa data Anda akan terhapus dalam prosesnya. Untuk menghindari kehilangan apa pun, Anda harus membuat cadangan data Anda pada disk eksternal atau cloud online.

Membuat Partisi Baru pada disk
Untuk mengenkripsi sebuah partisi, pertama-tama kita akan membuat partisi baru menggunakan utilitas “cfdisk“. Sebagai contoh, kita akan membuat partisi baru bernama “sdb1” pada disk “sdb”.

# cfdisk /dev/sdb

Format Disk Partition as LUKS

Untuk mengenkripsi partisi, kita akan menggunakan perintah yang terkait dengan proyek LUKS.

Proyek LUKS, kependekan dari Linux Unified Key System, adalah sebuah spesifikasi yang digunakan untuk mengenkripsi semua perangkat penyimpanan dengan menggunakan protokol kriptografi khusus. Seperti yang telah dijelaskan, LUKS hanyalah sebuah spesifikasi, Anda akan membutuhkan sebuah program yang mengimplementasikannya.

Dalam hal ini, kita akan menggunakan utilitas “cryptsetup”. Seperti yang dijelaskan pada bagian manual, cryptsetup bertujuan untuk membuat ruang terenkripsi untuk dm-crypt.

Pertama-tama, pastikan anda memiliki perintah “cryptsetup” dengan menggunakan perintah “which”.

$ which cryptsetup
# apt-get install cryptsetup 

kemudian dilanjutkan dengan

# cryptsetup luksFormat /dev/sdb1
# cryptsetup luksFormat /dev/sdb1

WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.

Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/sdb1:
Verify passphrase:

Pertama-tama, Anda akan diingatkan bahwa mengenkripsi disk Anda akan memformatnya dalam prosesnya.

Setelah mengetik “YES” dengan huruf kapital, Anda harus memilih kata sandi untuk mengamankan perangkat Anda.

LUKS mendukung dua cara untuk melindungi media Anda: menggunakan kata sandi (yang saat ini kami gunakan) dan menggunakan kunci. Untuk saat ini, Anda dapat memilih kata sandi yang aman dan partisi Anda akan diformat secara otomatis.

Setelah partisi Anda dibuat, Anda dapat memeriksanya dengan menggunakan perintah “lsblk“: partisi harus ditandai sebagai “crypto_luks“.

# lsblk -f

Membuat Sistem Berkas ext4 pada Partisi

Secara default, volume terenkripsi anda tertutup yang berarti anda tidak dapat mengakses data yang tersedia di dalamnya.

Untuk “membuka”, yang berarti “membuka kunci” volume anda, anda harus menggunakan perintah “cryptsetup” sekali lagi diikuti dengan “luksOpen” dan nama volume.

Pada akhir perintah, berikan nama untuk volume yang Anda buka, dalam hal ini kita akan memilih “cryptpart“.

# cryptsetup luksOpen /dev/sdb1 cryptpart
Enter passphrase for /dev/sdb1:
# lsblk  -f

Seperti yang dapat Anda tebak, Anda diminta untuk memberikan kata sandi yang Anda pilih pada bagian sebelumnya.

Menjalankan perintah “lsblk” sekali lagi, Anda mungkin memperhatikan bahwa satu volume dibuat di bawah volume terenkripsi “sdb1” bernama “cryptpart“. “Device mapper”, yang merupakan salah satu kerangka kerja dari Kernel Linux, melakukan hal itu untuk Anda.

Sekarang volume Anda sudah terbuka, sekarang saatnya Anda membuat sistem berkas ext4 baru di dalamnya.

Untuk membuat sistem berkas baru pada partisi Anda, gunakan perintah “mkfs” diikuti dengan format sistem berkas, dalam hal ini “ext4“.

# mkfs.ext4 /dev/mapper/cryptpart
# mkfs.ext4 /dev/mapper/cryptpart
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 1306112 4k blocks and 327040 inodes
Filesystem UUID: cf9f61f3-d630-4f7b-832b-9f4f33e4e9ae
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Sekarang Anda dapat menyambungkannya dan menambahkan file baru ke dalamnya. File yang dibuat pada volume ini akan dienkripsi secara otomatis.

$ mkdir -p /home/mola/files 
# mount /dev/mapper/cryptpart /home/mola/files
# chown mola:mola /home/mola/files
# touch  files/secretfile

Banyak administrator sistem yang mengetahui keberadaan file fstab yang digunakan oleh proses init untuk melakukan mount drive.

Memodifikasi file crypttab dan fstab

Namun, ketika berurusan dengan partisi terenkripsi, ada file lain yang ikut berperan: /etc/crypttab.

Sama halnya dengan file fstab, crypttab dibaca oleh proses init Anda saat booting. Dengan informasi yang disediakan di dalamnya, file ini akan meminta Anda untuk membuka kunci partisi atau membaca file kunci untuk melakukannya secara otomatis.

# blkid | grep -i luks
/dev/sdb1: UUID="e03814f5-36bd-4510-b6cd-1eddfe66cf6a" TYPE="crypto_LUKS" PARTUUID="96aed5d9-3bdf-d047-b8b7-bd31b299c55c"
# blkid | grep -i ext4
# nano /etc/crypttab

kemudian modifikasi file /etc/fstab :

 # blkid | grep -i ext4

Membuat Kunci Untuk Partisi Terenkripsi

# echo "supersecretpass" > volume-key
#  mv volume-key /boot/
# chown root:root /boot/volume-key
#  chmod 0400 /boot/volume-key

Tambahkan Kunci ke Volume LUKS

# cryptsetup luksAddKey /dev/sdb1 /boot/volume-key
Enter any existing passphrase:
# cryptsetup luksDump /dev/sdb1
nano /etc/crypttab

Content of the crypttab file
cryptpart    UUID=<partition_uuid>                     /boot/volume-key    luks
cryptpart    UUID=cf9f61f3-d630-4f7b-832b-9f4f33e4e9ae /boot/volume-key    luks

Kemudian reboot , maka pada proses reboot tidak perlui lagi mengimputkan password untuk melakukan mounting.

Leave a ReplyCancel reply