日本−日本語 |
|
|
HP OpenVMS: システム管理者マニュアル (上巻)第12章 機密保護上の注意事項 |
|
目次 この章では,OpenVMS オペレーティング・システムで使用可能な機密保護機能を簡単に取り上げ,システムやクラスタへの侵入という脅威を減らすために取るべき処置と, アクセス制御リスト・エディタ (ACL エディタ) を使用した, 保護オブジェクトに対するアクセス制御リスト・エントリ (ACE) の作成および変更方法について説明します。 機密保護管理についての詳細は,『OpenVMS システム・セキュリティ・ガイド』を参照してください。 この章の内容
さらに,次の項目について説明します。
上記の作業と概念についての詳細は, 『OpenVMS システム・セキュリティ・ガイド』を参照してください。 日常的にシステムを管理する者として,システム管理者はシステム・セキュリティを守る重要な役割を担います。 システム管理者は,OpenVMS オペレーティング・システムで使用可能な機密保護機能を熟知し,不正な操作によってシステムやユーザ,ファイルがダメージを受けることのないよう必要な保護手段を取る必要があります。 オペレーティング・システムによる効果的な機密保護手段を実現することによって, 知的財産としてのソフトウェアの盗用や不正なアクセスを防止することができます。 こうした手段はまた,機器やソフトウェア, ファイルが不正な使用によってダメージを受けるのを防止する役目も果たします。 機密保護のレベルについてたいていのシステムにおいて,機密保護上の問題は, 責任体制が整っていなかったり, システムがプローブまたは侵入されたりといったことが原因で起こります。 どの程度まで機密保護の侵犯に耐えられるようにするかは, サイトで行われる作業内容により異なります。 環境上の問題安全なシステム環境を実現することは,システムの機密保護を守る重要な鍵です。 サイトの機密保護の検討にあたっては,環境上の問題とオペレーティング・システムの保護に重点を置くことをお勧めします。 オペレーティング・システムの保護OpenVMS オペレーティング・システムでは, システム・セキュリティの管理を大きく次の 3 つの分野に分けています。
次の節では,システムとその資源に対するアクセス制御手段について説明します。 平均的な機密保護を必要とするサイトでは,常にパスワードの入力が求められます。 機密保護が厳しいサイトでは,割り当てられたパスワードとシステム・パスワードが必要とされる場合があります。 また,最も機密保護が厳しいサイトでは,ネットワーク・アクセスを制御するために,機密保護管理者が第 2 パスワードを採用することもあります。 この節では,標準の OpenVMS のパスワード・ポリシーとそれらの管理方法を説明します。 標準のパスワード・ポリシーに対する拡張 (外部認証とも呼びます) についての詳細は, 『OpenVMS システム・セキュリティ・ガイド』を参照してください。 AUTHORIZE ユーティリティを使用して新規ユーザ用のアカウントを作成する場合は, ユーザにユーザ名と初期パスワードを割り当てる必要があります。 一時的に初期パスワードを割り当てる場合は, 12.2.5 項 「パスワード保護に関するガイドライン」 で推奨しているすべてのガイドラインに従ってください。 その意味で,パスワードの割り当てにあたっては自動パスワード・ジェネレータを利用することをお勧めします。 分かりやすいパターンでパスワードを割り当てないことが大切です。 自動パスワード・ジェネレータの利用AUTHORIZE ユーティリティを使用して,アカウントを作成するときに自動パスワード・ジェネレータを使用するためには,ADD または COPY コマンドのいずれかに /GENERATE_PASSWORD 修飾子を指定する必要があります。 この修飾子が指定されると,システムが自動生成したパスワードの一覧を表示するので,その中から適当なパスワードを選択し,アカウントの設定作業を継続します。 システム・パスワード辞書とパスワード履歴リストの利用OpenVMS オペレーティング・システムは, 新しいパスワードとシステム・パスワード辞書の内容を自動的に比較し, パスワードがネイティブ言語以外の単語であるか調べます。 またシステムは,一人のユーザについて最新の 60 個のパスワードを記録したパスワード履歴リストを管理しています。 新しいパスワードが割り当てられると,パスワード履歴リストの内容と比較して, 古いパスワードが再利用されていないか調べます。 システム・パスワード辞書は, SYS$LIBRARY に格納されています。 システム・パスワード辞書は, AUTHORIZE で /FLAGS 修飾子に DISPWDDIC か NODISPWDDIC オプションを指定することによって,検索を有効または無効にすることができます。 パスワード履歴リストは SYS$SYSTEM に格納されています。 履歴リストは,/FLAGS 修飾子に DISPWDHIS か NODISPWDHIS オプションを指定することによって,検索を有効または無効にすることができます。 システム・パスワード辞書への登録手順システム・パスワード辞書は,サイトごとに変更することが可能です。 ここでは,システム・パスワード辞書に対する単語の登録または削除を行う手順を紹介します。 この手順はまた,使用を避けたいパスワードのファイルを残す目的にも使用することができます。
期限切れパスワードの定義パスワードを期限切れと定義することができます。 この定義は,UAF に新規ユーザを登録するときに,AUTHORIZE の /PWDEXPIRED 修飾子を使用して行います。 この定義がなされている場合,ユーザは初めてログインしたとき初期パスワードを変更する必要があります。 期限切れパスワードは,UAF レコード・リストにおいて期限切れである旨がはっきりと示されます。 最新のパスワード変更日のエントリに,次の注記が付きます。 (pre-expired) 省略時の設定では OpenVMS オペレーティング・システムは,新規ユーザの初めてのログインでパスワードの変更を強制します。 システムの機密保護を実現し促進するためには,サイトでトレーニング・プログラムを作成し,パスワードの頻繁な変更やその他の処置についてユーザ教育を行うことをお勧めします。 システム・パスワードは, 権限なしのターミナルへのアクセスを制御するために使用します。 このようなターミナルを以下に示します。
システム・パスワードの実現は,DCL の SET TERMINAL と SET PASSWORD コマンドを使用し,2 段階に分けて行います。 最初に行うべきことは,システム・パスワードを必要とするターミナルの特定です。 そして次に,特定したターミナルの 1 台 1 台に,DCL の SET TERMINAL/SYSPASSWORD/PERMANENT コマンドを入力します。 すべてのターミナルに対して,システム・パスワードを有効にするには, システム・パラメータ TTY$DEFCHAR2 で適切なビットを設定します。 二重パスワードというのは手間がかかりますが,高度な機密保護が求められるサイトでは重要なことです。 第 2 パスワードの有効性は,それを提供するスーパバイザの信頼性に完全に依存しています。 スーパバイザは簡単にパスワードを漏らしたり, さらに悪い場合は空文字列にすることができます。 第 2 パスワードの最大の利点は,DECnet for OpenVMS を介して簡単にアカウントにアクセスされるのを防止できる点です。 別の利点は,パスワードを変更した後で不審な侵入があり, 強制的にパスワード・ジェネレータを使用するような場合に, 検出ツールとして使用できる点です。 問題のアカウントを選択し,そのアカウントを一時的に二重パスワードの対象にしてください。 第 2 パスワードを使って個人的な検査を行い,問題がなくなった場合は,個人的な問題があったことが分かります。 最も考えられるのは,権限を持つユーザがアカウントのパスワードを, 他のユーザに明かしてしまっているケースです。 第 2 パスワードの登録方法については, 『OpenVMS システム・セキュリティ・ガイド』で詳しく説明しています。 機密保護管理者は AUTHORIZE を使用し,個々のユーザに最低限のパスワード基準を課すことができます。 これは具体的には, AUTHORIZE が提供する修飾子とログイン・フラグを使用して, パスワードの最低の長さやパスワードの有効期限,期限切れ時のパスワード変更の強制の有無を制御するものです。 パスワードの有効期限AUTHORIZE の /PWDLIFETIME 修飾子を使用して,パスワードの最大有効期限を設定することができます。 有効期限がくる前に, ユーザはパスワードを変更する必要があります。 変更しない場合は,パスワード変更の強制を受けるか, またはアカウントに対するアクセス権を失います。 パスワードの有効期限が設定されると,ユーザは定期的にパスワードの変更を求められます。 有効期限はユーザごとに変えることができます。 一般的に,重要なファイルに対するアクセス権を持つユーザには,最も短いパスワード有効期限を割り当てるべきです。 期限切れパスワードの変更の強制ログイン時,省略時の設定ではユーザは,期限切れパスワードの変更を強制的に求められます。 すなわち,システムは,パスワードの期限が切れているユーザがログインすると,新しいパスワードを入力するよう求めます。 /PWDLIFETIME 修飾子を使用してパスワードの有効期限を変更しないかぎり,有効期限は省略時の設定で 90 日になります。 最低パスワード長AUTHORIZE の /PWDMINIMUM 修飾子を使用して, パスワードの最少文字数を指定することができます。 パスワードの最大の長さは,この最低の長さの変更に関係なく 31 文字です。 パスワード・ジェネレータの使用AUTHORIZE で /FLAGS=GENPWD 修飾子を指定することによって, パスワードを変更するときユーザが自動パスワード・ジェネレータを使用するよう強制することができます。 この修飾子を使ってすべてのアカウントを作成することもできれば,もっと選択肢を広げることもできます。 パスワードを保護するにあたっては,次のガイドラインに従ってください。
次に挙げる処置は厳密にはパスワードの保護には関係ありませんが, パスワードが発見される可能性を減らし,パスワードが盗まれたり, バイパスされたりしたときの損害の広がりを抑えるのに役立ちます。
この節では,ブレークインの検出および回避機構の設定方法と, ブレークイン・データベースの内容の表示方法について説明します。 ダイアルアップ回線を介したリトライ回数の制御ダイアルアップ回線を介してユーザが行うことが可能なログイン・リトライ回数を,制御することができます。 接続が確立されてから入力の間違いがあった場合, ユーザは自動的に切り離されます。 このオプションは,権限を持つユーザであっても不正なログインのリトライ回数を制限したい場合に有用です。 リトライ回数を制御したい場合は, LGI システム・パラメータの LGI_RETRY_TMO と LGI_RETRY_LIM を使用します。 省略時の設定では,ユーザは 20 秒間隔で 3 回のリトライが許されます。 ダイアルアップ回線を介したリトライ回数の制御は, 機密保護プログラムの機能の一部にしかすぎず, これだけではシステムへの不法な侵入 (ブレークイン) を防ぐには十分ではないことを覚えておいてください。 しつこい侵入者がリダイアルのような方法を取れば, システム侵入の抑止にはなりません。 また,この方法はダイアルアップ回線にしか適用できません。 侵入をあきらめさせるその他の手段OpenVMS オペレーティング・システムには, システムへの不法な侵入(ブレークイン) をあきらめさせる, その他の手段も用意されています。 それらの方法は,上記の機能と同じく,LGI カテゴリのシステム・パラメータを使用します。
これらのパラメータについては, 『OpenVMS システム・セキュリティ・ガイド』で詳しく説明しています。 侵入データベースの内容表示機密保護サーバ・プロセスは,通常のオペレーティング・システムのスタートアップの一部として作成され,次の操作を実行します。
システムは,失敗したログインを追跡するために侵入データベースを使用します。 プロセスのログインでこの情報を調査して, 侵入の疑いのあるものがシステムにアクセスしないよう, 限定的な措置をとるかどうかを決定します。 DCL の SHOW INTRUSION コマンドを使用すると, 侵入データベースの内容を表示することができます。 また,DCL の DELETE/INTRUSION_RECORD コマンドを使用して, 侵入データベースのエントリを削除することができます。 ネットワーク代理データベース・ファイル (NET$PROXY.DAT) は, ネットワークの接続処理中に使用され,特定の遠隔ユーザがパスワードを使わずにローカル・アカウントにアクセスしてよいかどうかを判断します。 次の例は,SHOW INTRUSION コマンドで, 拡張された満了時刻フィールドが新しく出力されることを示しています。
OpenVMS オペレーティング・システムには,重要な 2 つの保護機構が用意されています。 1 つは,UIC (利用者識別コード) に基づいてすべての保護オブジェクトに適用される, UIC に基づく保護機構です。 もう 1 つは ACL (アクセス制御リスト) を使用した保護機構です。 これは UIC に基づく保護よりもっと洗練されたレベルの保護を提供します。 ACL を使って,個別ユーザあるいはユーザ・グループ単位でアクセスを制御することができます。 利用者識別コードは,そのコードのユーザが属するシステム・グループと, そのグループ内でユーザを一意的に識別するコードです。 AUTHORIZE ユーティリティは, システムの各ユーザ・プロセスに一意の UIC を割り当て, それを利用者登録ファイル (UAF) に記録します。 こうした UIC はまた,システムのあらゆるオブジェクトにも割り当てられます (通常はオブジェクトの作成者の UIC)。 UIC は,次の形式でグループとメンバの 2 つの部分から構成されます。 [group,member] UIC は数字だけ,または英数字の両方で構成します。 数値型の UIC のグループ番号は 8 進で 0 から 37776, メンバ番号は 8 進で 0 から 177776 の範囲です。 グループ 1 およびグループ 300 から 377 までは,弊社が予約しています。 保護コードは,特定のユーザまたはグループについて許可を与えるかどうかのアクセスのタイプを制御します。 形式は次のとおりです。 [ ユーザ・カテゴリ: 許可アクセス・リスト (, カテゴリ: 許可アクセス・リスト ,...)] ユーザ・カテゴリユーザ・カテゴリは,システム (S),所有者 (O),グループ (G), ワールド (W) のいずれかです。 各カテゴリは短縮して,対応する英字の先頭 1 文字で表すことができます。 それぞれのカテゴリの定義を次に示します。 複数のユーザ・カテゴリを指定する場合は, 各カテゴリをコンマで区切り,コード全体を括弧で囲みます。 ユーザ・カテゴリとアクセス・タイプは,任意の順序で指定できます。 アクセス・タイプにヌルを指定した場合はアクセス権なしを意味します。 そのため,ユーザ・カテゴリにアクセス・タイプを指定しなかった場合, そのカテゴリのユーザには,そのタイプのアクセス権が付与されません。 特定のユーザ・グループについてアクセス権を全く付与しない場合は, アクセス・タイプを何も指定せずにユーザ・カテゴリだけ指定します。 またこの場合,ユーザ・カテゴリの後のコロンを省略します。 保護コードにユーザ・カテゴリを指定しなかった場合は, そのカテゴリに現在付与されているアクセス権がそのまま適用されます。 アクセス・リストアクセスのタイプはオブジェクトによって決まります (『OpenVMS システム・セキュリティ・ガイド』を参照)。 ファイルに対するアクセス権には,読み込み (R),書き込み (W), 実行 (E),削除 (D) があります。 各ユーザ・カテゴリと割り当てられたユーザ・カテゴリはコロン (:) で区切ります。 例次の保護コードでは,システム・ユーザにオブジェクトに対するすべてのアクセス権,所有者に削除以外のすべてのアクセス権を付与していますが, グループとワールド・ユーザにはアクセス権を付与していません。
省略時の保護コードの変更方法OpenVMS オペレーティング・システムは,各プロセスに省略時の UIC に基づく保護コードとして (S:RWED,O:RWED,G:RE,W) を割り当てます。 この省略時の保護コードを変更したい場合は, SET PROTECTION/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 というファイルが用意されており, 個別の事情に合わせてプロシージャをカスタマイズできます。 たいていの会話型ユーザ・アカウントの保護は,省略時の UIC に基づく保護で十分です。 ただし,プロジェクト・アカウントのような場合には,ACL (アクセス制御リスト) を使って, さらに細かい保護が必要になることがあります。 ACL に基づく保護機構は,複数のグループ,または複数のグループに属するメンバが共通にアクセスするアカウントに対して,より洗練されたレベルの保護を提供します。 アクセス制御リストは,オブジェクトの属性を定義する, ACE (アクセス制御エントリ) と呼ばれるエントリのリストです。
これらの ACE についての詳細は『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を, また ACE の作成および適用方法についての詳細は 『OpenVMS システム・セキュリティ・ガイド』を参照してください。 識別 ACE に設定可能な識別子は,いくつかの種類に分類されます。 識別子は 1 文字から 31 文字の長さの英数字文字列で構成し, 少なくとも 1 字は英字にします。 使用可能な文字は0 から 9 の数字と A から Z の英字, そしてドル記号 ($) とアンダスコア (_) です。 識別子の種類を次の表に示します。
SYS$SYSTEM の STARTUP.COM システム・スタートアップ・プロシージャは, 環境識別子の他,SYS$NODE_ ノード名の形式でシステム・ノード識別子も作成します。 ACL を作成可能なオブジェクトは次のとおりです。
一般的に ACL は,全員ではなく一部ユーザについてのみオブジェクトのアクセス権を付与したい場合, あるいは特定の特権を持たないユーザについてアクセス権を拒否したい場合に使用します。 ACL を持つオブジェクトに対するアクセス要求を受け取ったオペレーティング・システムは,ACL を検索し,最初に一致したアクセス制御リスト・エントリを見つけた時点で検索を止めます。 つまり,他に一致するエントリが ACL にあったとしても意味はありません。 そのため,特定のユーザについて,システム・オブジェクトへのアクセスの許可または不許可を設定する ACE は,ACL 内のより広い範囲のユーザを表す ACE より前に指定するようにしてください。 アクセス制御リスト・エディタ (ACL エディタ) は,ACL の作成と編集に使用するスクリーン・エディタです。 システム・オブジェクトに ACL を定義したり,既存の ACL を編集したりする場合に使用してください。 ACL エディタは,EDIT/ACL コマンドまたは SET SECURITY/EDIT コマンドで起動します。 コマンド行には,作成または変更したい ACL のオブジェクト名を指定します。 たとえば,INVENTORY.DAT というファイルの ACL を作成するときは, 次のコマンドを使用します。
作成または変更する ACL の対象であるオブジェクトがファイルでない場合は, /CLASS 修飾子を使ってオブジェクトのタイプを指定する必要があります。 たとえば,ディスク DOCD$: の ACL を作成する場合は, 次のコマンドを使用します。
ACL エディタを起動して,既存の ACL を変更したり, オブジェクトに新しい ACL を作成することができます。 オブジェクトに ACL がすでに作成されている場合は, ACL エディタを起動すると画面にその ACL が表示されます。 ACL エディタは,OpenVMS 共通言語で作成されたプログラムの内部から起動することもできます。 ただし,そうしたプログラムは OpenVMS 呼び出し基準に基づいて呼び出しを行う必要があります。 ACL エディタの呼び出しインタフェースの使用法については, 『OpenVMS Utility Routines Manual』を参照してください。 識別 ACE は,特定のユーザまたはグループに許可するアクセス・タイプを制御します。 形式は次のとおりです。 (IDENTIFIER= 識別子 [, オプション ][, アクセス ]) たとえば次の ACE は,UIC 識別子 [SALES,PAT] で表されるユーザ Pat にファイルに対する読み込み,書き込み,および実行のアクセス権のみ付与しています。 削除または制御のアクセス権が指定されていないため,Pat がそれらのアクセス権を持つことはありません。
識別 ACE の省略時の属性を使って,特定のディレクトリに新たに作成されるファイルの ACL に取り込む省略時の ACE を定義することができます。 たとえば,PERSONNEL という識別子を持つユーザに読み込みおよび書き込みのアクセス権を許可する ACE が, [MALCOLM] というディレクトリのすべてのファイルに設定されるようにしたい場合は, MALCOLM.DIR ファイルの ACL に次の ACE を記入しておきます。
この ACE 指定があると,[MALCOLM] ディレクトリに作成されるすべてのファイルが次の ACE を持ちます。
識別 ACE の省略時の属性と ACL 処理時の省略時属性の働きについては,『OpenVMS システム・セキュリティ・ガイド』にさらに詳しい説明があります。 省略時の保護 ACE は, ディレクトリとそのサブディレクトリに新たに作成されるすべてのファイルに対する保護コードを設定するエントリです。 ファイルの以前のバージョンが存在する場合, この ACE は適用されず,以前のファイルの保護が使用されます。 この ACE の形式は次のとおりです。 (DEFAULT_PROTECTION[, オプション ], 保護コード) たとえば次の ACE は,システムと所有者カテゴリのユーザには, ディレクトリに新たに作成されるファイルに対する読み込み,書き込み, 実行,削除のアクセス権を付与し,グループとワールド・ユーザにはアクセス権を付与しないよう指示しています。
システム管理者は, 機密保護関連イベント・メッセージの通知先を選択することができます。 アラーム・メッセージはオペレータのターミナルに, 監査メッセージはシステム・セキュリティ監査ログ・ファイルにそれぞれ送信されます。 また,アラーム,監査,およびその両方として報告されるイベントを選択することができます。 OpenVMS オペレーティング・システムは, 『OpenVMS システム管理者マニュアル (下巻)』にあるようなイベントを自動的に監視します。 また,DCL の SET AUDIT コマンドの /ENABLE 修飾子で 表 12-1 「OpenVMS が報告するイベント・クラス」 に示すようなキーワードを指定すると, 他のクラスのイベントを監視することができます。 表 12-1 OpenVMS が報告するイベント・クラス
SET AUDIT コマンドについての詳細は, 『OpenVMS DCL ディクショナリ』を参照してください。 |
|