IBM iのセキュリティーの混乱を解決する
IBM iは業務目的を達成するために数々の手段を企業に提供する十分に成長したオペレーティングシステムです。しかしながらこの成長した豊かさが目的を達成する最善の方法について混乱を生むことがあります。例えば、ユーザーが自身のアプリケーションでいつ借用権限を使うべきか、またいつユーザープロファイルのスワッピングを使うべきか、などといったことです。IBM iのセキュリティー・エキスパート、Carol Woodburyがこれらの疑問に取り組みました。
前IBMにおけるOS/400のセキュリティー・アーキテクトWoodburyは「多くの管理者が借用権限あるいはプロファイルのスワッピングといった事項に関して、その違いは何か、それらは同じなのかなどの疑問を抱いていると思います」と現在勤務しているHelpSystemsが主催しているオンラインセミナーで述べています。またSkyViewパートナーは、権限のチェックを行うためにどのような命令をシステムは使うのか、またスプールファイルをどのようにして保護するのかなどについてよく質問を受けると言います。「したがって、私は多くの混乱しているテーマのいくつかに取組むべくプレゼンテーションを行うことを考えました」とWoodburyは述べています。
借用権限とユーザープロファイルのスワッピングの違いはIBM iのプロにとって最も混乱するトピックのひとつであることは明らかです。ふたつのテクニックが同様の最終目標であることを考えれば、混乱するのは頷けます。しかしながら、作業の方法とシステムの他の部分に与えるインパクトが大きく異なります。
借用権限
借用権限はユーザーがプログラムを稼働させるのに必要な権限を持っていないにもかかわらず稼働させなければならないときに役立ちます。IBM iのデフォルト設定では稼働させようとするユーザーの権限レベルで各プログラムを稼働させることができます。IBM iプログラムの約95パーセントは*USERの権限を借用できる構成になっているとWoodburyは述べています。借用権限は他人に一時的に権限を与えるものです。プログラムが権限を借用する構成になっていたとき、そのプログラムが稼働している間は、ユーザーは自身の権限を使えないばかりでなくそのプログラムの所有者の権限も使うことができないとWoodburyは説明しています。
しかしながら、プログラムで借用権限を*OWNERに設定することによって、そのプログラムとそれに結び付いているすべてのプログラムはそのアプリケーションの所有者が例え必要な権限を欠いていても稼働させることができます。「私が権限を持っていなくても、もしアプリケーション所有者のプロファイルが持っていれば、私はそのファイルにアクセスできる」とWoodburyは説明しています。
プロファイル・スワッピング
IBM iのユーザー・プロファイル・スワッピング機能は同様の最終結果をもたらします。自分のユーザープロファイルに最小限の権限を持っているユーザーがさらに高い権限レベルを必要とするプログラムを稼働させることができます。しかしながら、大きく異なる方法でその結果を導きます。
「実際はプロファイル・ベースであり、全くプログラム・ベースではないので、それに基づいてプログラムが稼働しているプロファイルは変わった」とWoodburyは言います。ユーザーがもっとパワフルなユーザープロファイルにスワップしてジョブあるいはプログラムを稼働させるとき、そのユーザーは事実上いっそうパワフルなユーザーになり、そのシステム上でほとんどあらゆることができる。そのユーザーは特別の権限、グループ・プロファイル、及び監査設定を受け継ぐことになる」とWoodburyは説明しています。
ユーザープロファイルのスワッピングがどのように機能するかについてひとつの警告が有ります。「プロファイルのスワップがある種の混乱を招く可能性があるのはそのジョブ名が決して変わらないこと」「したがって、そのジョブが「John」の名の下で稼働しているとしても、ジョブの名前は依然自分のプロファイル名を示す。奇妙なこと」Woodburyは述べています。
このことは、監査ジャーナルでユーザーの行動を調べようとするときに影響が生じ、監査ジャーナルが大きく混乱する可能性があります。しかしながら、もし管理者あるいは監査人がジョブを誰が始めたかを正確に調べようとするのであれば、ユーザープロファイルのスワッピングがどのような仕組みであるかを知ることが役に立ちます。
「監査ジャーナルを調べるとき、どれを調べたいのかを確認する必要が有る。ジョブを開始したオリジナル・ユーザーを調べたいのか、最新のユーザーを調べたいのか。もし監査ジャーナルのエントリーでクエリーあるいはSQLステートメントを稼働させていれば、正しいフィールドを選んでいることを確認したくなる」とWoodburyは説明しています。
主要な違い
借用権限とユーザープロファイルのスワッピングとの主な違いのひとつは、借用権限を使うときはジョブ名が変わらないことです。しかしながら、その他に以下のような違いがあることを知っておく必要があります。
◎グループ権限:「借用権限において、プログラム・オーナーのグループ権限はそのプロセスで使用することができない。しかしながら、プロファイルのスワップにおいては、そのグループのプロファイルはおなじくスワップされる」とWoodburyは説明しています。
◎スプールファイル:「プロファイル・スワップで、プロファイルのスプールファイルはスワップされるユーザーが所有することになる。したがって、もし特権を高めてスプールファイルを作る場合、スワップされるユーザーがそのスプールファイルの所有者の一人になる」「借用権限では、そのスプールファイルは現在のユーザーに留まる」とWoodburyは説明しています。
◎制限された機能:「借用権限では、プログラムの*OWNERに割り当てられるいかなる制限も実行されないが、プロファイル・スワッピングでは制限された権限が実行される。これは極めてパワフル」とWoodburyは述べています。
スプールの素晴らしさ
Woodburyは「我々の顧客で見られることだが、一人の者がレポートを作る必要があり、他の10人がそれを見る必要が有るので顧客はスプールの制御が必要になる。レポートを作るとき、それを作ったユーザーだけがそのレポートを見ることができるようにデフォルトで可能」と述べています。
ひとつの次善策はすべての者にSPLCTL権限を与えることです。しかしながら、それはどのようなプロテクションが施されていても、すべての者にサーバー上のすべてのスプールファイルへのアクセスを許すことになります。これに代わって、WoodburyはData Display (DSPDTA)属性を使って、ユーザーが他人の作成したスプールファイルに制限付きでアクセスできるようにすることを勧めています。