パスワードでGRUBを保護する方法(Linux)

私たちは通常、時間の大部分を 不正アクセスを防止する 私たちのチームへ:ファイアウォール、ユーザー権限、ACLの構成、強力なパスワードの作成など。 しかし、私たちはめったに覚えていません 私たちの機器の起動を保護します.

人がコンピュータに物理的にアクセスできる場合は、コンピュータを再起動して、 GRUBパラメータを変更する コンピュータへの管理者アクセスを取得します。 そのようなアクセスを取得するには、GRUBの「kernel」行の最後に「1」または「s」を追加するだけです。


これを回避するために、GRUBはパスワードを使用して保護できるため、不明な場合はパラメーターを変更できません。

GRUBブートローダーがインストールされている場合(最も一般的なLinuxディストリビューションを使用している場合に最も一般的です)、GRUBメニューの各エントリをパスワードで保護できます。 このように、起動するオペレーティングシステムを選択するたびに、システムを起動するために指定したパスワードの入力を求められます。 また、おまけとして、コンピューターが盗まれた場合、侵入者はファイルにアクセスできなくなります。 いいですね。

GRUB 2

Grubエントリごとに、スーパーユーザー(「e」キーを押してGrubを変更するアクセス権を持つユーザー)を除いて、システムの起動時にGRUBに表示されるエントリのパラメーターを変更する権限を持つユーザーを確立できます。 これは、ファイル/etc/grub.d/00_headerで行います。 お気に入りのエディターでファイルを開きます。

sudo ナノ /etc/grub.d/00_header

最後に以下を貼り付けます。

猫 < < EOF
set superusers=”user1”
パスワードus​​er1password1
EOF

user1がスーパーユーザーの場合、例:

猫 < < EOF
set superusers=”スーパーユーザー”
スーパーユーザーパスワード123456
EOF

さらにユーザーを作成するには、以下にユーザーを追加します。

スーパーユーザーパスワード123456

それは多かれ少なかれ次のように見えます:

猫 < < EOF
スーパーユーザーを設定 = "スーパーユーザー"
スーパーユーザーパスワード123456
パスワードus​​er2
EOF

必要なユーザーを確立したら、変更を保存します。

Windowsを保護する 

Windowsを保護するには、ファイル/etc/grub.d/30_os-proberを編集します。

sudo ナノ /etc/grub.d/30_os-prober

次のようなコード行を探します。

menuentry "$ {LONGNAME}($ {DEVICE}上)" {

次のようになります(スーパーユーザーはスーパーユーザーの名前です):

menuentry "$ {LONGNAME}(on $ {DEVICE})" –usersスーパーユーザー{

 
変更を保存して実行します。

sudo update-grub

ファイル/boot/grub/grub.cfgを開きました。

須藤ナノ /boot/grub/grub.cfg

そして、Windowsエントリはどこにありますか(このようなもの):

menuentry "Windows XP Professional" {

これに変更します(user2はアクセス権限を持つユーザーの名前です):

menuentry "Windows XP Professional" –users user2 {

再起動して実行します。 これで、Windowsに入ろうとすると、パスワードの入力を求められます。 「e」キーを押すと、パスワードも要求されます。

Linuxを保護する

Linuxカーネルエントリを保護するには、ファイル/etc/grub.d/10_linuxを編集して、次の行を探します。

menuentry "$ 1" {

スーパーユーザーのみがアクセスできるようにする場合は、次のようになります。

menuentry "$ 1" –users user1 {

XNUMX番目のユーザーがアクセスできるようにする場合:

menuentry "$ 1" –users user2 {

/etc/grub.d/20_memtestファイルを編集することにより、メモリチェックからエントリを保護することもできます。

menuentry "メモリテスト(memtest86 +)" –usersスーパーユーザー{

すべてのエントリを保護する

すべてのエントリを保護するには、次のコマンドを実行します。

sudo sed -i -e '/ ^ menuentry / s / {/ –users superuser {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom

この手順を元に戻すには、次のコマンドを実行します。

sudo sed -i -e '/ ^ menuentry / s / –users superuser [/ B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-プローバー/etc/grub.d/40_custom

GRUB

GRUB環境を開くことから始めましょう。 私はターミナルを開いて書いた:

グラブ

次に、次のコマンドを入力しました。

md5crypt

使用するパスワードの入力を求められます。 それを入力し、perisonEnter。 暗号化されたパスワードを取得しますが、これは慎重に保管する必要があります。 ここで、管理者権限を使用して、お気に入りのテキストエディタでファイル/boot/grub/menu.lstを開きました。

sudo gedit /boot/grub/menu.lst

好みのGRUBメニューエントリにパスワードを設定するには、保護する各エントリに以下を追加する必要があります。

パスワード--md5my_password

my_passwordは、md5cryptによって返される(暗号化された)パスワードです。前:

タイトルUbuntu、カーネル2.6.8.1-2-386(リカバリモード)
ルート(hd1,2)
カーネル/boot/vmlinuz-2.6.8.1-2-386root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386

後:

タイトルUbuntu、カーネル2.6.8.1-2-386(リカバリモード)
ルート(hd1,2)
カーネル/boot/vmlinuz-2.6.8.1-2-386root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

ファイルを保存して再起動します。 とても簡単です! 悪意のある人が保護されたエントリの構成パラメータを変更する可能性があるだけでなく、そのシステムを起動することさえできないようにするために、titleパラメータの後に「protected」エントリに行を追加できます。 この例に従うと、次のようになります。

タイトルUbuntu、カーネル2.6.8.1-2-386(リカバリモード)
ロック
ルート(hd1,2)
カーネル/boot/vmlinuz-2.6.8.1-2-386root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

次回誰かがそのシステムを起動したいときは、パスワードを入力する必要があります。

出典 デラノーバー & メイク & Ubuntuフォーラム & elavdeveloper


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   マルセロミランダ

    こんにちは、助けが必要です。Androidシステムのカーネルをパスワードで保護したいのです。デバイスが盗まれると、ROMが変更され、回復できなくなるからです。 あなたが私を助けることができれば...私はスーパーユーザーのアクセス権を持っていますが、あなたがデバイスをダウンロードモードにしたときにパスを要求して欲しいです。 前もって感謝します。

  2.   ホセ・ダミアン

    優れた貢献。 購読済み