z/OSに対するセキュリティシステム監査(データセットの保護)

データセットとは

WindowsやLinuxのような分散系システムとz/OSではファイル管理方法が大きく異なります。

ファイル管理の概念図

分散系のシステムではフォルダとファイルが存在し、木構造としてファイルは管理されます。一方でz/OSにはフォルダと言う概念はなくファイルのみが存在しています。z/OSにおいてファイルに該当する概念を「データセット」と呼んでいます。通常データセットは「AAA.BBB.CCC.DDD」の形式で表されてされます。

データセット保護定義の考え方

分散系のシステムの多くでは木構造が明確となっており木構造に沿わないフォルダーやファイルは存在しないことから木構造の始まる部分から順に権限を設定していくイメージとなります。
一方でz/OSではデータセット命名には木構造を採用しておらずある程度自由な名称でデータセットを作成することが出来ます。そのため、システムに存在するデータセットを把握した上で必要な保護プロファイルを作成する必要があります。

当該記事における「データセット」とは、DASDVOL上に存在するものだけを指しています。TAPEVOL上のデータセット保護は、保護方式を確認の上該当する方式のマニュアルを参照してください。

データセットプロファイルの例

データセットプロファイルの例
(説明用に簡素化していることから実際には定義できないプロファイルが含まれます)

個別プロファイルにより保護(②)

特定のデータセット名を完全指定するプロファイルのことを個別プロファイルと読みます。個別プロファイルは、完全に一致したデータセットのみを保護します。

総称プロファイルによる保護(①、③、⑤)

総称文字(*/**/%)を使用してデータセット名を範囲指定するプロファイルのことを総称プロファイルと呼びます。総称プロファイルは、総称文字で表される範囲のデータセットを保護します。

総称プロファイルを使用するには、RACFのSETROPTS(基本設定)にて「総称プロファイル」をアクティブ化する必要があります。通常のz/OSシステムであればデータセットがどんなに小規模のシステムでも数百は存在することから総称プロファイルを使用せずに管理をすることは現実的ではありません。

また、総称文字の範囲指定ルールには二種類あることからどちらの方式を使用しているかを確認する必要があります。

複数のプロファイルが存在している場合

1つのデータセットに対して複数プロファイルが存在している場合は、より特定度の高いプロファイルが優先されます。
(上記の図であれば③と④では、③が優先されます)
個別プロファイが存在していれば、個別プロファイルが最優先されます。

プロファイルがない場合はどうなるか

分散系のシステムであれば木構造を取るので木構造の一番幹の部分にて定義を行うことで全体を網羅する定義を作成することが可能です。一方でデータセットでは木構造を取っていないことから保護プロファイルが存在しないデータセットが存在する可能性があります。プロファイルがないデータセットへの保護は「SETROPTS LIST」でご説明した「PROTECT ALL」の設定によりアクセス制御が異なります。

データセットプロファイルで定義する内容

データセットプロファイルは次のような項目で構成されています。データセットプロファイルは、RACF-FALTファイルの0400(個別PERMITは0405)またはLISTDTATSETの実行結果にて確認することが可能です。LISTDATASETコマンド実行結果のイメージは下記リンク先の図1〜4を参照してください。

データセットプロファイル名
SYS1.*のような形式で表されており総称プロファイルの場合は、最後に(G)と記載されています。
(総称文字*/%等を使用していてもプロファイル作成時に総称プロファイル指定をしていなければ総称プロファイルとして機能しないことから注意が必要です)

UACC値(UNIVERSAL ACCESS)
明示的にIDまたはグループにてPERMITされていない場合に使用されるデフォルトのアクセスレベルです。
例:
UACCがREADで定められている場合に、”USERA”が許可されるのは「参照」までとなります。もし”USERA”が個別に”UPDATE"を許可(PERMIT)されていれば「更新」まで許可されます。

監査設定値(AUDITING)
どのようなアクセスの場合にログを取得するかを定めた値となります。
例:
ALL(READ)の場合、READ(参照)以上のアクセス(更新・削除等)であればログを取得します。

個別の許可設定値
ある特定ユーザーIDまたはグループに対して許可したい場合にIDまたはグループ毎にREAD/UPDATE/ALTER等を設定します。逆にある特定ユーザーIDまたはグループにのみアクセスさせてたくない場合には、UACC未満の値を設定することでアクセスを制限することが可能です。

補足(RACFにおける権限まとめ)
NONE:データセットの参照・更新・削除等を許可しない。
READ:データセットの参照のみ許可する。
UPDATE:データセットの参照・更新を許可する。
ALTER:データセットの参照・更新・削除を許可する。また、保護プロファイルの保護範囲にてデータセットの新規作成を許可する。

その他CONTROLやEXECUTE等は、下記マニュアルを参照し設定されていた場合はシステム担当者にヒアリングをして権限を確認してください。

監査のポイント

データセット保護を行うために総称プロファイルを使用する設定となっていますか。

いいなと思ったら応援しよう!