2009年11月28日 星期六

DSMon Report種類

以下為呼叫DSMon Report Utility的JCL

//STEP1   EXEC  PGM=ICHDSM00
//SYSPRINT DD   SYSOUT=A
//SYSUT2      DD   SYSOUT=A
//SYSIN         DD
     LINECOUNT    55                            ==>定義產製出來的Report每頁要有幾行
     FUNCTION      ALL                           ==>要呼叫那些功能,這些功能對應到DSMon可以產生的11種報表
     USEROPT         USRDSN        PRODUCT.PLANS.SECRET  ==>User defined的選項

下圖為FUNCTION這個Control Statement參數與DSMon可以產生的11種報表的對應

image

image

下圖則列出USEROPT這個Control Statement參數所對應的報表

image

接下來簡單地介紹DSMon可以產生的11種報表。

SYSTEM REPORT

System Report包含下列資訊

  1. 機器的型號及ID (CPU ID)
  2. 作業系統的名稱、版本資訊
  3. 開機磁碟的Volume序號(SYSRES Volume)
  4. 定義在SMF內的系統ID
  5. RACF版本及RACF是否處於啟動狀態

System Report可以用來確認目前機器使用了正確的硬體。另外,若RACF是處於Inactive狀態, System Report會列出  “RACF VERSION n RELEASE  m  IS INACTIVE。下圖為System Report的內容

image

GROUP TREE REPORT

Group Tree Report預設會遞迴地列出所有SYS1這個群組下面所有的子群組樹。若使用者使用USEROPT這個control statement指定其它群組名稱,則會列出該群組的群組樹。所列出來的群組樹中,若任何群組的父群組不是該群組的Owner,會另外列出該群組 Profile的Owner名稱。

我們可以使用Group Tree Report來檢視RACF中任一群組的結構資訊,以了解群組的結構是否正確。下圖為Group Tree Report的內容
image

Program Properties Table Report

PPT report列出所有定義在Program Properties Tables中的程式,PPT這個Table可以訂定那些程式可以bypass掉RACF的密碼保護機制。下圖為PPT report的範例。其中BYPASS PASSWORD PROTECTION欄位定義該程式能否bypass掉RACF的密碼保護;SYSTEM KEY則指出該程式是否會執行於 Supervisor State中,且可存取系統的Control Block資訊

image

RACF Autorized Caller Table Report

這份報表可以列出所有列在 RACF Autorized Caller Table中的程式,通常應該不會有記錄,若有記錄表示有人寫exit來bypass RACF的功能,以下為範例。其中  RACINIT AUTHRIZED表示該程式有無權限發出 RACF的 VERIFY請求;RACLIST AUTHORIZED則表示該程式有無權限發出 RACF的 LIST請求。

這個Report非常重要,因為任何一個可發出VERIFY請求的程式可以建立或修改Accessor Environment Element(ACEE)的內容。因為ACEE放置的是當前使用者的資訊,如user ID、所屬的群組、使用者的一些屬性等。可以修改這些資訊的程式可以模擬任何使用者的ID。而任一個有RACLIST權限的程式可以Load任何RACF的任一個Profile到main storage中,可以檢視或修改這些Profile的內容

image

RACF Class Descriptor Table Report

這份報表可列出Class Descriptor Table所定義的General Resource classes。每個General Resource的Class都必需定義在 Class Description Table中,然後使用 SETROPTS CLASSACT(class_name) 指令啟動該class,讓RACF進行Authorization的檢查。這份報表列出所有定義在CDT中的class目前的狀態。下圖為範例。其中
STATUS        欄位標示這個class目前有無啟用;
AUDITING  標示有無logging這些class所保護的資源的存取;
STATISTICS標示是否保留這些class的統計數據
DEFAULT UACC標示這些class所管轄的Profile預設的UACC值,若值為ACEE,則值為定義該resource profile的User其user Profile中的UACC值
OPERATIONS ALLOWED標示在做Authorization checking時,要不要考慮存取者的OPERATION屬性?

