Linux の GRUB ブート プログラムの暗号化の概要

Linux の GRUB ブート プログラムの暗号化の概要

1. GRUB暗号化とは何か

前の記事で述べたように、システムの起動時には、 grubインターフェイスに入るための 5 秒間のカウントダウン時間があります。

次の図に示すように:

このとき、Enter キーを押してgrubインターフェースに入ります。

次の図に示すように:

選択ボックスのすぐ下に、数行のプロンプトが表示されます。

# ↑ キーと ↓ キーを使用してオプションを強調表示し、Enter キーを押して選択したオペレーティング システムの起動を確認します。
↑ キーと ↓ キーを使用して、強調表示するエントリを選択します。
Enterキーを押して選択したOSを起動します。

# 開始前にコマンドを編集するにはeを押してください。
起動前にコマンドを編集するには「e」を押します。

# 起動前にカーネルパラメータを変更するには、a を押します。
'a' は起動前にカーネル引数を指定します。 

# コマンド ラインを切り替えるには c キーを押します (戻るには esc キーを押します)。
または連結線の場合は「c」。

プロンプトが表示されたら、 eキーを押して、 grub構成ファイルのブート オプションの内容を編集します。

eキーを押すと、結果は次のようになります。

ヒント: コンテンツを直接変更するには、 eキーをもう一度押します。

grub暗号化については、上の 2 番目の図に示す状態の場合、 eキーを押してシステム起動パラメータを編集する前に、最初に設定したパスワードを入力する必要があります。つまり、 grub直接アクセスして上記のようにシステム起動パラメータを編集できないように、 grubにパスワードを設定します。

2. grub暗号化手順

1) grub-md5-cryptコマンドを実行して md5 パスワードを生成します。

次のコマンドを実行します: [root@localhost ~]# grub-md5-crypt

2) パスワードを設定します。

パスワードを2回入力してください:

パスソード:
パスワードを再入力してください:

MD5 暗号化パスワード文字列を生成: $1$Y84LB1$8tMY2PibScmu0Cc8z8U351

これにより、入力したパスワードが MD5 で暗号化され、この暗号化された文字列を使用してgrub構成ファイルが暗号化されます。

3) grub 設定ファイルを変更します。

passwordオプションは、 timeout属性の後、 splashimage属性の前に追加する必要があります。この順序でなければなりません。他の位置に配置した場合は有効になりません。

以下のように表示されます。

[root@localhost ~]# vim /boot/grub/grub.conf

# コンテンツ デフォルト=0
タイムアウト=5

# パスワードオプションは全体設定内にあります。
パスワード --md5 $1$Y84LB1 $8tMY2PibScmu0Cc8z8U35/

スプラッシュイメージ=(hd 0,0)/grub/splash.xpm.gz

4) システムを再起動します。

システムを再起動した後、 grubインターフェイスに入ると、以下のプロンプトに元のeキーがpキーになっていることが示されました。

もう一度eキーを押しても応答がありません。p pを押すと、パスワードの入力を求められます。パスワードを入力しないと、 grub構成ファイルを編集することはできません。

次の図に示すように:

入力後、Enter キーを押して編集可能なgrubインターフェイスに入り、 eキー プロンプトが再び表示されます。以下のように表示されます。

知らせ:

4 番目のステップの最初の画像が表示されたら、パスワードがわからなくても Enter キーを押すだけでシステムを直接起動できます。したがって、 grub暗号化はシステムの起動ではなく、 grub構成ファイルのコンパイルを暗号化します。

上記の暗号化手順は、 grubメニュー全体を暗号化するためのものです。 全体の暗号化が完了したら、 grub編集インターフェイスに入るには、正しいパスワードを入力する必要があります。同時に、システムの通常の起動には影響しません。

単一のブート メニューの暗号化もありますが、 grub編集モードをロックすることはできません。ただし、 eキーを押して編集モードに入ることはできます。そして、編集モードに入った後、 passwordフィールドを削除できますが、これはあまり良くないので説明しません。

3. grub暗号化のロック属性

CentOS システムを起動する場合、システムを正常に起動するには、 grub全体を暗号化し、システムの起動時に正しいgrub暗号化パスワードを入力する必要があります。それで私たちは何をすべきでしょうか?

とても簡単です。方法は次のとおりですgrub/boot/grub/grub.conf設定ファイルで、 titleフィールドにlockを追加して、ロックされていることを示します。正しい grub パスワードを入力しないと、システムを起動できません。

次の図に示すように:

知らせ:

lock属性を追加しないでください。GRUB grubファイルにlock属性を追加すると、パスワードを入力せずに Enter キーを押してもシステムに直接アクセスできなくなります。次に示すように、エラーが報告されます。

エラー 32 が表示されます。続行するには任意のキーを押すと元に戻ります。

lockを追加してはいけない理由:

システムが起動すると、 grubブート プロセスに入ります。この時点では、システムはまだ起動しておらず、ネットワーク カードもまだロードされて有効になっていないため、リモート ターミナルはサーバーに接続できません。この時点では、ローカル入力にはキーボードのみを使用できます。しかし、現在、当社のサーバーは一般的にコンピューター室または遠隔地に設置されており、お客様にとって非常に不便です。したがって、 grub構成ファイルをロックするためにlockを使用しないでください。

Linux の grub ブート プログラムの暗号化に関するこの記事はこれで終わりです。Linux の grub ブート暗号化に関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux grub 起動時の暗号化と削除の回復方法
  • Linux セキュリティ設定 GRUB 暗号化グラフィック チュートリアル 完全なソリューション

<<:  JavaScript Proxyオブジェクトの詳細な説明

>>:  CSSでイメージマッピングを実装する方法

推薦する

Mac OS に MySQL 5.7.20 をインストールするための詳細なグラフィックとテキストの説明

Mac OS X で TAR.GZ から MySQL 5.7 をインストールする MySQL 5.6...

IEの送信フォームの記録履歴クリックリターン情報を実現するためのCSSスタイルコントロールはまだ残っています

これは主に CSS スタイルのコントロールと META タグです。コードをコピーコードは次のとおりで...

Net Core実装プロセス分析のDoc​​kerインストールと展開

1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...

JavaScript における clientWidth、offsetWidth、scrollWidth の違い

1. コンセプトこれらはすべて Element の属性であり、要素の幅を示します。 Element....

Ubuntu で nginx を使用して WebDAV ファイル サーバーを構築する詳細なプロセス

nginxをインストールするnginx-fullをインストールする必要があることに注意してください。...

MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費

目次1. 背景2. テーブル作成ステートメントとデータ挿入テーブルを作成するデータの挿入3. ウィン...

Dockerfile を使用して SpringBoot プロジェクトをデプロイする方法

1. SpringBoootプロジェクトを作成し、jarパッケージにパッケージ化する2. Linux...

IE9beta版ブラウザはHTML5/CSS3をサポート

IE9 は Microsoft の第二の革命だと言う人もいます。これは誇張ではないと思います。IE6...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

CSSのtranslate(-50%,-50%)は水平および垂直の中央揃え効果を実現します。

translate(-50%,-50%) 属性:中央に配置するには、長さと幅の 50% だけ上と左...

jsはショッピングカートの加算と減算、価格計算を実装します

この記事の例では、ショッピングカートの加算と減算、価格計算を実装するためのjsの具体的なコードを共有...

プレフィックスケースを削除する Nginx リバース プロキシ構成のチュートリアル

nginx をリバース プロキシとして使用する場合、リクエストをそのまま次のサービスに転送するだけで...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機機能を実現するためのVueの具体的なコードを紹介します。具体的...