This part of the manual also includes information on the following topics:
This chapter explains how you, as security administrator, implement security features of the OpenVMS operating system. It provides an overview of security management, based on the security needs of a commercial installation with average security needs. It discusses the following topics:
Digital recommends that you read the entire chapter and the three
chapters that follow before establishing any security measures. After
reading the chapters, you will better be able to decide which security
measures are appropriate for your site, and you will have the tools to
implement them.
6.1 Role of a Security Administrator
Your role as security adminstrator is to implement and maintain the organization's security policy. Some organizations include security administrators in the development of the security policy; other organizations charter security administrators to implement and maintain an established policy. For an example of a company security policy, see Section 6.2.
As security administrator (or officer), your job is to see that the security policy is implemented and maintained. Regularly monitoring the system for possible security violations and vulnerabilities is absolutely necessary. Whenever you detect problems, you should see that they are corrected.
Many times organizations divide the duties of computer administrators. The security administrator monitors the system and reports problems, and the system manager implements policy and manages the system. In this management structure, the security administrator works in tandem with the system manager. Some system managers choose to employ an accounts clerk to set up user accounts and process the required paperwork justifying the need for an account. This is always a highly trusted individual who essentially acts as a co-system manager. With a division of labor, it is critical for the system manager and security administrator to communicate regularly. The security administrator should report security problems to users or, if necessary, to system managers or the accounts clerk so problems are corrected.
Another division of duties, common to many OpenVMS installations, combines the roles of security administrator and system manager. One person implements the security policy and maintains the system to meet its requirements.
Secure system management, however it is organized, involves training
users, setting up accounts and passwords, protecting sensitive system
files and resources, and auditing and analyzing security-relevant
events. Learning how systems are used and recognizing
"normal" system activity are critical to secure management.
6.2 Site Security Policies
An organization's management usually establishes a brief security policy for its employees to emphasize the behavior it expects of them. For example, such a policy may state that employees should not give away company data or share passwords.
The managers of divisions or computer sites develop the detailed security policy. It is a written set of guidelines on the use of passwords and system accounts, physical access to the computer systems, communication devices, and computer terminals, and the types of security-relevant events to audit. These security guidelines might be followed by more specific statements applying to particular operating system enviroments.
The complexity of a security policy eventually depends on whether the division has high, medium, or low security requirements. Chapter 1 provides a set of questions that can help an organization determine its needs.
As an example, a site security policy often defines which company employees have access to certain systems and the type of access available to the personnel performing nonroutine tasks and development. Sometimes a policy can provide an intricate set of rules for determining system access. Table 6-1 presents the policy developed by one division.
Security Area | Site Requirements |
---|---|
Passwords | Schedule for password changes. |
Process for controlling minimum password length and expiration periods. | |
Schedule for system password changes. | |
Accounts | Procedure to grant accounts on computer systems, for example, statement of need, signature of requester, requester's manager, system manager, or person setting up the account. (Accounts can never be shared.) |
Procedure to deactivate accounts due to organizational changes, for example, employee transfers or terminations. | |
Timetable for reauthorizing accounts, usually once every 6 to 12 months. | |
Directive to deactivate accounts that are not used on a regular basis. | |
Time periods for access. | |
Timetable for expiring accounts. | |
Procedure for requesting privileges that rigorously controls allocation. | |
Requirement to use nonprivileged accounts for privileged users performing normal system activity. | |
Schedule for verifying inactive accounts. | |
List of approved security tools. | |
Security events to audit | Logins from selected or all sources. |
Changes to authorization file records. | |
Other uses of privilege and system management actions. | |
Modifications to the known file list through the Install utility. | |
Modification to the network configuration database, using the network control program (NCP). | |
Controlling physical access to the computer room | A written list of authorized personnel with the reason for access included. Typically, one person would be responsible for keeping this list current. |
Storage of a visitor log in a secure area. | |
Locked access doors and a documented procedure for assigning keys, key cards, and combinations. (These access controls change periodically and on transfer or termination of employees.) | |
Controlling physical access to terminals and personal computers located outside the computer room | Use of programs to log out terminals that have not been used for a given period of time. |
Security awareness programs for the organization (beyond computer
personnel); topics may include:
|
|
Controlling dialup numbers | List of authorized users. |
Schedule for changing numbers periodically and procedures for notifying users of number changes. | |
A policy to minimize publishing dialup numbers. | |
Policy about changing passwords periodically and when employees with access are terminated. | |
Password protection, either in the modems or terminal servers, or system passwords on host dialup ports. | |
Documentation available about:
|
|
Communications | Denial of access into privileged accounts if using passwords over TCP/IP, LAT, or Ethernet links. |
Use of authentication cards for network logins into privileged accounts. |
The following chapters describe how to set up a secure system according
to your security policy. The Authorize utility (AUTHORIZE) is the
primary tool for implementing system security. AUTHORIZE is described
fully in the OpenVMS System Management Utilities Reference Manual. The AUTOGEN command procedure, which you
use to modify the system parameters file, is described in the
OpenVMS System Manager's Manual and the OpenVMS System Management Utilities Reference Manual. Many DCL commands are also
important security tools. DCL commands are described in the
OpenVMS DCL Dictionary.
6.4 Account Requirements for a Security Administrator
You need an account with privileges to perform the tasks of a security administrator.
An administrator who reviews security violations and possible vulnerabilities requires at least three privileges:
In many cases, a security administrator serves as both the security administrator and the system manager. This person requires a full set of privileges. The OpenVMS System Manager's Manual describes the necessary characteristics of a system management account.
Example 6-1 illustrates a number of AUTHORIZE qualifiers appropriate for a security administrator's account. Notice the following:
In Example 6-1, any value not specified defaults to the value provided by the default record in SYSUAF.DAT.
Example 6-1 Sample Security Administrator's Account
$ SET DEFAULT SYS$SYSTEM $ RUN AUTHORIZE UAF> ADD RIRONWOOD/PASSWORD=VALTERSY/UIC=[001,100] - _UAF> /DEVICE=SYS$SYSDEVICE/DIRECTORY=[RIRONWOOD] - _UAF> /OWNER="Russ Ironwood"/ACCOUNT=SECURITY/FLAGS=GENPWD - (1) _UAF> /PWDLIFETIME=30-/PWDMINIMUM=8 - (2) _UAF> /PRIVILEGES=(AUDIT,SECURITY,READALL)(3) identifier for value:[000001,000100] added to RIGHTSLIST.DAT UAF>
Teaching new users about system security is an important security tool. It is important to involve users in security methods and goals; the more they know about the system and how break-ins occur, the better equipped they are to guard against them.
Include the following topics in your user training:
While users are learning the system, you may choose to monitor terminal sessions if the user performs an especially sensitive function, such as accessing sensitive data or controlling a system operation. (Sometimes users may choose to log their own sessions so they have a record of their actions. If this is the case, they can use the command SET HOST 0/LOG interactively after their initial login.) This section describes one method of logging users' sessions by setting up a restricted account. Many third-party products provide other ways of monitoring sessions that are more efficient. Regardless of the method you select, it is advisable to check with your legal department to make sure this is acceptable practice.
By using a special restricted account and appropriate command procedures, you can enforce the logging of terminal sessions for selected users. These users would need to log in to the restricted account first and then log in to their own account. The restricted account ensures that the session is logged.
The following example provides guidelines on how to set up the restricted account (named USER_LOG in this example) and includes samples of appropriate command procedures:
UAF> ADD USER_LOG /FLAGS=(RESTRICTED,DISMAIL,DISNEWMAIL)- _UAF> /LGICMD=SYS$SYSROOT:[USER_LOG]SESSIONLOG- _UAF> DEV=SYS$SYSROOT: /DIR=[USER_LOG]- _UAF> /NONETWORK /NOBATCH /UIC=[200,256]
$ ! SESSIONLOG.COM - log in to specified account with terminal session $ ! logging enabled. $ ! $ WRITE SYS$OUTPUT "Please log in to the account of your choice." $ WRITE SYS$OUTPUT "Your terminal session will be recorded." $ WRITE SYS$OUTPUT "" $ ! $ ! Acquire the intended user name and save it in a temporary file. Use $ ! it to name the log file, and pass it as the first line of input to $ ! LOGIN. $ ! $ READ/PROMPT="Username: " SYS$COMMAND USERNAME $ PID = F$GETJPI (0, "PID") $ OPEN/WRITE OUTPUT USERNAME'PID'.TMP $ WRITE OUTPUT USERNAME $ CLOSE OUTPUT $ DEFINE/USER SYS$INPUT USERNAME'PID'.TMP $ SET HOST 0 /LOG='USERNAME'.LOG $ DELETE USERNAME'PID'.TMP;0 $ LOGOUT
UAF> MODIFY SMITH /FLAGS=RESTRICTED /NOLOCAL /NODIALUP - _UAF> /LGICMD=SYS$SYSROOT:[USER_LOG]CHECKLOG
UAF> MODIFY SMITH/FLAGS=RESTRICTED/NOLOCAL/NODIALUP/NOBATCH - /NONETWORK/LGICMD=SYS$SYSROOT:[USER_LOG]CHECKLOG
$ ! CHECKLOG.COM - ensure that the account is being logged in to $ ! the USER_LOG account. $ ! $ IF F$MODE () .NES. "INTERACTIVE" THEN EXIT $ ! $ ! Verify that the connection originated from the local node and $ ! from the USER_LOG account. $ ! $ IF F$LOGICAL ("SYS$NODE") .EQS. F$LOGICAL ("SYS$REM_NODE")- _$ .AND. F$LOGICAL ("SYS$REM_ID") .EQS. "USER_LOG"- _$ THEN GOTO OK $ WRITE SYS$OUTPUT "You may log in to this account only with ",- _$ "the USER_LOG account." $ LOGOUT
$ ! $ ! When the login has been verified, enable Ctrl/Y to $ ! release the account, invoke the user's LOGIN.COM, and turn $ ! control over to the user. $ ! $ OK: $ SET CONTROL_Y $ IF F$SEARCH ("LOGIN.COM") .EQS. "" THEN EXIT $ @LOGIN
Maintaining a secure system requires continuous surveillance. The following ongoing tasks are important to you in your role as security administrator:
This chapter explains how you give users access to a system by assigning user accounts and passwords. Descriptions are based on the security needs of a commercial installation with average security needs, where accounts require protection. Descriptions of above-average security needs are also noted. Refer to Chapter 8 for information on controlling access to system data and resources. See Chapter 6 and Chapter 9 for information on auditing user actions.
The Authorize utility (AUTHORIZE) is the primary tool for establishing
accounts and passwords. See the OpenVMS System Management Utilities Reference Manual: A--L for a description of the
utility.
7.1 Defining Times and Conditions for System Access
The level of system access a user enjoys depends on your site requirements, that user's role in the organization, and your management of his or her account. A site with low security requirements and plenty of system resources may allow access at any time of day whereas a site with moderate security requirements may limit logins to daytime hours and permit dialup or network connections only to a subset of users.
Using the Authorize utility, you control when and how users can access the system. Table 7-1 identifies the applicable qualifiers.
Categories | Qaulifier | Description |
---|---|---|
Time of day | /ACCESS | By default, a user has full access every day. By specifying an access time, you prevent access at all other times. Identify hours on primary days with the keyword PRIMARY; identify hours on secondary days with the keyword SECONDARY. |
/DIALUP | Specifies hours of access permitted for dialup logins. | |
/LOCAL | Specifies hours of access for interactive logins from local terminals. | |
Days of week | /PRIMEDAYS | Defines the primary and secondary days of the week for logging in. |
Mode of operation | /BATCH | Specifies the hours of access permitted for batch jobs. |
/INTERACTIVE | Specifies the hours of access for interactive logins. | |
/NETWORK | Specifies the hours of access permitted for network batch jobs. | |
/REMOTE | Specifies hours during which access is permitted for interactive logins from network remote terminals (with the DCL command SET HOST). | |
Allocation of resources | /DEVICE | Specifies the name of the user's default device at login. |
/DIRECTORY | Specifies the name of the user's default directory at login. | |
Validity of account | /EXPIRATION | Specifies the expiration date and time of the account. |
/FLAGS=DISUSER | Disables the account so the user cannot log in. | |
External authentication | /FLAGS=EXTAUTH | Specifies that the user is externally authenticated. |
AUTHORIZE qualifiers let you restrict system use to certain days of the week and certain periods of the day. Restricting work times is useful to better balance the workload on your system. Restricting access to accounts is also an effective way of preventing unauthorized use of the system outside of normal working hours.
Define primary and secondary days of the week with the /PRIMEDAYS qualifier, or conform to the default where primary days are Monday through Friday and secondary days are Saturday and Sunday. For example, to modify the defaults for a user who works Tuesday through Saturday, you would specify the /PRIMEDAYS qualifier as follows:
/PRIMEDAYS=(NOMONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,NOSUNDAY)
Occasionally an operational change occurs that conflicts with the normal day assignments at your site, such as a holiday falling on a primary day. To override the normal day assignment, use the DCL command SET DAY, and specify the day-type interpretation you want for the current day. This requires OPER privilege. Note that this change applies to all logged-in users, as well as those who will log in during the day. If users who are currently logged in are unauthorized for the day-type once it changes, they are logged out of the system at the next hour. (The job controller enforces time restrictions on an hourly basis.)
Decide which types of login access should be restricted to certain hours. The login access qualifiers are: /LOCAL, /REMOTE, /DIALUP, /INTERACTIVE, /BATCH, and /NETWORK. However, if your site applies one set of primary and secondary hours for all types of logins, you can specify the /ACCESS qualifier, which applies to all modes of access.
The following example shows how to apply the /BATCH qualifier to a user's account to disable the user from running batch jobs during normal working hours:
/NOBATCH=(PRIMARY, 9-17)
6346P009.HTM OSSG Documentation 22-NOV-1996 13:05:03.30
Copyright © Digital Equipment Corporation 1996. All Rights Reserved.