z/OSに対するセキュリティシステム監査(SETROPTS LIST)

RACF機能における全体に適用される基本設定は、SETROPTS LISTにて確認を行うことができます。実行結果サンプルは次の通り。

SETROPTS LIST
ATTRIBUTES = INITSTATS NOWHEN(PROGRAM) TERMINAL(READ) SAUDIT CMDVIOL NOOPERAUDIT
STATISTICS = DATASET AIMS APPL DASDVOL GCICSTRN GIMS PCICSPSB QCICSPSB TAPEVOL TCICSTRN TERMINAL TIMS
AUDIT CLASSES = DATASET USER GROUP AIMS APPL DASDVOL GCICSTRN GIMS
PCICSPSB QCICSPSB TAPEVOL TCICSTRN TERMINAL TIMS
ACTIVE CLASSES = DATASET USER GROUP ACICSPCT AIMS APPL BCICSPCT CCICSCMD DASDVOL DCICSDCT ECICSDCT FCICSFCT GCICSTRN GIMS GLOBAL GMBR HCICSFCT JCICSJCT KCICSJCT MCICSPPT NCICSPPT PCICSPSB QCICSPSB RACGLIST SCICSTST TAPEVOL TCICSTRN TERMINAL TIMS UCICSTST VCICSCMD VMRDR
VMMDISK
GENERIC PROFILE CLASSES = DATASET ACICSPCT AIMS APPL CCICSCMD DASDVOL DCICSDCT  FCICSFCT GMBR JCICSJCT MCICSPPT PCICSPSB SCICSTST  TAPEVOL TCICSTRN TERMINAL TIMS VMBATCH VMCMD VMMDISK VMNODE VMRDR
GENERIC COMMAND CLASSES = DATASET ACICSPCT AIMS APPL CCICSCMD DASDVOL DCICSDCT FCICSFCT GMBR JCICSJCT MCICSPPT PCICSPSB SCICSTST  TAPEVOL TCICSTRN TERMINAL TIMS VMBATCH VMCMD VMMDISK  VMNODE VMRDR
GENLIST CLASSES = NONE
GLOBAL CHECKING CLASSES = VMMDISK
SETR RACLIST CLASSES = ACCTNUM DASDVOL
GLOBAL=YES RACLIST ONLY = JCICSJCT TCICSTRN
LOGOPTIONS "ALWAYS" CLASSES = DASDVOL GDASDVOL SECLABEL
LOGOPTIONS "NEVER" CLASSES = FACILITY VMXEVENT VXMBR
LOGOPTIONS "SUCCESSES" CLASSES = APPCLU RACFVARS RVARSMBR
LOGOPTIONS "FAILURES" CLASSES = DATASET PMBR PROGRAM PROPCNTL
LOGOPTIONS "DEFAULT" CLASSES = GTERMINL TAPEVOL TERMINAL
AUTOMATIC DATASET PROTECTION IS IN EFFECT
ENHANCED GENERIC NAMING IS IN EFFECT
REAL DATA SET NAMES OPTION IS ACTIVE
JES-BATCHALLRACF OPTION IS INACTIVE
JES-XBMALLRACF OPTION IS INACTIVE
JES-EARLYVERIFY OPTION IS INACTIVE
PROTECT-ALL OPTION IS NOT IN EFFECT
TAPE DATA SET PROTECTION IS ACTIVE
SECURITY RETENTION PERIOD IN EFFECT IS 365 DAYS
ERASE-ON-SCRATCH IS INACTIVE
SINGLE LEVEL NAME PREFIX IS RDSPRFX
LIST OF GROUPS ACCESS CHECKING IS ACTIVE.
INACTIVE USERIDS ARE NOT BEING AUTOMATICALLY REVOKED.
DATA SET MODELLING NOT BEING DONE FOR GDGS.
USER DATA SET MODELLING IS BEING DONE.
GROUP DATA SET MODELLING IS BEING DONE.
PASSWORD PROCESSING OPTIONS:
THE ACTIVE PASSWORD ENCRYPTION ALGORITHM IS KDFAES
PASSWORD CHANGE INTERVAL IS 254 DAYS.
PASSWORD MINIMUM CHANGE INTERVAL IS 2 DAYS.
MIXED CASE PASSWORD SUPPORT IS IN EFFECT.
SPECIAL CHARACTERS ARE ALLOWED.
13 GENERATIONS OF PREVIOUS PASSWORDS BEING MAINTAINED.
AFTER 4 CONSECUTIVE UNSUCCESSFUL PASSWORD ATTEMPTS, A USERID WILL BE REVOKED.
PASSWORD EXPIRATION WARNING LEVEL IS 186 DAYS.
INSTALLATION PASSWORD SYNTAX RULES:
RULE 1 LENGTH(4:5) LLLLL
RULE 2 LENGTH(5) AAAAA
RULE 3 LENGTH(6:8) LLLLLLLL
RULE 4 LENGTH(6:8) NNNNNNNN
RULE 5 LENGTH(6:8) AAAAAAAA
LEGEND:
A-ALPHA C-CONSONANT L-ALPHANUM N-NUMERIC V-VOWEL W-NOVOWEL *-ANYTHING
c-MIXED CONSONANT m-MIXED NUMERIC v-MIXED VOWEL $-NATIONAL s-SPECIAL x-MIXEDALL
DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE SWITCH FUNCTION.
DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE STATUS FUNCTION.
SECLEVELAUDIT IS INACTIVE
SECLABEL AUDIT IS IN EFFECT
SECLABEL CONTROL IS IN EFFECT
GENERIC OWNER ONLY IS IN EFFECT
COMPATIBILITY MODE IS IN EFFECT
MULTI-LEVEL QUIET IS IN EFFECT
MULTI-LEVEL STABLE IS IN EFFECT
NO WRITE-DOWN IS IN EFFECT. CURRENT OPTIONS:
"MLS WARNING" OPTION IS IN EFFECT
MULTI-LEVEL SECURE IS IN EFFECT. CURRENT OPTIONS:
"MLS WARNING" OPTION IS IN EFFECT
MULTI-LEVEL ACTIVE IS IN EFFECT. CURRENT OPTIONS:
"MLACTIVE FAIL" OPTION IS IN EFFECT
CATALOGUED DATA SETS ONLY, IS IN EFFECT. CURRENT OPTIONS:
"CATDSNS WARNING" OPTION IS IN EFFECT
USER-ID FOR JES NJEUSERID IS : ????????
USER-ID FOR JES UNDEFINEDUSER IS : ++++++++
PARTNER LU-VERIFICATION SESSIONKEY INTERVAL MAXIMUM/DEFAULT IS 30 days
APPLAUDIT IS IN EFFECT
ADDCREATOR IS IN EFFECT
KERBLVL = 0
MULTI-LEVEL FILE SYSTEM IS IN EFFECT
MULTI-LEVEL INTERPROCESS COMMUNICATIONS IS IN EFFECT
MULTI-LEVEL NAME HIDING IS NOT IN EFFECT
SECURITY LABEL BY SYSTEM IS NOT IN EFFECT
PRIMARY LANGUAGE DEFAULT : ENU / AMERICAN
SECONDARY LANGUAGE DEFAULT : ENU / AMERICAN

