5    オブジェクト・クラスの詳細

この章では,保護オブジェクトの各クラス (ファイル,ボリューム,デバイスなど) の特徴を説明します。クラスごとに,次のトピックに関する情報を示します。

トピック 説明

命名規則

クラス内のオブジェクトに対する命名規則の概要。

アクセスのタイプ

そのクラスでサポートされるアクセス・タイプ。太字の部分はアクセス・タイプの短縮形を示します (たとえば,読み込みアクセスは R)。

テンプレート・プロファイル

クラスの新しいオブジェクトに適用されるデフォルトのプロファイル。サイトのセキュリティ管理者は,デフォルトのプロファイルを変更できます。現在のテンプレートの設定値を表示するには,SHOW SECURITY コマンドを使用します。

必要な特権

オブジェクトに対する特定の操作に必要な特権 (もしあれば)。

実行される監査の種類

監査イベント・メッセージを起動するイベント (そのイベント・クラスが有効になっている場合)。

オブジェクトの永続性

セキュリティ・プロファイルの格納。セキュリティ要素がシステムのスタートアップをまたいで保存されるかどうか,また,保存される場合はどこに保存されるかを説明します。

クラスに当てはまらないトピックは省略されます。

5.1    ケーパビリティ

ケーパビリティは,各サイトが標準のアクセス制御メカニズムを使ってアクセスを制御するリソースです。ベクタ命令を実行できる能力は,ケーパビリティ・オブジェクトです。このようなオブジェクトは,ベクタ・プロセッサを持つサイトにのみ存在します。

5.1.1    命名規則

ケーパビリティ・オブジェクトに対する有効な名前は,VECTOR のみです。

5.1.2    アクセスのタイプ

ケーパビリティ・クラスは,次のアクセス・タイプをサポートします。

使用 (U)

ベクタ・プロセッサを使用する権限がプロセスに与えられます。

制御 (C)

オブジェクトの保護と所有権の要素を変更する権限がユーザに与えられます。

5.1.3    テンプレート・プロファイル

ケーパビリティ・クラスは,次のテンプレート・プロファイルを提供します。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[SYSTEM]

S:U,O:U,G:U,W:U

VECTOR テンプレートに対する変更は,システムの次回起動時に有効になります。システムの起動後に VECTOR オブジェクトの要素を変更する場合は,そのオブジェクトを直接変更する必要があります。次に例を示します。


$ SET SECURITY/CLASS=CAPABILITY/PROTECTION=(S:U,O:U,G:U,W) VECTOR
 

5.1.4    実行される監査の種類

OpenVMS オペレーティング・システムでは,次のタイプのイベントを監査できます。

監査対象イベント 監査実行のタイミング

アクセス (A)

イメージの起動後,プロセスが最初にベクタ命令を使用したとき。

5.1.5    オブジェクトの永続性

ケーパビリティ・オブジェクトのセキュリティ・プロファイルは,システムが起動されるたびに再設定する必要があります。

5.2    コモン・イベント・フラグ・クラスタ

コモン・イベント・フラグ・クラスタは,プロセス同士が連携してイベント通知を相互に提供できるようにするために,32 個のイベント・フラグをセットにしたものです。

クラスタ内のイベント・フラグをセットまたはクリアすることにより,イベントの発生を示すことができます。32 個のイベント・フラグで構成されるクラスタ内にすべてのイベント・フラグが格納され,各プロセスは 4 つのクラスタ (0 〜 3 番) にアクセスできます。このうち 2 つのクラスタは 1 つのプロセスがローカルに使用します。イベント・フラグ・クラスタ 2 と 3 はコモン・イベント・フラグ・クラスタと呼ばれ,プロセス間の同期化のために使用されます。1 つのサブジェクトに,最大 2 つのコモン・イベント・フラグ・クラスタを関連付けることができます。クラスタ内の各コモン・イベント・フラグは,イベント・フラグ番号によって参照されます。

5.2.1    命名規則

このオブジェクトの名前は,コモン・イベント・フラグ・クラスタ関連付けシステム・サービス ($ASCEFC) に対する引数として指定した任意の文字列です。コモン・イベント・フラグ・クラスタの名前は,UIC グループ番号で修飾されます。

5.2.2    アクセスのタイプ

コモン・イベント・フラグ・クラスタ・クラスは,次のアクセス・タイプをサポートします。

関連付け (A)

プロセスがイベント・フラグにアクセスできるように,名前付きのクラスタとの対応関係を設定する権限がプロセスに与えられます。

削除 (D)

パーマネント・イベント・フラグ・クラスタを,コモン・イベント・フラグ・クラスタ削除 ($DLCEFC) システム・サービスによる削除の対象に指定する権限がプロセスに与えられます。実際の削除処理は,クラスタからすべてのプロセスの関連付けが解除されたときに実行されます。

制御 (C)

コモン・イベント・フラグ・クラスタの保護要素を変更する権限がユーザに与えられます。

5.2.3    テンプレート・プロファイル

コモン・イベント・フラグ・クラスタは,1 つのテンプレート・ファイルを提供します。このテンプレートは [0,0] という所有者 UIC を割り当てますが,この値は一時的なものです。オブジェクトが作成されると,作成したプロセスの UIC の対応するフィールド内の値が 0 の代わりに設定されます。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[0,0]

S:AD,O:AD,G:A,W

コモン・イベント・フラグ・クラスタを作成するプロセスが $ASCEFC の prot 引数に 1 を指定すると,プロセスの UIC が所有者になるようにテンプレートが変更され,保護コードによってグループ・アクセスが拒否されます。

5.2.4    必要な特権

パーマネント・コモン・イベント・フラグ・クラスタの作成には,PRMCEB 特権が必要です。この特権は,パーマネント・クラスタに対する削除アクセスも許可します。

