web-dev-qa-db-ja.com

rootユーザーのパスワードを変更する機能(脆弱性?)

私はRHCSA試験の勉強をしており、トピックの1つは「忘れたrootユーザーのパスワードを変更する」機能です。これは公式の試験目的であり、 公式のRedhatドキュメント も含まれています。

これは明らかなセキュリティの脆弱性ではないのですか? rootユーザーのパスワードを変更する機能が存在してはいけませんか?マシンに物理的にアクセスする必要があることはわかりますが(実装が難しくなります)、このように変更できるのにパスワードを設定する必要があるのはなぜですか。この「機能」を無効にして、GRUBから変更できないようにする方法はありますか?

他のすべてのLinuxディストリビューションでもこれを行うことができますか?または、これはRedhat専用の能力ですか?

32
Tobin Shields

マシンに物理的にアクセスする必要があると言ったとき、あなたはほとんど頭の釘を打ちました。

物理的にアクセスできる場合は、必要を行わずに、ルートパスワードをリセットするための公式の手順を実行します。ハードドライブのビットを直接反転させることができるので、自分のしていることがわかっている場合に限ります。つまり、DVDまたはフラッシュドライブからリカバリOSを起動し、ドライブをそのようにマウントして、ディスク全体への完全な読み取り/書き込みアクセスを取得できます。

ディスク暗号化はリスクを軽減しますが、完全に削除するわけではありません*が、攻撃をはるかに複雑にします。物理的なアクセスを持つ攻撃者は、時間内にデバイスのあらゆる側面に影響を与えることができると想定するのが最善です。

物理的なアクセス権を持つ攻撃者は常に最終的に特権アカウントアクセスを取得することが想定されているため、正当な管理者がパスワードを紛失した場合、特別なトラブルにさらされることはほとんど意味がありません。

私が使用したすべてのLinuxディストリビューションにはこの機能がありましたが、より偏執的な視聴者向けのディストリビューションの中には、これを無効にすることができるものもあります。

さらに、これはBSD Unixの標準機能であり、少なくとも15年前にシスコのデバイスで受けたCCNA試験でテストされました。明示的に保護されていない場合、Windowsマシンでパスワードをリセットすることはかなり簡単です。

*攻撃者は、たとえば/bootディレクトリにバックドアカーネルまたはinitrdを追加できます。これは、ブートローダーがカーネルとinitrdファイルを読み取れる必要があるため、暗号化を解除する必要があります。

61
Ghedipunk

これは明らかなセキュリティの脆弱性ではないのですか?

そうです。システムへの物理的なアクセスが究極の脆弱性です

この「機能」を無効にして、GRUBから変更できないようにする方法はありますか?

他のすべてのLinuxディストリビューションでもこれを行うことができますか?または、これはRedhat専用の能力ですか?

ここで何が起こっているのかを自覚してください:

攻撃者がシステムを制御したとき、オペレーティングシステムはまだ実行されていません。

GRUBはpackagedがLinuxに付属していますが、これは不可欠な部分ではありません。実際、攻撃者は= GRUB OSが賢くない他のブートローダーを使用した場合。

つまり、OSが脆弱であるということではありません。それはあなたのOSについてです、anyOSは本当に、方程式から外されました

ハードドライブを暗号化している場合でも、実際の起動前にユーザーにパスワードの入力を要求します。システムに物理的にアクセスできるため、攻撃者を阻止するものは何もありません。キーロガー(ハードウェアまたはソフトウェア)をインストールして、次回パスワードが入力されたときにそのパスワードを取得する。

マシンに物理的にアクセスして攻撃者を防御する方法は事実上ないため、一般的なオペレーティングシステムは、そのような特権を持つ攻撃者を困難にすることはありません。この時点ですでに戦いに負けています。

物理的にアクセスできる人is、事実上、rootユーザー。

27
DevSolar