image

RACF EXIT REPORT

EXIT report列出系統中定義的所有RACF exit routine,以及這些routine的大小,所以由此報表可以確認目前系統定義的RACF exit都是合法的,如果發現到這些exit routine的大小變動了,表示這些RACF exit有被變動過。以下為範例

image

RACF Global Access Checing Table Report

此報表列出所有定義在Global Access Checking Table的 Resource Class。當RACF在做authorization checking時,針對沒有用 RACLIST這個指令將其load到記憶體的profile,會先check這個Global Access Checking Table的內容,若這個表格定義錯誤,會導致錯誤的授權。下圖為範例

image

RACF Started Procedures Table Report

Started task在執行時,也必需是以某個ID及Group的身份執行,在RACF2.1之前,RACF用 Started Procedure Table指定User ID/Group 給Started Task,自從RACF2.1後,RACF可以定義STARTED這個class的Profile,來指定User ID/Group給Started Task。這份報表會顯示出定義在Started Procedures Table及STARTED 這個class的Profile。下圖為範例。其中

PRIVILEGED欄位表示該Started Task能否bypass所有security check
TRUSTED 欄位也是表示該Started Task能否bypass security check,不過最少在存取resource時,會被log起來

image

Selected User Attribute Report

此報表列出所有有SPECIAL、OPERATIONS、AUDITOR或REVOKE特殊屬性的使用者,並且顯示這些屬性的Scope是System level或Group level。儘量在系統離峰的時間產制這份報表,因為產生此報表需要較大的系統資源,會影響到系統的效能。下圖為範例

image

Selected User Attribute Summary Report

此份報表顯示出系統中具有SPECIAL、OPERATIONS、AUDITOR或REVOKE這些特殊屬性(不管是System level或Group level)的使用者的數目。下圖為範例。與Selected User Attribute Report一樣,這份報表的產製一樣較耗系統資源,儘量在離峰時間做

image

Selected Data Set Report

此分報表列出系統前Dataset(包含RACF database)的安全狀態,如果Volume Serial是空白的話,這個Dataset是未被catalog的Dataset。這裡選擇Dataset的原則如下

  • LNKLST : LNKLST concatenation 的dataset,包含SYS1.LINKLIB及SYS1.PARMLIB(LNKLSTxx)所描述的dataset
  • APF:APF list中所包含的dataset,包含SYS1.PARMLIB中的 IEAAPFxx或PROGxx 這兩個member的dataset
  • LNKLST-APF:既是LNKLST也是APF的dataset
  • MASTER CATALOG:z/OS的master catalog
  • USER CATALOG
  • RACF PRIMARY:primary的RACF dataset
  • RACF BACKUP:RACF的備分dataset
  • SYSTEM:
    • SYS1.CMDLIB:TSO command library
    • SYS1.LNKLIB: 主要的System library
    • SYS1.LPALIB: Pageable system code及common module。這些程式是以APF-authorized的方式執行
    • SYS1.NUCLEUS:System code 本身
    • SYS1.PARMLIB
    • SYS1.PROCLIB
    • SYS1.SVCLIB:舊的系統Supervisor call library
    • SYS1.UADS:TSO使用者的屬性 Dataset
  • USRDSN:在USEROPT這個Control Statement所指定的其它dataset

下圖為範例。其中

RACF INDICATED欄位可能的值如下

  • YES:表示RACF indicator被設為ON
  • NO:表示RACF indicator被設為OFF
  • N.C.:表示該dataset沒有被列在Master Catalog
  • N.M.:表示該dataset所在的volume沒有被mount進來
  • N.F.:DSMON utility無法在catalog記錄的volume中找到該dataset

RACF PROTECTED欄位表示RACF有無相對應的Profile保護該Dataset

UACC欄位表示這些Dataset的UACC值

image

沒有留言:

張貼留言