z/OS Security Server RACF コマンド言語 解説書

項目の説明

本来であれば該当設定が活性化されている場合と活性化されていない場合の両方を記載したいがマニュアル等で示されているサンプルが一方しか記載されていないことから分かる範囲で記載しています。
(NOT EFFECTがサンプルであればNOTを除くなどで逆のパターンを記載していることから実際の出力は異なる場合があります)
また、セキュリティシステム監査に直接関係ない項目は省略しています。
(以降の項目で必要があれば追記します)

ATTRIBUTESの項目

ATTRIBUTES = INITSTATS NOWHEN(PROGRAM) TERMINAL(READ) SAUDIT CMDVIOL NOOPERAUDIT

z/OS Security Server RACF コマンド言語 解説書

INITSTATS
RACF-DBにおいて統計情報を取得する場合に使用する。統計情報には最終ログイン日等をRACF-DB側に取得する機能であることから当該機能を使用していない場合には、次のようなRACFの機能が使用できない。非活性化している場合には「NOINITSTATS」と記載される。

  • 連続パスワード誤入力によるID使用不可とする設定

  • ユーザーIDを一定期間使用しなかった場合にID使用不可とする設定

NOWHEN(PROGRAM)
RACFを使用して各種ユーティリティ等のプログラムの実行を制御する場合に使用する。活性化している場合の表記は「WHEN(PROGRAM)」と記載される。

