GNU/Linux >> Linux の 問題 >  >> Linux

Linux で Grub ブートローダーをパスワード保護する方法

あなたが Linux のシステム管理者である場合、IT 部門に物理的にアクセスできる他の人を望んでいないかもしれません。システムの起動時に表示される GRUB ブートローダー メニューから何かを変更してください。

GRUB は、前に説明した Linux ブート プロセスの第 3 段階です。

GRUB セキュリティ機能を使用すると、grub エントリにパスワードを設定できます。パスワードを設定すると、パスワードを入力せずに grub エントリを編集したり、grub コマンドラインから引数をカーネルに渡したりすることはできません。

この記事で説明されているように、重要な本番システムでは GRUB パスワードを設定することを強くお勧めします。

1. grub.conf で grub password コマンドを使用する

GRUB がパスワードで保護されていないシステムでは、システムの起動時に GRUB メニューのすぐ下に次のメッセージが表示されます。

このメッセージからわかるように、サーバーを再起動しているコンソールの前にいる人なら誰でも、grub コマンドを編集したり、カーネル引数を変更したりすることができます。実稼働システムでこれをいじります。

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS,
'e' to edit the commands before booting, 
'a' to modify the kernel arguments before booting, or
'c' for a command-line

/boot/grub/grub.conf には、システムの起動時に GRUB メニューに表示されるエントリに関する情報が含まれています。一部のシステムでは、/etc/grub.conf は /boot/grub/grub.conf へのシンボリック リンクです

次の「パスワード」行を grub.conf ファイルに追加します。

$ cat /etc/grub.conf
default=0
timeout=15
password GrbPwd4SysAd$
..

「password」コマンドを grub.conf に追加すると、システムの起動時に GRUB メニューのすぐ下に次のメッセージが表示されます。

このメッセージからわかるように、grub.conf で指定した GRUB パスワードを入力しないと、誰も grub コマンドを編集したり、カーネル引数を変更したりできません。できることは、表示されたエントリの 1 つを選択して、ここから起動することだけです。

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS or
'p' to enter a password to unlock the next set of features.

2. grub-crypt を使用して grub パスワードを暗号化します

上記のエントリを読みながら、おそらくあなたはこう思ったでしょう:はい、grub はパスワードで保護されています。しかし、パスワード自体は grub.conf ファイル内の平文であり、目的に反しています。

grub-crypt ユーティリティを使用して、暗号化されたパスワードを作成できます。

grub-crypt は、ユーザーから平文のパスワードを取得し、以下に示すように暗号化されたパスワードを表示します。

# grub-crypt
Password: GrbPwd4SysAd$
Retype password: GrbPwd4SysAd$
^9^32kwzzX./3WISQ0C

grub.conf ファイルを変更し、以下に示すように –encrypted 引数を使用して「password」エントリを追加します。 grub-crypt コマンドの出力をコピーして、パスワード エントリの「–encrypted」引数の後に貼り付けます。

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C
..

デフォルトでは、grub-crypt コマンドは SHA-512 アルゴリズムを使用してパスワードを暗号化します。以下に示すように、SHA-256 または MD5 アルゴリズムを使用してパスワードを暗号化することもできます。

# grub-crypt --sha-256
# grub-crypt --md5

md5crypt を使用してパスワードを暗号化することもできます。その場合、grub.conf ファイルで「password –md5 encrypted-password」を使用する必要があります。

grub.conf ファイルのスクリプト セクション内で「lock」を指定すると、grub は、ユーザーが認証されている場合にのみ、メニュー エントリのそのセクションの残りのコマンドを実行します。

3. Grub メニュー用に別のファイルをロード

デフォルトでは、システム起動時の GRUB メニューのエントリは grub.conf ファイルから取得されます。つまり、grub.conf ファイルの「title」エントリで始まる行に基づいています。

新しいカーネルのいくつかのバリエーションをテストしている場合は、カスタム メニュー エントリを含む別の grub メニュー ファイルを作成することをお勧めします。システムの起動中、デフォルトでは grub.conf のエントリのみが表示されます。ただし、パスワードを入力すると、grub にカスタム メニュー エントリをロードするように指示できます。

これは、grub.conf ファイルで以下に示すように、カスタム メニュー ファイル名を password コマンドに渡すことによって実現されます。

次の例では、システムの起動時にパスワードを入力すると、/etc/mymenu.lst から grub メニュー エントリを読み込んで表示します。

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C /etc/mymenu.lst
..

Linux
  1. Linuxでアカウントのパスワードを管理する方法

  2. Linuxでパスワードを変更する方法(passwdコマンド)

  3. Linuxでパスワードを確認するには?

  1. LinuxでWindowsパスワードをリセットする方法

  2. Linux –忘れたルートパスワードを変更する方法は?

  3. Linux – Grubをアンインストールする方法は?

  1. GrubRescueを使用してLinuxの起動エラーを修正する方法

  2. KaliLinuxのルートパスワードをリセットする方法

  3. Linuxでユーザーパスワードを変更する方法