5.2.5    実行される監査の種類

OpenVMS オペレーティング・システムでは,次のタイプのイベントを監査できます。

監査対象イベント 監査実行のタイミング

作成 (C)

特定のクラスタに最初に関連付けられるプロセスが $ASCEFC を呼び出したとき。

アクセス (A)

$ASCEFC を 2 番目以降に呼び出すプロセスがクラスタに関連付けられたとき。

アクセス解除 (D)

プロセスが $DACEFC を呼び出すか,別のクラスタに関連付けられるか,またはイメージがランダウンされたとき。

削除 (D)

プロセスが $DLCEFC を呼び出したとき。

5.2.6    オブジェクトの永続性

コモン・イベント・フラグ・クラスタとそのセキュリティ・プロファイルは,システムが起動されるたびに再設定する必要があります。

5.3    デバイス

デバイスは,プロセッサに物理的に接続されるか論理的に認識される周辺機器で,データを受信,保存,または伝送する機能を持つものです。デバイスには,ディスクやターミナルのように物理的なものと,メールボックスや擬似ターミナルのように仮想的なものがあります。仮想デバイスは,完全にソフトウェアで実装されています。 仮想ターミナルは,ローカル・デバイスと見なされ,ネットワーク上またはローカル・システム上に作成されます。

5.3.1    命名規則

デバイスを参照するときは,物理名,論理名,または汎用名を使用できます。また,クラスタ環境内のシステムでは,デバイスによってはクラスタのすべてのメンバからアクセスできます。名前の形式は次のとおりです。

デバイス名の詳細については,『OpenVMS システム管理者マニュアル』と『OpenVMS ユーザーズ・マニュアル』を参照してください。

5.3.2    アクセスのタイプ

デバイスは共用と非共用のデバイスがあり,共用デバイスは同時に複数のユーザが使用でき,非共用デバイスは 1 人のユーザが使用します。

共用デバイスは,次のアクセス・タイプをサポートします。

読み込み (R)

デバイスからデータを読み込む権限がユーザに与えられます。

書き込み (W)

デバイスにデータを書き込む権限がユーザに与えられます。

物理 (P)

デバイスに対して物理入出力操作を実行する権限がユーザに与えられます。

論理 (L)

デバイスに対して論理入出力操作を実行する権限がユーザに与えられます。

制御 (C)

デバイスの保護要素と所有者を変更する権限がユーザに与えられます。

非共用デバイスは,読み込みアクセス,書き込みアクセス,および制御アクセスのみをサポートします。その他のタイプの操作に必要なアクセス権は,オペレーティング・システムのセキュリティ・ポリシーではなく,デバイス・ドライバによって決まります。

5.3.3    入出力操作に必要なアクセス権

デバイスに対する入出力操作に必要なアクセス権はかなり複雑になることがあります。一般的な操作に必要なアクセス権について,以下に説明します。

5.3.4    テンプレート・プロファイル

デバイス・クラスは,以下のテンプレート・プロファイルを提供します。

テンプレート名 デバイス・タイプ 所有者 UIC 保護コード

BUS

DC$_BUS

[SYSTEM]

S:RWPL,O:RWPL,G,W

CARDREADER

DC$_CARD

[SYSTEM]

S:RWPL,O:RWPL,G,W

COMMUNICATION

DC$_SCOM

[SYSTEM]

S:RWPL,O:RWPL,G,W

DEFAULT

 

[SYSTEM]

S:RWPL,O:RWPL,G:RWPL,W:RWPL

DISK

DC$_DISK

[SYSTEM]

S:RWPL,O:RWPL,G:R,W

MAILBOX

DC$_MAILBOX

[SYSTEM]

S:RWPL,O:RWPL,G:RWPL,W:RWPL

PRINTER

DC$_LP

[SYSTEM]

S:RWPL,O:RWPL,G,W

REALTIME

DC$_REALTIME

[SYSTEM]

S:RWPL,O:RWPL,G:RWPL,W:RWPL

TAPE

DC$_TAPE

[SYSTEM]

S:RWPL,O:RWPL,G:R,W

TERMINAL

DC$_TERM

[SYSTEM]

S:RWPL,O:RWPL,G,W

WORKSTATION

DC$_WORKSTATION

[SYSTEM]

S:RWPL,O:RWPL,G:RWPL,W:RWPL

5.3.5    新しいデバイスに対するプロファイルの設定

通常,デバイスのセキュリティ・プロファイルはそのデバイスのタイプに対応するテンプレート・プロファイルから生成されます。ただし,多くの場合テンプレートは変更されます。各種のデバイスにオペレーティング・システムによってプロファイルがどのように割り当てられるかについて,次に説明します。

5.3.6    必要な特権

スプールされたデバイスに対するすべての論理・物理入出力には,特権が必要です。

LOG_IO 特権を有するユーザ・プロセスは,入出力要求キュー登録 ($QIO) システム・サービスを実行して,論理レベルの入出力操作を実行できます。LOG_IO 特権は,パーマネント・ターミナル要素の設定など,特定のデバイス制御機能にも必要です。

PHY_IO 特権を有するユーザ・プロセスは,入出力要求キュー登録 ($QIO) システム・サービスを実行して,物理レベルの入出力操作を実行できます。PHY_IO 特権を取得すると,LOG_IO 特権も付与されます。

パーマネント・メールボックスを作成したり,メールボックスを削除の対象に指定したりするには,PRMMBX 特権が必要です。

5.3.7    実行される監査の種類

以下のイベントのタイプを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

非共用可能デバイスについては,プロセスが $ASSIGN を呼び出したとき。共用可能デバイスについては,プロセスが $QIO を呼び出したとき。

作成 (C)

プロセスがメールボックスのような仮想デバイスを作成したとき。

