OpenVMS
ユーザーズ・マニュアル


前へ 次へ 目次 索引



第 19 章
セキュリティ: 資源へのアクセスの制御

本章では,OpenVMS がシステム・リソースを保護し,監査する方法について説明します。特に次のことについて説明します。

セキュリティについての補足説明は,以下の資料を参照してください。

セキュリティ機能

たとえば,次の操作を通じてこれらの機能を理解することができます。

19.1 プロセスのライト識別子の表示

保護されたオブジェクトにアクセスしようとするプロセスはすべて,ライト識別子と呼ぶ保護機能を実行します。保護されたオブジェクトはすべて,特定の方法でそのオブジェクトに誰がアクセスできるかを指定できるアクセス条件を指定しています。アクセスするプロセスのライト識別子がオブジェクトのライト識別子と一致しない場合には,アクセスは拒否されます。

次の例では,SHOW PROCESS コマンドを使用して,現在のプロセスの識別子を表示する方法を示しています。


$ SHOW PROCESS/ALL 
25-JUN-1998 15:23:18.08   User: GREG            Process ID:   34200094 
                          Node: ACCOUNTS        Process name: "_TWA2:" 
 
Terminal:           TWA2: 
User Identifier:    [DOC,GREG]   (1)
Base priority:      4 
Default file spec:  WORK1:[GREG.FISCAL_96] 
 
Devices allocated:  ACCOUNTS$TWA2: 
 
Process Quotas: 
   .
   .
   .
Process rights: 
 INTERACTIVE   (2)
 LOCAL         (3)
 SALES         (4)
 MINDCRIME                         resource  (5)
 
System rights: 
 SYS$NODE_ACCOUNTS   (6)
 

ライト識別子には,UIC,環境,汎用の3種類があります。 SHOW PROCESSコマンドからの出力はこの3種類の識別子をすべて示しています。

  1. UIC識別子は,GregというユーザがDOCグループのメンバてあることを示している。

  2. 環境識別子は,Gregというユーザが会話型ユーザであることを示している。

  3. 環境識別子は,Gregというユーザがローカルからログインしたことを示している。

  4. 汎用識別子は,Gregというユーザがセールス・グループのメンバでもあることを示している。

  5. 汎用識別子は,Gregが資源属性を持つMINDCRIME識別子を保有しているため,識別子に対してディスク容量を要求できることを示している。

  6. 環境識別子は,GregというユーザがACCOUNTSノードから作業していることを示している。

19.2 オブジェクトのセキュリティ・プロファイル

オペレーティング・システムは多くのユーザを同時にサポートするため, 1人のユーザの操作が別のユーザによって妨害されないように保護するためのセキュリティ・メカニズムが組み込まれています。保護コード,アクセス制御,ハードウェア設計の組み合わせにより,多くのユーザがシステムを共用できるように,メモリ,共用可能装置,データの使用が保護されます。オブジェクトのセキュリティ・プロファイルは利用者識別コード(UIC),ACL,そのオブジェクトに割り当てられた保護コードで構成されます。自分で所有しているオブジェクトのセキュリティ・プロファイルは表示したり,変更することができます。

保護されたオブジェクトのセキュリティ・プロファイルを表示するには, DCLのSHOW SECURITYコマンドを使用します。たとえば,次のコマンドは 95_FORECAST.TXTファイルに関するセキュリティ情報を要求しています。


$ SHOW SECURITY 95_FORECAST.TXT
WORK_DISK$:[GREG]95_FORECAST.TXT;1 object of class FILE
      Owner: [ACCOUNTING,GREG]
      Protection: (System: RWED, Owner: RWED, Group: RE, World)
      Access Control List: <empty>

このコマンドからの表示を見ると,95_FORECAST.TXTファイルが Gregというユーザによって所有されていることがわかります。また,ファイルの保護コードも示されます。保護コードはシステム・ユーザと所有者に対して読み込み,書き込み,実行,削除アクセス権を与えています。また,グループ・ユーザに対して読み込みアクセス権と実行アクセス権を与え,ワールド・ユーザに対してはアクセス権を与えていません (詳細は 第 19.3 節 を参照してください)。このファイルに対してACLは設定されていません。

19.2.1 セキュリティ・プロファイルの変更

保護されたオブジェクトの所有者,保護コード,ACLに対して新しい値を指定でき,また,SET SECURITYコマンドを使用して1つのオブジェクトから別のオブジェクトにプロファイルをコピーすることもできます。

