私は、マシンにログインしたい人ごとに新しいUbuntuユーザーを作成する代わりに、システム管理者が各ユーザーのsshキーを.ssh/authorized_keys
に追加し、全員がssh
sをマシンは(eg)ubuntu@Host
またはec2-user@Host
として。 (ちなみに、これはラボの設定で共有Mac miniで実行されていることも確認しました。)これは受け入れられている方法ですか、それともアンチパターンですか?
問題のホストは主にテストに使用されますが、通常はユーザーごとの構成が必要であり、特定のユーザーによって実行されたものとして追跡されるアクションもあります。たとえば、現在一般的なgitを使用して実行されているgitコミットの作成やプッシュなどです。ユーザー。
これから始めてもショックはありません。非常に安全な環境で作業しています。誰もが自分のユーザーとマシン、およびsshキーを持っています。サーバーで作業するために、必要に応じて、rootまたは別のユーザーとして、ログリレーを介してsshでログインします。私たちが行うことはすべて、sshキーの所有者によって行われたものとしてログに記録されるので、説明責任はOKです。
代わりは何でしょうか? rootは言うまでもなく、多くのことを特定のユーザーとして行う必要があります。須藤?これは、特定の非常に制限されたタスクでは問題ありませんが、マシンのシステム管理では問題です。
ただし、最後の段落についてはわかりませんが、誰かが一般ユーザーをgit commitでプッシュできるということですか?それは説明責任を壊し、説明責任を壊すことは悪いことです。ログインしたマシンからgitを実行し、sshキーでgitの認証を行います...
認証、承認、アカウンティング(AAA)は古典的な表現です:sshキーで認証され、キーがauthorized_keysにあるため、一般ユーザーが実行できるすべての操作を許可されます。事後レビューが可能です。
それは明らかにシステムのユースケースに依存します。時々テストするシステムであれば、私にとっては問題ありません。そのようなシステムもあります。会社にID管理(LDAP、IPA)の種類がない場合、ランダムシステムでリモートコントロールを使用せずに新しいユーザーを作成することは非常に負担になります。
しかし、誰かの間違いが会社全体を運営できなくする毎日の仕事のために、それは良い考えではありません。
これらすべての回答は、それ自体が重要かつ実際の問題であるアカウンタビリティの懸念に対処していますが、共有アカウントを使用すると、他のユーザーへのそれほど微妙でない攻撃も可能になります。
攻撃者が、入力したパスワードをログに記録し、その共有ユーザーのssh
に悪意のあるPATH
スクリプトを作成することを検討します(これは簡単に実行できます)。今度は、共有ユーザーでそのマシンにログオンし、他の場所(今回は個人の非共有アカウント)にssh
することに決めた次の人は、意外な驚きをするかもしれません。
基本的に、コンピューターで共有アカウントを使用することは、公共スイミングプールの足湯から飲むのと同じです。
一般に、次の理由により、1つのアカウントを共有することはお勧めできません。
確かに、もっとマイナス面もあります...しかし、それ以上は知りたくありません。
ポイントは、すべての管理者がアクセスできる必要がある特定のユーザーアカウントで実行されるサービスを管理するためにアカウントを共有する必要に直面している可能性があるということです。
このような設定では、このアカウントを共有してログインする可能性があります(上記の理由から、私はそうしない方がいいです)、または個別にログインしてユーザーを共有アカウントに切り替えます(私はそれをお勧めします)。
監査ツールを使用すると、誰が何を実行したかを追跡できますが、同じアカウントを共有しています。