root ユーザーを使用不可にする

拡張 RBAC モードでは、システムを構成して、root ユーザーが関連する特殊な権限をもたないようにし、システムによって通常のユーザーとして扱われるようにすることができます。

従来、root ユーザーの ID の値が 0 の場合はオペレーティング・システムによって特権 ID として扱われ、強制的なセキュリティー検査を迂回することができました。 root ユーザーを使用不可にすることで、ユーザー ID が 0 の場合にセキュリティー検査を迂回できるようにするオペレーティング・システム内の検査が効果的に除去され、代わりにセキュリティー検査に合格する特権を得るプロセスが必要となります。 root ユーザーを使用不可にすることで、システム上に単一の全権限をもつユーザー ID がなくなるので、アタッカーによる損害が最小限にされます。 root ユーザーを使用不可にした後、システム管理は、特権ロールが割り当てられているユーザーによって 実行されなければなりません。

ルート権限は、/usr/sbin/setsecconf コマンドを用いて使用不可にすることができます。 root ユーザーの権限を使用不可にするためには、次のコマンドを実行してからシステムをリブートしてください。
setsecconf –o root=disable

このコマンドを実行した後では、root ユーザー・アカウントは、 リモートまたはローカルのログインでも su コマンドでも アクセスすることができません。 ただし、root ユーザー・アカウントはファイルシステム上のファイルの所有者のままであるため、アカウントが獲得される場合には、ユーザーは特権ファイルにアクセスすることができます。

ルートが使用不可にされたシステムでは、ルートによって所有されるプロセスには、 もはや特殊な権限も特権もありません。 特権コマンド・データベースに追加されていないルートによって所有される setuid アプリケーションがシステムにある場合には、このことを考慮する必要があります。 これらの setuid アプリケーションは、プロセスが特権操作を実行できないので、ルート使用不可の環境では失敗すると考えられます。 ルート使用不可のシステムでは、特権操作を実行する必要のあるコマンドはすべて、特権コマンド・データベースに追加されて、適切な特権を割り当てられる必要があります。 そのため、システムとシステム上で使用されるアプリケーションについては、root ユーザーの権限を使用不可にする前に注意深く分析しなければなりません。