In an earlier article (see Helping Secure Your System with QAUTOCFG, Client Access/400 Expert, September/October 1996), I examined the AS/400 autoconfiguration utility, autoconfig, and QAUTOCFGs role in configuring OS/400 controllers and devices for PC terminal emulation products, such as Client Access.
You may not realize that there is a second autoconfiguration utility on the AS/400, one that is geared specifically toward passthrough and Telnet sessions. This utility is controlled by the Automatic Configuration of Virtual Devices system value, QAUTOVRT.
In this article, I am going to look at the role QAUTOVRT plays in allowing virtual devices to attach to your AS/400. I will examine how QAUTOVRT is different from QAUTOCFG, how it works, and how it interacts with the Maximum Sign-on Attempts Allowed system value, QMAXSIGN. I will also discuss how QAUTOVRT can create security holes in your system and how to patch them.
What Is QAUTOVRT?
QAUTOVRT is the AS/400 system value that controls the creation of a virtual device when a user attempts to remotely attach to your AS/400. It is easily confused with the autoconfiguration utility, but there are some significant differences in how each option works.
Autoconfig is activated through the QAUTOCFG system value. Autoconfig tells OS/400 whether to automatically configure controllers and devices for local equipment that is directly connected to your AS/400 (devices that are attached through a LAN, WAN, or twinaxial cable). This hardware may include system printers, terminals, and PCs running Client Access/400 or another workstation emulation package.
In contrast, QAUTOVRT tells OS/400 how many virtual devices OS/400 will automatically create for remote users who are not directly attached to your AS/400. Unlike a local device, a virtual device has no hardware associated with it. It is created for users who are logging on to your AS/400 through an intermediary link that may be temporary or permanent. Examples of virtual devices include passthrough users from another AS/400 and full-screen Telnet users who are logging into your machine through the Internet.
To view the QAUTOVRT value for your installation, type in the following command:
DSPSYSVAL +
SYSVAL(QAUTOVRT)
A sample of the QAUTOVRT screen is shown in Figure 1. The difference between the two system values is that QAUTOCFG tells OS/400 whether or not to create specific connection objects for locally attached devices while QAUTOVRT specifies how many devices should be configured for remote users attempting to establish an AS/400 session. Although they conceptually perform the same function, they work in different domains.
How QAUTOVRT Works
QAUTOVRT sets a limit on the number of virtual devices that can be automatically created on your AS/400. Unlike QAUTOCFGwhich is set on or off by changing its value from 1 to 0QAUTOVRT is a four-digit number that specifies the total number of virtual devices OS/400 will create for pass-through, Internet, and other virtual users.
Within this framework, it is important to understand that setting QAUTOVRT to 0 does not prevent virtual users from accessing your AS/400. On an AS/400 where QAUTOVRT is set to 0, OS/400 performs a series of tasks when a user attempts to start a passthrough session or full-screen Telnet. The computer first checks to see whether there are available virtual devices for the user to attach to on the SDLC, TCP/IP, or X.25 line they are calling in on. If a device is available, OS/400 presents them with a sign-on screen from that device and they can attempt to sign in. Unlike a local devicewhere the controller and device are specifically hard-coded for a certain computer or printer and are not used by any other piece of equipmenta virtual device is available to any remote user calling in on that line and can be used by different users at different times. If no device is available because they are all in use by other remote users, the new user is denied access to your system and cannot log in.
Setting QAUTOVRT to 0 limits rather than prevents virtual access to your machine. If there are enough available devices on your TCP/IP or SDLC line, a remote user can attempt to sign on to your AS/400. All virtual devices in this scenario must be manually configured, and remote sign-on can occur only when there is an available device. OS/400 will not perform automatic configuration in this case.
When you change QAUTOVRT to a number greater than 0 (lets use 200 as an example), the scenario changes, and the AS/400 performs a different series of actions when a user tries to start a remote session. If there is an available virtual device on the line the user is calling in on, the AS/400 presents the user with a sign-on screen from that devicethe same screen a user would see when QAUTOVRT is set to 0.
If no device is available because they are all being used by other remote users, OS/400 counts the number of virtual devices that are present. If there are fewer devices than the value specified in QAUTOVRT (200 in this case), OS/400 will automatically configure a new virtual device for that controller and present a sign-on screen to the user from that device. When the number of virtual devices is greater than or equal to
the number in QAUTOVRT and every device on the incoming line is in use, no more virtual devices will be created on that line, and OS/400 will deny access to the remote user.
Setting QAUTOVRT greater than 0 still limits the number of remote devices than can be configured on your machine. However, it creates a mechanism to set up new devices automatically, as needed, until the limit is reached. In this role, QAUTOVRT serves as a virtual traffic cop who regulates the number of people who can attach remotely to your AS/400. This is helpful in controlling remote user traffic, but it can cause a big problem for system security.
QAUTOVRT and Security
For security purposes, IBM recommends that you always set QAUTOVRT to 0. IBM makes this recommendation for a very good reason. Lets go back to our scenarios and imagine a hacker is trying to enter your AS/400 through the Internet. When QAUTOVRT is set to 0 and all available devices are in use, the hacker is not presented with a sign-on screen because OS/400 will not configure a new device for him. The hacker is stopped cold until someone surrenders one of the existing virtual devices.
However, lets say that QAUTOVRT is set to 200, there are 19 devices configured for your TCP/IP virtual controller, and all 19 are in use. When the hacker comes calling, OS/400 will gladly configure virtual device number 20 for the TCP/IP line.
Now, lets also say that your AS/400s QMAXSIGN system value is set to
3. QMAXSIGN specifies the number of times a user can attempt to sign on to the AS/400 with an invalid login before OS/400 will take action to stop him. This means OS/400 will give the hacker three chances to sign on before it takes action. Depending on how your system is configured, OS/400 will then vary off the device the hacker is using or disable any user profiles hes using to hack your system. (For a more detailed explanation of how QMAXSIGN works, see Two AS/400 System Values to Tighten Up AS/400 Security, Client Access/400 Expert, Sept/Oct 1996.) After that device is disabled, the hacker can attempt to sign in another three times on a new virtual device. When that fails, he can try again with yet another device repeating the process until the QAUTOVRT limit of 200 devices is reached.
IBM recommends setting QAUTOVRT to 0 simply because it gives potential hackers fewer chances to break into your system. In our example, the hacker could keep plugging away until he reached your QAUTOVRT limit. For an AS/400 sitting out on the Internet where anyone can try calling in, this can mean disaster. The secure, conservative thing to do in this case is to set QAUTOVRT to 0.
Setting QAUTOVRT to 0 creates more work for an AS/400 manager because each remote device must be manually configured in OS/400 before it can be used. However, when you are dealing with a machine that is sitting out on a public forum such as the Internet, this is a small price to keep another component of your security system in place.
A QAUTOVRT Gotcha!
If you decide to adjust your QAUTOVRT value downward without going to 0, there is one minor gotcha that you need to think about. OS/400 does not automatically delete excess virtual devices to bring the total number of devices down to the QAUTOVRT limit. In our example, if you went from 200 virtual devices to 100 and there already were 200 devices present, QAUTOVRT would not allow any more devices to be automatically configured because the limit had been reached. Excess devices must be deleted before QAUTOVRT will create any new devices.
There are only two situations where virtual devices are automatically deleted. Under certain circumstances, OS/400 will delete a virtual device if the device is damaged and needs to be re-created before it can be used. A device can also be deleted and re-created if its working parameters have changed and the device needs to be updated before it can be accessed. Other than these two situations, OS/400 does not do any housekeeping to remove old devices.
The Balancing Act
As we continue to network our AS/400s to each other and the Internet, we must balance our connectivity needs against our security needs. By knowing how QAUTOVRT affects OS/400 in an open environment, you can better protect your systems.
Figure 1: The System Value for Virtual Device Autoconfiguration
LATEST COMMENTS
MC Press Online