SAUDIT
RACFの特権であるSPECIAL 属性ユーザーIDが発行したRACFコマンド発行ログを取得する場合に使用する。非活性化している場合の表記は「NOSAUDIT」と記載される。

CMDVIOL
RACF関連のコマンドを発行した場合に権限不足で発行できなかった場合にログを取得する場合に使用する。非活性化している場合の表記は「NOCMDVIOL」と記載される。

NOOPERAUDIT
RACFの特権であるOPERATIONS属性ユーザーIDが権限検査において当該特権を理由にアクセスが許可されたログを取得する場合に使用する。活性化している場合の表記は「OPERAUDIT」と記載される。

AUDIT CLASSESの項目

AUDIT CLASSES = DATASET USER GROUP AIMS APPL DASDVOL GCICSTRN GIMS

z/OS Security Server RACF コマンド言語 解説書

データセットのアクセスログ等を取得する場合に使用する。ログには多くのパラメーターが関連していることから当該項目の詳細については別途ログ取得と保管にて解説します。

ACTIVE CLASSESの項目

ACTIVE CLASSES = DATASET USER GROUP ACICSPCT AIMS APPL BCICSPCT CCICSCMD…..

z/OS Security Server RACF コマンド言語 解説書

RACFにはデータセット以外にも各種のコマンド発行制御やミドルウェア(DB2やNetView等)制御を行う機能が用意されています。それを「一般資源」と呼び制御するその集合をクラスと呼んでいます。"ACTIVE CLASSES"に記載されているクラスは、RACFの管理下にあることを意味します。例えば特定コマンドを保護する場合には、該当コマンド制御に関するクラスを”ACTIVE CLASSES”に登録した上で、該当コマンドをどのIDにどの権限レベルで許可するかのプロファイルを作成することで制御することが可能となります。

次のような代表的なクラスがあります。
TAPEVOL
テープ装置上にあるデータセットをテープボリューム名を使用してアクセス制御を行う場合に使用する。
SURROGAT
JCL実行を他のユーザーIDを使用して実行する場合に使用する代理実行権限を制御する場合に使用する。
OPERCMDS
各種コマンドの発行を制御する場合に使用する。
FACILITY
雑多な用途で使用する。例えば特定IDに対してのみ他のユーザーIDのパスワード変更権限を与えるなどを制御する場合に使用する。

GLOBAL CHECKING CLASSESの項目

GLOBAL CHECKING CLASSES = VMMDISK

z/OS Security Server RACF コマンド言語 解説書

RACFにおける権限検査の順番は非常に複雑であり別途解説する記事にてご説明します。具体的には下記マニュアルが該当します。

CPUやメモリー資源が乏しい時代に多量の権限検査を行うことは非常に負荷の大きい処理でした。そのため、GLOBAL CHECKING CLASSESに一部クラスを定義し、別途権限検査を行わない範囲を指定することで一部の権限検査をバイパスする仕組みが導入されました。
現代ではCPUやメモリー等の性能が向上したことであまり使用されない仕組みですが、権限検査がバイパスされた範囲が適切であるかを確認する必要があります。

LOGOPTIONS "xxxxxx" CLASSESの項目

LOGOPTIONS "ALWAYS" CLASSES = DASDVOL GDASDVOL…
LOGOPTIONS "NEVER" CLASSES = FACILITY VMXEVENT….
LOGOPTIONS "SUCCESSES" CLASSES = APPCLU RACFVARS…. LOGOPTIONS "FAILURES" CLASSES = DATASET PMBR PROGRAM….. LOGOPTIONS "DEFAULT" CLASSES = GTERMINL TAPEVOL TERMINAL….

