Question: The limit capability (LMTCPB) parameter on my user profiles is set to *YES. However, I'm still seeing the IBM default sign-on screen whenever I load Windows 3.1 Client Access. Do I need to create a new sign-on screen for user profiles that have LMTCPB set to *YES? How do I design a screen menu?
Answer: You do not need to create a new sign-on screen for users who have limited capability. The default IBM screen has the fields that allow users to change their initial program, menu, and current library. If users enter these fields, the information will be ignored during the sign-on process if they are limited-capability users.
The AS/400 Work Management Version 4 guide (SC41-5306, CD-ROM QB3ALG00) contains the details on changing the sign-on screen. It recommends removing the fields that allow users to change their initial program, menu, and current library at sign-on. As an additional protection, I add a message on the sign-on screen, such as "Warning: Use of this system is limited to management-approved projects." This message warns hackers they should not enter the system and aids in the prosecution of unauthorized users.
Question: I've checked the system library list in our system with the Display Library List (DSPLIBL) command, and there is another library that appears before the QSYS. What is the security exposure I face? And what are the actions I need to take?
Answer: There is no exposure to having a library before QSYS in the library list as long as users are not authorized to store objects in the library. If the *PUBLIC authority is *USE, there is no exposure. If the *PUBLIC authority is *CHANGE, users are authorized to add objects to the libraries in front of QSYS. There is the potential that a hacker could place a command (or another object) that will be used unknowingly by users. (See "Security Patrol," MC, March 1997, for a more detailed description of this problem.)
I recommend that all system managers use DSPLIBL to determine the names of libraries in front of QSYS. An alternate method is to display the system value QSYSLIBL to determine the
This technique is often used to change the default parameters on IBM-supplied commands. For instance, you may want the default size of a database file to be larger than 13,000 records. You create a duplicate of the Create Physical File (CRTPF) command in your library and change the default Size parameter. This technique is also useful for securing certain options on commands from general use. You secure the IBM command so no one can directly execute the command by qualifying the name (e.g., QSYS/CRTPF). You then create your own command of the same name in your library and perform whatever processing you want before calling the IBM-supplied command.
Question: I came across an AS/400 object QPWFSERVER in the QSYS library. The object type is *AUTL, and the owner is QSYS. The strange thing is that both the object creator and the system created on are blank. What do I make of this? As the object name starts with Q, could it be a system-generated object?
The QPWFSERVER authorization list grants *ALL object authority to QSYS and *USE to *PUBLIC. No other user is listed. No objects are secured by this authorization list. If this authorization list is deleted, will there be any unwelcome side effects on the AS/400 operations? If it is not deleted and remains in the system, would there be a security exposure?
Answer: You did an excellent job documenting your problem. This makes it easier to answer your question. The authorization list QPWFSERVER is an IBM-supplied object, as you suspected. The purpose of the QPWFSERVER authorization list is to control which users can list the contents of the QSYS.LIB in the Integrated File System (IFS). The IFS uses the directory name QSYS.LIB to access AS/400 objects. (In "Security Patrol," MC, June 1997, I documented how the authorization list QPWFSERVER prevented a potential exposure from PC users using Windows Explorer to delete AS/400 objects.)
QPWFSERVER is shipped with a public authority of *USE, which allows all users access to the QSYS.LIB directory (AS/400 libraries). To prevent access to QSYS.LIB, use the Edit Object Authority (EDTOBJAUT) command to change the *PUBLIC authority to *EXCLUDE. If a PC user attempts to access the QSYS.LIB folder, Client Access informs him that he is not authorized to the folder.
If you want to allow some users to reference the QSYS.LIB file system using IFS, give those users *USE access to the authorization list.
I do not recommend removing QPWFSERVER from the system. I suspect that may cause problems, because the IFS checks the authorization list prior to accessing the directory QSYS.LIB. If the authorization list were missing, bad things might result. You can reduce the risk by changing the *PUBLIC authority to *EXCLUDE.
Wayne O. Evans is an AS/400 security consultant and a frequent speaker on security topics. During his 27 years with IBM Corporation, he was involved with AS/400 security design issues. Prior to working on security, Wayne worked on message handling and work management and was the team leader for the command definition and CL language on the S/38.