管理者ユーザーが他のユーザーとしてログインできるようにする


11

管理者ユーザーがパスワードをバイパスして別のユーザーとしてログインできるようにする可能性を実装することは良い習慣だと思いますか?これは、マスターパスワードまたはユーザー管理内の機能「このユーザーとしてログイン」によって実装できます。

管理者は、報告された問題の再現を試行したり、許可が許可されているかどうかを確認したりするために、そのような機能を要求しています。


9
一般に、セキュリティエンジニアリングでは、アクセス許可が同一であっても、人々が共有アカウント(または他の人々のアカウント)としてログインできるようにすることはお勧めできません。認証は承認とは別のプロセスである必要があります。タスクが個別のユーザーアカウントで実行される場合、ユーザーが責任負います。
xmm0

1
Mehrdad Afshariに+1。このような管理者の話を聞くたびにうんざりします。
ダン・マクグラス

2
@Mehrdad Afshariと@Dan McG、これはすべて良いことですが、管理者日常の状況でユーザーアカウントにアクセスする必要がある場合、何を提案しますか?ユーザーに資格情報の入力を依頼しますか?問題を検証または再現するには、特定のユーザーの設定を確認する必要があります。特に、アカウントが複雑な権限や、ニュートラルアカウントでは1対1で再現できない他の設定に関連付けられている場合です。
ペッカ

4
あなたはそれを間違った方法で見ています。管理者がユーザー設定を確認する必要がある場合、ユーザーからこの診断情報を取得するためのより良いツールを開発する必要があります。たとえば、Windows上のアプリがクラッシュした場合、RedmondのMS管理者がユーザーアカウントにアクセスしてスタッフをチェックアウトするか、必要な情報を(ユーザーの裁量で)高度に自動送信する方法が必要ですか?
ダン・マクグラス

2
@ダン:顧客はそのために喜んで支払うことはないかもしれません。

回答:


15

いいえ。まったくありません。これは義務の分離に違反します。

また、ユーザーのアクションを表示するためにログに依存することで大混乱を引き起こします。

このようなことを本当に確認する必要がある場合、管理者はユーザーのように設定されたダミーのテストアカウントも持っている必要があります。このようにして、最初にテストユーザーに対して許可などが正しく機能することを確認できます。

余談ですが、管理ユーザーには、ユーザーが持つすべての権限を常に付与する必要はありません。たとえば、ユーザーがシステムでクレジットカード番号を表示する正当な理由がある場合があります。管理者はすべきではありません。このデータは彼らの仕事の一部ではありません。繰り返しになりますが、これは義務の分離に帰着します。

不適切な権利の付与を最小限に抑えることで、露出を最小限に抑えます。これには管理者も含まれるべきです...


1
有効なポイントはありますが、答えはそれほど明確ではないと思います-場合によってはそれ最善の解決策です。
sleske

11

セキュリティときれいなプログラミングの原則の観点から、それは良い考えではありません。しかし、それは管理者にとって日常業務で非常に便利場合があります。そのため、うまく実装できればそれが私にとっての理由です。

私にとって、大丈夫な実装は次の要件を満たす必要があります。

  • システムは問題のユーザーとしてログインしますが、adminとしてログインしている場合はパスワード認証をバイパスします。

  • システムはフラグを通じて、これはユーザーxではなく、管理者がユーザーxとしてログインしていることを認識しています。ロギング機能には違いが反映されます。

  • ユーザーログインから管理者レベルに「抜け出す」方法はありません。

これにより、管理者がユーザーの資格情報を検索して使用する必要がなくなるため、実際にセキュリティを向上させることができます。 。


8

いつものように...それは依存します。簡単な答えはなく、両方のシステムが実際に使用されます(たとえば、Windows:パスワードをリセットせずに管理者はユーザーとしてログオンできません。Linux:管理者はを使用してローカルユーザーとしてログオンできますsu)。

明らかに、管理者が別のユーザーとしてログインできないようにする方がより安全なオプションなので、追加の快適さ(特定のユーザーのみに発生する問題をデバッグできる)がリスクを上回るかどうかを判断する必要があります。そのようなオプションを実装することに決めた場合、管理者(または管理者パスワードを持っている人)が自分のトラックを隠すことができないように、厳密なロギングがあることを確認してください。

または、Windowsが使用しているパターンを使用できます。管理者は別のユーザーとしてログオンできませんが、管理者はユーザーのパスワードをリセットできます。そうすれば、管理者はアクセスできますが、ユーザーはいつでも誰かが自分のアカウントにアクセスしたこと知っています。


Nitpick:sudoローカルユーザーとしてログインするのではなく、ユーザーとして1つのプロセスを実行するだけです(Windowsの「ユーザーとして実行」など)。ローカルユーザーとしてログインするには、を使用しますsu。そうでなければ、私は同意します。
sleske

@sleske:もちろん、これを見つけてくれてありがとう。修繕。

@sleske:必ずしもではありませんsudo -i
リオリ

「ログインシェル」の概念は、許可が付与されている場合よりも、sh実行可能ファイルの動作に関係しています。同じアクセスsu - usersudo -u user sh許可します。違いは、sh異なる起動スクリプトを実行することです。
jpaugh

3

phpBB3には、管理者向けの「ユーザーのアクセス許可をテストする」機能があります。これは非常に便利です。また、そのユーザーアカウントを実際に妨害することはできませんが、実際には、ユーザーのアクセス許可に基づいてユーザーの経験を取得するだけです。

しかし、他の人が言ったように、実際に他の誰かとしてログインすることには多くの問題が伴います。


1

はい、そのような機能には問題がありますが、他の方法がない場合があるため、必要になる場合があります。

いくつかの例:

  • Unix / Linuxには、この機能が存在します(su - <username>、そのユーザーとしてログインするのと同じ結果になりますが、rootのパスワードは不要です)
  • 私が作業しているアプリケーションにもこれがあり、ユーザーの個人設定(このアプリには多くあります)の問題をデバッグするために不可欠です

指摘したように、複雑な設定がログインしているユーザー(環境変数、パス、アプリケーションの個人設定)に依存している場合、ユーザーの問題をデバッグする実用的な方法は他にないことがよくあります。

ログ/監査に関して:この機能の使用はもちろんログに記録する必要があります。それ以外は、管理者を悪用しないように信頼する必要があります。しかし、それは一般的な管理者に有効です。

管理者をさらに制限する必要がある場合は、ある種のMAC(必須アクセス制御)システム(「真の」管理者なし)が必要です。それは可能ですが、はるかに複雑なので、トレードオフです。

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