変えるのは良いアイデアではありませんが、ただ楽しいです。 ~によるとこれ/etc/passwd
で項目を変更した後でも、/etc/shadow
まだいくつかの問題があります/etc/sudoers
。どんな提案がありますか?
答え1
理論的には、ルートの「名前を変更する」ために必要なのはルート/etc/passwd
を変更するだけです。/etc/shadow
この問題は、ほとんどすべての既存のUnixソフトウェアがユーザー名「root」が存在し、それがスーパーユーザー(メールエイリアス、さまざまなデーモン、cron...)であると仮定しているために発生します。
本当に試したい場合は、find /etc -type f -exec grep -l root {} +
変更する必要があるすべての構成ファイルのリストを見つけるのが良いスタートです。しかし、あなたが言ったように、ほとんどすべての可能な場合、これは非常に悪い考えです。
編集するもう一つの考え - まだやっていない場合(あなたはしなければならない/etc/aliases
例)既存のアイテムroot
とユーザー名、または正しく評価されたEメールアドレスが含まれていることを確認してください。たとえば、自動化されたシステム全体の多くのタスクは、伝統的にそのシステム運営を担当するシステム管理者のエイリアスであった電子cron
メールを介して結果を送信します。root
答え2
これらすべては恐怖を助長するものであり、「こんなことをしないでください!」と言うことは言うまでもありません。はい、一度に間違って書かれたスクリプトが大量に壊れている可能性がありますが、少なくとも標準のディストリビューションでは一般的ではありません。
Linuxサーバーのサブセットでrootアカウントの名前を変更するように指示されました。それで、これを正しく実行する方法を調べた後、「これをしないでください!」という多くの投稿が見つかりました。このタスクを選択すると、「悪いこと」が発生するという恐ろしい警告がたくさんあります。しかし、起こり得る「悪いこと」の具体的な例は見つかりませんでした。
それでは、戻って私がどこにいるのか、そしてここに来た方法を説明しましょう。私たちはPCI準拠の環境を構築しており、これらの「要件」を満たすのに役立つツールの1つは、ルート、管理者、およびゲストアカウントの名前を別のアカウントに変更する必要があることを示しています。 PCIのトレーニングを受けていないユーザーの場合は、指示に従うことを選択したり、指示に従わなかったり従わないように選択した理由とシステムセキュリティを維持するために適用する必要がある緩和戦略を文書化できます。したがって、ほとんどの場所でルートアカウントの名前を変更しない理由を文書化すると思います。しかし、私たちのグループでは、問題なくWindows管理者アカウントの名前を変更できる場合は、Linuxルートアカウントの名前も変更することにしました。
私は「あいまいさによるセキュリティ」の主張をよく知っています。ルートアカウント名を変更するだけでは、実際にはセキュリティが大幅に向上せず、SSHでルートを無効にする必要があることを知っています。わかりました、それはポイントではありません。もっと聞きたくありません。私も「空が崩れている」という警告にも興味がありません。私は次の文を探しています: ">この悪いこと<は>が標準パッケージ<で起こります(あなたが>これをしないと<)。
これまでに3つのCentOS(RHEL)システムがあり、rootアカウントの名前を変更するのに問題がないようです。私がしたことは次のとおりです。 /etc/passwd、/etc/shadow、/etc/group、および/etc/gshadowでアカウント名を変更しました。次に、/ etc /でrootという名前を探し、rootがrojotoroという新しいアカウント名のエイリアスになるようにpostfixエイリアスファイルを変更します。 (他の電子メールシステムでも同様の作業を行う必要があります)。また、自動的に生成されるファイルを誰が所有するかを説明するときにlogrotateのいくつかの構成を変更する必要があるという事実も発見しました。これが私がこれまでに変更したものです。
私は多くのinit.dスクリプトを見ましたが、何も変更しなかったし、起動時にすべてがうまくいくようです。 sudoを使用するときは、たとえば「sudo -u rojotoro vim /etc/passwd」などの新しいアカウントを指定する必要がありましたが、実際にsudoersファイルで何も変更する必要はありませんでした。私たちが使用して実行しているselinuxにはいくつかの問題があると予想していますが、これまではシステムに触れる必要はありませんでした。
また、mkdevまたはmkfsスクリプトを調整する必要があるかもしれませんが、使用する予定がないため、必要なだけレビューすることはありません。
変更が本当に簡単で、selinuxサポートシステムに悪影響を及ぼさないとしたら、なぜ恐怖を広げ続けるのですか?
答え3
私の考えの最も簡単な方法は、UID 0を/root
家として使用して新しいユーザー(エイリアス)を作成することです。
ルートのデフォルトシェルを、または/bin/false
(/sbin/nologin
誰もログインできませんがシステムでは引き続き使用します)に切り替えて、作成した新しいエイリアスにログインしてみてはいかがでしょうか。
razvan@naboo ~ $ head -2 /etc/passwd
root:x:0:0:root:/root:/bin/nologin
root2:x:0:0:root:/root:/bin/bash
razvan@naboo ~ $ su -
Password:
su: Authentication failure
razvan@naboo ~ $ su root2
Password:
naboo razvan # whoami
root
rootのシェルをnologinに変更しても、sudo、mail、またはftwは破損しません。
答え4
Windowsとは異なり、Linuxは現在ルート名を簡単に変更できません。そうしないと、未知の問題が発生する可能性があります。
リモートまたはローカルのルートログインを無効にすることは、アカウントのルートを積極的に無効にするので、より安全な方法です! UBUNTUはデフォルトでこれを行い、rootアクセスではなくsudoを強制します。
デフォルトでは、rootアカウントはシステムにログインするために使用できなくなるため、誰もrootアカウントを使用してシステムを攻撃できません。
すべてのコールドブートでUIDのローカライズを防ぐために、ルートアカウント名を簡単に変更し、インストール時にUIDをランダムに生成する標準的な方法を作成することをお勧めしますが、まだ存在していません。
/etc/passwd を調整し、root:x:0:0:root:/root:/bin/nologin を変更します。
緊急用にのみバックアップマネージャアカウントを作成してください! Fallbackadmin:x:0:0:root:/root:/bin/bash
すべての管理者に対して sudo を実装すると、変更ログ監査を実装して、誰が変更したかを正確に追跡して責任を問うことができます。
これは、デフォルトの管理者/ゲストアカウントを無効にし、単一の緊急使用管理者アカウントを作成するPCI US Gov要件を実装します。
集中型AAAが実装されていない場合、監査のためにログをアーカイブする1つの方法は、sudoアカウントにアクセスできるすべてのユーザーから端末履歴を収集することです。
管理者専用アカウントを実装する1つの回避策は、ユーザー専用アカウントとsudoサポートアカウントを作成し、ユーザーがsudoサポートアカウントでsuを実行して管理アクセス権を取得することです。
より良いセキュリティが必要な場合は、スマートカード認証を実装することもできます。 2段階認証のためのUS Common Access Card CACソリューションと比較して、GNU / Linux用のソリューションがあります。