web-dev-qa-db-ja.com

誰かがLive CDでパスワードをリセットしないようにするにはどうすればよいですか?

最近、私の友人の1人が私の場所に来て、15分以内に彼がLive CDを使用して私のアカウントをハッキングし、私の目の前でパスワードをリセットしました。私はそのようなことを見て困惑しました。 Live CDを使用したこのような将来の試みを防ぐために私を導いてください。

55
coder

これをすばやく簡単に行うには、BIOSでCDおよびUSBスティックからの起動を無効にし、BIOSパスワードを設定します。

これによると wikiページ

(Grub構成ファイルに)パスワードを配置したり、メニュー項目をロックしたりしても、grubコマンドラインで入力したコマンドを使用してユーザーが手動で起動することを妨げません。

ただし、誰かがハードドライブを盗んで別のマシンにマウントしたり、バッテリーを取り外してBIOSをリセットしたり、攻撃者がマシンに物理的にアクセスしているときに使用できる他の方法の1つを阻止することはできません。

より良い方法は、ドライブを暗号化することです。ホームディレクトリを暗号化するか、ディスク全体を暗号化することで、これを行うことができます。

56
Jorge Castro

ティーボールバットを持ってコンピューターの横に立ってください。近づいた人をひどく打ち負かします。

またはロックします。

コンピュータが物理的にアクセス可能な場合、安全ではありません。

50
mdebusk

最初の警告...

Grub2のパスワード保護手順は非常に注意が必要です。間違えた場合は、ブート不能なシステムを使用してしまう可能性があります。したがって、always最初にハードドライブのフルイメージバックアップを作成します。 Clonezillaを使用することをお勧めします-PartImageなどの別のバックアップツールも使用できます。

これを練習したい場合は、スナップショットをロールバックできる仮想マシンゲストを使用してください。

さぁ、始めよう

以下の手順は、ブート中のGrub設定の不正な編集を保護します-つまり、 e 編集するには、ブートオプションを変更できます。たとえば、強制的にシングルユーザーモードで起動し、ハードディスクにアクセスできます。

この手順は、この質問の関連する回答で説明されているように、ハードディスク暗号化および安全なBIOSブートオプションと組み合わせて使用​​して、ライブCDからの起動を防止する必要があります。

以下のほとんどすべてを一度に1行ずつコピーして貼り付けることができます。

まず、編集するgrubファイルをバックアップします-ターミナルセッションを開きます。

Sudo mkdir /etc/grub.d_backup
Sudo cp /etc/grub.d/* /etc/grub.d_backup

Grubのユーザー名を作成しましょう:

gksudo gedit /etc/grub.d/00_header &

一番下までスクロールし、新しい空の行を追加して、次をコピーして貼り付けます。

cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF

この例では、2つのユーザー名が作成されました:myusernameおよびrecovery

次-ターミナルに戻ります(geditを閉じないでください):

NattyおよびOneiricユーザーのみ

入力して暗号化されたパスワードを生成する

grub-mkpasswd-pbkdf2

プロンプトが表示されたら2回使用するパスワードを入力します

Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646

興味のあるビットはgrub.pbkdf2...で始まりBBE2646で終わります

マウスを使用してこのセクションを強調表示し、右クリックしてコピーします。

geditアプリケーションに切り替えます-「xxxx」というテキストを強調表示して、コピーしたものに置き換えます(右クリックして貼り付けます)

つまり、行は次のようになります

password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646

すべての 'buntuバージョン(明id以上)

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

最後に、各grubメニューエントリ(menuentryで始まる行を持つすべてのファイル)をパスワードで保護する必要があります。

cd /etc/grub.d
Sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *

これにより、新しいエントリ--users myusernameが各行に追加されます。

Update-grubを実行してgrubを再生成します

Sudo update-grub

Grubエントリを編集しようとすると、ユーザー名、つまりmyusernameと使用したパスワードが要求されます。

再起動して、すべてのgrubエントリを編集するときにユーザー名とパスワードが適用されていることをテストします。

N.B.押すことを忘れないでください SHIFT ブート中にgrubを表示します。

回復モードを保護するパスワード

上記のすべては、リカバリモードを使用することで簡単に回避できます。

幸いなことに、回復モードのメニューエントリを使用するようにユーザー名とパスワードを強制することもできます。この回答の最初の部分では、1234のパスワードでrecoveryという追加のユーザー名を作成します。このユーザー名を使用するには、次のファイルを編集する必要があります。

gksudo gedit /etc/grub.d/10_linux

次の行を変更します。

printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"

に:

if ${recovery} ; then
   printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
   printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi 

リカバリを使用する場合、ユーザー名recoveryおよびパスワード1234を使用します

Sudo update-grubを実行して、grubファイルを再生成します

再起動し、回復モードで起動しようとするときにユーザー名とパスワードとして要求されていることをテストします。


詳細情報- http://ubuntuforums.org/showthread.php?t=1369019

26
fossfreedom

誰かがあなたのマシンに物理的にアクセスできる場合、彼らは常にあなたのPCに何かをすることができることを覚えておくことが重要です。 PCケースやBIOSパスワードをロックするようなことは、決心した人があなたのハードドライブやデータを奪うことを止めることはありません。

5
balloons