web-dev-qa-db-ja.com

Linux環境で非rootユーザーとして何かをインストールすることが安全であると考えられるのはなぜですか?

非ルートユーザーはシステムレベルからサンドボックス化されており、許可範囲外のものを変更できないため、Linuxで非ルートユーザーとして不明なプログラムを実行しても安全であると常に耳にします。必要に応じて、rootユーザーは常に非rootユーザーを削除して、システムの残りの部分が影響を受けていないことを確信できます。

ただし、低レベルのユーザーが、たとえばsu -またはSudoの呼び出しを待ち、そこからシステム制御を取得するキーロガーを使用してスクリプトをインストールすることはできませんか?

23
user1717828

つまり、はい、低い特権のアカウントにいるとマルウェアから保護されますが、免疫力は失われません。他のセキュリティ対策と同様に、シングル事はあなたを100%安全に保つつもりです。

TL; DR:低い特権のアカウント(別名 " 最小特権の原則 ")での実行は、バランスの取れた朝食には、ファイアウォールの適切な構成も含まれます。プロセス、システムリソース、開いているポート、ネットワークトラフィックなどを監視して疑わしいアクティビティがないかどうかを監視するツール。署名された実行可能ファイルのみを実行するポリシー、SELinuxセキュアカーネルmodの設定、OSとアプリケーションをセキュリティパッチで最新に保つなど。


あなたの質問は非常に広いので直接答えることができます。代わりに、システムの構成と攻撃者の目的に基づいて、いくつかのケースに分けます。

ケース#1:パソコン

問題のLinuxコンピューターが私の個人用ラップトップだとしましょう。私はこれをシングルユーザーシステムとして効果的に使用し、Sudoをかなり定期的に入力します。つまり、あなたが言及したすべてのことが当てはまります。さらに、攻撃者がクレジットカード番号や税務書類などの個人情報を盗もうとした場合、それはすべて、このユーザーがアクセスできる私のホームディレクトリにあります。それがランサムウェアであり、私の個人ファイルを暗号化したい場合-同じことです。彼らは私のコンピューターをボットネットの一部にするバックグラウンドプロセスをインストールしたいので、特別な権限は必要ありません。

ケース#2:サーバー、管理者アカウント

マルウェアが管理者のアカウントに侵入することによる被害は、管理者アカウントにはおそらく貴重なデータがないため、上記のエンドユーザーの場合よりも少なくなります。それでも、攻撃者はおそらく、ネットワーク内にパケットスニファを置くか、攻撃者がネットワーク内からペンテストを実行できるようにするポートを開くことによって、いくつかの損害を与える可能性があります。ここでは、ファイアウォール構成に依存してこれを保護し、不審なアクティビティを通知してクリーンアップできるようにします。

管理者が定期的にSudoと入力する場合は、ええ、おそらく問題が発生しています。

ケース#3:サーバー、非管理者アカウント

問題の使用法がTomcat-Webサーバーアプリケーションを実行する非常に低い権限のユーザーであると想像してください。これは、人々が " 最小特権の原則 "について話すときに通常考えるケースであり、このアカウントにマルウェアを取り込むことは、私が言及した3つのケースの中で最も危険が少ないでしょう。

特権エスカレーション Linuxのエクスプロイトが存在することも考慮してください。これにより、低特権のユーザーがOSのセキュリティをバイパスし、自分自身をrootにすることができます。一般的に言って、セキュリティパッチを最新に保つことでこれから保護されますが、闇市場でエクスプロイトを購入するのに十分な裕福なアクターは、公に知られていないパッチが適用されていないゼロデイエクスプロイトについて知っています。

33
Mike Ounsworth

私たちはいつも聞いています...

私たちですか?私はしません。

信頼できないプログラムを通常のユーザーとしてインストールすることは、LinuxでもWindowsやMacと同じように悪い考えです。このプログラムはすべてのデータにアクセスでき、これらのデータを削除したり、他の人に送信したりできます。さらに、スクリーンショットを作成することもできます。 、同じXウィンドウ画面で実行されている他のアプリケーションを制御し(別のユーザーとして実行されている場合でも)、キーを取得できます(キーロガーなど)。詳細については、 を参照してください。Linuxセキュリティサーカス: GUI分離時