削除 (D)

プロセスがメールボックスのような仮想デバイスを削除したとき。

5.3.8    オブジェクトの永続性

クラスタ全体のディスクとテープのプロファイルはオブジェクト・データベース (VMS$OBJECTS.DAT) に保存されますが,他のオブジェクトのプロファイルはシステムが起動されるたびに再設定する必要があります。

5.4    ファイル

ファイルは,固定サイズ (512 バイト) のデータ・ブロックで構成される名前付き配列であり,属性のセットが関連付けられています。OpenVMS システムでは,ファイル・クラスにデータ・ファイルとディレクトリ・ファイルの 2 つが含まれます。Files-11 オン・ディスク構造レベル 2 または 5 (ODS-2 または ODS-5) のボリューム上に保存された個々のディスク・ファイルには,完全なセキュリティ保護が提供されます。テープ・ファイルは,ボリューム上の保護コードによって一括保護されますが,個別には保護されません。

ファイル・オブジェクトと他の保護オブジェクトには重要な違いが 1 つあります。ファイルは他のどのオブジェクト・クラスよりも柔軟性があるため,テンプレートからプロファイルを取得しません。5.4.5 項では,オペレーティング・システムがプロファイルを割り当てるときに適用する規則について説明します。

5.4.1    命名規則

ファイル名は,1 〜 255 文字の文字列で指定します。詳細については,『OpenVMS ユーザーズ・マニュアル』を参照してください。

5.4.2    アクセスのタイプ

ファイル・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

ディスク・ファイルの読み込み,印刷,コピーを行う権限がユーザに与えられます。ディレクトリ・ファイルについては,ファイルの読み込みと一覧表示,およびワイルドカード文字を含むファイル名を使ってファイル検索を行う権限がユーザに与えられます。読み込みアクセスには実行アクセスも含まれます。

書き込み (W)

ファイルへの書き込みとファイル内容の変更を行う権限がユーザに与えられます (ファイルを削除する権限は与えられません)。書き込みアクセス権により,ファイル内容を記述するファイル要素を変更することが許可されます。また,書き込みアクセス権により,既存ファイルの主要名を新しく作成することが許可されます。ディレクトリ・ファイルについては,書き込みアクセス権によって,ファイルのカタログ内にあるエントリを作成または削除する権限がユーザに与えられます。

実行 (E)

実行可能なプログラム・イメージが格納されたファイルまたは DCL コマンド・プロシージャを実行する権限がユーザに与えられます。ディレクトリ・ファイルについては,実行アクセス権によって,名前を指定してファイルを検索する権限がユーザに与えられます。

削除 (D)

ファイルを削除する権限がユーザに与えられます。ファイルを削除するには,対象ファイルに対する削除アクセス権とそのファイルが置かれているディレクトリに対する書き込みアクセス権が必要です。ファイルの主要名を削除または変更する場合も,削除アクセス権が必要です。

制御 (C)

保護コードと ACL を変更する権限がユーザに与えられます。所有者を変更するには,次のいずれかの条件を満たす必要があります。

  • 古い所有者識別子と新しい所有者識別子の両方を保持していること。

  • オブジェクトを所有する識別子に Resource 属性が割り当てられており,オブジェクトの ACL によってオブジェクトに対する制御アクセスも許可されていること。

  • システム・ユーザとして登録され,SYSPRV 特権または BYPASS 特権を持っているか,該当するファイルまたはディレクトリが格納されているボリュームの所有者と同じ UIC を持っていること。

  • GRPPRV 特権を持っており,オブジェクトの所有者と同じグループの UIC も持っていること。

5.4.3    必要なアクセス権

ファイル・アクセスには,次の条件が適用されます。

5.4.4    作成時の要件

ファイルを作成するときは,ユーザが次の条件を満たしているかどうかがチェックされます。

5.4.5    プロファイルの割り当て

新しいファイルの所有者,保護コード,および ACL のソースはさまざまです。新しいファイルの所有権の割り当ては,保護および ACL とは独立に行われます。

5.4.5.1    所有権の割り当て規則

次のいずれかの条件に該当する場合,ユーザはファイルの所有者として識別子を割り当てることができます。

ファイルは,ユーザが割り当てることを許可された以下のソースのうち,最初に適用可能なソースから所有者識別子を受け取ります。

資源識別子によってファイルやディレクトリがどのように所有されるかについては,8.8.1.2 項を参照してください。

5.4.5.2    保護コードと ACL の割り当て規則

