Ubuntuに無効なルートアカウントがあるのはなぜですか?


57

Ubuntuは、「セキュリティ上の理由」によりルートログインを無効にします。ただし、セキュリティにはまったく役に立たないようです。

侵入者がUbuntuのログインパスワードを取得できた場合、ログインパスワードと同じであるため、侵入者にもスーパーユーザーパスワードがあります。

ただし、rootパスワードが必要な場合は、ログインするだけでは侵入者の助けにはなりません。そうですよね。

基本的に、私が知りたいのは、なぜUbuntuがルートパスワードを無効にすることを選んだのですか?セキュリティ上の理由は何ですか?

あなたが「考えた」理由に応じて答えないでください-私は公式ソースからの答えを探しているか、それらにリンクしています。


6
これが役立つかどうかを確認します。
ミッチ

5
sudoを使用する理由は、sudoが最初に作成された理由と同じです。
トールビョールンラヴンアンデルセン

2
Canonicalは、システム管理のバックグラウンドを持たないWindowsおよびOSXユーザーにとって、使いやすさとセキュリティの最も近いバランスだと感じています。デスクトップディストリビューションを持っていることの全体のポイントは、人々にアピールしている必要はありませんそれ自体は、Linuxについて学ぶために、彼らは、実行し、それらをクリックして、それらを実行したいものを見つけることができるようにしたいです。「普通の」ユーザーが単にweb / mail / pr0n / games以外のことをすることに興味を持つ瞬間、Ubuntuは聞いたことのあるすべてのクールなUnixyの入り口になります(「有効にする」ルートを含む-常にそこにあります) 、試してくださいsudo su)。
zxq9

1
誰かがあなたのアカウントをpwnsした場合su、あなたがあなたのアカウントからroot にいたとしても、彼らはあなたが入力したrootパスワードをキャプチャすることができます。特権昇格についてのあなたのポイントは、別のコンソールでrootとしてログインし、通常のアカウントが書き込みアクセス権を持つファイルを信頼するrootとして何もしない場合にのみ適用されます。既存の回答が示すように、主な理由の1つは、初心者がログインして使用するアカウントとしてrootを考えないようにすることです。
ピーターコーデス

回答:


81

Mitchはコメントに良いリンクを投稿しました:なぜrootとしてログインするのが悪いのですか?Debianサイトには、Wikiにリストされている主な利点があります

なんでsudo

sudo次のようないくつかの理由で、ルートとしてセッションを開くよりも使用する方が安全です。

  • rootパスワードを知る必要はありません(sudo現在のユーザーのパスワードの入力を求められます)。追加の特権を一時的に個々のユーザーに付与し、パスワードを変更することなく削除できます。

  • を介して特別な特権を必要とするコマンドのみを実行するのは簡単sudoです。それ以外の時間は、特権のないユーザーとして作業するため、ミスが引き起こす可能性のある損害が軽減されます。

  • 監査/ログ:sudoコマンドが実行されると、元のユーザー名とコマンドがログに記録されます。

上記の理由により、上記の機能がキャンセルされるため、sudo -i(またはsudo su)を使用してルートに切り替えることは通常推奨されません。

Ubuntuについて利点と欠点はwikiに記載されています

sudoを使用する利点

Ubuntuには、ルートログインをデフォルトで無効にしたままにする次のような多くの利点があります。

  • インストーラーに尋ねる質問が少なくなります。ユーザーは、時折使用するための追加のパスワード(つまり、rootパスワード)を覚えておく必要はありません。そうした場合、彼らはそれを忘れる可能性があります(または、安全に記録せずに、だれでも簡単にシステムに侵入できるようにします)。

  • デフォルトでは、「何でもできます」対話型ログインを回避します。大きな変更が発生する前にパスワードの入力を求められます。これにより、自分がしていることの結果について考える必要があります。

  • sudoは、実行されたコマンドのログエントリを追加します(/var/log/auth.log)。混乱した場合は、戻って実行されたコマンドを確認できます。

  • サーバーでは、ブルートフォースで侵入しようとするすべてのクラッカーは、rootという名前のアカウントを持っていることを認識し、最初にそれを試行します。彼らが知らないのは、他のユーザーのユーザー名です。rootアカウントのパスワードはロックされているため、そもそもクラックしたり推測したりするパスワードがないため、この攻撃は本質的に無意味になります。

  • グループにユーザーを追加および削除することにより、管理者権限を簡単に転送できます。単一のルートパスワードを使用する場合、ユーザーの認証を解除する唯一の方法は、ルートパスワードを変更することです。
  • sudoは、よりきめ細かなセキュリティポリシーでセットアップできます。ルートアカウントのパスワードは、システムで何らかのタイプの管理タスクを実行する必要があるすべての人と共有する必要はありません(前の箇条書きを参照)。

  • 認証は、短時間で自動的に期限切れになります(必要に応じて最小限または0に設定できます)。そのため、sudoを使用してrootとしてコマンドを実行した後にターミナルから離れても、rootターミナルを無期限に開いたままにしないでください。

