Trusted Solaris 管理の概要

デバイスとドライバ

デバイスは、コンピュータからのデータのインポートやエクスポートの手段として使用されるため、セキュリティ保護されていなくてはなりません。Trusted Solaris 環境では、デバイスは実行プロファイルに割り当てた承認と、必須アクセス制御によって制御されます。割り当て可能なデバイスには、テープドライブ、フロッピーディスクドライブ、マイクロフォンなどがあります。

デバイス割り当て機能は、Solaris の SunSHIELD 基本セキュリティモジュール (Basic Security Module、BSM) によって提供されています。これについては、『SunSHIELD 基本セキュリティモジュール』の第 4 章「デバイスの割り当て」を参照してください。ラベル範囲には、Trusted Solaris 独自のものが使用されます。

データのインポートやエクスポートを制御する手段は、デバイス割り当ての結果、確定します。Trusted Solaris 環境では、まず管理者がデータのインポートとエクスポートに使用するデバイスを決め、/etc/security/device_maps/etc/security/device_allocate の 2 つのファイルに定義します。

ユーザーがデバイスを割り当てるときは、デバイス割り当てマネージャを使用します。デバイス割り当てマネージャでデバイスをマウントし、デバイス clean スクリプトを実行してデバイスを使用可能にし (「デバイス clean スクリプト」を参照)、割り当てを行います。デバイスを使用した後も、デバイス割り当てマネージャから割り当てを解除します。この場合は、別のデバイス clean スクリプトを実行し、使用したデバイスのマウントと割り当てを解除します。

デバイス割り当てマネージャを使用してデバイスを管理する

デバイス割り当てマネージャは、フロントパネルのスタイルマネージャの上にある「トラステッド・デスクトップ (Trusted Desktop)」サブパネルから起動します。デバイス割り当てマネージャは、デバイス割り当て承認を持つユーザーが、デバイスの割り当てと割り当て解除のためだけに使用できます。デバイス割り当てマネージャの「デバイスの管理 (Device Administration)」ボタンを使用して、デバイスが現在別のユーザーに割り当てられているかどうかを確認したり、デバイスの管理を行うことは、一般ユーザーには許可されていません。このボタンは、承認されたユーザーと管理者だけが使用できます。次の図は、デバイス割り当てマネージャの管理ツールの一覧です。

図 7-8 デバイス割り当てマネージャの管理ダイアログボックス

Graphic

デバイス割り当てマネージャの「管理」ダイアログボックス

デバイス割り当てマネージャのメインウィンドウで「デバイスの管理 (Device Administration)」ボタンをクリックすると、「管理 (Administration)」ダイアログボックスが表示されます。このダイアログボックスでは、デバイスを選択した後、そのデバイスの状態を確認できます。「再利用 (Reclaim)」ボタンをクリックすると、現在エラー状態のデバイスが使用できる状態になります。「解除 (Revoke)」ボタンをクリックすると、選択したデバイスがビジー (割り当て済み) 状態から使用可能な (割り当て解除) 状態になります。これらのボタンを使用するには、「デバイスの解除または再設定」の承認が必要です。

デバイス割り当てマネージャの「構成」ダイアログボックス

「構成 (Configuration)」ダイアログボックスを使用するには、「デバイスの属性を構成」の承認が必要です。「管理 (Administration)」ダイアログボックスの「構成 (Configuration)」ボタンをクリックすると、「構成 (Configuration)」ダイアログボックスが表示されます。このダイアログボックスでは、デバイスラベル範囲内での最下位および最上位機密ラベルの設定、新しいデバイス clean プログラム (デバイスをクリーンアップするプログラム) の指定、デバイスを使用できるユーザーの指定などができます。

デバイス割り当てマネージャの「承認」ダイアログボックス

「構成 (Configuration)」ダイアログボックスの「承認 (Authorizations)」ボタンをクリックすると、「承認 (Authorizations)」ダイアログボックスが表示されます。ここでは、デバイスを使用するために必要な承認を指定できます。

デバイス割り当てのセキュリティポリシー

デバイスの割り当てに関するセキュリティポリシーは変更可能です。ポリシーの変更は、device_policy(4) ファイルを編集して行います。これについては、『Trusted Solaris 管理の手順』の第 15 章「デバイスの管理」を参照してください。

割り当てコマンド

デバイス割り当てマネージャを使用できない場合は、次に説明するコマンドを使用して、割り当て可能なデバイスを管理することができます。これらのコマンドはユーザー用ではありません。

allocate

allocate(1M) コマンドの割り当て機構を利用して、デバイスの所有権を管理することができます。認定されたユーザー 1 人がデバイスを使用している間、他のユーザーが、そのデバイスを使用することはできなくなります。