新しいファイルの保護コードと ACL のソースは,所有権の場合とほぼ同じであり,適用順序も同じです。ファイルの保護コードと ACL は,次のいずれかのソースから割り当てられます。

  1. 作成時の明示的な要素の割り当て

    ファイルは,CREATE コマンドまたは COPY コマンドを使用して作成します。ディレクトリの場合は,CREATE/DIRECTORY コマンドを使用します。

    ファイルの作成時に保護コードを割り当てるには,COPY コマンドまたは CREATE コマンドに /PROTECTION 修飾子を追加します。ファイルを作成したら,SECURITY/ACL コマンドを使用して ACL を追加することができます。

    たとえば,次のコマンドはデバイス USE1 からデフォルトのディスク・ディレクトリにファイルをコピーします。新しく作成される PAYSORT.DAT ファイルの保護が保護コードによって定義され,システム UIC を持つユーザがこのファイルの読み込みと書き込みを実行できるようになります。所有者はすべてのタイプのアクセス権を持ち,所有者と同じグループの他のユーザはファイルの読み込みと書き込みを実行できます。それ以外のすべてのユーザは,この保護コードではアクセス権を付与されません。

    
    $ COPY USE1:[PAYDATA]PAYROLL.DAT  PAYSORT.DAT -
    
    _$ /PROTECTION=(SYSTEM:RW,OWNER:RWED,GROUP:RW,WORLD)
     
    

  2. このファイルの古いバージョンのプロファイル (存在する場合)

    ユーザがファイルの新しいバージョンを作成すると,(当然ながら,明示的に割り当てた場合を除いて) 古いバージョンの保護コードと ACL が新しいバージョンに設定されます。

  3. 親ディレクトリのデフォルトの保護用 ACE とデフォルト ACL

    明示的な割り当てとファイルの古いバージョンのいずれもなければ,オペレーティング・システムがファイルの作成先のディレクトリを調べます。

    データ・ファイルの場合は,システムがデフォルトの保護用 ACE を探し,その ACE で指定されている保護コードを割り当てます。具体例については,4.5.6 項を参照してください。ディレクトリの ACL 内に Default 属性を持つ ACE がある場合は,その ACE もファイルに継承されます。具体例については,4.4.7 項を参照してください。

    ディレクトリ・ファイルの場合は,システムが親ディレクトリの保護コードから削除アクセス権を除いたものを割り当てます。ディレクトリが最上位ディレクトリだった場合は,マスタ・ファイル・ディレクトリ (MFD) の保護が適用されます。新しく作成されるサブディレクトリは,親ディレクトリの ACL と Default 属性を持つ ACE を継承します。Nopropagate 属性を持つ ACE のみが除外されます。

  4. コマンドを発行したプロセスの UIC および保護のデフォルト値

    ディレクトリの ACL にデフォルトの保護用 ACE がない場合は,プロセスのデフォルトの保護が適用されます。この値は,RMS_FILEPROT システム・パラメータによって設定され,ユーザのログイン時にプロセスに割り当てられます。ただし,ログイン時に割り当てられた値は,DCL の SET PROTECTION/DEFAULT コマンドによって変更できます。たとえば,このコマンドをログイン・コマンド・プロシージャに入れて,デフォルトの保護を設定することができます。 プロセスのデフォルトの保護を表示するには,DCL の SHOW PROTECTION コマンドを使用します。

  5. 上記のいずれか (ファイルを作成したユーザへの対応を含む)

    資源識別子によって所有されているディレクトリにファイルを作成し,自分が Resource 属性が割り当てられた識別子を持っている場合,新しいファイルは他のファイルと同じ方法で保護コードと ACL を継承します。

    オペレーティング・システムは,新しいファイルへのアクセス権を作成者に与えるために,ファイルの ACL を変更する場合があります。ディレクトリの ACL に作成者 ACE がある場合,作成者がファイルに対して持つアクセス権はその ACE によって決まります。作成者 ACE にアクセス権が指定されていない場合,追加の ACE は作成されません。このような ACE がない場合は,オペレーティング・システムによってファイルの ACL に ACE が追加され,制御アクセス権とファイルの保護コードの所有者フィールドに指定されているアクセス権が作成者に与えられます。

5.4.5.3    COPY コマンドと RENAME コマンドの使用

COPY コマンドの出力ファイルは,新規作成ファイルとして扱われるため,新しいセキュリティ・プロファイルが割り当てられます。入力ファイルのセキュリティ・プロファイルは関係しません。

これに対し,ファイルの名前を変更した場合,当該ファイルはデフォルトでは既存のセキュリティ・プロファイルを維持します。ファイルを新しく作成したときのように新しいセキュリティ・プロファイルを割り当てるには,DCL の RENAME/INHERIT_SECURITY コマンドを使用します。これにより,ファイルに新しいセキュリティ・プロファイルが割り当てられます。

セキュリティ・プロファイルの割り当て方法については,5.4.5.1 項5.4.5.2 項で説明します。

5.4.6    実行される監査の種類

以下のイベントのタイプを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

プロセスがファイルのオープン,読み込み,書き込み,実行,またはファイル属性の照会を行うとき。

作成 (C)

プロセスがファイルを作成するとき。

アクセス解除 (D)

プロセスがファイルをクローズするとき。

削除 (D)

プロセスがファイルを削除するとき。

5.4.7    ディスク領域再割り当て時の情報の保護

通常のファイル保護メカニズムでは,ファイルにアクセスするユーザを制御することはできますが,ファイルを削除した後に残る古いデータをどう保護するかという問題には対処できません。

ファイルを削除すると,ファイルのヘッダがディレクトリから消去されますが,ファイルの内容は他のデータによって上書きされるまでディスク上に残っています。このようにデータがディスク上に存在するため,削除またはパージされたファイルの情報をディスク・スキャベンジングから保護する必要があります。

OpenVMS オペレーティング・システムでは,ディスク・スキャベンジングの問題を次の 2 つの手法を組み合わせて解決します。

5.4.7.1    ディスク・ブロックの上書き

セキュリティ管理者やユーザは,ボリューム上の個々のファイルやボリューム全体に対して除去パターンを適用することができます。除去パターンは,ファイルを削除またはパージしたときにファイル全体に書き込まれる,反復するビット列です。

セキュリティ管理者は,ボリュームの初期化時に次のように /ERASE 修飾子を指定することにより,ボリューム上のすべてのブロックを除去パターンで初期化することができます。

INITIALIZE/ERASE デバイス名[:] ボリューム・ラベル

ボリュームがマウントされていれば,セキュリティ管理者は次のように /ERASE_ON_DELETE 修飾子を指定することにより,ファイルが削除されたときにそのファイルが占有していた領域に対して自動的に除去パターンを適用できます。

SET VOLUME/ERASE_ON_DELETE デバイス名[:]

この方法は既存のファイルに影響を与えないことに注意してください。

また,ファイルごとに除去パターンを指定する方法もあります。この場合は,DCL の SET FILE,DELETE,PURGE の各コマンドを入力するときに /ERASE 修飾子を使用するように,セキュリティ管理者がユーザに指示します。