sudoを使用することの欠点

デスクトップの場合、sudoを使用する利点は大きいですが、注意する必要がある可能性のある問題があります。

  • sudoで実行されるコマンドの出力をリダイレクトするには、別のアプローチが必要です。たとえばsudo ls > /root/somefile 、そのファイルに書き込もうとするのはシェルであるため、考慮は機能しません。を使用ls | sudo tee -a /root/somefileして、ls | sudo tee /root/somefileコンテンツを追加または上書きできます。また、sudoの下で実行されるシェルプロセスにコマンド全体を渡して、などのルート権限でファイルを書き込むこともできますsudo sh -c "ls > /root/somefile"

  • 多くのオフィス環境では、システム上の唯一のローカルユーザーがルートです。他のすべてのユーザーは、nss-ldapなどのNSS手法を使用してインポートされます。ワークステーションをセットアップまたは修正するには、nss-ldapが壊れているネットワーク障害の場合、rootが必要です。これにより、システムがクラックされない限り使用できなくなる傾向があります。ここでは、追加のローカルユーザー、または有効なルートパスワードが必要です。ローカルユーザーアカウントは、ローカルディスク上の$ HOMEのを持つ必要がありませんNFS(または他のネットワーク化されたファイルシステム)、およびNFSマウント上のファイルを参照しない.profile / .bashrc。これは通常ルートの場合ですが、非ルートレスキューアカウントを追加する場合は、これらの予防措置を手動で行う必要があります。ただし、ローカルユーザーをsudoで使用する利点は、上記の利点で述べたように、コマンドを簡単に追跡できることです。

そして、私たちは常にそれを持っています(最初のリリースから)。


私が見つけた最も古い参照は、「sudo」を持つ4.10について語っています

シャトルワースがデビアンベースのUBUNTU LINUXを発表

... DebianベースのUbuntu LinuxにはGnome 2.8、カーネル2.6.8.1、OpenOffice.org 1.1.2が含まれており、テキストベースではあるが簡単なインストール手順が付属しています。Ubuntuは、Mac OSXと同じようにsudoを使用することを好むrootユーザーを無効にしました...


利点からいくつかのセキュリティ機能が欠落している:(i。)(GUIの場合)インタラクティブなローカルアクセス(キーボードでパスワードを入力する)なしでは「昇格した特権」取得することはできません。(II。)付与された「上昇特権」sudo'dコマンド(複数可)だけではなくするためのものである任意のユーザ(またはルート)のためのタスク/スレッド。
david6

これは、元の質問で提起されたポイントを無視し、なぜそれが良いのか、他の多くの情報でそれを不明瞭にしているようです?
paul23

6

ヘルプページに書かれていることは明確で十分な目的があると思います。

Ubuntuは「万人向け」であり、コンピューターにダメージを与えるのに十分なルートアクセス権は必要ないが、同時にほとんど必要ない(そして簡単に有効にする方法を知っている)。
そのため、問題は「十分な」人々にあるのではなく、他のすべての人にとって、別のコンピューティングの世界からLinuxにもたらされる可能性があり、最初の影響はUbuntuにあります。

あなたが専門家ではなく、それが何でrootあり、それを適切に処理する方法が正確にわからない場合、それを有効にする必要はありません(そして、たとえば、それでグラフィックログインを行うリスクがあります)。
ハードな方法で直接始めてからインストール/ワークステーションにダメージを与え、イライラし、完全に動作する可能性を回復できないよりも、安全な側で物事を行う方法を学び、それからより難しく危険なパスに進む方がはるかに良いシステム。
一般に、予防することは治療するよりもはるかに優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.