z/OS Security Server RACF コマンド言語 解説書

データセットのアクセスログ等を取得する場合に使用する。ログには多くのパラメーターが関連していることから当該項目の詳細については別途ログ取得と保管にて解説します。

PROTECT-ALL OPTION IS NOT IN EFFECTの項目

PROTECT-ALL OPTION IS NOT IN EFFECT

z/OS Security Server RACF コマンド言語 解説書

RACFはデータセットを保護するプロファイルに基づきデータセットへのアクセス可否を判断します。データセットを保護するプロファイルがない場合については当該オプションに従い処理されます。
当該オプションは設定していることが望ましいオプションとなりますが、古くから稼働しているシステムであればあるほど実装は困難となります。逆に新規に構築する場合は、当該オプションの実装は稼働しているシステムに比べれば容易であることから実装することが望ましいと考えます。

PROTECT-ALL OPTION IS  IN EFFECTの場合
プロファイルが存在しない場合には、OPERTAION属性等の特権を持たないユーザーIDによるアクセスを拒否します。

PROTECT-ALL OPTION IS NOT IN EFFECTの場合
プロファイルが存在しない場合には、アクセスを許可します。

TAPE DATA SET PROTECTION IS ACTIVEの項目

TAPE DATA SET PROTECTION IS ACTIVE

z/OS Security Server RACF コマンド言語 解説書

TAPEに存在するデータセットを保護するためのオプションとなります。TAPEに関するアクセス制御は非常に複雑で先述のTAPEVOLクラスおよび当該TAPEDSNの片方または両方を使用することができます。また、テープ管理の製品やz/OS側の機能を使用して行う方法も存在します。そのため、TAPEのデータセットをどのように保護を行っているかをSETROPTSだけでは判断できません。TAPEの保護方式については、被監査システムのシステム担当者にヒアリングをして確認することが望ましいです。

TAPE DATA SET PROTECTION IS ACTIVEの場合
TAPEに存在するデータセットを、テープに存在するデータセット名に使用してアクセス制御を行います。

TAPE DATA SET PROTECTION IS ACTIVEの場合
TAPEに存在するデータセットを、テープに存在するデータセット名に使用してアクセス制御を行いません。

THE ACTIVE PASSWORD ENCRYPTION ALGORITHM IS KDFAESの項目

RACFが管理しているユーザーIDに紐づくパスワードの暗号化(ハッシュ化)の方式に関する項目です。ただし、パスワードの暗号化方式は当該オプションを使用する以外の方式もあることから、被監査システムのシステム担当者にヒアリングをして確認することが望ましいです。

THE ACTIVE PASSWORD ENCRYPTION ALGORITHM IS KDFAESの場合
「KDFAFES」を使用してパスワードを暗号化(ハッシュ化)を行います。

PASSWORD CHANGE INTERVAL IS 254 DAYS.の項目
PASSWORD MINIMUM CHANGE INTERVAL IS 2 DAYS.の項目

PASSWORD CHANGE INTERVAL IS 254 DAYS. PASSWORD MINIMUM CHANGE INTERVAL IS 2 DAYS.

z/OS Security Server RACF コマンド言語 解説書

RACFが管理するIDの全体に適用されるパスワード変更期間に関するオプションとなります。

PASSWORD CHANGE INTERVAL IS xxx DAYS. PASSWORD MINIMUM
パスワード変更を求める期間を定めています。RACFが管理するIDは、当該設定を過ぎるとログイン時等にパスワード変更が求められることになります。

一方で個々のIDに対してもパスワード変更期間を設定することが出来ますが、当該設定期間以上を設定することは出来ません。
(パスワード無期限設定のユーザーIDを除く)

CHANGE INTERVAL IS x DAYS.
最小パスワード期間を定めており、1日と設定していればパスワード変更を行った翌日以降にしか次のパスワード変更を行うことが出来ません。0日の場合は、制限なく当日中に何度でもパスワード変更を行うことが出来ます。
当該要件を設定していない場合には、当日中に複数回パスワードを変更することで過去に使用したパスワードを使用できない設定を回避することが可能です。当該設定の要件を受けるのは、あくまで自己でパスワードを変更する場合が対象となるだけであり特権等を使用した強制的なパスワード変更は影響を受けません。