セキュリティ管理者は,$ERAPAT システム・サービスを使って除去ルーチンを作成することもできます。除去ルーチンは,ディスク・ブロックを除去するときに使用する除去パターンとパスの回数をシステムに対して指定します。

5.4.7.2    ハイウォータ・マークの設定

OpenVMS オペレーティング・システムは,ファイルにディスク・ブロックを割り当てるときに自動的にハイウォータ・マークを設定します。ハイウォータ・マークは,ディスク上の割り当て領域内のどの位置までファイルが書き込まれたかを示します。ファイルの先頭からハイウォータ・マークまでのすべてのブロックは,ファイルへの割り当て後に書き込まれたことが保証されます。ユーザは,ハイウォータ・マークを超える読み込みが許可されないため,自分が実際に書き込んでいない古いデータを読み込むことができません。

より堅実でありながらもコストのかかる方法として,割り当ての前にすべてのディスク・ブロックを除去する方法があります。この割り当て時除去の方法は,ファイルが公開されていて,任意の方法での共用アクセスまたは非順次アクセスが許可される場合に使用します。割り当て時にブロックを除去すると,新しく割り当てられて除去された領域の最後にそのファイルのハイウォータ・マークが設定されます。

デフォルトでは,ボリュームの初期化時にハイウォータ・マーク処理が有効になります。セキュリティ管理者は,DCL の SET VOLUME/NOHIGHWATER_MARKING コマンドを使用して,特定のボリュームに関してハイウォータ・マーク処理を無効にできます。

5.4.7.3    ファイル内のデータのアクセス制御

ファイル・システムによってファイルにディスク・ブロックが割り当てられると,ユーザはそれらのディスク・ブロックをいつでも読み込んだり書き込んだりできます。ハイウォータ・マークはファイルの物理的な終わりを示し,ユーザはそれを越えて読み込むことができません。しかし,アプリケーションは論理的なファイル終端マークの位置を変更し,ファイルの論理的な終端から物理的な終端までの間の領域にデータを残すことができます。その場合,論理的なファイル終端マークに関係なく,ファイル・データの任意のブロックを読み込めます。

割り当てられたディスク・ブロックの管理は,アプリケーションにほとんど任されています。たとえば,OpenVMS RMS サービスは,論理的なファイル終端の位置を現在のレコードの先頭に再設定することによって順次ファイルを短縮します。しかし,ファイル終端の位置からファイルの物理的な終端までの領域の割り当ては解放されず,ファイル終端の位置からファイルの物理的な終端までのレコードが除去パターンによって上書きされることもありません。

そのため,ファイルに書き込まれたブロックはファイル終端マークに関係な読み込むことができます。ファイルの論理的な終端と物理的な終端の間にあるデータを除去するには,削除したいデータをアプリケーション・プログラムが上書きする必要があります。OpenVMS システムでは,通常,DCL の COPY コマンドを使ってファイルの新しいバージョンを作成することにより,これを実現します。

5.4.8    ファイル・セキュリティの最適化に関する推奨事項

ファイルとディレクトリを保護するため,次の予防措置を講じてください。

注意

他のユーザから受け取ったコマンド・プロシージャやプログラムは,内容を確認するまで実行しないようにします。コマンド・プロシージャやプログラムが特別な特権や機密ファイルに対するアクセス権を行使するものかどうかを確認します。そのソフトウェアを特権のないアカウントでテストします。別の目的を装って提供され,実際にはユーザの防御を突破してシステム・セキュリティを損ねることを目的とするプログラムやコマンド・プロシージャには,トロイの木馬プログラムと呼ばれるものがあります。

5.5    グローバル・セクション

OpenVMS のメモリ管理サービスでは,グローバル・セクションと呼ばれる共用のメモリ・ページを使ったプロセス間通信が可能です。グローバル・セクションを利用することで,複数のプロセスが同じページをそれぞれのプロセスの仮想アドレス空間にマップして,コードやデータのページを共用することができます。

グローバル・セクションは,ディスク・ファイルへのアクセスを提供したり (ファイルによるバックアップのあるグローバル・セクションと呼ばれる),動的に作成されたストレージへのアクセスを提供したり (ページ・ファイルによるバックアップのあるグローバル・セクションと呼ばれる),特定の物理メモリへのアクセスを提供したり (ページ・フレーム番号 (PFN) グローバル・セクションと呼ばれる) できます。グローバル・セクション・オブジェクトは,一時的なオブジェクトにも永続的なオブジェクトにもなります。

OpenVMS オペレーティング・システムでは,次の 2 種類のグローバル・セクション・オブジェクトがサポートされます。

5.5.1    命名規則

オブジェクトの名前は,1 〜 44 文字の文字列で指定します。グループ・グローバル・セクションの名前は,ユーザの UIC グループ番号で修飾します。

5.5.2    アクセスのタイプ

グローバル・セクション・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

読み込みアクセスのためにセクションをマップする権限がユーザに与えられます。

書き込み (W)

書き込みアクセスのためにセクションをマップする権限がユーザに与えられます。

実行 (E)

読み込みアクセスのためにセクションをマップする権限がユーザに与えられます。エグゼクティブ・モードまたはカーネル・モードで実行されているソフトウェアのみが,このアクセス権を要求できます。

制御 (C)

PFN グローバル・セクションとページ・ファイルによるバックアップのあるグローバル・セクションの 保護要素を変更する権限がユーザに与えられます。

5.5.3    テンプレート・プロファイル

ファイルによるバックアップのあるグローバル・セクションは,対応するディスク・ファイルと同じセキュリティ・プロファイルが適用されます。バックアップ・ファイルのプロファイルが変更されると,グローバル・セクションのプロファイルも自動的に変更されます。ファイルによるバックアップのあるグローバル・セクションの保護要素を変更するには,代りにバックアップ・ファイルを変更する必要があります。

