Trusted Solaris 管理の概要

第 2 章 ファイルアクセス制御の例

ユーザーがシステムのさまざまな部分や資源にアクセスするには、アクセス権、あるいは特権付きのアプリケーション、そして、多くの場合は承認が必要となります。この章では、さらに詳しい例を挙げながら、Trusted Solaris 環境におけるデータ保護の仕組みについて説明します。ユーザーアカウント、実行可能ファイル、プロセス、データファイルにそれぞれ対応付けられたセキュリティ属性をどのように組み合わせるとデータファイルとやりとりしようとするプロセスへのアクセスが許可または拒否されるのかを、例に沿って説明していきます。

概要 : セキュリティ属性

Trusted Solaris では、次の制御の組み合わせを使用してデータを保護します。

これらの制御に含まれる要素が、広範な意味での「セキュリティ属性」です。セキュリティ属性は、Trusted Solaris 環境にあるセキュリティ関連の要素 (ファイル、ディレクトリ、プロセス、デバイス、ネットワークインタフェースなど) の属性です。セキュリティ属性は、適用先によって次のように分類されます。

次の図は、Trusted Solaris 環境でのセキュリティ属性の使用、格納、管理の全体像を示したものです。図の左側の列は、トランザクションにおいてセキュリティ属性が使用される場所を示しています。中の列は、セキュリティ属性 (および他の情報) が格納されるデータベースを示しています。右側の列は、管理者が各情報を管理するために使用するグラフィカルツールを示しています。

図 2-1 Trusted Solaris 環境内のセキュリティ属性の相関関係

Graphic

ユーザーアカウントセキュリティ属性

ユーザーのセキュリティ属性は、他のアカウント情報とともに tsoluser データベースに格納され、ユーザーマネージャと呼ばれるツールで管理されます。ユーザーアカウント情報は、7 つのカテゴリに分類され、ユーザーマネージャからアクセスできるダイアログボックスがカテゴリごとに用意されています。

役割は、ユーザーがログインした後に取得できる特別なユーザーアカウントにすぎません。1 つの役割にそれ以外の役割を割り当てることはできません。ユーザーが役割を取得する (役割になる) と、そのユーザーには別のセキュリティ属性のセットが設定されます。

ファイルセキュリティ属性

実行可能ファイルのセキュリティ属性は、ファイル属性のサブセットであり、ファイルマネージャで管理されます。ファイルマネージャの選択メニューとポップアップメニューには、ファイルの属性、特権、機密ラベル (SL) を変更するためのコマンドが表示されます。

ユーザーがアプリケーションを選択すると、一般ユーザー、役割ユーザーの別に関わらず、そのトランザクションでは実行可能ファイルのファイルセキュリティ属性が機能します。たとえば、適切なアクセス権と優位な SL を持たないユーザーは、無効化特権を使用しない限り、実行可能ファイルにアクセスできません。

実行可能ファイルには、許容された特権と強制された特権を割り当てることもできます。許容されていない特権は、このアプリケーションでは使用できません。許容された特権は、強制された特権として割り当てられている場合、あるいは、ユーザーの実行プロファイルのどれかに定義されたアプリケーションに継承可能な特権として割り当てられている場合に使用できます。特権の詳細については、「特権」を参照してください。

トランザクションで影響を受けるデータファイルにも、ファイルセキュリティ属性が保持されます。この場合は、アクセス権と SL によって、ユーザーが呼び出したプロセスがそのデータファイルにアクセス可能かどうかが判定されます。許容された特権と強制された特権はデータファイルで使用できますが、実際には意味を成しません。これは、データファイルにとって実行権 (x) が何の意味も成さないのと同様です。

プロセスセキュリティ属性

プロセス属性は、主にユーザーの実行プロファイルに定義されています。強制された特権だけは例外で、実行可能ファイルのファイル属性から取得されます。ユーザーのプロファイルには、プロセスを開始するコマンドやアクションや、関連するすべてのセキュリティ属性が定義されています。実行プロファイルは、tsolprof データベースに格納され、プロファイルマネージャで管理されます。プロファイルマネージャの表示画面は 3 種類あり、それぞれを使用して、承認、コマンド、アクションを対応するセキュリティ属性を実行プロファイルに指定します。

トランザクションでのセキュリティ属性の適用手順

次の図は、データに影響を与えるプロセスを開始するトランザクションと、このとき使用する特定のセキュリティ属性のソースを示しています。

図 2-2 Trusted Solaris によるトランザクションの操作

Graphic

この図を解説すると、次のようになります。

例 : トランザクションのセキュリティ属性

次の 2 つの例では、Sam という名のユーザーが、tar コマンドを実行して、testFile というファイルを保存しようとしています。Sam には、tar コマンドの実行が許可されており、testFile ファイルの読み取りと書き込みに必要なアクセス権も与えられています。例 1 では、Sam は一般ユーザーとしてトランザクションを実行しようとし、失敗しています。例 2 では、Sam はシステムオペレータ (oper) になったため、トランザクションを無事完了しています。

例 1 : 一般ユーザーとしてログインし失敗したトランザクション

次の図を見ると、Sam のユーザーアカウントには、 All 実行プロファイルが割り当てられています。このプロファイルは、特権を何も与えずに、tar コマンドへのアクセスを許可します。

図 2-3 例 1 : 一般ユーザーとしてログインし失敗したトランザクション

Graphic

したがって、Sam は tar コマンドを使用できるため、トランザクションは手順 3 から手順 5 まで進みます。ここでサブジェクト (tar プロセス) とオブジェクト (testFile ファイル) のセキュリティ属性がそれぞれ収集され、比較されます。この例では、次のような条件評価が行われます。

例 2 : システムオペレータになったため成功したトランザクション

Sam がシステムオペレータ (oper) になると、次の図に示すようにトランザクションは成功します。

図 2-4 例 2 :システムオペレータになったため成功したトランザクション

Graphic

システムオペレータ (oper) には、他のプロファイルとともに Basic Media 実行プロファイルが割り当てられています。この実行プロファイルには、tar コマンドのほか、file_dac_search、file_dac_read、file_mac_read などの特権と、ADMIN_LOW から ADMIN_HIGH までの SL 範囲が指定されています。この例では、tar コマンドが許可されているため、プロセスは手順 3 から 5 まで進みます。このトランザクションは、次のような条件評価に合格しています。