【当該要件適用時の注意事項】
貸出ID使用後のパスワードリセットを特権を使用せず、通常のパスワード変更による運用を行なっている場合には、運用等の見直しを行わなければ当該設定を適用できません。
(当日中に2度以上貸出IDの貸出が行われた場合にパスワードリセットを実施することが出来ません)

MIXED CASE PASSWORD SUPPORT IS IN EFFECT.の項目
SPECIAL CHARACTERS ARE ALLOWED.の項目

MIXED CASE PASSWORD SUPPORT IS IN EFFECT.
SPECIAL CHARACTERS ARE ALLOWED.
INSTALLATION PASSWORD SYNTAX RULES: 
 RULE 1 LENGTH(4:5) LLLLL
 RULE 2 LENGTH(5) AAAAA
 RULE 3 LENGTH(6:8) LLLLLLLL
 RULE 4 LENGTH(6:8) NNNNNNNN
 RULE 5 LENGTH(6:8) AAAAAAAA
LEGEND: A-ALPHA C-CONSONANT L-ALPHANUM N-NUMERIC V-VOWEL W-NOVOWEL *-ANYTHING c-MIXED CONSONANT m-MIXED NUMERIC v-MIXED VOWEL $-NATIONAL s-SPECIAL x-MIXEDALL

z/OS Security Server RACF コマンド言語 解説書

パスワードに使用可能な文字やパスワード構文に関するオプション設定となっています。上記のようなルール1〜5のように記載しますが、他の分散系で求められているような柔軟なパスワードルールを指定することが出来ません。そのため、EXITを導入することでより柔軟なパスワードルールを設定することが可能です。そのため、SETROPTS LIST側でのパスワードに加えEXIT側のパスワードルールも合わせて確認する必要があります。
(RACF関連のEXITの導入は、DSMONに関する部分でご説明します)

出口を使用すると、RACF 規則を拡張できますが、RACF 規則をオーバーライドできません。 出口と RACF 規則は、互いに矛盾しないようにしてください。

Security Server RACF システム・プログラマーのガイド

RACFとEXITのパスワードルールの2つを合わせることで当該システムに適用されるパスワード構文ルールとなります。(両方が適用されます)

13 GENERATIONS OF PREVIOUS PASSWORDS BEING MAINTAINED.の項目

13 GENERATIONS OF PREVIOUS PASSWORDS BEING MAINTAINED.

z/OS Security Server RACF コマンド言語 解説書

過去に使用したパスワードの使用を抑止する項目です。上記の場合では、13世代過去のパスワードを使用禁止となります。

DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE SWITCH FUNCTION.の項目
DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE STATUS FUNCTION.の項目

DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE SWITCH FUNCTION.
DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE STATUS FUNCTION.

z/OS Security Server RACF コマンド言語 解説書

RACF-DBの項目で説明したRACF-DB等の障害時に要求されるパスワード設定の確認となります。

DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE SWITCH FUNCTION.
DEFAULT RVARY PASSWORD IS IN EFFECT FOR THE STATUS FUNCTION.の場合

当該設定の場合は、RACF-DB等の変更を行う時にパスワードを求められる設定となっています。ただし、当該設定となっていても一度もパスワードを変更していない場合には、デフォルトパスワードである”YES"が適用されます。初回パスワードから変更していることを被監査システムのシステム担当者にヒアリングして確認してください。

監査ポイント

RACFの必要な統計情報を取得する設定となっていますか。

RACF特権に関するログは適切に取得する設定となっていますか。

TAPE上のデータセットは適切に保護する方式となっていますか。

パスワード有効期限は適切に設定されていますか。

パスワード構文ルールは適切に設定されていますか。

過去のパスワードの使用をシステム的に抑止していますか。

この記事が気に入ったらサポートをしてみませんか?