グローバル・セクション・クラスは,次のテンプレート・プロファイルを提供します。このテンプレートは [0,0] という所有者 UIC を割り当てますが,この値は一時的なものです。オブジェクトが作成されると,作成したプロセスの UIC の対応するフィールド内の値が 0 の代わりに設定されます。

タイプ テンプレート名 所有者 UIC 保護コード

システム

DEFAULT

[0,0]

S:RWE,O:RWE,G:RWE,W:RWE

グループ

DEFAULT

[0,0]

S:RWE,O:RWE,G:RWE,W:RWE

これらのテンプレートは,$CRMPSC の prot 引数に指定された値に従って変更されます。ファイルによるバックアップのあるセクションでは,prot 引数は無視されます。

OpenVMS オペレーティング・システムの旧バージョンとの互換性を維持するため,DEFAULT テンプレートにはワールド・カテゴリ (すべてのユーザ) によるアクセスを許可する保護コードが設定されています。アプリケーションによっては,このテンプレートよりも厳しい設定のデフォルト値が必要になる場合があります。グローバル・セクションへのアクセスを制限する場合は,アクセス制限の強化により,原因を把握しにくいアプリケーション障害が発生する恐れがあることに注意してください。

5.5.4    必要な特権

システム・グローバル・セクションを作成または削除するには,SYSGBL 特権が必要です。ページ・フレーム・セクションを作成または削除するには,PFNMAP 特権が必要です。パーマネント・グローバル・セクションを作成または削除するには,PRMGBL 特権が必要です。

5.5.5    実行される監査の種類

以下のイベントのタイプを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

作成 (C)

セクション作成およびマップ・システム・サービス ($CRMPSC) によって,ページ・ファイルによるバックアップのあるグローバル・セクションまたは PFN グローバル・セクションが作成されたとき。

アクセス (A)

$CRMPSC またはグローバル・セクションのマップ・システム・サービス ($MGBLSC) によって,ページ・ファイルによるバックアップのある既存グローバル・セクションまたは既存の PFN グローバル・セクションがアクセスされたとき。ファイルによるバックアップのあるグローバル・セクションに対するアクセスは,ファイル・アクセスとして監査されます。

アクセス解除 (D)

プロセスの仮想アドレス空間が再設定または削除されて,イメージまたはプロセスがランダウンされたとき。

削除 (D)

PRMGBL 特権,PFNMAP 特権,または SYSGBL 特権 (システム・グローバル・セクションの場合) を持つプロセスがパーマネント・グローバル・セクションを削除すると,そのイベントは特権の使用として監査されます。

5.5.6    オブジェクトの永続性

グローバル・セクションとそのセキュリティ・プロファイルは,システムが起動するたびに再設定する必要があります。

5.6    論理名テーブル

論理名の割り当ては,論理名テーブルで管理されます。論理名テーブルには 1 つのプロセスのみがアクセスできます。ただし,親テーブルが共用可能な場合は共用できます。共用可能な名前テーブルはすべて,システム・ディレクトリ・テーブル (LNM$SYSTEM_DIRECTORY) にリストされています。オペレーティング・システムによって保護されるのは,共用可能な論理名テーブルです。

5.6.1    命名規則

論理名テーブルの名前は,1 〜 32 文字の文字列で指定します。

5.6.2    アクセスのタイプ

論理名テーブル・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

テーブル内の論理名を検索 (変換) する権限がユーザに 与えられます。

書き込み (W)

テーブル内の論理名を作成または削除する権限がユーザに 与えられます。

作成 (C)

子孫の論理名テーブルを作成する権限がユーザに与えられます。 これには,子孫の論理名テーブルを作成するときに親の論理名テーブルに割り当てられた動的メモリのサブセットを使用する権限も含まれます。

削除 (D)

テーブルを削除する権限がユーザに 与えられます。

制御 (C)

テーブルの保護要素と所有者を変更する 権限がユーザに与えられます。

5.6.3    テンプレート・プロファイル

論理名テーブル・クラスは,次のテンプレート・プロファイルを提供します。このテンプレートは [0,0] という所有者 UIC を割り当てますが,この値は一時的なものです。オブジェクトが作成されると,作成したプロセスの UIC の対応するフィールド内の値が 0 の代わりに設定されます。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[0,0]

S:RW,O:RW,G:R,W:R

GROUP

[0,*]

S:RWCD,O:R,G:R,W

JOB

[0,0]

S:RWCD,O:RWCD,G,W

5.6.4    必要な特権

論理名テーブルへの読み込み・書き込みアクセスは,グループ論理名テーブルの場合は GRPNAM 特権によって,システム論理名テーブルの場合は SYSNAM 特権によってそれぞれ許可されます。

システム・ディレクトリから共用テーブルを削除するには,SYSNAM 特権が必要です。グループ・ディレクトリから論理名テーブルを削除するには,GRPNAM 特権が必要です。親論理名テーブルを削除すると,その子孫にあたる論理名テーブルはすべて削除されます。

内部モードの論理名や論理名テーブルを作成または削除するには,SYSNAM 特権 (または内部モードにすること) が必要です。

5.6.5    実行される監査の種類

以下のイベントを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

名前を変換するとき,名前または子孫のテーブルを作成するとき,あるいは名前や子孫のテーブルを削除するとき。

作成 (C)

テーブルを作成する権限を得るために親テーブルにアクセスしたとき,またはテーブルそのものを作成したとき。

5.6.6    オブジェクトの永続性

論理名テーブルとそのセキュリティ・プロファイルは,システムがリブートされるたびに再設定する必要があります。

5.7    キュー

