IBM Security Z Security

Security for Z

Join this online user group to communicate across Z Security product users and IBM experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Cmd Verifier - =CTLSPEC problem

    Posted Mon August 08, 2022 05:59 AM
    Hello,
    (zSecure 2.4 and 2.5)
    Recently I have noticed a strange behaviour of my tech. user - it has "UPDATE" access to C4R.ALTUSER.=CTLSPEC (the Controlled Temporary system-level attribute) - if I understand correctly to operate with that control-SPECIAL I have to defined the right C4R.XXXX.YYY profiles+permits which will allow some particular actions ? If I wouldn't define any additional profiles the command-actions of my tech. user will be not possible (with violations on XFACILITY -

    "Resource access (Failure:Profile required and not found) "

    ?) nad nothing in RACF DB will be done ?
    Currently I can see that violations on the XFACILIT class but my tech. user is able to run with some ALTERUSER cmds on the RACF objects like:

    "ALTUSER A11111 NAME('TEST TEST')"

    with success (- no Racf xfacilit profile like: C4R.USER.NAME.BGROUP.A11111 - or similar more generic)

    Did it work as designed ? or the CTLSPECIAL requite the addition XFACILIT profiles ?

    Which could have caused racf to allow this operation ? (no grp-special, no 

    Thx for any info.
    Sławomir Bujniak
     


    ------------------------------
    Regards
    Sławomir Bujniak
    ------------------------------


  • 2.  RE: Cmd Verifier - =CTLSPEC problem

    Posted Mon August 08, 2022 10:14 AM
    Edited by Rob van Hoboken Mon August 08, 2022 10:16 AM
    Controlled temporary special requires that each parameter specified by the user (that can be protected) is protected by an XFACILIT rule.  Check Figure 12 "Policy profiles used to determine whether Controlled Temporary system-level attributes can be assigned" at or around page 52 for the list of resources that must be protected.
    The resource you mentioned (C4R.USER.NAME.BGROUP.A11111) suggests that the techuser wanted to change the NAME field of user ID A11111, which is owned by BGROUP.  By defining, e.g., C4R.USER.NAME.B*.*, you would allow them to change the name of any user ID owned by a group that starts with a B.
    Parameters that are mapped to unprotected resource names are denied for controlled temporary special, unless command verifier has no support for the parameter in the first place.

    ------------------------------
    Rob van Hoboken
    ------------------------------


  • 3.  RE: Cmd Verifier - =CTLSPEC problem

    Posted Tue March 17, 2026 04:05 AM

    Hello 

    Just a another question - Im connected to (GroupA) and (GroupB with group-Special) having access to C4R.command.=CTLSPEC + accesses for specific C4R profiles for GroupA etc - I will not able to use my group-Special during commands against GroupB objects ?. It says the lack of profiles... Pls just confirm that =CTLSPEC access deprives the group-special benefits for the other groups where the C4R profiles are not defined.

    Thank you.

     



    ------------------------------
    Regards
    Sławomir Bujniak
    Kyndryl
    ------------------------------



  • 4.  RE: Cmd Verifier - =CTLSPEC problem

    Posted Thu March 19, 2026 04:14 AM

    Hi Sławomir.

    Command Verifier's primary purpose was to deny inappropriate commands.  The policy profiles would deny a command, even if it was issued by a system special, if a relevant policy profile exists and the user does not have enough access.  For example, you can deny some of the system specials from modifying ICSF related profiles, while allowing others full control of them.

    Later on, policy functions were added to improve commands, e.g., by adding default values, and temporarily granting a privilege for the command.

    So lets look at controlled system special.  This allows a command to run with system special, if the parameter in the command match with a policy profile and the user has access.  Quoting from the documentation

    Temporary attributes are now applied only for those commands that are allowed, and for which a policy profile exists. So, if somebody wants to change the ADSP attribute and there is no policy profile for setting this attribute, the command is passed to RACF®, which in turn can accept or reject the command. The commands are not run with temporary SPECIAL or temporary AUDITOR because there is no applicable policy profile for the ADSP attribute. 

    This implies, if there is no policy profile for a parameter in the command, the command is (documented to be) allowed to execute without system special.  In your case, it would be allowed to use group special, if there is no policy profile that prevents the command.

    Note, if a command is denied the use of temporary system special by an existing policy profile, it won't be allowed to run without the privilege either.

    You might want to issue TSO PROFILE WTPMSG to see if a C4R profile denied access to a policy.



    ------------------------------
    Rob van Hoboken
    ------------------------------



  • 5.  RE: Cmd Verifier - =CTLSPEC problem

    Posted Fri March 20, 2026 03:28 AM
    Edited by Sławomir Bujniak Fri March 20, 2026 04:57 AM

    Hi Rob,

    Yes, I agree - with my CTLSPEC for ALTUSER (and the right profiles for GroupA) I can operate on GroupA and in that same time with regular Group-Special for GroupB I can also operate on GroupB users with success but I get the message:

    ICH408I USER(S000SSS ) GROUP(GROUPB  ) NAME(KYNDRYL TEST ID1    )                
       C4R.USER.NAME.GROUPB.TESTUB CL(XFACILIT)                                      
       PROFILE NOT FOUND - REQUIRED FOR AUTHORITY CHECKING                            
       ACCESS INTENT(UPDATE )  ACCESS ALLOWED(NONE   )                                
    C4R638I Uncontrolled options prevented use of Controlled Temporary Special: Name 
    ***   

    Some admins can thinking their commands will be rejected - but no - the RACF group-special commit the change after that message above.

    Perhaps that CV message might be a bit confusing at first :-)

    (one of home made tool does not show that C4R638I msg - just racf violations...)

    Thank you



    ------------------------------
    Regards
    Sławomir Bujniak
    Kyndryl
    ------------------------------