Mengunci GRUB Boot Loader
Sebenarnya, tidak ada cara yang lebih ampuh mengamankan data di komputer selain dengan mengenkripsi HDD/SSD. Namun, nyatanya hingga kini saya enggan untuk melakukan enkripsi pada sarana penyimpanan data tersebut, salah satunya karena takut lupa passphrase atau apalah hingga berakibat HDD/SSD tidak berguna lagi.
Jadi, untuk sementara, saya hanya mengunci BIOS dan GRUB. Mengapa mengunci GRUB? Karena seseorang bisa boot sebagai root
hanya dengan menyunting boot entry dan menambahkan parameter single
di ujungnya.
Jika Anda juga menggunakan GRUB2 dan ingin menguncinya dari tangan yang tidak berhak, ikuti langkah mengunci GRUB2 di sistem Debian (based) berikut:
Jalankan
grub-mkpasswd-pbkdf2
untuk mengenkripsi kata kunci bagi GRUB users. Berikan kata kunci dan ulangi jika diminta. Setelahnya, kita akan disuguhi string acak yang merupakan enkripsi dari kata kunci yang tadi kita ketikkan.
Misal hasil dari enkripsi dari password “ngajajaldoang” adalah seperti berikut:PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.64B7D4F597498B54FC0F874E01E6B91077001FD0CC351C381CA4545176706846143FABFD01375690633A97A750ADC23ACD41528F26060E3C7542E70FB6892447.065259BA24C87FFA17203F19A29351A90ACCEA9C2B6AAFA4DD2E54D8E3DFA59502ECB61717CD9B899F4E71E8FD496D6048AA4A0F83063E62363170E30D0050E2
Simpan string tersebut ke dalam berkas
/etc/grub.d/40_custom
, misalnya:set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.64B7D4F597498B54FC0F874E01E6B91077001FD0CC351C381CA4545176706846143FABFD01375690633A97A750ADC23ACD41528F26060E3C7542E70FB6892447.065259BA24C87FFA17203F19A29351A90ACCEA9C2B6AAFA4DD2E54D8E3DFA59502ECB61717CD9B899F4E71E8FD496D6048AA4A0F83063E62363170E30D0050E2
Dapat Anda lihat, ternyata ada tambahan baris
set superusers="root"
danpassword_pbkdf2 root
.root
di sini bukanlahroot
dalam sistem Linux yang akan kita boot, melainkan username bagi GRUB user yang akan kita kunci.Setelah disimpan, mutakhirkan GRUB menggunakan perintah
sudo update-grub
.Sekarang, tiap kali memilih entri di GRUB kita akan ditanya user dan password. Ketikkan
root
sebagai user danngajajaldoang
sebagai password sebagaimana telah diatur di awal.
Namun jika kita sering reboot, proses memasukkan user dan pass ini akan cukup mengganggu.
Buat pengecualian pada entri tertentu dengan cara menambahkan--unrestricted
pada baris entri tersebut dalam berkas/boot/grub/grub.cfg
, atau jika ingin berlaku pada semua entri, tambahkan string--unrestricted
tersebut pada berkas/etc/grub.d/10_linux
.
/boot/grub/grub.cfg
akan berubah tiap kali perintahsudo update-grub
dijalankan, dan/etc/grub.d/10_linux
akan berubah tiap kali paket GRUB mendapat pembaharuan, jadi cara manapun yang diambil, adalah bijaksana setelah melakukan penyuntingan untuk mencadangkan berkas-berkas tersebut.Saya lebih suka untuk menyunting berkas
/etc/grub.d/10_linux
karena ia berlaku menyeluruh. Jadi, berikut dicontohkan untuk menyunting berkas tersebut.
String--unrestricted
harus disisipkan pada baris yang bertanggungjawab mendaftar menu boot, gunakan perintah berikut untuk mencari di mana baris tersebut berada:grep -in menuentry /etc/grub.d/10_linux
Hasilnya akan mirip seperti berikut:
132: echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/" 134: echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
Sisipkan
--unrestricted
pada baris132
dan134
berkas/etc/grub.d/10_linux
sesuai pencariangrep
di atas:132: echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' --unrestricted {" | sed "s/^/$submenu_indentation/" 134: echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' --unrestricted {" | sed "s/^/$submenu_indentation/"
Terapkan pengaturan baru ini ke
grub.cfg
menggunakan perintahsudo update-grub
.
That’s it, kita dapat langsung boot seperti biasa, namun jika hendak melakukan langkah lain semisal menyunting boot entry, maka kita akan ditanya username dan password.
Demikian artikel kali ini, sebarkan! Jangan sampai manfaatnya terhenti di Anda…