キューは,処理を待つジョブの集合です。一般に,キューには汎用キューと実行キューの 2 種類があります。汎用キューでは処理が実行されません。実行キューには,実行キューが使用可能になったときに実行キュー上で実行されるジョブが保持されます。実行キューには,バッチ・キュー,プリンタ・キュー,サーバ・キュー,およびターミナル・キューがあります。

5.7.1    命名規則

キュー名は,1 〜 31 文字の文字列で指定します。この文字列には,任意の英数字,ドル記号 ($),およびアンダスコア (_) を含めることができます。

5.7.2    アクセスのタイプ

キュー・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

キューまたはキュー内のジョブのセキュリティ要素を参照する権限がユーザに与えられます。

登録 (S)

キュー内にジョブを置く権限がユーザに与えられます。

削除 (D)

キュー内のジョブを削除したり,ジョブの要素を変更したりする権限がユーザに与えられます。

管理 (M)

キュー内の任意のジョブに影響を与える権限がユーザに与えられます。キューの起動,停止,削除,およびキューの状態やセキュリティに関係しない要素の変更が可能です。

制御 (C)

キューの保護要素と所有者を変更する権限がユーザに与えられます。

注意

プロセスは,保護コードによって読み込みおよび書き込みアクセス権を与えられると,そのプロセスが操作できるのはキューに登録されたそのプロセスのジョブのみです。一方,ACL によって読み込みおよび書き込みのアクセス権が与えられた場合,プロセスはキューに登録されているすべてのジョブを操作できます。

5.7.3    テンプレート・プロファイル

キュー・クラスは,次のテンプレート・プロファイルを提供します。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[SYSTEM]

S:M,O:D,G:R,W:S

5.7.4    必要な特権

キュー・マネージャを停止または開始するには,SYSNAM 特権と OPER 特権が必要です。OPER 特権は,キューの作成,キューの削除,およびシンビオントの定義の変更に必要です。

5.7.5    実行される監査の種類

以下のイベントを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

ジョブがキューに登録されたとき,およびジョブとキューのいずれかが変更されたとき。

作成 (C)

キューが初期化されたとき。

削除 (D)

プロセスがキューからジョブを削除したとき,またはキュー自体が削除されたとき。キュー削除の監査を有効にするには,キューに対する管理 (M) アクセスの監査を有効にします。

ファイルとキューの両方のアクセス監査を有効にすると,1 回のキュー操作で複数の監査メッセージが生成される場合があります。これは,1 回の操作中にオペレーティング・システムがアクセス・チェックを複数回実行するためです。たとえば,システムはプリント・キューでジョブを実行する前に,ファイルに対するユーザの読み込みアクセス権の有無を確認し,そのファイルを印刷する前に読み込みアクセス権の有無を再度確認します。

5.7.6    オブジェクトの永続性

キューはパーマネント・オブジェクトです。キューは,セキュリティ・プロファイルとともにシステム・キュー・データベースに保存されます。

5.8    資源ドメイン

共用資源にアクセスするプロセスは,ロック・マネージャのサービスを使ってアクセス権を調整できます。プロセスはこれらのサービスを使用して,資源 (ファイルやデータ構造など) と名前の関連付け,その資源に対するアクセス権のアービトレーション,およびロック値ブロックによる限定的な情報の交換を行います。ロックをかけることができる資源を登録するネームスペースを,資源ドメインと呼びます。

プロセスがロックの獲得と解除,および資源ドメイン内の資源に対応する値ブロックの読み書きを行うには,資源ドメインのメンバになる必要があります。プロセスは,システム・ドメインとグループ・ドメインに暗黙で参加していますが,他のドメインには $SET_RESOURCE_DOMAIN システム・サービスの呼び出しによって明示的に参加します。ドメイン内のすべてのロックおよび値ブロックへのアクセスは,ドメイン自体へのアクセス権によって制御されます。

5.8.1    命名規則

$SET_RESOURCE_DOMAIN に指定する資源ドメインは,ロングワードのバイナリ値として表現されます。しかし,資源ドメイン・オブジェクトの名前は大括弧 [] または角括弧 <> で囲んだ (8 進数として解釈される) 資源番号を含む文字列です。また,資源ドメイン・オブジェクトの名前を大括弧または角括弧で囲んだ識別子として表現することもできます。この識別子は UIC 値に変換され,UIC のグループ・フィールドが資源ドメイン番号として使用されます。

5.8.2    アクセスのタイプ

資源ドメイン・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

ドメイン内のロック値ブロックを読み込む権限 ($GETLKI システム・サービスを使用してロック値ブロックを取得する権限を含む) がユーザに与えられます。

書き込み (W)

ドメイン内のロック値ブロックに書き込む権限がユーザに与えられます。

ロック (L)

$ENQ によるロックの適用,$DEQ によるロックの解除,および $GETLKI によるロック・データベースに関する情報の取得を行う権限がユーザに与えられます。

制御 (C)

資源ドメインの保護要素を変更する権限がユーザに与えられます。

5.8.3    テンプレート・プロファイル

資源ドメイン・クラスは,次のテンプレート・プロファイルを提供します。このテンプレートは [n,*] (n は資源ドメインの番号) という所有者 UIC を割り当てます。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[n,*]

S:RWL,O:RWL,G:RWL,W

5.8.4    必要な特権

SYSLCK 特権は,システム資源ドメイン (ドメイン 0) に対するロック・アクセスを許可します。

5.8.5    実行される監査の種類

以下のイベントを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

プロセスが $SET_RESOURCE_DOMAIN または $ENQ を呼び出してドメインに参加したとき。

作成 (C)

プロセスが初めて資源ドメインに参加したとき。

アクセス解除 (D)

