この付録では、Solaris Trusted Extensions ソフトウェアを使用する環境において、ラベル対応アプリケーションの開発、テスト、およびリリースに関する情報がある場所を示します。
この付録の内容は次のとおりです。
Intro(3TSOL) のマニュアルページに、Trusted Extensions が設定されたシステムの概要が示されています。Trusted Extensions のすべてのマニュアルページは、Sun の マニュアル Web サイトおよび『Solaris Trusted Extensions リファレンスマニュアル』で参照できます。
ほとんどの Trusted Extensions ヘッダーファイルは、/usr/include/tsol ディレクトリおよび /usr/include/sys/tsol ディレクトリにあります。その他のヘッダーファイルの場所を次の表に示します。
ヘッダーファイルと場所 |
インタフェースのカテゴリ |
---|---|
/usr/dt/include/Dt/label_clipping.h |
フォントリストによる X11 ラベル変換とラベルクリッピング |
/usr/dt/include/Dt/ModLabel.h |
ラベルビルダー |
/usr/openwin/include/X11/extensions/Xtsol.h |
X ウィンドウシステム |
/usr/include/libtsnet.h |
トラステッドネットワークライブラリ |
/usr/include/bsm/libbsm.h |
監査ライブラリ |
Trusted Extensions インタフェース名およびデータ構造体名の多くには、次の略号が使用されます。これらの名前の略号は、インタフェースまたは構造体の目的の判別に役立ちます。
表 A–1 Trusted Extensions API によって使用される名前の略号
略号 |
名前 |
---|---|
attr |
属性 |
b |
2 進数 |
clear |
認可上限 |
ent |
エントリ |
f |
ファイル |
fs |
ファイルシステム |
h |
16 進数 |
l |
レベル、ラベル、またはシンボリックリンク |
lbuild |
ラベルビルダー |
prop |
プロパティー |
r |
再入可能 |
res |
リソース |
s |
文字列 |
sec |
セキュリティー |
sl |
機密ラベル |
tp |
トラステッドパス |
tsol |
Trusted Extensions |
xtsol |
Trusted X11 サーバー |
メインシステムのセキュリティーポリシーがソフトウェアバグおよびコードの不備によって損なわれないように、独立した開発システムでアプリケーションを開発、テスト、デバッグする必要があります。
次のガイドラインに従ってください。
余分なデバッグコード、特に文書化されていない機能を提供するコード、およびセキュリティーチェックをバイパスするコードを削除します。
アプリケーションデータの操作に関して、セキュリティー上の問題がないかをインストール前に管理者が検査できるように、操作を簡単にします。
すべてのプログラミングインタフェースについて、リターンコードをテストします。呼び出しが成功しない場合、予期しない結果になることがあります。予期しないエラー条件が発生した場合、アプリケーションは常に終了しなければなりません。
すべての機密ラベルで、およびアプリケーションを実行すると予想されるすべての役割から、アプリケーションを実行することによってすべての機能をテストします。
プログラムが役割によってではなく、一般ユーザーによって実行される場合、プログラムが実行されるラベルでコマンド行からプログラムを起動します。
プログラムが役割によって実行される場合、大域ゾーンでコマンド行からプログラムを起動するか、プログラムが実行されるラベルでユーザー役割から起動します。
アプリケーションが必要とするすべての特権がアプリケーションにあるかを確認するために、特権デバッグモードですべての機能をテストします。この種のテストでは、アプリケーションが実行すべきでない特権タスクをアプリケーションが実行しようとしているかどうかも確認します。
特権を使用することによって起きる、セキュリティーに対する影響を確認します。アプリケーションが特権を使用することによってシステムセキュリティーが損なわれないようにします。
適切な特権ブラケットを確認してそれに従います。
『Solaris セキュリティーサービス開発ガイド』を参照してください。
特権アプリケーションをテストするために SUNWspro debugger または dbx コマンドを使用する場合、それを実行プロセスにアタッチする前に、デバッガを起動します。コマンド名を引数としてデバッガを起動することはできません。
十分にテストおよびデバッグしたアプリケーションを、アプリケーション統合のためにシステム管理者に提出します。アプリケーションの提出は、CDE アクションまたはソフトウェアパッケージとして行えます。アプリケーションが特権を使用する場合、システム管理者はアプリケーションのソースコードおよび提出されたセキュリティー情報を評価する必要があります。この評価によって、特権の使用がシステムセキュリティーを損なわないことを確認します。
アプリケーションが使用する新しい監査イベント、監査クラス、 X ウィンドウシステムプロパティーについてシステム管理者に通知してください。システム管理者は、これらを適切なファイルに追加する必要があります。詳細は、第 6 章「トラステッド X ウィンドウシステム」を参照してください。
CDE アクションは、ユーザーまたは役割によってワークスペースから起動されます。このアクションは、ユーザーまたは役割のプロファイルに割り当てられている特権を継承します。「CDE アクション」は、アプリケーションを実行してデータファイルを開くなどのデスクトップタスクを自動化するアプリケーションマクロまたは API のように機能する命令のセットです。Trusted Extensions が設定されたシステムでは、アプリケーションは CDE アクションとしてワークスペースから起動されます。CDE アクションの作成方法については、『Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド』を参照してください。
CDE アクションを作成する場合、f.exec ではなくf.action を作成します。f.exec は、すべての特権を持つスーパーユーザーとしてプログラムを実行します。
システム管理者は、CDE アクションを適切なプロファイルに入れることによって、必要な特権を CDE アクションに割り当てます。システム管理者に対して、プログラムが使用する特権をリストし、アプリケーションが実行されるラベルを示し、必要な実効ユーザー ID またはグループ ID を指定する必要があります。システム管理者は、特権および実効ユーザー ID またはグループ ID をプロファイル内の CDE アクションに割り当てます。
ソフトウェアパッケージを作成するには、『Application Packaging Developer’s Guide』を参照してください。パッケージインストールの問題をデバッグするには、『Solaris のシステム管理 (上級編)』の第 14 章「ソフトウェアの問題解決 (概要)」を参照してください。