AS/400展望台

Save/Restore 操作のセキュリティーの意味



ウェイン O. エバンス著

ユーザーアクセス・データを安全にバックアップおよびリストアするために権限リストを使用

Save/Restore 操作の設計と制御は複雑で、いずれもシステムのセキュリティー要件について重要な意味があります。ここでは、特にユーザー・プロファイルの保存とリストアに注目しながら、保存操作およびリストア操作に関するセキュリティーの意味を説明します。

セキュリティー情報の保存方法

セキュリティー情報の保管に関するバックグラウンドから説明しましょう。iSeries ではすべてのオブジェクトの構造は同じで、オブジェクト・ヘッダーとオブジェクト内容で構成されています。多くのオブジェクトはオブジェクト・ヘッダー構造を共用していますが、オブジェクト内容はオブジェクト・タイプによりさまざまです(構造が異なる等)。

オブジェクト・ヘッダーには、オブジェクト名、オブジェクト・タイプ、オブジェクトのセキュリティー情報などすべてのオブジェクトに共通な情報が含まれています。図 1 はオブジェクト・ヘッダーのセキュリティー情報を拡大表示したものです。

オブジェクト・ヘッダーには常に所有ユーザー・プロファイルへのポインターが含まれています。オブジェクトに基本グループ・プロファイルがあり、権限リストでセキュリティー保護されている場合は、これらのポインターも設定されます。オブジェクト関連の唯一の権限情報は、所有者権限、*PUBLIC 権限、基本グループ・プロファイル権限です。

各ユーザー・プロファイルにはユーザー・プロファイル所有のオブジェクト・リストとユーザー・プロファイルへの権限があるオブジェクト・リストが入っています。図 2 では、ユーザー 1 がオブジェクト A と B を所有し、オブジェクト C への権限があります。ユーザー 2 はオブジェクト C を所有し、オブジェクト B への権限があります。

図 1 ではオブジェクトのセキュリティー情報に、オブジェクトに許可されたユーザーのリストがないことに注目してください。個々のオブジェクトへの権限があるユーザー・プロファイルを保存する場合は、SAVSYS (システムの保存) コマンドまたは SAVSECDTA (セキュリティー・データの保存) コマンドで、プロファイルを(各専用認可とともに)他の場所に保存する必要があります。

Save/Restore のセキュリティー要件

保存またはリストアには、ユーザーは Save コマンドおよび Restore コマンドへの権限が必要です。ほとんどのショップは、保存操作を担当するユーザーに特殊権限の *SAVRST を与えています。この権限によりユーザーは、オブジェクトへの権限がない場合でもオブジェクトを保存できます。*SAVRST 特殊権限がないユーザーは、保存する各オブジェクトに *OBJEXIST (オブジェクトの存在) 権限が必要です。

Restore 操作はシステムのオブジェクトを追加または置き換えます。Restore 操作中に、すでにリストアされたオブジェクトがシステムにある場合は、そのオブジェクトの権限情報は変わりませんが、オブジェクト内容は変更されます。リストアされたオブジェクトがシステムにない場合は、そのオブジェクトの所有者権限、*PUBLIC 権限、基本グループ・プロファイル(存在する場合)権限の情報が保存メディアの場合と同様に保存されます。保存メディアにオブジェクトの所有者ユーザー・プロファイルが存在しない場合は、Restore 操作によりオブジェクトはデフォルトのユーザー・プロファイル QDFTOWN に割り当てられます。

保存したオブジェクトをリストアする場合は、権限リストが各オブジェクトを保護するかどうかにより OS/400 は Restore 操作を可変処理します(図 3)。保存されたオブジェクトを保存されたシステム上でリストアする場合、オブジェクトは同名の権限リストと関連付けられます。権限リストが見つからない場合は、*PUBLIC 権限が *EXCLUDE に設定されます。これは権限リストにより以前にユーザー・アクセスが制限されていた可能性があるからです。

オブジェクトを保存されたシステムとは異なるシステムでリストアする場合は、オブジェクトは権限リストには関連付けられません。これは新しいシステムにある権限リストのユーザーが異なる可能性があるためです。(ALWOBJDIF パラメーターに *YES と指定すると、別のシステムでリストアをした場合に、オブジェクトは新しいシステムで同名の権限リストと関連付けられます。)

異なるシステムに完全なシステム・リストアを行う場合は、権限リストがオブジェクトに添付されるように ALWOBJDIF(*ALL) を指定することが非常に重要になります。Restore コマンドに(*ALLOBJ および *SECADM 特殊権限を持たせるなど) ALWOBJDIF(*YES) パラメーターを指定するのはセキュリティー担当者です。実際 ALWOBJDIF(*ALL) パラメーターを指定するのは、インストール指示で頻繁に「セキュリティー担当者としてサインオンしてください」というメッセージが出るためです。

既存の所有者またはセキュリティー担当者以外のユーザーがその所有者の権限を借用するプログラムをリストアする場合は、プログラムへのアクセスはすべて取り消されます。この制限は、権限を借用するプログラムをリストアすることでユーザーがシステム・セキュリティーの暗号を漏洩しないようにするためにも必要です。