プロセスが $SET_RESOURCE_DOMAIN を呼び出したとき,またはイメージかプロセスがランダウンされたとき。

5.8.6    オブジェクトの永続性

資源ドメインとそのセキュリティ・プロセスは,どちらも SYS$SYSTEM:VMS$OBJECTS.DAT に保存されます。

5.9    セキュリティ・クラス

セキュリティ・クラスは,保護オブジェクトのすべてのクラスの親であり,各種オブジェクト・クラスに関連付けられているテンプレート・プロファイルを保護します。セキュリティ・クラスの各オブジェクトは,次の情報を持っています。

第 8 章では,セキュリティ・クラスのオブジェクトの管理方法について説明します。

5.9.1    命名規則

セキュリティ・クラスには,次のメンバが存在します。

CAPABILITY

COMMON_EVENT_CLUSTER

DEVICE

FILE

GROUP_GLOBAL_SECTION

LOGICAL_NAME_TABLE

QUEUE

RESOURCE_DOMAIN

SECURITY_CLASS

SYSTEM_GLOBAL_SECTION

VOLUME

 

5.9.2    アクセスのタイプ

セキュリティ・クラス・オブジェクトは,次のアクセス・タイプをサポートします。

読み込み (R)

テンプレート・プロファイルを読み込む権限がユーザに与えられます。テンプレート・プロファイルには,新しいオブジェクトに割り当てられるセキュリティ要素が入っています。

書き込み (W)

テンプレート・プロファイルの値を変更する権限がユーザに与えられます。

制御 (C)

セキュリティ・クラス・オブジェクトのセキュリティ・プロファイルを変更する権限がユーザに与えられます。制御アクセスには,読み込みアクセスと書き込みアクセスも含まれます。

5.9.3    テンプレート・プロファイル

セキュリティ・クラス・オブジェクトは,次のテンプレート・プロファイルを提供します。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[SYSTEM]

S:RW,O:RW,G:R,W:R

5.9.4    実行される監査の種類

以下のイベントを監査できます。ただし,セキュリティ管理者が該当するイベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

プロセスが DCL の SET SECURITY または SHOW SECURITY コマンドに /CLASS=SECURITY_CLASS 修飾子を付けて実行したとき,またはプロセスが $SET_SECURITY または $GET_SECURITY システム・サービスに SECURITY_CLASS という名前を指定して呼び出したとき。

5.9.5    オブジェクトの永続性

セキュリティ・クラス・オブジェクトおよびそのすべてのメンバのセキュリティ・プロファイルは,セキュリティ・オブジェクト・データベースに保存されます。

5.10    ボリューム

ボリューム・オブジェクトは,1 つまたは複数の ODS-2 または ODS-5 形式のディスク・ボリュームのことです。ボリュームがバインドされたボリューム・セットの構成要素である場合,オブジェクトは複数のボリュームで構成されます。ボリューム上のディレクトリやファイルに対するアクセス権を持っていても,ボリューム自体に対するアクセス権を持っていなければそれらのディレクトリやファイルにはアクセスできません。

テープおよびフォーリン・ボリュームへのアクセスについては,『OpenVMS システム管理者マニュアル』および『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』のマウント・ユーティリティに関する記述を参照してください。

5.10.1    命名規則

ボリューム名は,ボリューム・ラベル,ボリュームがマウントされたデバイスの名前,ユーザが指定した論理名のいずれかです。ボリューム・ラベル名の長さは,0 〜 12 文字です。

5.10.2    アクセスのタイプ

ボリューム・クラスは,次のアクセス・タイプをサポートします。

読み込み (R)

ボリューム上のファイルの名前参照,印刷,およびコピーを行う権限がユーザに与えられます。

書き込み (W)

ボリューム上の既存のファイルに対する変更または書き込みを行う権限がユーザに与えられます。サブジェクトが特定のファイルに対する操作を実行できるかどうかは,そのファイルの保護によって決まります。書き込みアクセス権が意味を持つには,読み込みアクセス権も必要です。

作成 (C)

ディスク・ボリューム上にファイルを作成する権限と作成したファイルを変更する権限がユーザに与えられます。作成アクセス権には,読み込みアクセス権と書き込みアクセス権も必要です。

削除 (D)

ユーザがディレクトリとファイルに対する適切なアクセス権を持っていることを前提として,ディスク・ボリューム上のファイルを削除する権限がユーザに与えられます。削除アクセス権には,読み込みアクセス権が必要です。

制御 (C)

ボリュームの保護と所有権の要素を変更する権限がユーザに与えられます。

5.10.3    テンプレート・プロファイル

このクラスは,次のテンプレート・プロファイルを提供し,初期化時に値を割り当てます。このテンプレートは [0,0] という所有者 UIC を割り当てますが,この値は一時的なものです。オブジェクトが作成されると,作成したプロセスの UIC の対応するフィールド内の値が 0 の代わりに設定されます。

テンプレート名 所有者 UIC 保護コード

DEFAULT

[0,0]

S:RWCD,O:RWCD,G:RWCD,W:RWCD

5.10.4    必要な特権

VOLPRO 特権を持つユーザには,ボリュームに対する制御アクセスが常に許可されます。ファイル構造ボリュームをフォーリン・ボリュームとしてマウントするには,VOLPRO 特権または制御アクセス権が必要です。

5.10.5    実行される監査の種類

すべてのボリューム・アクセスを監査できます。ただし,セキュリティ管理者が Access イベント・クラスの監査機能を有効にする必要があります。

監査対象イベント 監査実行のタイミング

アクセス (A)

ファイル・システム操作の実行時。

5.10.6    オブジェクトの永続性

ボリューム・オブジェクトのセキュリティ・プロファイルは,ディスクのマスタ・ファイル・ディレクトリ (MFD) に [000000]SECURITY.SYS として保存されます。