Trusted Solaris 管理の手順

無効化特権

「1 つまたは複数の DAC または MAC 検査にパスしなかった場合には、そのコマンドは失敗する」には、「無効化特権」が必要となります。必須特権と同じように、無効化特権は、それを与えることによりユーザーの権限がユーザーの信頼レベルを超過しないこと、およびそのプロファイルに指定されている作業の範囲を超えた動作を可能にしないことを確認の上、セキュリティ管理者の指示により割り当てられます。マニュアルページでは、このようなアクセス制限を無効化するのに使われる特権の名前は ERRORS セクションに記述されています。ファイルやディレクトリに関する DAC または MAC 検査を無効化するのに使われる無効化特権を次に説明します。

DAC 無効化特権

DAC 無効化特権には、file_dac_readfile_dac_write があります。ユーザーがファイルに対する DAC アクセスを持たない場合、セキュリティ管理者は、そのファイルに対するアクセスの種類 (読み取り、書き込み、またはその両方) に合わせて、どちらかの特権を対応するコマンドに割り当てます。

MAC 無効化特権

MAC 無効化特権には、file_mac_readfile_mac_write があります。ユーザーがファイルに対する MAC アクセスを持たない場合、セキュリティ管理者は、そのファイルに対するアクセスの種類 (読み取り、書き込み、またはその両方) に合わせて、どちらかの特権を対応するコマンドに割り当てます。

無効化特権を使わない方法

プロファイル機構を使うと、セキュリティ管理者役割は、プログラムが代替 UID または GID、あるいは特定のラベルを使って、無効化特権を使わずに動作できることを指定できます。たとえば、DAC 特権の必要性をなくすには、セキュリティ管理者は、コマンドが別のユーザー ID (通常は、root ID 0) または別のグループ ID を使って、そのアクセス権または ACL に基づいてファイルまたはディレクトリにアクセスできることを実行プロファイルに指定します。

また、たとえば、あるプログラムがあるラベルのファイルを書き込みまたは読み取る必要があるとき、MAC 特権の必要性をなくすには、セキュリティ管理者は、そのプログラムが指定されている実行プロファイルにそのラベルを指定します。

セキュリティポリシーの範囲内でのセキュリティ属性の使用

コマンドがその作業の実行に必要とする特権や他のセキュリティ属性を確認した後、セキュリティ管理者役割は、そのコマンドおよび役割が、サイトのセキュリティポリシーに違反することなく、特権やその他のセキュリティ属性を使用できるだけの信頼性があることを確認する必要があります。

マニュアルページを参照してプロファイルに mount コマンド用の設定を行う例

mount(1M) コマンドは、管理者役割に割り当てられている System Maintenance プロファイルに指定されています。ここでは、セキュリティ属性の指定がどのように行われるかを示す非常に簡単な例を示すことにします。Solaris および他の UNIX オペレーティングシステムでは、一般ユーザーがオプションなしの mount コマンドを実行すると、現在マウントされているファイルシステムの名前が表示されます。ただし、root になって実行するとき、mount コマンドは、管理者 (スーパーユーザー) によって、そのコマンド行や vfstab(4) に指定したファイルシステムをマウントするのに使われる場合もあります。この場合、mount コマンドはそれを呼び出したユーザーの UID が 0 であるかどうかを検査します。

Trusted Solaris では、一般ユーザーが使用する mount コマンドの動作は Solaris の場合と同じです。しかし、管理作業を行うとき、mount は root の UID だけではなく特権も検査します。

mount(1M) のマニュアルページには、ファイルシステムをマウントするときに使われるコマンドには sys_mount 特権が必須特権であると記述されています。また、mount コマンドは、マウントポイントとマウントされるデバイスの両方に DAC と MAC の両方のアクセス権を持っている必要があります。これらのアクセス権を持っていない場合は、DAC または MAC 無効化特権が必要です (Intro(2) のマニュアルページを参照)。マウントされるファイルシステムにマウント時間セキュリティ属性が (-S オプションで) 指定されている場合、追加の無効化特権が必要になる可能性もあります。

mount (1M) のマニュアルページには、mount がファイルシステムを任意のラベルでマウントする場合、あるいは、すべてのマウント時間属性を指定する場合、セキュリティ管理者はプロファイルにおいて、次のすべての操作特権および必須特権 (file_mac_readfile_dac_readfile_mac_writefile_dac_writefile_mac_searchfile_dac_searchnet_privaddrproc_setslproc_setilsys_mount、 および sys_trans_label) を mount コマンドに割り当てる必要があると記述されています。