deallocate

deallocate(1M) コマンドは、このコマンドを実行したユーザーに割り当てられているデバイスの割り当てを解除します。解除されるのは、device_deallocate(4) ファイルに定義されたデバイス、あるいは、そのデバイスに対応するデバイス特殊ファイルに定義されたデバイスです。deallocate コマンドは、デバイスに対応付けられた全デバイス特殊ファイルの所有権とアクセス権を取り消し、そのデバイスに対するユーザーのアクセス権も無効にします。スーパーユーザーが、別のユーザーのデバイスに対するアクセス権を解除する場合などに使用されます。

割り当て解除 (強制的な解除も含む) を行うと、device_deallocate(4) の内容に応じて、適切なデバイスのクリーンアッププログラムが実行されます。クリーンアッププログラムは通常、/etc/security/lib ディレクトリに格納されています。

list_devices

list_devices(1M) コマンドは、指定された識別情報に従って、システム内の割り当て可能なデバイスを一覧表示します。

リストには、デバイスと、そのデバイスに対応するすべてのデバイス特殊ファイルが表示されます。オプションのデバイス引数を使用しない場合は、関連するデバイスがすべて表示されます。

dminfo

dminfo(1M) コマンドは、デバイスマップファイルのデバイスエントリに関する情報を表示します。

add_drv

add_drv(1M) コマンドは、新しくインストールしたデバイスの情報をシステムに通知する場合に使用します。add_drv コマンドを使用するには、sys_devices 特権が必要です。

rem_drv

rem_drv(1M) コマンドは、削除されたデバイスの情報をシステムに通知する場合に使用します。rem_drv コマンドを使用するには、sys_devices 特権が必要です。

デバイス clean スクリプト

デバイス clean スクリプトは、次の 2 つのセキュリティ条件に対応した特別なスクリプトです。

デバイス割り当てデータベース

デバイス割り当ての構成には、次のファイルを使用します。

device_allocate

device_allocate(4) ファイルは、割り当て可能な物理デバイスごとに、承認情報と必須アクセス制御情報を保持します。各エントリには、次の情報が定義されます。

device_deallocate

デバイス割り当て解除機構では、システムブート、ユーザーのログアウト、タイムアウト後の強制ログアウトなどのイベントが発生したときに、デバイスの割り当てを強制的に解除するか、そのままにしておくか、またはユーザーに判断させるかが判断されます。device_deallocate(4) ファイルは、このようなイベントが発生した際、ユーザーがまだ割り当て解除していないデバイスに、デバイス割り当て解除オプションを指定します。

各デバイスの割り当て解除オプションのエントリには次の項目が定義されます。

device_maps

device_maps(4) ファイルは、物理デバイス名とデバイス特殊ファイルを対応付けします。各デバイスのエントリには次の項目が定義されます。

デバイスラベル範囲

割り当て可能なデバイスには、それぞれに機密ラベル範囲が設定されます。デバイスがユーザーに割り当てられている間は、データのインポートやそのユーザーのプロセス機密ラベルが使用されます。

ラベル範囲を持つデバイスには、テープドライブ、フロッピーディスクドライブ、CD-ROM ドライブ、プリンタなどがあります。

デバイスドライバセキュリティ

ndd(1M) コマンドは、選択した構成パラメータを特定のカーネルドライバで管理するためのコマンドです。このコマンドでドライバパラメータを設定するには、SYS_NET_CONFIG 特権の継承が必要です。

kstat(3K) コマンドを使用すると、ドライバが受け取った割り込み回数やNFS 操作の実行回数など、カーネルドライバの統計を表示できます。このタイプの情報には雑音が多く、変調が困難で、記録された操作の実行時の速度に依存するため、使用可能な隠しチャネルを使用します。この状況が受け入れられない場合は、インストール時に /dev/kstat の機密ラベルを ADMIN_LOW から ADMIN_HIGH に変更する必要があります。さらに、/dev/kstat の読み取りや書き込みを行うプログラムを ADMIN_HIGH で実行するか、file_mac_read または file_mac_write 特権を取得して実行する必要があります。

/dev/kstat の機密ラベルを変更するには、/etc/security/tsol/minor_perm.adjunct ファイルを編集して、kstat を ADMIN_HIGH に設定するコマンド行のコメントを外します。この行は、"#kstat:kstat0x7777777..." で始まっています。

/dev/kstat にアクセスし、ADMIN_HIGH または特権を使用して実行しなくてはならないコマンドには次のものがあります。netstatin.rwhodcachefslogcachefsstatnfsstatfuseriostatmpstatprtdiagpsrinforpc.rstatsadsendmailvmstatwlux