Take control of which profiles have been assigned special authorities instead.
Every so often, I get asked for a list of "sensitive" commands that need to be secured. This request always puzzles me. If you control who has special authorities--especially *ALLOBJ special authority--and have a good object-level authority scheme in place, specifically securing a set of commands is usually unnecessary. Let's take a closer look.
What We Can Rely On
When it comes to who can run the commands that some people consider "sensitive," IBM has already done a lot of the work for us. IBM ships many commands considered dangerous or sensitive as *PUBLIC *EXCLUDE. Examples include Power Down the System (PWRDWNSYS) and End TCP/IP (ENDTCP). The complete list of commands that ship as *PUBLIC *EXCLUDE is in the Security Reference manual, Appendix C.
In addition, many commands require the user to have one or more special authorities. The commands that allow the user to create, change, and delete user profiles are examples of this type of command. To create a user profile, the user must have *SECADM special authority. If you limit which profiles have *SECADM, you've controlled who can successfully run the user profile-related commands.
Finally, many commands require the user to have authority to one or more objects. For example, there's no need to secure the Edit Object Authority (EDTOBJAUT) command if you have a good object-level security scheme in place. With a good security architecture, most users won't have sufficient authority to an object to be able to change its authority. The objects to which a user must be authorized as well as the special authorities required by each command are documented in the Security Reference manual, Appendix D.
Locking the Doors
Attempting to protect your system and data by securing commands is a bit like locking your doors but leaving the safe where your jewels are stored wide open. Many ways exist to access data. Attempting to lock down every command that may do harm or allow inappropriate access to data will consume huge amounts of your time and will likely not fully protect your system and data. New access methods (i.e., commands) are added with each release. So not only do you have to find all new commands, but you need to be looking at APIs as well. A better use of your time is to secure the objects themselves. Then, regardless of the method used to access them, you know they're secured appropriately.
I do have a couple of exceptions when it comes to my "no need to secure commands" mantra. Sometimes you just don't want certain activity to occur. For example, perhaps you have a policy that says that, for performance reasons, absolutely no queries are to be run on the production system; they can only be run on the data warehouse system. Or perhaps you have such a large system that bringing up the Work with Active Jobs (WRKACTJOB) screen is impractical. When you're trying to prevent some action, I do recommend that the associated commands be secured.
The other exception is when your auditors demand it. I've seen auditors require that the Create, Change, and Delete User Profile commands be secured. To the auditor, it didn't matter that they required *SECADM special authority to run successfully. In his mind, having those commands as *PUBLIC *USE was an exposure. In that case, I'd try to explain the situation, but sometimes it's just easier to secure the commands as to fight that battle.
How Policy Minder Can Help
Taking control of which profiles have been assigned special authorities can greatly limit who can run powerful or sensitive commands. Policy Minder makes it easy for you to keep track of these users and can, in one step, automate the process of identifying any new profiles assigned a special authority since the last compliance check was run.
The library and directory categories of Policy Minder allow you to regularly check how objects are secured, helping you ensure that additional private authorities have not been assigned, the *PUBLIC authority has not been altered, and the authorization list has not been changed for critical objects such as files.
Finally, Policy Minder has a specific category for commands so that you can automate the checks to ensure specific commands are secured according to your auditor's or your procedural requirements.