たとえば, 第 19.2 節 に示したSHOW SECURITYの表示結果では,
95_FORECAST.TXTファイルがGregというユーザによって所有されていることがわかります。このユーザは所有者として,ファイルの保護コードを変更できます。もともと,この保護コードでは,ワールド・ユーザに対してアクセス権が与えられていませんでした。ここでGregは保護コードを変更し,ワールド・ユーザに対して読み込みアクセス権と書き込みアクセス権を許可します。


$ SET SECURITY/PROTECTION=(W:RW) 95_FORECAST.TXT

SHOW SECURITYコマンドはファイルの新しい保護コードを確認します。


$ SHOW SECURITY 95_FORECAST.TXT
95_FORECAST.TXT object of class FILE
     Owner: [GREG]
     Protection: (System: RWED, Owner: RWED, Group: RE, World: RW)
     Access Control List: <empty>

19.3 保護コードの解釈

保護コードは,特定のユーザまたはユーザ・グループに対して許可(または禁止)されるアクセス・タイプを制御します。保護コードの形式は次のとおりです。


[カテゴリ: 許可されるアクセスのリスト(, カテゴリ: 
許可されるアクセスのリスト,...)]

カテゴリは,system (S),owner (O),group (G),world (W)のいずれかです。各カテゴリは最初の1文字に短縮できる。各カテゴリの定義は次のとおりです。

System UICが1〜10 (8進数)であるか,SYSPRV特権を持つか,または所有者と同じグループに属し,GRPPRVを保有するユーザ・プロセスまたはアプリケーション。
Owner オブジェクトのUICと等しいUICを持つユーザ・プロセスまたはアプリケーション。
Group オブジェクトのグループUICと等しいグループUICを持つユーザ・プロセスまたはアプリケーション。
World システムの任意のユーザ・プロセスまたはアプリケーション。

複数のユーザ・カテゴリを指定するときは,各カテゴリをコンマで区切り,コード全体を括弧で囲みます。ユーザ・カテゴリとアクセス・タイプはどの順序で指定してもかまいません。

アクセス指定としてヌルを指定した場合には,アクセスを許可しないことを示します。したがって,ユーザ・カテゴリに対してアクセス・タイプを省略すると,そのユーザ・カテゴリはそのタイプのアクセスを実行できません。ユーザ・カテゴリに対してすべてのアクセスを禁止するには,ユーザ・カテゴリだけを指定し,アクセス・タイプを省略します。ユーザ・カテゴリに対してアクセスを禁止するときは,ユーザ・カテゴリの後のコロンを省略します。

ファイルに対して,read (R),write (W),execute (E),delete (D)を指定する。アクセス・タイプは各カテゴリに割り当てられます。カテゴリとアクセス・タイプの間はコロン(:)で区切ります。ファイル・アクセス・タイプの意味は次のとおりです。

Read ディスク・ファイルの読み込み,印刷,コピーを許可する。ディレクトリ・ファイルに対して読み込みアクセス権がある場合には,ファイルを読み込むか,またはファイル・リストを表示でき,ワイルドカード文字を含むファイル名を使用してファイルを検索できる。読み込みアクセス権があるときは,実行アクセス権も与えられる。
Write ファイルに書き込むか,またはファイルの内容を変更することはできるが,ファイルを削除することはできない。書き込みアクセス権がある場合には,ファイルの内容を記述するファイル属性を変更できる。ディレクトリ・ファイルに対する書き込みアクセス権がある場合には,ファイル・カタログにエントリを作成したり,エントリを削除することができる。
Execute 実行可能プログラム・イメージまたはDCLコマンド・プロシージャを格納したファイルを実行することができる。ディレクトリ・ファイルに対して実行アクセス権が割り当てられている場合には,名前がわかっているファイルを検索できる。
Delete ファイルを削除することができる。ファイルを削除するには,ファイルへの削除アクセス権と,そのファイルが格納されているディレクトリへの書き込みアクセス権が必要である。

19.4 省略時のファイル保護

新しいファイルには省略時のUICベースの保護が与えられ,その親ディレクトリの省略時のアクセス制御リスト(ACL)が与えられます。 ACLは,ユーザまたはユーザ・グループがファイルやディレクトリ,装置などの特定の保護されたオブジェクトに対して実行できるアクセス権を定義したエントリの集合です。

新しいファイルに割り当てられる省略時のUICベースの保護を変更するには,次のいずれかの操作を実行します。

19.4.1 省略時のUIC保護

オペレーティング・システムは各プロセスに対して次のUICベースの保護を割り当てます。


(S:RWED, O:RWED, G:RE, W) 

