誰かがブートローダを介してrootアクセス権を取得できないようにするにはどうすればよいですか?

誰かがブートローダを介してrootアクセス権を取得できないようにするにはどうすればよいですか?

ro quiet splashUbuntu 10.10では、rootパスワードを交換してrootとしてログインできますrw init=/bin/bash。コンピュータを保護してこのバックドアを無効にするにはどうすればよいですか?

ベストアンサー1

安全に保つ必要があるいくつかのことがあります。そのうちの1つを開くと、同様の効果を持つドアが現れるためです(すべてよく文書化されているので、実際にはバックドアではありません)。 (例外:手順1でコンソールを物理的に保護した場合は、他の操作を実行する必要はありません。)

  1. コンピュータを物理的に保護します。攻撃者がコンピュータからディスクを切断し、自分が制御している他のコンピュータに接続すること、およびファームウェアアクセス制御をリセットすることも防止する必要があります。
  2. コンピュータのBIOS(または他の起動ファームウェア)から起動プロセスを保護するには、パスワード(または他の形式のアクセス制御)を使用します。攻撃者がLive CD、USB、またはその他のメディアから起動するのを防ぐには、内蔵ハードドライブが唯一の起動メディアであることを確認してください。もちろん、攻撃者が設定を変更できないように、BIOSへのアクセスもロックされます。
  3. デフォルトのコマンドライン以外の起動にはパスワードが必要なようにブートローダを保護します。

手順1と2はオペレーティングシステムではなくハードウェアに関連しているため、問題がある場合はお問い合わせください。。手順3で実行する操作はブートローダによって異なります(指定されていません)。 Ubuntuのデフォルトブートローダは次のとおりです。幼虫2

まず、パスワードハッシュを生成します。grub-mkpasswd-pbkdf2

/etc/grub.d/01_users01次に、次のコンテンツ(生成されたコンテンツgrub.pbkdf2.….DEADBEEFはどこにありますかgrub-mkpasswd-pbkdf2?)という名前の実行可能ファイル(mod 755または700)(ファイルが必要です)を作成して、ユーザーとパスワードを宣言します。

#!/bin/sh -e
## Declare users and passwords
cat <<EOF
set superusers="torayeff"
password_pbkdf2 torayeff grub.pbkdf2.sha512.10000.DEADBEEF
EOF

認証されたスーパーユーザーのみがメニュー項目を編集するか、コマンドラインを入力できます。他のユーザーは準備された項目のみを開始できます。

特定の起動エントリを認証されたユーザーに制限するには、そのエントリが作成された場所を置き換えますmenuentry "name"menuentry "name" --users "user1 user2"Linuxのインストール、memtest86、およびこのコンピュータに存在する可能性がある他のオペレーティングシステムのエントリは/etc/grub.d/10_linuxそれぞれ/etc/grub.d/20_memtest86+にあります/etc/grub.d/30_os-prober

で変更して/etc/grub.dsudo update-grub起動する前に実行してください。

おすすめ記事