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-pbkdf2untuk 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.065259BA24C87FFA17203F19A29351A90ACCEA9C2B6AAFA4DD2E54D8E3DFA59502ECB61717CD9B899F4E71E8FD496D6048AA4A0F83063E62363170E30D0050E2Simpan string tersebut ke dalam berkas
/etc/grub.d/40_custom, misalnya:set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.64B7D4F597498B54FC0F874E01E6B91077001FD0CC351C381CA4545176706846143FABFD01375690633A97A750ADC23ACD41528F26060E3C7542E70FB6892447.065259BA24C87FFA17203F19A29351A90ACCEA9C2B6AAFA4DD2E54D8E3DFA59502ECB61717CD9B899F4E71E8FD496D6048AA4A0F83063E62363170E30D0050E2Dapat Anda lihat, ternyata ada tambahan baris
set superusers="root"danpassword_pbkdf2 root.rootdi sini bukanlahrootdalam 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
rootsebagai user danngajajaldoangsebagai 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--unrestrictedpada baris entri tersebut dalam berkas/boot/grub/grub.cfg, atau jika ingin berlaku pada semua entri, tambahkan string--unrestrictedtersebut pada berkas/etc/grub.d/10_linux.
/boot/grub/grub.cfgakan berubah tiap kali perintahsudo update-grubdijalankan, dan/etc/grub.d/10_linuxakan 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_linuxkarena ia berlaku menyeluruh. Jadi, berikut dicontohkan untuk menyunting berkas tersebut.
String--unrestrictedharus 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_linuxHasilnya 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
--unrestrictedpada baris132dan134berkas/etc/grub.d/10_linuxsesuai pencariangrepdi 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.cfgmenggunakan 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…