従来の UNIX システムでは、root ユーザー (スーパーユーザーとも呼ばれる) が全権を有します。多数の setuid プログラムと同様に、root として実行されるプログラムにも全権があります。root ユーザーは全ファイルの読み取り権とアクセス権、全プログラムの実行権を持ち、任意のプロセスに終了シグナルを送ることができます。実際、スーパーユーザーになるユーザーは、使用するサイトのファイアウォールの変更、監査トレールの変更、機密レコードの読み取り、ネットワーク全体の停止などを行えます。setuid root プログラムがハイジャック (強奪) されると、システム上で何が起きても不思議はありません。
ユーザー、リソース、およびプロセスへの権利の割り当ては、全権を持つスーパーユーザーモデルに代わるセキュアな代替機能です。権利を使用することで、セキュリティーポリシーをきめ細かく適用できます。権利では、最小特権というセキュリティー原則が使用されます。最小特権は、ジョブを行う上で必要な特権だけをユーザーに与えることを意味します。通常のユーザーには、アプリケーションの使用、実行中のジョブのステータスチェック、ファイルの印刷、新しいファイルの作成などを行うための十分な特権が与えられます。通常のユーザー権利以外の権利は、権利プロファイルにグループ化されます。スーパーユーザー権利の一部が必要なジョブを行うユーザーには、権利プロファイルを割り当てることができます。
プロファイルにグループ化された権利は、ユーザーに直接割り当てることができます。間接的に割り当てるには、役割と呼ばれる特殊アカウントを作成します。これにより、ユーザーは一部の管理特権を必要とするジョブを実行するときに役割を引き受けることができます。Oracle Solaris には事前定義の権利プロファイルが多数用意されています。管理者は役割を作成し、プロファイルを割り当てます。
ARMOR パッケージには、一連の標準化された役割が含まれています。このパッケージを自動インストールし、役割をユーザーに割り当てることで、ブート時に責務分離を実施するシステムを作成できます。詳細は、Authorization Rules Managed On RBAC (ARMOR)、選択した権利モデルへの準拠、および Example 3–1 を参照してください。
権利プロファイルは、広範な管理権利を提供できます。たとえば System Administrator 権利プロファイルにより、アカウントはプリンタ管理や cron ジョブ管理などのセキュリティーに関連しないタスクを実行できます。権限を限定して権利プロファイルを定義することもできます。たとえば、Cron Management 権利プロファイルは at ジョブと cron ジョブを管理します。役割を作成すると、その役割に広範な管理権利または限定された権利を割り当てることができます。
次の図に、Oracle Solaris が役割を作成して権利を信頼できるユーザーに割り振る方法を示します。スーパーユーザーは、信頼できるユーザーに権利プロファイルを直接割り当てることで、権利を割り振ることもできます。
図 1-1 権利の割り振り
図に示す権利モデルでは、スーパーユーザーが 3 つの役割を作成します。役割は、権利プロファイルに基づいて作成されます。続いてスーパーユーザーは、役割のタスクに適したユーザーにその役割を割り当てます。ユーザーは、各自のユーザー名でログインします。ユーザーはログイン後に、管理コマンドとグラフィカルユーザーインタフェース (GUI) ツールを実行できる役割を引き受けます。
役割は柔軟に設定できるため、さまざまなセキュリティーポリシーに対応できます。Oracle Solaris には標準装備された役割がほとんどありませんが、役割は簡単に構成できます。Example 3–1 に、ARMOR 標準ベースの役割の使用法を示します。ARMOR の役割に追加して使用する役割、または ARMOR の役割の代わりに使用する役割として、Oracle Solaris に用意されている権利プロファイルに基づくユーザー独自の役割を作成できます。
root – root ユーザーと同等の強力な役割。ただし、ほかのすべての役割と同様に、root 役割はログインできません。通常のユーザーは、ログインしてから、割り当てられた root 役割を引き受ける必要があります。デフォルトでは、この役割は構成され初期ユーザーに割り当てられます。
System Administrator – セキュリティーに関係のない管理作業を行う役割で、権利が限定されています。この役割ではファイルシステム、メール、ソフトウェアのインストールなどを管理できます。ただし、パスワードの設定は行えません。
1 つ以上のセキュリティー役割を構成することもできます。セキュリティーは、Information Security、User Security、および Zone Security の 3 つの権利プロファイルと、それらの補助プロファイルによって処理されます。ネットワークセキュリティーは、Information Security 権利プロファイル内の補助プロファイルです。
役割は実装する必要はありません。役割は、組織のセキュリティー要件に応じて設定する機能です。1 つの方法として、セキュリティー、ネットワーク、ファイアウォール管理などの領域における専用の管理者のための役割を設定します。別の方法として、強力な管理者役割を 1 つと上級ユーザー役割を作成することもできます。この上級ユーザー役割は、自分のシステムの各部を修正することを認められたユーザーに割り当てます。また、権利プロファイルをユーザーに直接割り当てて、役割を作成しないでおくこともできます。
スーパーユーザーモデルと権利モデルは共存できます。次の表では、権利モデルで設定できる権利 (スーパーユーザーから制限された通常のユーザーまで) を順に挙げます。両モデルで監視できる管理アクションを示しています。プロセス権利 (特権) の影響のサマリーについては、Table 1–2 を参照してください。
|