とーますメモ

Ruby on Rails / Goなどの学習メモ

【Lynis】[BOOT-5122] シングルユーザモードでもログインできなくする

自分用メモ。

以下方法を行うことでデータの損失その他あらゆる不具合、不都合が生じた場合についても、一切の責任を負いません。
あくまでも自己責任でお願いします。

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