省略時の設定では,システムUICを持つユーザとオブジェクトの所有者は,そのオブジェクトに対して完全なアクセスを実行でき,オブジェクト所有者と同じUICグループに属すユーザは,そのオブジェクトに対して読み込みアクセスと実行アクセスを実行でき,他のすべてのユーザはオブジェクトにアクセスできません。作成するファイルの省略時の保護を変更するには, SET PROTECTIONコマンドと/DEFAULT修飾子を使用します。たとえば,ログイン・コマンド・プロシージャに次のコマンドを登録しておけば,すべてのプロセスに対して作成するファイルへの読み込みアクセス権と実行アクセス権を割り当てることができます (このコマンドを実行するには,ログイン・コマンド・プロシージャを実行しなければなりません)。


$ SET PROTECTION = (S:RWED,O:RWED,G:RE,W:RE)/DEFAULT

19.4.2 省略時の ACL 保護

適切なディレクトリ・ファイルのACLに省略時の保護ACEを指定すれば,指定したディレクトリまたはサブディレクトリに対する省略時のUIC保護を変更できます。 ACEに指定する省略時の保護は,指定したディレクトリまたはディレクトリのサブディレクトリに作成される新しいファイルにすべて適用されます。後続のACE (ディレクトリ・ファイルのACL内に指定しなければならない)は,そのディレクトリおよびディレクトリのサブディレクトリの省略時の保護により,システムおよび所有者プロセスに対して完全なアクセス権を割り当て,グループ・プロセスに対して読み込みアクセス権と実行アクセス権を割り当て,ワールド・ユーザに対してアクセス権を割り当てないことを指定します。


$ SET SECURITY/ACL = (DEFAULT_PROTECTION,S:RWED,O:RWED,G:RE,W:) 
[JONES]PERSONAL.DIR

ディレクトリにこの後作成されるファイルのACLにコピーする省略時の識別子ACEを指定するには,ディレクトリ・ファイルの識別子ACLにDEFAULTオプションを指定します。

たとえば,次のACEはディレクトリ・ファイルに適用され,ネットワーク・ユーザが,ディレクトリに作成されたすべてのファイルにアクセスすることを禁止します。


$ SET SECURITY/ACL = (IDENTIFIER=NETWORK,OPTIONS=DEFAULT,ACCESS=NONE) - 
_$ [JONES]PERSONAL.DIR 

19.4.3 ファイル名の変更

ファイル名を変更しても,そのファイルの保護は変更されません。既存のファイルの新しいバージョンには,前のバージョンと同じACLおよびUICベースの保護が割り当てられます (省略時のUICベースの保護を変更するには,BACKUP,COPY,CREATE, SET FILEコマンドの/PROTECTION修飾子を使用します)。

19.4.4 明示的なファイル保護

/PROTECTION修飾子を使用すれば (この修飾子はBACKUP,COPY,CREATEコマンドで使用可能),新しいファイルに対してUICベースの保護を明示的に指定できます。

既存のファイルに対するUICベースの保護を変更するときは, SET SECURITY/PROTECTION コマンドを使用します。

ファイルを作成し,そのファイルのACLを作成した後,ACLを変更し,必要な数だけACLにエントリを追加できます。ACLによって指定される保護は,ファイルのユーザ識別コード保護より優先します。

次の例では,UIC ベースの保護を指定しています。


$ CREATE MAST12.TXT/PROTECTION=(S:RWED,O:RWED,G,W)

次の例では,ファイル MAST12.TXT で UIC ベースの保護を変更しています。


$ SET SECURITY/PROTECTION=(S:RWED,O:RWED,G:RE,W) MAST12.TXT

19.5 ネットワークを介してのファイルへのアクセス

これ以降の節では,ネットワークを介してのファイルへのアクセスについて説明します。

19.5.1 アクセス制御文字列

DECnet for OpenVMS ネットワークで使用できる DCL コマンドのファイル指定に,ネットワーク・アクセス制御文字列を取り込むことができます。アクセス制御文字列を使用すると,ローカル・ノードのユーザがリモート・ノード上のファイルにアクセスすることができます。

アクセス制御文字列では,次に示すように,リモート・アカウントのユーザ名とそのパスワードが二重引用符で囲まれています。


NODE"ユーザ名パスワード"::ディスク:[ディレクトリ]ファイル・タイプ 

注意

アクセス制御文字列に収められている情報を知ることができれば,誰でもリモート・アカウントに侵入できるため,重大なセキュリティの侵害が発生しかねません。

19.5.2 アクセス制御文字列の保護

アクセス制御文字列の情報を保護するには,次のようにします。


前へ 次へ 目次 索引