
前回の質問があります:
この可能性に反対するほとんどの人は、それが必要になるし、持っていなければ大きな問題に直面するだろうと言っていました。
これは本当の理由ではないと思います。どのコンポーネントでも単一障害点を回避する方法はたくさんあるので、特定の 1 つのサーバーにアクセスすることの重要性は無関係になります。
したがって、IT インフラストラクチャが完全に冗長化されており、特定のサーバーにアクセスできないことが重大ではなく、クラスタリング、仮想化、クローン作成、高速バックアップ システムなどによって対処できる場合です。
ルート アカウントを放棄しますか? 私の経験では、主にシステム管理者がルート アカウントと個人的な関係を持っており、自分のサーバーのパスワードを保持していないことが大きな問題となっています。
答え1
あらゆるものにわたって機能がより一般的にサポートされれば、間違いなくそうなるでしょう。
それまでは、sudo
明示的な権限昇格を必要とするいくつかのもののために残しておきます。ただし、最後に調べたところ、機能の概念は、多くのシステムですぐに使用できる状態ではまだ比較的サポートされていませんでした。これは重要なことです。そうすれば、システムが何であっても、別のユーザー アカウントに実際に昇格しなくても、「このユーザーにはこれにアクセスする機能があります」と言うことができます。もちろん、付与される権限はシステム内のユーザーの役割に基づいている必要がありますが、最終的には、誰もアカウントのすべての権限を保持すべきではありません (少なくとも、他の人が処理するために雇用されている複数の機能がある場合はそうではありません)。
DBA の場合、データベース システム プロセスとファイル システム ストレージ領域を所有している限り、スーパーユーザー アクセスは必要ありません。つまり、ディスク管理者にパーティションの fsck を実行したり、パーティションを定期的に復元したりする必要があるかもしれませんが、DBA はサーバーを「所有」していない限り、自分のアクセス権でマシンを停止する権限を持つべきではありません。
そうは言っても、サーバー上のプロセスの 100% を管理する唯一の人物であれば、これsudo
で十分です。権限の分離が考慮されるのは、サーバーを使用したり、サーバー上のものを管理する (またはサーバーに依存する) 人物が他にもいて、管理者が複数いる場合のみです。
答え2
ssh 経由の root ログインを無効にし、su で root になります。私が所属していたどの組織でも、常に問題なく動作しました。メンテナンスのためにコンソールを使用して root としてログインし、他のすべてのユーザーは sudo を使用します。
答え3
ルート アカウントを放棄しますか? 私の経験では、主にシステム管理者がルート アカウントと個人的な関係を持っており、自分のサーバーのパスワードを保持していないことが大きな問題となっています。
サーバーを管理する場合、ある程度の特権アクセスが必要になります。このアカウント名が根または、自分自身としてログインし、何らかのツールを使用して権限を昇格する必要がある場合。
システムが標準的な*nix(または標準に近いもの)であれば、おそらく根いつか何らかの管理タスクのためにアクセスする必要があるのは、単に何十年もこのやり方が続いてきたからであり、このやり方には多くの慣性があるからです。しかし、これは、必要がないときにそのアカウントでログインしたり、そのアカウントを開いたまま保護しないままにしたりするという意味ではありません。
私がホストの責任者でない場合は、おそらくルート アカウントを付与すべきではありません。実際、私はルート パスワードを誰にも教えないようにしています。
したがって、IT インフラストラクチャが完全に冗長化されており、特定のサーバーにアクセスできないことが重大ではなく、クラスタリング、仮想化、クローン作成、高速バックアップ システムなどで対処できる場合です。
正直なところ、コンピューター上で特権タスクを実行するために特権アカウントが必要であることと、これらがどのように関係するのかわかりません。
答え4
私が勤務した組織における「ルート」アカウントに関する一般的なベストプラクティス。
- リモート アクセスを完全に無効にするか、キー認証による SSH のみを許可します。
- ルートのパスワードを無効化/ロックします (Ubuntu のように)。
- の使用を厳密に要求し
sudo
、適切にログに記録されることを確認します。 - 特定のグループ (多くの場合、または)
/bin/su
のみが実行できるようにロックダウンします。wheel
sysadmin
- ルート シェルが適切にログに記録されていることを確認します ( の強制
script
、 の使用sudosh
、シェル履歴トリックなど)。 - アクセスを必要とするユーザーのみ
root
に権限が付与されsudo ALL
、それ以外の権限は使用ごとに sudo を通じて付与されます。
アプリの実行後に権限が削除された場合でも、特に 1024 未満のポートを開くなどのタスクでは、UID 0 が依然として必要です。
IT では、セキュリティと利便性は相反するものです。root
アカウントを直接使用することは、多くの場合、利便性の問題であり、必要性の問題ではありませんsudo
。おそらく、管理者が常に入力することを嫌うからでしょう。