This article explores some of the security system values that deal with user profile creation and maintenance.
Setting up security on your AS/400 doesnt have to be a chore. Although it can appear to be a daunting task when you first look at all the available system values, its really not that bad if properly planned and implemented. Of all the security features available on the AS/400, passwords are the first line of defense against intruders. This article takes an in-depth look at the system values that relate to password security and explains how you can use them to make your AS/400 as secure as possible.
Many of the suggestions offered in this article are those of IBM and the Security Reference Guide. As a security administrator, I cannot say I agree with all of these suggestions. However, they are here for your reference.
One of the first things you need to do on your system is set up user profiles for each of your users, and, if you are at security level 20 or above, each user profile must have a password that allows the user to sign on to the system. Ill start by looking at which values affect the creation or maintenance of user profile passwords.
Creating and Maintaining Passwords
You can change passwords according to certain rules. Some of these rules are enforced by OS/400 on all passwords, and some of the rules are enforced according to the contents of the following system values.
All user profile passwords have a maximum length of 10 characters, and the first character must be alphabetic; the rest can be any alphanumeric value. Two system values work together to control the number of allowable characters: QPWDMINLEN and QPWDMAXLEN. As their names imply, QPWDMINLEN controls the minimum length of a password, and QPWDMAXLEN controls the maximum length. IBM recommends
setting the value of QPWDMINLEN to five. This forces users to be creative in choosing a password, eliminating the use of initials or easily guessed short names. You must balance the need for security with the reality that most people cant remember a 10-character password. If your AS/400 communicates with other systems, the maximum length should be set to eight because some systems will not accept a password of more than eight characters.
Users should change their passwords periodically so they dont get too comfortable with their passwords and share them with others. Further, if an unauthorized person does learn someones password, regularly scheduled password changes will prevent him from using it after a certain amount of time. The QPWDEXPITV system value allows the system to handle this for you. It controls the number of days that a password remains valid after its been issued or changed. You should set this value with a time period short enough to provide adequate security but long enough to keep your users from getting annoyed when the system forces them to change their passwords. IBM recommends 45 to 60 days. As with all system issues, you must tailor this value to your installation. Some small shops may be comfortable with setting this value to *NOMAX, which never forces users to change their passwords. On the other hand, large businesses with hundreds of users may want to make their users change passwords monthly.
QPWDEXPITV is a system value, and it applies only where the password expiration interval of the user profile is set to *SYSVAL, which is the default. You may choose to set the profile expiration to a different number of days than that which is specified by the system value. Do this by setting the Password expiration interval (PWDEXPITV) parameter on the user profile to a value of 1 to 366 days; *NOMAX; or the default, *SYSVAL. By setting it to a specific number of days, you ensure that the system will set the user profiles Password expired (PWDEXP) parameter to Expired after the specified number of days has elapsed, unless the user changes the password.
Batten Down the Hatches
Those are the most commonly used system values to control password security. However, IBM didnt stop there. Figure 1 shows other important system values that control password security.
Several system values dont affect the users password but do control the way users sign on to the system. These system values are extremely important and can be used to thwart would-be intruders. Figure 2 shows the details of these system values.
Limiting Multiple Sign-ons
The last two system values Ill discuss determine whether users can sign on at more than one terminal at a time. Figure 3 explains these values. In many instances, its easier to control internal security if users have access to only one terminal so that you can trace security violations when they occur. Using these system values along with object authorities can help control who signs on to which terminals and how many concurrent sessions users are allowed.
The QLMTDEVSSN system value controls whether regular users can sign on to multiple terminals. A value of 1 restricts users to one terminal. They still have access to group jobs and system request to start another session.
For users with the special *ALLOBJ or *SERVICE authorities, the QLMTSECOFR system value can be used in a slightly different way to limit terminal access. A value of 1 limits users with these special authorities to only devices for which they have explicit authority. A value of 0 allows them to sign on to any device. Using these system values can help control who signs on to which terminals and how many concurrent sessions users are allowed.
The Value of System Values
System values work with user profiles, object authorities, and other system resources to control system security. The one thing thats different about system values is that they can affect everyone. When you change one, make sure you know what overall impact that change will have on your system. For example, if you disallow A, E, I, O, and U from being valid characters in a password, users will not be able to form English words and may have difficulty remembering their passwords.
Print all of your system values (WRKSYSVAL OUTPUT(*PRINT)), and keep them handy. When you change a security value, or any system value, either make that annotation or print out a new list.
And remember that when you make a change to these values, they can be changed back. Only users with All Object (*ALLOBJ) and Security Admin (*SECADM) authority in their user profiles can make changes to system values, so try to limit this power to as few people as possible.
CL Reference, V3R1 (SC41-3722, CD-ROM QBKAUP00) Security Reference Guide, V3R1 (SC41-3302, CD-ROM QBKALC00)
Value Description Valid Values
QPWDLMTAJC Limits the use of contiguous 0Numeric characters allowed (Limit adjacent numeric characters in the password. next to each other digits in password) Use of this system value keeps people from using easily guessed 1Numeric characters not allowed passwords such as social security next to each other numbers or birthdays.
QPWDRQDDIF Determines whether the new 0Allow duplicate passwords (Required differences password must be different to be used
in passwords) from the old password. 1Disallow previous 32
2Disallow previous 24 3Disallow previous 18 4Disallow previous 12 5Disallow previous 10 6Disallow previous 8 7Disallow previous 6 8Disallow previous 4
QPWDLMTREP Determines if a password can 0Can be repeated (Limit repeating have repeating characters 1Cannot be repeated characters) in the password 2Cannot be repeated consecutively
QPWDRQDDGT Determines if users are required 0Numbers not required (Require digit to have a number (0 to 9) 1At least one number required in password) in their passwords.
QPWDLMTCHR Limits the use of certain characters A to Z, 0 to 9 (Limit characters in a password, and allows you to
in password) specify up to 10 characters that *NONESpecial characters #, $, cannot appear in a password. underline (_), and @
QPWDPOSDIF Determines if a user can use 0Corresponding characters (Limit password same character in the same can be used character positions) position in the new password 1Corresponding characters
as in the old password cannot be used
QPWDVLDPGM* An external program used *NONENo program is used (Password validation to validate new passwords
QPWDMINLEN Sets the minimum number 1 to 10 (Minimum length of characters that a
of password) password can have
QPWDMAXLEN Sets the maximum number of 1 to 10 (Maximum length characters that a password
of password) can have
QPWDEXPITV Determines when you want the 1 to 366, *NOMAX default to cause the users
password to expire.
*IBM does not recommend using this system value, as it poses a security threat. With a validation program, passwords are passed unencrypted to the validation program when the user logs on. This validation program, requires three variables in this order: a 10-character new password, a 10-character old password, and a one-character return code that must be a 0 for a valid password and any other character for an invalid password.
Figure 1: System values that affect passwords
Value Description Valid Values
QMAXSIGN Limits invalid attempts to sign on 1 to 25, *NOMAX (Maximum sign-on
QMAXSGNACN What to do when QMAXSIGN is reached 3Disable profile and device (Action to take 2Disable profile for failed sign-on 1Disable device attempts)
QDSPSGNINF Display sign-on information 0Do not show sign-on display (Sign-on display 1Show sign-on display information control)
Figure 2: System values that affect signing on to the AS/400
Value Description Valid Values
QLMTDEVSSN Limits regular users to 0Do not limit to one sign-on (Disallow or allow multiple sessions 1Limit to one sign-on multiple sign-ons)
QLMTSECOFR Limits security officers to 0Explicit device access not needed (Disallow or allow multiple sessions 1Explicit device access needed multiple sign-ons by