それとは別に、権限のないユーザーがrootまたはカーネルレベルの権限を取得するために使用できるLinuxのバグであっても、定期的に権限昇格のバグがあります。

したがって、このシステムまたはそこに格納されているデータを危険にさらすことをいとわないのであれば、信頼できないプログラムをいかなる種類のシステムにもインストールしないでください。

58
Steffen Ullrich

これはセキュリティシアターの恐ろしい事件です

セキュリティシアターは、セキュリティを向上させるように見えますが、実際にはほとんど害を与えません。

この誤った信念は、次の噂がある限り存在します

Linuxには許可システムがあるためウイルスはありません

それは言うのとほとんど同じです

何も点滅していないので、コンピュータにウイルスはありません

あなたがそれを見ていないからといって、それが本当であるという意味ではありません。 目を閉じても侵入者から保護されません。

すべての現実のLinux、Mac OS、Windows、Android、Xboxには、システムレベルの制御レベルへのエスカレーションを可能にする脆弱性がすべてあります。

[〜#〜] everever [〜#〜]攻撃がシステムレベルにエスカレートしないからといって、それが非常に危険ではないという意味ではありません。ユーザーレベルのアクセス権のみを持つこれらのアプリケーションは、情報を盗み、すべての動きを記録し、身代金のためにデータを保持できます。これは、ユーザーと同じようにアクセスできるデータであるため、エスカレーションされることはありません。

これらの事実は、デバイスに関係なくすべてのOSに当てはまります。メモリにアクセスできる場合は、メモリにアクセスできます。つまり、見えなくてもアクセスできます。


良いニュース

あなたは通常のユーザーであるため、ルートレベルの権限では攻撃が既にではないことを意味します。およびhelpsシステム上の他のユーザーを保護します。もちろん、これはエスカレーションが発生しないことを意味するのではなく、それがはるかに困難であることを意味します。

9
Robert Mennell

システム自体は、rootと同等ではないアカウントからは安全ですが、重要なのは自分のデータであり、アカウントからrootになるために定期的に認証されるデスクトップでは、あまり役に立ちません。

正しく構成されたマルチユーザーシステムにアカウントを持っているユーザーがSudo特権またはrootパスワードを持っていない場合、特権ソフトウェアのバグを除外すると、ユーザーができることは何もありません。彼らはマシンを制御します。悪意のあるソフトウェアをインストールした可能性のあるユーザーアカウントは、システムの他の部分では潜在的な攻撃者と見なされます。

デスクトップに、Sudoを使用できる特権のないアカウントを追加しましたが、ルートにSudoすることはできません。私は時々私は少し信頼しますが、完全にではありませんが、そのアカウントの下で、特にソフトウェアを実行します。ネットワークを使用する場合。

理論的には、私はそのアカウントに私のXサーバーへのアクセスを許可しているため、クリップボード/キーストロークシミュレーション攻撃でその特権を昇格させる可能性があります。それは私の通常のアカウントと同じUnixグループにあり、いくつかの重要なファイルからグループ書き込み権限を完全に削除していないと確信していますが、私はchmod 0644 ~/.bash{rc,_profile}およびその他の重要なファイル。したがって、一部のマルウェアが予期していなかった可能性があることは、追加のハードルです。

5
Peter Cordes

ここでのレシピは、決して絶対的なものではありませんが、不完全または間違っています。

信頼されていないソフトウェアをyour非特権アカウントでインストールするのは大変なことです。

慎重に準備されたother非特権アカウントにインストールしますか?リスクは低いですが、安全であることが保証されているわけではありません。

次の場合:

  • システムが安全なマルチユーザーシステムとしてセットアップされていることを確認します(システムディレクトリへの書き込みアクセスのランダムなビットはなく、おそらく完全なSE Linux)
  • アカウントとグループを共有しないアカウントを作成します。
  • すべてのデータへのアクセスを0770のように慎重に設定しました-「その他」へのアクセスなし-

そうすれば、共有Linuxシステム上のマルチユーザーセキュリティに依存する環境と同じくらい安全になります。ただし、これらの弾丸はかなりの作業を表しています。 CDやVMを起動する方が簡単ではないでしょうか?

1
bmargulies