オブジェクトのセキュリティー保護の際に専用認可を使用する場合の問題点は、オブジェクトがリストアされても専用認可はリストアされない点です。リストアの観点から言えば、ユーザーにオブジェクトへのアクセス権限を与えるには権限リストを使用するのが最善の方法です。したがって、権限リストを使用することをお勧めします。

権限リストの使用には二つの利点があります。まず、権限リストでセキュリティー保護されたオブジェクトをリストアする場合は、リストア操作中に再度権限リストでオブジェクトのセキュリティーが保護される点です。(オブジェクトを保存されていたシステムとは異なるシステムにリストアする場合は ALWOBJDIF(*ALL) を指定する必要があります。)次に、単一の権限リストにより複数のオブジェクトがセキュリティー保護され、専用認可の数が減り、ユーザー・プロファイルの保存にかかる時間が短縮されます。

ユーザー・プロファイルの保存とリストア

ほとんどのショップは、ビジネス上のデータを保存する場合に備えて十分なバックアップ戦略を備えています。しかし、生産データ・オブジェクトへのユーザー・アクセスを保存しないショップもあります。データの保存は非常に重要ですが、データへのアクセスの保存も同程度に重要です。

ショップが犯しやすい典型的な誤りは、ユーザー・プロファイルをバックアップしないことです。SAVSYS コマンドと SAVSECDTA コマンドは、すべての専用認可と権限リストを含むユーザー・プロファイル設定を保存します。SAVSYS コマンドも QSYS ライブラリーの通信構成、装置構成、オブジェクトを保存します。SAVSYS コマンドには、システムが制限状態にあるときだけしかコマンドを実行できないという制限があります。たとえば、SAVSECDAT コマンドは他のユーザーがシステムを使用している場合でも実行できます。夜間のバックアップ時には SAVSECDTA コマンドで、データとユーザーのデータ・アクセス両方を確実に保存することをお勧めします。

図 2 にあるように各ユーザー・プロファイルに、ユーザー・プロファイルに許可されたオブジェクトのリストがあることを思い出してください。それは、それらオブジェクトおよび関連するユーザー・アクセス情報へのポインター(仮想アドレス)のリストです。(SAVSYS または SAVSECDTA を使用して)ユーザー・プロファイルを保存している間は、これらのポインターはオブジェクトとオブジェクトのライブラリー名に変換されます。仮想アドレスはSave/Restore・メディアでは無意味だからです。

システムをリストアするには、いくつかのステップを順番に行う必要があります。まず、OS/400 をインストールします。次に RSTUSRPRF (ユーザー・プロファイルのリストア) コマンドで最後に保存したユーザー・プロファイルをリストアします。これにより、ユーザー・プロファイルと権限リストの設定だけでなく、オブジェクト名と関連する権限を含むテーブルがリストアされます。オブジェクトへのユーザー・アクセスをチェックする場合はこのテーブルは使用しません。むしろ、RSTAUT (権限のリストア) コマンドがこのテーブルを使用して、ユーザー・プロファイルの許可されたオブジェクトへのポインター(仮想アドレス)のリストを作成します。

次に通信構成と装置構成、Integrated File System (IFS) オブジェクトを含むすべてのオブジェクトをリストアします。リストア中に、リストアしたオブジェクトを権限リストと関連付けるため必ず ALWOBJDIF(*ALL) を指定します。

最後に RSTAUT で各ユーザー・プロファイルの許可オブジェクトのリストを再作成します。RSTAUT はオブジェクト名のテーブルを使用して、各ユーザー・プロファイルに許可された各オブジェクトのポインター(仮想アドレス)を生成します。RSTAUT が完了すると、オブジェクト名と権限のテーブルが削除されます。

オブジェクトのリストアに失敗して、RSTAUT を実行してからそれらをリストアする場合は、専用認可はリストアされません。RSTAUT を再度実行しても無駄です。オブジェクトに権限を与えるために必要なテーブルが削除されたためです。RSTAUT を再実行する前に再度 RSTUSRPRF で、オブジェクト名と権限のテーブルを再作成する必要があります。

権限リストを使用しましょう!

完全なシステム・リストアを実行していない限り、Restore 操作は各オブジェクトの専用認可をリストアしません。リストアされる唯一の権限情報はオブジェクトの *PUBLIC、オブジェクト所有者、基本グループ・プロファイルです。

それに対してオブジェクトに権限リストがあると、Restore 操作で権限リストがオブジェクトと関連付けられます。このため、Save/Restore 操作中にユーザー・アクセス情報のセキュリティー保護をする場合は、専用認可ではなく権限リストを使用します。

ウェイン O. エバンスは 27 年以上に渡り IBM ロチェスターに勤務。そのうち 16 年間は、AS/400 および S/38 機能の設計とインプリメントを、1991 年に同社を退職する前の 6 年間は、セキュリティー部門を担当。現在はライター、講演、インストラクターとして世界で活躍中。



↑このページのトップへ
TOPPAGE

BELLDATA, Inc. Copyright reserved.