Solaris Trusted Extensions 移行ガイド

Trusted Solaris 8 ソフトウェアと Solaris Trusted Extensions の相違点

次の各節では、Trusted Solaris から Solaris Trusted Extensions ソフトウェアへの変更でそのまま保持されたコンポーネント、変更されたコンポーネント、および削除されたコンポーネントを示しています。

Trusted Extensions 内の監査イベントと監査クラス

Trusted Extensions では、X イベントの監査クラスは 6 個から 4 個に少なくなりました。xa クラスと xl クラスは削除されました。xa クラスに割り当てられていたイベントは、ot クラスになりました。xl クラスに割り当てられていたイベントは、lo クラスになりました。ほかの X 監査クラスのビットマスクは、それらの Trusted Solaris 8 マスクから変更されています。


0x00800000:xc:X - object create/destroy
0x00400000:xp:X - privileged/administrative operations
0x01000000:xs:X - operations that always silently fail, if bad
0x01c00000:xx:X - all X events (meta-class

Trusted Extensions におけるデバイス管理

Trusted Extensions では、allocate コマンドと deallocate コマンドは大域ゾーンで実行される TCB (Trusted Computing Base) プロセスにしか使用できません。通常のユーザーは、デバイスマネージャーの GUI を使用してデバイスの割り当てと割り当て解除を行う必要があります。

Trusted Extensions デバイスポリシーは、Solaris getdevpolicy インタフェースと update_drv インタフェースを使用します。Trusted Solaris 8 デバイスポリシーdata_mac_policyattr_mac_policyopen_priv、および str_type は削除されました。

Trusted Extensions におけるファイルとファイルシステムのマウント

Trusted Extensions は、ラベルを指定する明示的なマウント属性を提供しません。マウントされたファイルシステムのラベルは、所有しているホストまたは所有しているゾーンに関連付けられたラベルと同じです。上位への書き込みは許可されません。上位への書き込みは、上位ラベルが付いたファイルシステムまたは無関係なラベルが付いたファイルシステムのマウントを無効にすることによって防止します。下位の読み取りは許可されます。下位の読み取りは、下位ラベルが付いたファイルシステムのマウントを読み取り専用に制限することによって実現されます。

ファイルシステムにセキュリティー属性を指定する Trusted Extensions 実装は、Solaris 実装に準じています。したがって、ファイルには、強制された特権も許可された特権もありません。この実装によって、Trusted Extensions は Solaris ゾーンでサポートされるあらゆるファイルシステムをサポートできます。

ファイルの再ラベル付けは、1 つのマウント済みファイルシステムから別のファイルシステムにファイルを移動することによって行います。

Trusted Extensions におけるラベル

Trusted Solaris リリースと同様に、Trusted Extensions には label_encodings ファイルが提供されています。label_encodings ファイルには、ラベル、ラベル範囲、認可上限、およびデフォルトが定義されています。

Trusted Extensions では、デフォルトでインストールされる label_encodings ファイルで RESTRICTEDPUBLIC などの商用ラベルが定義されます。Trusted Solaris リリースでは、デフォルトのラベルエンコーディングファイル label_encodings.multi は米国政府エンコーディングファイルのバージョンの 1 つでした。

ラベルビルダーでは、ラベルは短いフォームではなく長いフォームで表示されます。セッション認可上限またはワークスペースラベルを選択する場合には、Admin LowAdmin High ではなく Trusted Path が使用されます。

Trusted Extensions におけるラベル API

ラベルの内部構造を示したラベル API は、Solaris Trusted Extensions では廃止されています。これらのラベル API は、label_to_str() 関数と str_to_label() 関数によって置き換えられました。廃止されたインタフェースとそれらの後継機能については、表 7 を参照してください。

CMW ラベルも、機密ラベルによって置き換えられました。CMW インタフェースと IL (情報ラベル) インタフェースはすべて削除されました。

Trusted Extensions におけるメール

Solaris Trusted Extensions リリースでは、独立した sendmail インスタンスがゾーンごとに存在します。このため、メールはアップグレードできません。ユーザーによるメールの送受信は、各自のワークスペースのラベルでのみ可能です。

Trusted Extensions における LDAP ネームサービス

Solaris Trusted Extensions は、ネームサービスとして LDAP を使用します。Trusted Extensions では、NIS と NIS+ は tnrhdb データベース、tnrhtp データベースともサポートしません。これらのネームサービスには、マルチレベルポート (MLP) にバインドできるプロキシサーバーがありません。このため、複数のゾーンから同時にトラステッドネットワーキングデータベースに到達することはできません。

ユーザーパスワードを除き、LDAP データは公開情報と見なされます。したがって、LDAP 内の情報はどれも MAC ポリシーによって保護されません。この代わり、Solaris OS における場合と同様に、データは管理ポリシーによって保護されます。LDAP 管理ポリシーは、LDAP ID と LDAP パスワードに基づいています。ユーザーとネットワーク終端の属性として機密ラベルを割り当てると、それらのラベルは内部形式で保存されます。内部形式では、機密情報が開示されることがありません。

Trusted Extensions 環境内で LDAP サーバーをネームサービスとして配備する場合は、大域ゾーン内のマルチレベルポート (MLP) にバインドされるようにこのサーバーを設定する必要があります。

Trusted Extensions は、既存の LDAP インフラストラクチャーに依存するように設定することも可能です。この場合、LDAP プロキシサーバーをインストールしてください。このプロキシサーバーは、Trusted Extensions が構成されているシステムの大域ゾーン内の MLP にバインドするように設定する必要があります。これらの設定が終わると、この Trusted Extensions システムはほかのゾーンおよびほかのホストから出力されたマルチレベル要求を、ラベルがない既存の LDAP サーバーにプロキシできます。ラベルがないサーバーには、プロキシサーバーの tnrhdb にある admin_low テンプレートを割り当てる必要があります。

NIS+ テーブルを LDAP エントリに移行する場合は、次に示すマニュアルページを参照してください。

Trusted Extensions における 名前付きパイプ

Solaris OS では、名前付きパイプが一方向のコンジットとして使われます。 Trusted Extensions では、名前付きパイプは、上位書き込み操作を許可します。書き込み側は、 読み込み側の優位なラベルより低いラベルで稼働します。Trusted Solaris 8 では、 名前付きパイプは、FIFO のラベルを読み込み側のラベルにアップグレード することによって、構成されます。Trusted Extensions では、名前付きパイプは、 より低いレベルのゾーンのディレクトリからより高い優位なゾーンへの読み込み専用 LOFS マウントにより構成されます。FIFO は、 書き出し側のゾーンのラベルで 生成されます。詳細は、mkfifo(1m) のマニュアルページを参照してください。

Trusted Extensions におけるネットワーキング

Trusted Extensions では、TSIX や TSOL ネットワークプロトコルはサポートされていません。Trusted Extensions では、tnrhtp データベース内に CIPSO ラベルが付いたテンプレートとラベルがないテンプレートが定義されています。ラベル ADMIN_HIGH は上限として使用されますが、CIPSO ラベルとして送信されることはありません。詳細は、「Trusted Extensions 内のゾーン」を参照してください。

特権、ユーザー ID、グループ ID などのプロセス属性は現在サポートされていないため、tnrhtp データベースの書式はシンプルになりました。tnrhdb データベースの書式は変わりません。tnidb データベースは、tnzonecfg データベースによって置き換えられました。しかし、この 2 つのデータベースは同等ではありません。

Solaris Trusted Extensions リリースでインストールされる /etc/security/tsol/tnrhtp ファイルには、あらゆる label_encodings ファイルとともに使用できるテンプレートが含まれます。次の表は、tnrhtp の以前のバージョンと Solaris Trusted Extensions リリースに含まれるバージョンの対応を示しています。

表 1 Trusted Solaris 8 リリースと Solaris Trusted Extensions リリース内にあるテンプレート名

Trusted Solaris テンプレート名 

Trusted Extensions 名 

注 

cipso

cipso

ラベル付きホスト用 

unlab

admin_low

ラベルなしホスト用 

tsol, tsol_cipso, tsix

なし 

cipso テンプレートを使用してください

tsol_ripso, ripso_top_secret

なし 

削除されました 

ネットワーク通信はラベルで制限されます。デフォルトでは、ゾーン同士の通信は行えません。これは、ゾーンのラベルがそれぞれ異なるためです。

Trusted Extensions ドメインの外から発生する、ラベルなしホストからのパケットは、セキュアドメインからドメイン外の別のホストに対してトラステッドルーティングが行えるように、IP オプションを使用してラベルを付けることができます。着信パケットは、tnrhdb 内にある、それらの発生元ホストのエントリに従ってラベル付けが行われます。着信パケットは、それらの機密ラベルとトラステッドルーティング情報に従って経路が決定されて Trusted Extensions ドメインに送られます。機密ラベルは、IP オプション内でも使用されます。このラベルは、パケットがトラステッドドメインから出る際に除去されます。現在、IPv6 はトラステッドルーティングをサポートします。

動的ルーティングはサポートされません。静的ルーティングはサポートされます。

Trusted Extensions におけるパッケージング

Trusted Extensions ソフトウェアは、特殊なパッケージング属性を必要としません。このため、tsolinfo ファイルは使用されなくなりました。

Trusted Extensions における PAM

Trusted Extensions 用の PAM モジュールである pam_tsol_account.so.1 には、モジュールタイプと関数が 1 つずつ含まれます。このモジュールのタイプは account で、関数はラベル範囲をチェックします。このモジュールにオプションはありません。このリリースには、Trusted Solaris 8 ソフトウェアで提供されていた、Trusted Extensions 固有のほかの PAM 関数は含まれていません。

Trusted Extensions は、PAM サービスに allow_unlabeled オプションを追加します。allow_remote オプションと併用することで、管理者はヘッドレスシステムのリモート管理が行えます。詳細は、pam_roles(5) および pam_tsol_account(5) のマニュアルページを参照してください。

ほかのモジュールタイプの PAM スタックについては、Trusted Extensions でも Solaris OS と同じ方法で使用してください。詳細は、pam(3PAM) および pam.conf(4) のマニュアルページを参照してください。

Trusted Extensions におけるポリシー

Trusted Extensions では、プロセスの認可上限はその機密ラベルと同じです。上位への書き込みはサポートされません。

ADMIN_HIGH ワークスペースと ADMIN_LOW ワークスペースの管理的な区別はありません。このため、これらのワークスペースは Trusted Path として表示されます。

exec_attr ファイル内の tsol ポリシーは削除されました。solaris ポリシーを使用してください。

Trusted Extensions における印刷

Trusted Extensions は、シングルレベル印刷とマルチレベル印刷の両方をサポートします。マルチレベル印刷が行えるのは、大域ゾーン内だけです。マルチレベル印刷サービスとして機能させるには、その大域ゾーンに固有の IP アドレスを割り当てる必要があります。大域ゾーンのプリントサーバーを使用するには、ラベル付きゾーンに大域ゾーンとは別の IP アドレスを割り当てる必要があります。

ラベル範囲があるのは、マルチレベルプリンタだけです。プリンタのラベル範囲は、デバイス割り当てマネージャを使用して制限できます。

Trusted Solaris リリースでは、バナーページとトレーラページがデフォルトで有効になっていました。Trusted Extensions では、管理者がプリンタモデルスクリプトを実行し、セキュリティー情報が含まれるバナーページとトレーラページをプリンタに追加します。


lpadmin -p printer -m printer-model-script

Trusted Extensions により、4 つのプリンタモデルスクリプト、tsol_standardtsol_netstandardtsol_standard_foomatic、および tsol_netstandard_foomatic が追加されます。

Trusted Extensions における Solaris 管理コンソール

Solaris 管理コンソール は、マルチレベルサービスではなくなりました。Solaris 管理コンソール にコンタクトをとることができるのは、このサーバーと同じラベルで稼働しているクライアントだけです。ほとんどの Trusted Extensions 管理機能は、大域ゾーンに対するアクセス権を必要とします。通常のユーザーは大域ゾーンへのログインが許可されていないため、大域ゾーン内の Solaris 管理コンソール に接続できるのはすべてのラベルに対して認可上限が行われている役割だけです。

Trusted Extensions におけるウィンドウシステムと CDE

ログイン手順が少し異なり、新しいダイアログボックス「最後のログイン」にログインユーザーのセキュリティー情報が示されます。「シャットダウン」メニュー項目は、「システムの保存停止」メニュー項目により置き換えられました。「システムの保存停止」メニュー項目は、ユーザー承認をチェックし、続いて sys-suspend コマンドを実行します。

System_Admin フォルダは、Trusted_Extensions という名前に変更されました。

Trusted_Extensions フォルダ内の CDE アクションが更新されました。NIS+ アクションが削除されました。LDAP とラベル付きゾーンを管理するアクションが追加されました。

Trusted Extensions 内のゾーン

Trusted Extensions は、ラベル付けのためにゾーンを使用します。大域ゾーンは管理者用のゾーンであり、ユーザーは使用できません。大域ゾーンはマルチレベルです。大域ゾーンのネットワーキングラベルは ADMIN_LOW ですが、そのプロセスラベルは ADMIN_HIGH です。大域ゾーン専用のファイルには、ADMIN_HIGH というラベルも付きます。すべてのゾーンと共有されるファイルには、ADMIN_LOW というラベルが付きます。

各非大域ゾーンには、一意のラベルが付きます。非大域ゾーンはラベル付きゾーンとも呼ばれます。ラベル付きゾーンは、通常のユーザーも利用できます。大域ゾーンは、役割による使用だけが認められます。

ゾーンについての Trusted Extensions ポリシーは、Solaris ポリシーとは異なります。Trusted Extensions では、ゾーンごとの個別 IP アドレスは必要とされません。しかし、すべてのゾーンで単一のネームサービスを使用する必要があります。単一のネームサービスを使用すると、ユーザー、UID、および GID の単一のセットがすべてのゾーンに提供されます。

ネットワーク通信はラベルで制限されます。デフォルトでは、ゾーン同士の通信は行えません。これは、ゾーンのラベルがそれぞれ異なるためです。各ゾーンの /export ディレクトリは、その /export ディレクトリのラベルよりも上位のラベルを持つ任意のゾーンから読み取ることができます。

大域ゾーンで実行が許可されるのは、システムプロセスと役割だけです。場合によっては、大域ゾーンにおける特権プロセスが MAC ポリシーの適用外となることがあります。たとえば、file_dac_search 特権と file_dac_read 特権を持つシステムプロセスと役割は、ラベル付きゾーンに属するファイルにアクセスできます。

Trusted Extensions における特権

Trusted Extensions 内の特権は、Solaris 内の特権と対応するようにコード化されます。Solaris ソフトウェアにおける特権は、以前の Trusted Solaris リリースにおける特権とは異なる方法で実装されます。

Trusted Solaris の特権と Trusted Extensions の特権との対応については、付録 A 「Solaris Trusted Extensions リリースにおけるインタフェースの変更」表 1表 10 、および 「Trusted Extensions ソフトウェア内の新しいインタフェース」を参照してください。特権の全一覧は、privileges(5) のマニュアルページを参照してください。

Solaris Trusted Extensions リリースでは、次に示す特権が追加されました。

Trusted Solaris のコマンド runpd は、Solaris のコマンド ppriv -d により置き換えられました。詳細は、ppriv(1) のマニュアルページを参照してください。たとえば、 『Solaris のシステム管理 (セキュリティサービス)』「プログラムが必要とする特権を判断する方法」を参照してください。

Trusted Extensions ユーザーコマンド

Trusted Extensions が構成されているシステムでは、ほとんどの Solaris ユーザーコマンドは Solaris OS におけるコマンド動作と同様に動作します。一部のコマンドオプションは、Trusted Extensions ソフトウェアにしか適用されません。Trusted Extensions では、ユーザーコマンドも追加されています。全一覧は、「Trusted Extensions ソフトウェア内の新しいインタフェース」表 2、および表 3 を参照してください。

Trusted Extensions システム管理コマンド

Trusted Extensions が構成されたシステムでは、システム管理コマンドは次のように動作します。

Trusted Extensions システム呼び出し

Trusted Extensions が構成されたシステムでは、ほとんどの Trusted Solaris システム呼び出しが Solaris システム呼び出しによって置き換えられました。一部のシステム呼び出しは、Trusted Extensions ソフトウェアで拡張されています。全一覧は、表 5「Trusted Extensions ソフトウェア内の新しいインタフェース」を参照してください。

Trusted Extensions ライブラリ関数

Trusted Extensions が構成されたシステムでは、一部の機能が修正されました。変更の一部は、製品のアーキテクチャー変更によるものです。また、非標準インタフェースを削除したために生じた変更もあります。

Trusted Solaris ソフトウェアで提供されていた特権のライブラリ関数は、Solaris 関数によって置き換えられました。CMW ラベルを操作するラベル関数は削除されました。一部のラベル関数は、ラベル構造を不透明なものにするように変更されました。ラベル構造を不透明なものにする新しいラベル関数に切り替えられたラベル関数もあります。サイトのためにラベル対応のコードを開発する場合は、新しいインタフェースを使用することをお勧めします。

全一覧は、表 6「Trusted Extensions ソフトウェア内の新しいインタフェース」を参照してください。

Trusted Extensions データベースとファイル

データベースとファイルは、技術的な変更に対応するようにフォーマットの再設定が行われました。不要なファイルは削除されました。一覧は、表 9「Trusted Extensions ソフトウェア内の新しいインタフェース」を参照してください。

Trusted Extensions デバイスとドライバ

Trusted Extensions が構成されているシステムでは、すべての Trusted Solaris デバイスインタフェースとドライバのカーネル関数が Solaris 関数によって置き換えられました。一覧は、表 11 を参照してください。