The system administrator must determine how much trust can be given to a particular program. This determination includes considering the value of the information resources on the system in deciding how much trust is required for a program to be installed with privilege.
The Trusted Computing Base (TCB) is the part of the system that is responsible for enforcing systemwide information security policies. By installing and using the TCB, you can define user access to the trusted communication path, which allows for secure communication between users and the TCB. TCB features can only be enabled when the operating system is installed. To install TCB on an already installed machine, you will have to perform a Preservation installation. Enabling TCB allows you to access the trusted shell, trusted processes, and the Secure Attention Key (SAK).
This section discusses the following topics:
The TCB is the part of the system that is responsible for enforcing the information security policies of the system. All of the computer's hardware is included in the TCB, but a person administering the system should be concerned primarily with the software components of the TCB.
If you install a system with the Trusted Computing Base option, you enable the trusted path, trusted shell, and system-integrity checking (tcbck command). These features can only be enabled during a base operating system (BOS) installation. If the TCB option is not selected during the initial installation, the tcbck command is disabled. The command can be correctly enabled only by reinstalling the system with the TCB option turned on.
To set the TCB option during a BOS installation, select More Options from the Installation and Settings screen. In the Installation Options screen, the default for the Install Trusted Computing Base selection is no. To enable the TCB, type 2 and press Enter.
Because every device is part of the TCB, every file in the /dev directory is monitored by the TCB. In addition, the TCB automatically monitors over 600 additional files, storing critical information about these files in the /etc/security/sysck.cfg file. If you are installing the TCB, immediately after installing, back up this file to removable media, such as tape, CD, or disk, and store the media in a secure place.
The tcbck command audits the security state of the Trusted Computing Base. The security of the operating system is jeopardized when the TCB files are not correctly protected or when configuration files have unsafe values. The tcbck command audits this information by reading the /etc/security/sysck.cfg file. This file includes a description of all TCB files, configuration files, and trusted commands.
The /etc/security/sysck.cfg file is not offline and, could therefore be altered by a hacker. Make sure you create an offline read-only copy after each TCB update. Also, copy this file from the archival media to disk before doing any checks.
Installing the TCB and using the tcbck command do not guarantee that a system is operating in a Controlled Access Protection Profile (CAPP) and Evaluation Assurance Level 4+ (EAL4+) compliant mode. For information on the CAPP/EAL4+ option, see Controlled Access Protection Profile and Evaluation Assurance Level 4+.
The tcbck command reads the /etc/security/sysck.cfg file to determine which files to check. Each trusted program on the system is described by a stanza in the /etc/security/sysck.cfg file.
Each stanza has the following attributes:
If a stanza in the /etc/security/sysck.cfg file does not specify an attribute, the corresponding check is not performed.
The tcbck command is normally used to do the following:
The tcbck command can be used in the following ways:
Although not cryptographically secure, the TCB uses the UNIX sum command for checksums. The TCB database can be set up manually with a different checksum command, for example, the md5sum command (shipped in the textutils RPM package with AIX Toolbox for Linux Applications CD).
To check all the files in the tcbck database, and fix and report all errors, type:
tcbck -y ALL
This causes the tcbck command to check the installation of each file in the tcbck database described by the /etc/security/sysck.cfg file.
To perform this automatically during system initialization, and produce a log of what was in error, add the previous command string to the /etc/rc file.
Whenever you suspect the integrity of the system might have been compromised, run the tcbck command to check the file system tree any time. This is done by running the following command:
tcbck -t tree
When the tcbck command is used with the tree value, all files on the system are checked for correct installation (this could take a long time). If the tcbck command discovers any files that are potential threats to system security, you can alter the suspected file to remove the offending attributes. In addition, the following checks are performed on all other files in the file system:
Note: All device entries must have been added to the /etc/security/sysck.cfg file prior to execution of the tcbck command or the system is rendered unusable. To add trusted devices to the /etc/security/sysck.cfg file, use the -l flag.
To add a specific program to the /etc/security/sysck.cfg file, type:
tcbck -a PathName [attribute=value]
Only attributes whose values are not deduced from the current state of the file need be specified on the command line. All attribute names are contained in the /etc/security/sysck.cfg file.
For example, the following command registers a new SetUID root program named /usr/bin/setgroups, which has a link named /usr/bin/getgroups:
tcbck -a /usr/bin/setgroups links=/usr/bin/getgroups
To add jfh and jsl as administrative users and developers as an administrative group to be verified during a security audit of the file /usr/bin/abc, type:
tcbck -a /usr/bin/abc setuids=jfh,jsl setgids=developers
After installing a program, you might not know which new files are registered in the /etc/security/sysck.cfg file. These can be found and added with the following command:
tcbck -t tree
This command string displays the name of any file that is to be registered in the /etc/security/sysck.cfg file.
If you remove a file from the system that is described in the /etc/security/sysck.cfg file, you need to also remove the description of this file from the /etc/security/sysck.cfg file. For example, if you have deleted the /etc/cvid program, the following command string will cause an error message to be shown:
tcbck -t ALL
The error message shown is:
3001-020 The file /etc/cvid was not found.
The description for this program is still in the /etc/security/sysck.cfg file. To remove the description of this program type the following command:
tcbck -d /etc/cvid
The following sections provide information about how to configure additional options for the TCB.
The getty and shell commands change the owner and mode of a terminal to prevent untrusted programs from accessing the terminal. The operating system provides a way to configure exclusive terminal access.
A trusted communication path is established by pressing the Secure Attention Key (SAK) reserved key sequence (Ctrl-X, and then Ctrl-R). A trusted communication path is established under the following conditions:
After you press the SAK:
Attention: Use caution when using SAK because it kills all processes that attempt to access the terminal and any links to it (for example, /dev/console can be linked to /dev/tty0).
Each terminal can be independently configured so that pressing SAK at that terminal creates a trusted communication path. This is specified by the sak_enabled attribute in /etc/security/login.cfg file. If the value of this attribute is True, the SAK is enabled.
If a port is to be used for communications, (for example, by the uucp command), the specific port used has the following line in its stanza of the /etc/security/login.cfg file:
sak_enabled = false
This line (or no entry in that stanza) disables the SAK for that terminal.
To enable SAK on a terminal, add the following line to the stanza for that terminal:
sak_enabled = true