自分用メモ。
以下方法を行うことでデータの損失その他あらゆる不具合、不都合が生じた場合についても、一切の責任を負いません。
あくまでも自己責任でお願いします。
Set a password on GRUB bootloader to prevent altering boot configuration (e.g. boot in single user mode without password) [BOOT-5122]
https://cisofy.com/lynis/controls/BOOT-5122/
パスワードがなくても
ログインできてしまう機能(シングルユーザモードでのログイン)にパスワードをかける。
1)パスワードのハッシュ生成
パスワードを入力し、ハッシュを生成
以下の「grub.pbkdf2.sha512.10000.xxxxxxxx.........」の箇所をコピー
$ grub-mkpasswd-pbkdf2 Enter password: Reenter password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.xxxxxxxx.........
2)設定ファイルの編集
/etc/grub.d/40_customを開く
$ sudo vi /etc/grub.d/40_custom
ファイルの末尾に以下の設定を追記。
superusersの"username"は任意のユーザ名を追加。
password_pbkdf2のusernameはsuperusersのユーザ名と同じものをつける。
また1)で作成したハッシュパスワードをユーザ名の後に半角スペースを入れた後にペーストする。
設定例
set superusers="username" password_pbkdf2 username grub.pbkdf2.sha512.10000.xxxxxxxx.........
3)grubのアップデート
$ sudo update-grub
4)サーバを再起動
これでサーバを再起動すると上記で作成したIDとPW(※ハッシュ文字ではない)の入力が必要になる。
VPSを借りて、SSHでログインしていた場合は、先にWEBコンソールなどでGRUBログインを先にしていないと
SSHでログインできないので注意
[参考]
grub2 - How to password protect Grub menu - Ask Ubuntu
How to Password Protect Ubuntu’s Boot Loader