GRUBメニューをパスワードで保護する方法 - TechRepublic

GRUBメニューをパスワードで保護する方法 - TechRepublic

データセンター、社内ネットワーク、あるいは自宅でLinuxを使用する場合、可能な限りセキュリティを確保したいと考えるでしょう。ご存知のとおり、オープンソースプラットフォームではセキュリティを強化する方法が数多くあります。見落とされがちな方法の一つが、GRUBメニューのパスワード保護です。パスワード保護を行うと、GRUBメニューでパスワードを入力しない限り、サーバーやデスクトップを起動できなくなります。

注意:これはセキュリティ上の観点からは素晴らしい機能ですが、サーバーをリモートで再起動する必要がある場合、認証情報を入力できる人が物理的にそこにいなければ再起動できません(ただし、サーバーまたはデスクトップが仮想マシンであり、ホストにアクセスできる場合は除きます)。それでも、セキュリティをさらに強化することは常にプラスになります。

実現させましょう。Ubuntu Server 16.04を使ってデモを行います。

読みながら入力しますか?

インストール

念のためお知らせします。私は何度もテストしましたが、一度も失敗していません。だからといって、あなたにも失敗しないというわけではありません。そのため、まずは本番環境ではないサーバーでテストを行ってください。そして、このような変更を行う前には、必ず、必ず、必ず…データをバックアップしてください。

GRUBパスワードを追加するために必要なコマンドは、Ubuntu Serverにはデフォルトで含まれていません。追加するには、クイックインストールコマンドを実行する必要があります。ターミナルウィンドウを開き、以下のコマンドを実行してください。

sudo apt install grub-common

これで完了です。これで、Ubuntu の起動プロセスをパスワードで保護する準備が整いました。

パスワードの追加

パスワードを追加するには、キーをコピー&ペーストする必要があります。そのため、Ubuntuサーバーにコピー&ペーストが可能な状態でログインしている必要があります。仮想マシンをご利用の場合は、キーのコピーが許可されていることを確認してください。許可されていない場合は、セキュアシェルを使用してサーバーにログインし、以下の手順に従ってください。

まず最初にパスワードを作成します。コマンドsudo grub-mkpasswd-pbkdf2 を実行します。GRUB メニュー用の新しいパスワードの入力と確認を求められます。パスワードの確認に成功すると、キー(非常に長い文字列)が表示されます。このキーをクリップボードまたは別のドキュメントにコピーします。コピーしたキーを/etc/grub/grub.cnfファイルに追加する必要があります。コマンドsudo nano /etc/grub/grub.cnfを実行し、ファイルの末尾に以下の行を追加します。

set superusers="root"
password_pbkdf2 root KEY

ここで、KEY はパスワードの作成時に生成されたキーです。

そのファイルを保存して閉じます。

最後に、コマンドsudo grub-mkconfig -o /boot/grub2/grub.cfgを実行します。このコマンドが完了したら、マシンを再起動します。最初のスプラッシュ画面が表示された後、ユーザー名とパスワードの入力を求められます。ユーザー名は root、パスワードはsudo grub-mkpasswd-pbkdf2コマンドの実行後に作成したパスワードです。正しい認証情報を入力すると、サーバーが起動し、ログインプロンプトが表示されます。

おめでとうございます。Ubuntu Serverの起動プロセスがパスワード保護されました。サーバーを再起動するたびに、起動プロセスを完了するために認証情報を入力する必要があることに注意してください。

Tagged: