前へ | 次へ | 目次 | 索引 |
機密保護管理者は AUTHORIZE を使用し,個々のユーザに最低限のパスワード基準を課すことができます。これは具体的には, AUTHORIZE が提供する修飾子とログイン・フラグを使用して,パスワードの最低の長さやパスワードの有効期限,期限切れ時のパスワード変更の強制の有無を制御するものです。
AUTHORIZE の /PWDLIFETIME 修飾子を使用して,パスワードの最大有効期限を設定することができます。有効期限がくる前に,ユーザはパスワードを変更する必要があります。変更しない場合は,パスワード変更の強制を受けるか,またはアカウントに対するアクセス権を失います。
パスワードの有効期限が設定されると,ユーザは定期的にパスワードの変更を求められます。有効期限はユーザごとに変えることができます。一般的に,重要なファイルに対するアクセス権を持つユーザには,最も短いパスワード有効期限を割り当てるべきです。
ログイン時,省略時の設定ではユーザは,期限切れパスワードの変更を強制的に求められます。すなわち,システムは,パスワードの期限が切れているユーザがログインすると,新しいパスワードを入力するよう求めます。/PWDLIFETIME 修飾子を使用してパスワードの有効期限を変更しないかぎり,有効期限は省略時の設定で 90 日になります。
AUTHORIZE の /PWDMINIMUM 修飾子を使用して,パスワードの最少文字数を指定することができます。パスワードの最大の長さは,この最低の長さの変更に関係なく 31 文字です。
AUTHORIZE で /FLAGS=GENPWD 修飾子を指定することによって,パスワードを変更するときユーザが自動パスワード・ジェネレータを使用するよう強制することができます。この修飾子を使ってすべてのアカウントを作成することもできれば,もっと選択肢を広げることもできます。
12.2.5 パスワード保護に関するガイドライン
パスワードを保護するにあたっては,次のガイドラインに従ってください。
次に挙げる処置は厳密にはパスワードの保護には関係ありませんが,パスワードが発見される可能性を減らし,パスワードが盗まれたり,バイパスされたりしたときの損害の広がりを抑えるのに役立ちます。
パスワード履歴データベースは,各ユーザ・アカウントに対応する以前のパスワードの履歴を保持しています。省略時の設定では,システムはこの記録を1 年間保持します。システムのパスワード履歴の存在期間より古いパスワード履歴の記録は,有効なパスワード選択と見なされます。ユーザ・アカウントが削除されると,システムは,対応するパスワード履歴の記録を履歴データベースから削除します。
12.3 ブレークイン検出機構の使用法
この節では,ブレークインの検出および回避機構の設定方法と,ブレークイン・データベースの内容の表示方法について説明します。
ダイアルアップ回線を介してユーザが行うことが可能なログイン・リトライ回数を,制御することができます。接続が確立されてから入力の間違いがあった場合,ユーザは自動的に切り離されます。このオプションは,権限を持つユーザであっても不正なログインのリトライ回数を制限したい場合に有用です。
リトライ回数を制御したい場合は, LGI システム・パラメータの LGI_RETRY_TMO と LGI_RETRY_LIM を使用します。省略時の設定では,ユーザは 20 秒間隔で 3 回のリトライが許されます。
ダイアルアップ回線を介したリトライ回数の制御は,機密保護プログラムの機能の一部にしかすぎず,これだけではシステムへの不法な侵入 (ブレークイン) を防ぐには十分ではないことを覚えておいてください。しつこい侵入者がリダイアルのような方法を取れば,システム侵入の抑止にはなりません。また,この方法はダイアルアップ回線にしか適用できません。
OpenVMS オペレーティング・システムには,システムへの不法な侵入(ブレークイン) をあきらめさせる,その他の手段も用意されています。それらの方法は,上記の機能と同じく,LGI カテゴリのシステム・パラメータを使用します。
パラメータ | 説明 |
---|---|
LGI_BRK_LIM | ログイン失敗の回数 (しきい値) を定義する。ある時間内にログインに失敗した回数が LGI_BRK_LIM 値を超えると,システムはブレークインが行われていると見なす。 |
LGI_BRK_TERM | 失敗の回数を数えるとき,ターミナルとユーザ名の関連を制御する。 |
LGI_BRK_TMO | ログインの失敗を検出し,記録するまでの時間を制御する。 |
LGI_HID_TIM | 回避動作の時間を制御する。 |
LGI_BRK_DISUSER | ブレークイン検出の効果をもっと厳しくする。このパラメータが 1 に設定された場合, OpenVMS オペレーティング・システムは侵入が試みられたアカウントの UAF レコードに DISUSER フラグをセットする。このため,手動で変更することがないかぎり,侵入者と見なされたユーザは以降ログインできない。 |
これらのパラメータについては,『OpenVMS Guide to System Security』で詳しく説明しています。
機密保護サーバ・プロセスは,通常のオペレーティング・システムのスタートアップの一部として作成され,次の操作を実行します。
システムは,失敗したログインを追跡するために侵入データベースを使用します。プロセスのログインでこの情報を調査して,侵入の疑いのあるものがシステムにアクセスしないよう,限定的な措置をとるかどうかを決定します。
DCL の SHOW INTRUSION コマンドを使用すると,侵入データベースの内容を表示することができます。また,DCL の DELETE/INTRUSION_RECORD コマンドを使用して,侵入データベースのエントリを削除することができます。
ネットワーク代理データベース・ファイル (NET$PROXY.DAT) は,ネットワークの接続処理中に使用され,特定の遠隔ユーザがパスワードを使わずにローカル・アカウントにアクセスしてよいかどうかを判断します。
次の例は,SHOW INTRUSION コマンドで,拡張された満了時刻フィールドが新しく出力されることを示しています。
$ SHOW INTRUSION Intrusion Type Count Expiration Source NETWORK SUSPECT 1 21-MAY-2000 12:41:01.07 DEC:.ZKO.TIDY::SYSTEM |
OpenVMS オペレーティング・システムには,重要な 2 つの保護機構が用意されています。 1 つは,UIC (利用者識別コード) に基づいてすべての保護オブジェクトに適用される, UIC に基づく保護機構です。
もう 1 つは ACL (アクセス制御リスト) を使用した保護機構です。これは UIC に基づく保護よりもっと洗練されたレベルの保護を提供します。 ACL を使って,個別ユーザあるいはユーザ・グループ単位でアクセスを制御することができます。
12.4.1 利用者識別コード
利用者識別コードは,そのコードのユーザが属するシステム・グループと,そのグループ内でユーザを一意的に識別するコードです。
AUTHORIZE ユーティリティは,システムの各ユーザ・プロセスに一意の UIC を割り当て,それを利用者登録ファイル (UAF) に記録します。こうした UIC はまた,システムのあらゆるオブジェクトにも割り当てられます (通常はオブジェクトの作成者の UIC)。
UIC は,次の形式でグループとメンバーの 2 つの部分から構成されます。
[group,member] |
UIC は数字だけ,または英数字の両方で構成します。数値型の UIC のグループ番号は 8 進で 0 から 37776,メンバー番号は 8 進で 0 から 177776 の範囲です。グループ 1 およびグループ 300 から 377 までは,コンパックが予約しています。
12.4.2 保護コード
保護コードは,特定のユーザまたはグループについて許可を与えるかどうかのアクセスのタイプを制御します。形式は次のとおりです。
[ ユーザ・カテゴリ: 許可アクセス・リスト (, カテゴリ: 許可アクセス・リスト ,...)] |
ユーザ・カテゴリは,システム (S),所有者 (O),グループ (G),ワールド (W) のいずれかです。各カテゴリは短縮して,対応する英字の先頭 1 文字で表すことができます。それぞれのカテゴリの定義を次に示します。
複数のユーザ・カテゴリを指定する場合は,各カテゴリをコンマで区切り,コード全体を括弧で囲みます。ユーザ・カテゴリとアクセス・タイプは,任意の順序で指定できます。
アクセス・タイプにヌルを指定した場合はアクセス権なしを意味します。そのため,ユーザ・カテゴリにアクセス・タイプを指定しなかった場合,そのカテゴリのユーザには,そのタイプのアクセス権が付与されません。特定のユーザ・グループについてアクセス権をまったく付与しない場合は,アクセス・タイプを何も指定せずにユーザ・カテゴリだけ指定します。またこの場合,ユーザ・カテゴリの後のコロンを省略します。
保護コードにユーザ・カテゴリを指定しなかった場合は,そのカテゴリに現在付与されているアクセス権がそのまま適用されます。
アクセスのタイプはオブジェクトによって決まります ( 『OpenVMS Guide to System Security』を参照)。ファイルに対するアクセス権には,読み込み (R),書き込み (W),実行 (E),削除 (D) があります。各ユーザ・カテゴリと割り当てられたユーザ・カテゴリはコロン (:) で区切ります。
次の保護コードでは,システム・ユーザにオブジェクトに対するすべてのアクセス権,所有者に削除以外のすべてのアクセス権を付与していますが,グループとワールド・ユーザにはアクセス権を付与していません。
$ SET SECURITY/PROTECTION=(S:RWED,O:RWE,G,W) [JONES]MY_FILE.TXT |
OpenVMS オペレーティング・システムは,各プロセスに省略時の UIC に基づく保護コードとして (S:RWED,O:RWED,G:RE,W) を割り当てます。この省略時の保護コードを変更したい場合は, SET PROTECTION/DEFAULT コマンドを使用します。次に例を参照してください。
$ SET PROTECTION=(S:RWED,O:RWED,G:RE,W:RE)/DEFAULT |
OpenVMS は SYS$MANAGER:ICC$SYSTARTUP.COM を提供します。このコマンド・プロシージャによって,ICC 機密保護オブジェクトと他のレジストリ・テーブルを追加して,ICC 特性をカスタマイズできます。
ICC$CREATE_SECURITY_OBJECT プロシージャは,パーマネント ICC 機密保護オブジェクトを作成し,オプションでそのオブジェクトに最初の SET SECURITY コマンドを発行します。node::association を指定すると,ある関連が存在する前にその関連に対する機密保護オブジェクトが作成されます。例えば,MYNODE::BOB_SERVER を指定します。特殊ノード名 ICC$ を使用すると, ICC クラスタ単位レジストリにある 1 つのエントリに対して機密保護オブジェクトが 1 つ作成されます。
ICC で関連を作成する前に,node::association ペアには OPEN 機密保護属性が必要になります。 ICC$CREATE_SECURITY_OBJECT で作成される機密保護オブジェクトは,システムが再ブートするまで削除されません。
関連を結びつける機能は,機密保護オブジェクトの ACCESS 機密保護属性によって制御されます。
ICC を使用するすべてのプロセスは,関連をオープンする必要があります。 SYSNAM 特権を持っている場合, ICC$CREATE_SECURITY_OBJECT を呼び出さずに関連をオープンすることはできますが,そのオブジェクトはパーマネントではなりません。特権は要求されないので,誰でも ICC$pid* (例 : ICC$20203F9A_FOO) という名前のアクセスを作成することができます。
ICC$CREATE_SECURITY_OBJECT は,特殊ノード名 ICC$ を使用して, ICC クラスタ単位レジストリに名前を作成することを規定するためにも使用できます。レジストリに名前を作成するときには,機密保護アクセス属性 OPEN と CONTROL を使用します。
SYS$MANAGER: には,SYS$SYSTARTUP.TEMPLATE というファイルが用意されており,個別の事情に合わせてプロシージャをカスタマイズできます。
前へ | 次へ | 目次 | 索引 |