ユーザー ID を共有することは良いことでしょうか?

ユーザー ID を共有することは良いことでしょうか?

Un*x では、さまざまな人が何かを行うときに 1 つのユーザー ID にログインするのは良い考えでしょうか?

私はよく Linux や BSD システムにソフトウェアなどをインストールしています。私は 24 年間ソフトウェアを開発してきたので、マシンを自分の思い通りに動作させる方法は知っていますが、セキュリティを本当に気にする人が集まるマルチユーザー インストールの保守を担当したことは一度もありません。そのため、私の意見は未検証のように感じます。

今、私はある会社に勤めていますが、そこには多くの人が 1 つのユーザー ID でログインして作業を行うサーバーがあります。私はそのサーバーにソフトウェアをインストールしています。これは実際には公開サーバーではなく、VPN 経由でのみアクセスできますが、それでもカスタム ソフトウェアのテストなどを実行するために多くの人が使用しています。これはステージング サーバーです。

少なくとも、単一のユーザーを使用すると監査証跡がわかりにくくなり、これは良くないと思います。また、サーバー上にユーザー専用のスペースがないため、洗練されていません。

しかし、ユーザー ID の数が増えると、その 1 つが侵害され、攻撃者がアクセスできるようになる可能性も高くなるかもしれません。

?

答え1

別々の UID を使用してください。同じ UID を持つ複数のユーザーがいると、誰が誰であるかを判別できなくなります。UID からログ名への逆引きは信頼できなくなります。

要件を満たす標準的なソリューションの 1 つは、 をインストールして使用することですsudo。 sudo を使用すると、任意のユーザーまたはユーザー グループに、別のユーザーとしてプログラムを実行する権限を付与できます。 このsudoersファイルを使用すると、誰が何を実行できるかを非常に柔軟に制御できます。 を使用して実行されたアクションはsudo通常、ログに記録されます。

一部のディストリビューションでは、ルートをロックして、sudoユーザーがルートとして実行する必要があるアクションを実行できるようにします。

suユーザーに の実行を許可したり、オプションを使用して別のユーザーになることを許可したりすることは可能であり、一般的です-i。これにより監査証跡は多少減少しますが、プロセス アカウンティングと組み合わせると、非常に優れた監査証跡を取得できます。

ルート アクセス権を持つ人なら誰でも、通常、監査証跡を回避できることを覚えておいてください。信頼できない人にルート アクセス権を与えないでください。

答え2

あなたが言ったように、監査の目的からすると、これは非常に非理想的です。複数のユーザーIDを持つことで、誰がやっている何で時間ただし、これは絶対確実というわけではありません。ユーザーが互いに資格情報を伝え合ったり、他のユーザーが資格情報を盗んだりすることを防ぐものは何もありません。

カスタム ソフトウェアを作成する場合、最大のリスクは、rm -rfルート ディレクトリで何が行われているのかを誰かが疑問に思うことなど、他の潜在的に恐ろしい事態が発生することです (ただし、バックアップはテスト済みです...)。?)

答え3

それはあなたの利益が何であるかに完全に依存すると思います。アカウントの整理や権限の設定などには時間がかかります。注意深く設定すれば、ユーザーのグループを設定できるので、一部のアカウントがハッキングされても、システムの残りの部分には必ずしも影響しません。しかし、これはセキュリティの一部なので、自分のニーズに集中する必要があります。

最善の方法は、2 つまたは 3 つのグループを作成し、各グループに 1 つのユーザー ID を作成して、少なくともグループを管理できるようにし (ユーザーごとに個別のユーザー ID を作成するよりも時間と労力が少なくて済みます)、アクセス許可と監査の機能をいくらか提供することだと思います。

関連情報