Free DISA STIG and SRG Library | Vaulted

HP-UX 11.31 Security Technical Implementation Guide

Version 1 Release 1812
2018-10-262016-10-28
U_HPUX_11-31_STIG_V1R182_Manual-xccdf.xml
The HP-UX 11.31 Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil.

Compare Summary

Compare V1R18 to V1R12
  • All
  • Updated 518
  • Added 1
  • Removed 2

Vulnerabilities (526)

Added

V-12765

The system must use and update a DoD-approved virus scan program.

Finding ID
GEN006640
Rule ID
SV-35224r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006640
CCI
CCI-001668
Target Key
(None)
Documentable
No
Discussion

Virus scanning software can be used to protect a system from penetration from computer viruses and to limit their spread through intermediate systems. Virus scanning software is available to DoD on the JTF-GNO website (https://www.jtfgno.mil). The virus scanning software should be configured to perform scans dynamically on accessed files. If this capability is not available, the system must be configured to scan, at a minimum, all altered files on the system on a daily basis. If the system processes inbound SMTP mail, the virus scanner must be configured to scan all received mail.

Fix Text

Install McAfee command line virus scan tool, or an appropriate alternative from https://www.jtfgno.mil. Ensure the virus signature definition files are no older than seven (7) days. Updates are also available from https://www.jtfgno.mil.

Check Content

Check for the existence of the McAfee command line scan tool to be executed weekly in the cron file. Additional tools specific for each operating system are also available and will have to be manually reviewed if they are installed. In addition, the definitions file should not be older than seven (7) days. Check if uvscan scheduled to run. # grep uvscan /var/spool/cron/crontabs/* If a virus scanner is not being run weekly this is a finding. If a virus scanner is being run at least weekly, ensure the virus definition signature files are not older than seven (7) days. # find / -type f -name avvclean.dat -o -name avvnames.dat -o -name avvscan.dat | xargs -n1 ls -lLa If the virus definitions are older than seven (7) days, this is a finding.

Responsibility

System Administrator

Removed

V-72819

Wireless network adapters must be disabled.

Finding ID
GEN007841
Rule ID
SV-87463r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007841
CCI
CCI-002418
Target Key
(None)
Documentable
No
Discussion

The use of wireless networking can introduce many different attack vectors into the organization’s network. Common attack vectors such as malicious association and ad hoc networks will allow an attacker to spoof a wireless access point (AP), allowing validated systems to connect to the malicious AP and enabling the attacker to monitor and record network traffic. These malicious APs can also serve to create a man-in-the-middle attack or be used to create a denial of service to valid network resources.

Fix Text

Configure the system to disable all wireless network interfaces.

Check Content

This is N/A for systems that do not have wireless network adapters. Verify that there are no wireless interfaces configured on the system: # nwmgr Note: This command will produce a list of interfaces that are configured on the host. With the assistance of the System Administrator, identify any wireless interfaces listed in the output of the above command. If a wireless interface is configured, it must be documented and approved by the local Authorizing Official. If a wireless interface is configured and has not been documented and approved, this is a finding.

Removed

V-81451

The HPUX 11.31 operating system must use a virus scan program.

Finding ID
GEN006650
Rule ID
SV-96165r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006650
CCI
CCI-001668
Target Key
(None)
Documentable
No
Discussion

Virus scanning software can be used to protect a system from penetration from computer viruses and to limit their spread through intermediate systems. The virus scanning software should be configured to perform scans dynamically on accessed files. If this capability is not available, the system must be configured to scan, at a minimum, all altered files on the system on a daily basis. If the system processes inbound SMTP mail, the virus scanner must be configured to scan all received mail.

Fix Text

Install an antivirus solution on the system.

Check Content

Verify an antivirus solution is installed on the system. The antivirus solution may be bundled with an approved host-based security solution. If there is no antivirus solution installed on the system, this is a finding.

Inetd or xinetd logging/tracing must be enabled.

Finding ID
GEN003800
Rule ID
SV-35085r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003800
CCI
CCI-000134
Target Key
(None)
Documentable
No
Discussion

Inetd or xinetd logging and tracing allows the system administrators to observe the IP addresses connecting to their machines and to observe what network services are being sought. This provides valuable information when trying to find the source of malicious users and potential malicious users.

Fix Text

Edit the (x)inetd startup script to include the -l parameter for the internet daemon process.

Check Content

# ps -ef | grep -v grep | egrep -i "inetd|xinetd" If the -l logging parameter is not used, this is a finding. If the (x)inetd process is not running, this is not a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must be configured to only boot from the system boot device.

Finding ID
GEN008600
Rule ID
SV-38234r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN008600
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The ability to boot from removable media is the same as being able to boot into single user, or maintenance, mode without a password. This ability could allow a malicious user to boot the system and perform changes possibly compromising or damaging the system. It could also allow the system to be used for malicious purposes by a malicious anonymous user.

Fix Text

Configure the system to only boot from system startup media. The system must first be rebooted in order to set primary and alternate boot paths for the desired system startup media.

Check Content

HP-UX 11-v3 may be booted from the following system startup media (must have been previously configured by root): • Hard drives • CD/DVD drives (for installation) • Tape drives (for installation) • USB directly connected drives (no hubs) Determine if the system is configured to boot from devices other than the system startup media. Verification should (optimally) be performed during IPL/ISL boot. In lieu of rebooting the system, ask the SA if the system is configured to boot from devices other than system startup media. If so, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not run an Internet Network News (INN) server.

Finding ID
GEN006240
Rule ID
SV-38236r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006240
CCI
CCI-000381
Target Key
(None)
Documentable
No
Discussion

INN servers access Usenet newsfeeds and store newsgroup articles. INN servers use the Network News Transfer Protocol (NNTP) to transfer information from the Usenet to the server and from the server to authorized remote hosts. If this function is necessary to support a valid mission requirement, its use must be authorized and approved in the system accreditation package.

Fix Text

Disable the INN server.

Check Content

Check the domain name for NIS maps. Procedure: # domainname If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.

Finding ID
GEN006080
Rule ID
SV-35211r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006080
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

SWAT is a tool used to configure Samba. As it modifies Samba configuration, which can impact system security, it must be protected from unauthorized access. SWAT authentication may involve the root password, which must be protected by encryption when traversing the network. Restricting access to the local host allows for the use of SSH TCP forwarding, if configured, or administration by a web browser on the local system.

Fix Text

Disable SWAT. # chmod 0000 <path>/swat OR # rm -i <path>/swat

Check Content

Determine if the CIFS (HP SAMBA) bundle is installed (SWAT is included). # swlist -l bundle | egrep -i "CIFS-CLIENT|CIFS-SERVER" If the HP bundle is not installed, this is not applicable. If the HP bundle is installed, ask the SA if the Samba Web Administration Tool (SWAT) has been configured to use SSL. If SWAT is not configured to use SSL, this is a finding.

Responsibility

System Administrator

IA Controls

EBRP-1

The /etc/smb.conf file must be owned by root.

Finding ID
GEN006100
Rule ID
SV-35213r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006100
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/smb.conf file allows access to other machines on the network and grants permissions to certain users. If it is owned by another user, the file may be maliciously modified and the Samba configuration could be compromised.

Fix Text

Change the ownership of the smb.conf file. # chown root /etc/opt/samba/smb.conf

Check Content

Check the ownership of the /etc/smb.conf file. # ls -lL /etc/opt/samba/smb.conf If the smb.conf file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/opt/samba/smb.conf file must have mode 0644 or less permissive.

Finding ID
GEN006140
Rule ID
SV-35221r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006140
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the smb.conf file has excessive permissions, the file may be maliciously modified and the Samba configuration could be compromised.

Fix Text

Change the mode of the smb.conf file to 0644 or less permissive. # chmod 0644 /etc/opt/samba/smb.conf

Check Content

Check the mode of the smb.conf file. # ls -lL /etc/opt/samba/smb.conf If the smb.conf has a mode more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The smbpasswd file must be owned by root.

Finding ID
GEN006160
Rule ID
SV-35225r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006160
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the smbpasswd file is not owned by root, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.

Fix Text

Use the chown command to configure the smb passwd file. # chown root <path>/smbpasswd

Check Content

Check the ownership of the smbpasswd file. # ls -lL /var/opt/samba/private/smbpasswd If the smbpasswd file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The smb.conf file must use the hosts option to restrict access to Samba.

Finding ID
GEN006220
Rule ID
SV-35107r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006220
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Samba increases the attack surface of the system and must be restricted to communicate only with systems requiring access.

Fix Text

Edit the smb.conf file and set the hosts option to permit only authorized hosts access Samba. An example might be: hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24 hosts deny = 0.0.0.0/0 The above will only allow SMB connections from the localhost and from the two private networks 192.168.2 and 192.168.3. All other connections will be refused as soon as the client sends its first packet.

Check Content

Examine the smb.conf file. # cat /etc/opt/samba/smb.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | egrep "^hosts|^ hosts allow|^hosts deny" If the hosts option is not present to restrict access to a list of authorized hosts and networks, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Users must not be able to change passwords more than once every 24 hours.

Finding ID
GEN000540
Rule ID
SV-38199r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000540
CCI
CCI-000198
Target Key
(None)
Documentable
No
Discussion

The ability to change passwords frequently facilitates users reusing the same password. This can result in users effectively never changing their passwords. This would be accomplished by users changing their passwords when required and then immediately changing it to the original value.

Fix Text

For both Trusted Mode and SMSE: Use the SAM/SMH interface to ensure that password changes are restricted to no less than once every 24 hours. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to ensure that password changes are restricted to no less than once every 24 hours. See the below example: PASSWORD_MINDAYS=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the “u_minchg” attribute in the users TS database entry. Individual user: # export PATH=$PATH:/usr/lbin # getprpw -r -m mintm <USER> All users: # logins -o -x | awk -F: '{print $1” “$10}' If the value is less than 1 for any user, this is a finding. For SMSE: Check the PASSWORD_MINDAYS attribute. # grep PASSWORD_MINDAYS /etc/default/security /var/adm/userdb/* If the attribute PASSWORD_MINDAYS is less than 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Root passwords must never be passed over a network in clear text form.

Finding ID
GEN001100
Rule ID
SV-38240r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN001100
CCI
CCI-000197
Target Key
(None)
Documentable
No
Discussion

If a user accesses the root account (or any account) using an unencrypted connection, the password is passed over the network in clear text form and is subject to interception and misuse. This is true even if recommended procedures are followed by logging on to a named account and using the su command to access root.

Fix Text

Enable SSH on the system and use it for all remote connections used to attain root access.

Check Content

Perform the following to determine if root has logged in over an unencrypted network connection. The first command determines if root has logged in over a network. The second will check to see if the SSH daemon is running. Procedure: # last -R | grep "^root " | egrep -v "reboot|console" | more # ps -ef |grep sshd If the output from the last command shows root has logged in over the network and sshd is not running, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must not permit root logins using remote access programs such as SSH.

Finding ID
GEN001120
Rule ID
SV-38207r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001120
CCI
CCI-000770
Target Key
(None)
Documentable
No
Discussion

Even though communications are encrypted, an additional layer of security may be gained by extending the policy of not logging directly on as root. In addition, logging in with a user-specific account preserves the audit trail.

Fix Text

Edit the configuration file and set the PermitRootLogin option to no.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=PermitRootLogin Required arg(s)=no Default arg values include: "yes" Note: When the default "arg" value exactly matches the required "arg" value (see above), the <keyword=arg> are not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "PermitRootLogin" If the return value is yes, without-password or forced-commands-only, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

Audio devices must have mode 0660 or less permissive.

Finding ID
GEN002320
Rule ID
SV-38241r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002320
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Globally accessible audio and video devices have proven to be another security hazard. There is software capable of activating system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone into a bugging device.

Fix Text

Change the mode of audio devices. # chmod 0660 <audio device>

Check Content

Check the mode of audio device files. Determine audio devices and class identifiers, i.e., audio should be listed as audio. # ioscan Determine audio device special files. # ioscan -fn -C <audio class ID from the above command output> Determine the device file mode. # ls -lL <device special file> If the mode of any audio device file is more permissive than 0660, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Audio devices must be owned by root.

Finding ID
GEN002340
Rule ID
SV-38242r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002340
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Globally accessible audio and video devices have proven to be another security hazard. There is software capable of activating system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone into a bugging device.

Fix Text

Change the owner of the audio device. # chown root <audio device>

Check Content

Check the owner of audio devices. Determine audio devices and class identifiers, i.e., audio should be listed as audio. # ioscan Determine audio device special files. # ioscan -fn -C <audio class ID from the above command output> Determine the device file mode. # ls -lL <device special file> If the owner of any audio device file is not root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/smb.conf file must be group-owned by root, bin, sys, or system.

Finding ID
GEN006120
Rule ID
SV-35219r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006120
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the group-owner of the smb.conf file is not root or a system group, the file may be maliciously modified and the Samba configuration could be compromised.

Fix Text

Change the group owner of the "smb.conf" file. # chgrp root /etc/samba/smb.conf

Check Content

Check the group ownership of the smb.conf file. # find / -type f -name smb.conf | xargs -n1 ls -lL If the smb.conf file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The smbpasswd file must be group-owned by root.

Finding ID
GEN006180
Rule ID
SV-37880r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006180
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the smbpasswd file is not group-owned by root, it may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.

Fix Text

Use the chgrp command to ensure that the group owner of the smbpasswd file is root. # chgrp root <path>/smbpasswd

Check Content

Check smbpasswd ownership: # ls -lL /var/opt/samba/private/smbpasswd If the smbpasswd file is not group-owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The smbpasswd file must have mode 0600 or less permissive.

Finding ID
GEN006200
Rule ID
SV-37883r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006200
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the smbpasswd file has a mode more permissive than 0600, it may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.

Fix Text

Change the mode of the smbpasswd file to 0600. # chmod 0600 <path>/smbpasswd

Check Content

Check the mode of files maintained using smbpasswd. # ls -lL /var/opt/samba/private/smbpasswd If the smbpasswd file is more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Audio devices must be group-owned by root, sys, bin, or system.

Finding ID
GEN002360
Rule ID
SV-27252r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002360
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Without privileged group owners, audio devices will be vulnerable to being used as eaves-dropping devices by malicious users or intruders possibly listening to conversations containing sensitive information.

Fix Text

Change the group owner of the audio device. Procedure: # chgrp system <audio device>

Check Content

Check the group-owner of audio devices. Procedure: # /usr/sbin/ioscan -f # ls -lL <audio device file> If the group-owner of an audio device is not root, sys, bin, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The root shell must be located in the / file system.

Finding ID
GEN001080
Rule ID
SV-38208r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001080
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

To ensure the root shell is available in repair and administrative modes, the root shell must be located in the / file system.

Fix Text

Change the root account's shell to one present on the / file system.

Check Content

Determine if the root shell is located on / (IE: a non-mounted file system). # cat /etc/passwd | grep "^root:" | awk -F ":" '{print $NF}' # grep <shell location from above> /etc/fstab If the root shell is located on a mountable file system listed in /etc/fstab, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

A file integrity baseline including cryptographic hashes must be created and maintained.

Finding ID
GEN000140
Rule ID
SV-38271r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000140
CCI
CCI-000293
Target Key
(None)
Documentable
No
Discussion

A file integrity baseline is a collection of file metadata which is to evaluate the integrity of the system. A minimal baseline must contain metadata for all device files, setuid files, setgid files, system libraries, system binaries, and system configuration files. The minimal metadata must consist of the mode, owner, group owner, and modification times. For regular files, metadata must also include file size and a cryptographic hash of the file’s contents.

Fix Text

Create a file integrity baseline, including cryptographic hashes, for the system. # find / -depth -print | tee HP11-v3_Baseline Open the above file and either manually execute md5sum or the chksum command on each file. Alternatively, write a script to perform the above. NOTE: For security purposes, md5sum is preferred over chksum.

Check Content

This will always be a manual review. Determine if a file integrity baseline, which includes cryptographic hashes, has been created and maintained for the system. While HPUX-HIDS has the ability to detect file system changes, it does not currently support the creation of a system baseline. A number of third-party vendors (TripWire, for example) may be used for this purpose. Additionally, local scripts may also be used to create and maintain the system baseline, though this would not be the preferred method. Ask the SA if a file system baseline has been created and is being maintained on an ongoing basis. If no file integrity baseline exists for the system, this is a finding. If the file integrity baseline contains no cryptographic hashes, this is a finding. If the file integrity baseline is not maintained (i.e., the baseline has not been updated to be consistent with the latest approved system configuration changes), this is a finding.

Responsibility

System Administrator

IA Controls

DCSW-1

A file integrity tool must be used at least weekly to check for unauthorized file changes, particularly the addition of unauthorized system libraries or binaries, or for unauthorized modification to authorized system libraries or binaries.

Finding ID
GEN000220
Rule ID
SV-28610r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000220
CCI
CCI-001069
Target Key
(None)
Documentable
No
Discussion

Changes in system libraries and binaries can indicate compromise or significant system events, such as patching needing to be checked by automated processes and the results reviewed by the SA. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Fix Text

Create a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Check Content

Determine if there is a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries. Procedure: # crontab -l If there is no cron job meeting these requirements, this is a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Responsibility

System Administrator

UIDs reserved for system accounts must not be assigned to non-system accounts.

Finding ID
GEN000340
Rule ID
SV-38209r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000340
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Reserved UIDs are typically used by system software packages. If non-system accounts have UIDs in this range, they may conflict with system software, possibly leading to the user having permissions to modify system files.

Fix Text

Using the passwd command, change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 99). SMH can alternatively be used for this same purpose.

Check Content

Check the UID assignments of all accounts. # more /etc/passwd Confirm all accounts with a UID of 99 and below are used by a system account. If a UID reserved for system accounts (0 - 99) is used by a non-system account, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must require that passwords contain a minimum of 15 characters.

Finding ID
GEN000580
Rule ID
SV-27111r4_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000580
CCI
CCI-000205
Target Key
(None)
Documentable
No
Discussion

The use of longer passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques by increasing the password search space.

Fix Text

For Trusted Mode: Use the SAM/SMH interface to set the system password length attribute “MIN_PASSWORD_LENGTH” to 15 or greater. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Install the additional LongPassword11i3 and PHI11i3 product bundles where/as required. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the attribute(s). See the below example(s): CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 LONG_PASSWORD=1 MIN_PASSWORD_LENGTH=15 Note: The MIN_PASSWORD_LENGTH attribute must be set equal to or greater than 15. If the "vi" editor was used to update the /etc/default/security file, save the file before exiting the editor.

Check Content

For Trusted Mode: Check the system password length setting. For Trusted systems, the range of supported values for N is 6 to 80. # grep MIN_PASSWORD_LENGTH /etc/default/security If the MIN_PASSWORD_LENGTH attribute (N) is not set to 15 or greater, this is a finding. For SMSE: Check the system password length setting. For Standard (non-SMSE enabled) systems, the maximum supported length is N=8. Once the /etc/shadow file is created and long passwords are enabled (may require additional software product installations), check the system password length setting. The LONG_PASSWORD attribute is valid only when the LongPassword11i3 product is installed and the password hash algorithm is different from the traditional DES-based hash algorithm. # egrep "CRYPT_ALGORITHMS_DEPRECATE|CRYPT_DEFAULT|LONG_PASSWORD|MIN_PASSWORD_LENGTH" /etc/default/security /var/adm/userdb/* The following is an example output from the above command: CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 LONG_PASSWORD=1 MIN_PASSWORD_LENGTH=15 Note: The MIN_PASSWORD_LENGTH attribute may exceed 15 characters. If the attributes CRYPT_ALGORITHMS_DEPRECATE, CRYPT_DEFAULT, LONG_PASSWORD, and MIN_PASSWORD_LENGTH are not set per the above example output, this is a finding.

Responsibility

System Administrator

The system must require passwords contain at least one uppercase alphabetic character.

Finding ID
GEN000600
Rule ID
SV-38244r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000600
CCI
CCI-000192
Target Key
(None)
Documentable
No
Discussion

To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.

Fix Text

For Trusted Mode: Use the SAM/SMH interface or edit the /etc/default/security file and update the PASSWORD_MIN_UPPER_CASE_CHARS attribute. See the below example: PASSWORD_MIN_UPPER_CASE_CHARS=1 If manually editing the file, save any change(s) before exiting the editor. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the PASSWORD_MIN_UPPER_CASE_CHARS attribute. See the below example: PASSWORD_MIN_UPPER_CASE_CHARS=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the PASSWORD_MIN_UPPER_CASE_CHARS setting. # cat /etc/default/security | grep PASSWORD_MIN_UPPER_CASE_CHARS If PASSWORD_MIN_UPPER_CASE_CHARS is not set to 1 or greater, this is a finding. For SMSE: Check the PASSWORD_MIN_UPPER_CASE_CHARS setting. # grep PASSWORD_MIN_UPPER_CASE_CHARS /etc/default/security /var/adm/userdb/* If PASSWORD_MIN_UPPER_CASE_CHARS is not set to 1 or more, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must require passwords contain at least one numeric character.

Finding ID
GEN000620
Rule ID
SV-38245r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000620
CCI
CCI-000194
Target Key
(None)
Documentable
No
Discussion

To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.

Fix Text

For Trusted Mode: Use the SAM/SMH interface or edit the /etc/default/security file and update the PASSWORD_MIN_DIGIT_CHARS attribute. See the below example: PASSWORD_MIN_DIGIT_CHARS=1 If manually editing the file, save any change(s) before exiting the editor. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the PASSWORD_MIN_DIGIT_CHARS attribute. See the below example: PASSWORD_MIN_DIGIT_CHARS=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the PASSWORD_MIN_DIGIT_CHARS setting. # cat /etc/default/security | grep PASSWORD_MIN_DIGIT_CHARS If PASSWORD_MIN_DIGIT_CHARS is not set to 1 or greater this is a finding. For SMSE: Check the PASSWORD_MIN_DIGIT_CHARS setting. # grep PASSWORD_MIN_DIGIT_CHARS /etc/default/security /var/adm/userdb/* If PASSWORD_MIN_DIGIT_CHARS is not set to 1 or greater, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must require passwords contain at least one special character.

Finding ID
GEN000640
Rule ID
SV-38246r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000640
CCI
CCI-001619
Target Key
(None)
Documentable
No
Discussion

To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.

Fix Text

For Trusted Mode: Use the SAM/SMH interface or edit the /etc/default/security file and update the PASSWORD_MIN_SPECIAL_CHARS attribute. See the below example: PASSWORD_MIN_SPECIAL_CHARS=1 If manually editing the file, save any change(s) before exiting the editor. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the PASSWORD_MIN_SPECIAL_CHARS attribute. See the below example: PASSWORD_MIN_SPECIAL_CHARS=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the PASSWORD_MIN_SPECIAL_CHARS setting. # cat /etc/default/security | grep PASSWORD_MIN_SPECIAL_CHARS If PASSWORD_MIN_SPECIAL_CHARS is not set to 1 or greater this is a finding. For SMSE: Check the PASSWORD_MIN_SPECIAL_CHARS setting. # grep PASSWORD_MIN_SPECIAL_CHARS /etc/default/security /var/adm/userdb/* If PASSWORD_MIN_SPECIAL_CHARS is not set to 1 or greater, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

User passwords must be changed at least every 60 days.

Finding ID
GEN000700
Rule ID
SV-38247r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000700
CCI
CCI-000180
Target Key
(None)
Documentable
No
Discussion

Limiting the lifespan of authenticators limits the period of time an unauthorized user has access to the system while using compromised credentials and reduces the period of time available for password guessing attacks to run against a single password.

Fix Text

For Trusted Mode: Set the password maximum days field to 60 for all user accounts. # passwd -x 60 <user> For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the PASSWORD_MAXDAYS attribute. See the below example: PASSWORD_MAXDAYS=60 PASSWORD_WARNDAYS=7 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the exptm field for each user, or for all accounts: # getprpw -r -m exptm <USER> # logins -o -x | awk -F: '{print $1” “$11}' If the exptm attribute is set equal to -1, 0, or greater than 60 for any user, this is a finding. For SMSE: Check the PASSWORD_MAXDAYS setting. The command and an example output is seen directly below: # egrep “PASSWORD_MAXDAYS|PASSWORD_WARNDAYS” /etc/default/security /var/adm/userdb/* Example output from the above command, with the correctly assigned attribute values. Note that PASSWORD_MAXDAYS may deviate from 60. Illegal values include 0 (no warning). PASSWORD_MAXDAYS attribute exceptions that must not be used are 1-7 (values less than or equal to the required PASSWORD_WARNDAYS attribute setting): PASSWORD_MAXDAYS=60 PASSWORD_WARNDAYS=7 If the above attributes are either missing or not set per the above attribute values (exceptions noted above), this is a finding.

Responsibility

System Administrator

The root account must not be used for direct logins.

Finding ID
GEN001020
Rule ID
SV-38212r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001020
CCI
CCI-000770
Target Key
(None)
Documentable
No
Discussion

Direct login with the root account prevents individual user accountability. Acceptable non-routine uses of the root account for direct login are limited to emergency maintenance, the use of single-user mode for maintenance, and situations where individual administrator accounts are not available.

Fix Text

Enforce policies requiring all root account access is attained by first logging into a user account and then becoming root (using “su”, for example). Note: GEN000980 limits direct login by root to the console (requires physical access). GEN001120 prohibits direct root logins via SSH. GEN003850 disallows telnet access. GEN003830 prohibits rlogin access. GEN002100 prohibits .rhost PAM support. GEN002040 prohibits .rhosts, .shosts, hosts.equiv, or shosts.equiv system files. Ensure that root logging is enabled. For Trusted Mode: # modprpw -l -m audflg=1 root For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the attribute. See the below example: AUDIT_FLAG=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the /tcb database to determine if root account auditing is enabled and the last login log for direct root logins. Note that for the /tcb audit flag entry that numeric values are specified as positive numbers, 0, or -1. A value of -1 indicates that the field has not been assigned a value in the database. A value of 0 indicates that auditing is not enabled. # getprpw -m audflg root && last root | grep -v reboot If any direct login records for root are listed, this is a finding. For SMSE: Check the root AUDIT_FLAG attribute setting. Note that for the /etc/default/security file audit flag entry that numeric values are specified as 0, or 1. A value of 1 indicates that auditing is enabled. A value of 0 indicates that auditing is not enabled. # grep AUDIT_FLAG /etc/default/security /var/adm/userdb/* && last root | grep -v reboot If any direct login records for root are listed, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

The system must log successful and unsuccessful access to the root account.

Finding ID
GEN001060
Rule ID
SV-38248r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001060
CCI
CCI-000126
Target Key
(None)
Documentable
No
Discussion

If successful and unsuccessful logins and logouts are not monitored or recorded, access attempts cannot be tracked. Without this logging, it may be impossible to track unauthorized access to the system.

Fix Text

For Trusted Mode: Ensure that all users are being audited. List users from the passwd file and check the user entries in the /tcb database. See the example below. Note that the “getprpw” command must be executed individually for all users. Users associated with “audflg” set to zero (disabled) must be corrected. # cat /etc/passwd | cut -f 1,1 -d “:” # getprpw -m audflg <user> # modprpw -l -m audflg=1 <user> Use the SAM/SMH interface (/etc/default/security file) to update the SU_ROOT_GROUP attribute. See the below example: SU_ROOT_GROUP=root,<user1>,<user2> For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the AUDIT_FLAG and SU_ROOT_GROUP attributes. See the below example: AUDIT_FLAG=1 SU_ROOT_GROUP=root,<user1>,<user2> Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

Check the following log files to determine if access attempts to the root account are being logged. Try su - and enter an incorrect password. # more /var/adm/sulog /var/adm/syslog If root account access login attempts are not being logged, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

All global initialization files must have mode 0444 or less permissive.

Finding ID
GEN001720
Rule ID
SV-38266r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001720
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.

Fix Text

Change the mode of the global initialization file(s) to 0444. # chmod 0444 <global initialization file>

Check Content

Check global initialization files permissions: # ls -lL /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/.login If global initialization files are more permissive than 0444, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All global initialization files must be owned by bin.

Finding ID
GEN001740
Rule ID
SV-38267r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001740
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon. Failure to give ownership of sensitive files or utilities to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the ownership of global initialization files with incorrect ownership. # chown bin <global initialization files>

Check Content

Check the ownership of global initialization files. # ls -lL /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/.login If any global initialization file is not owned by bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All global initialization files must be group-owned by root, sys, bin, other system, or the system default.

Finding ID
GEN001760
Rule ID
SV-38268r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001760
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the group ownership of the global initialization file(s) with incorrect group ownership. # chgrp root <global initialization file>

Check Content

Check the group ownership of global initialization files. # ls -lL /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/.login If any global initialization file is not group-owned by root, sys, bin, other, or the system default, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All skeleton files and directories (typically in /etc/skel) must be owned by bin.

Finding ID
GEN001820
Rule ID
SV-38269r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001820
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files. Failure to give ownership of sensitive files or utilities to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the ownership of skeleton files with incorrect mode. # chown bin <skeleton file>

Check Content

Check skeleton files ownership. # ls -alL /etc/skel If a skeleton file is not owned by bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All global initialization files executable search paths must contain only authorized paths.

Finding ID
GEN001840
Rule ID
SV-38270r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001840
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the global initialization file(s) with PATH variables containing relative paths and remove any relative path form the PATH variables that have not been documented with the ISSO. Edit the global initialization file(s) and remove any empty entry that is defined.

Check Content

Check the global initialization files' executable search paths. # grep PATH /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

All local initialization files executable search paths must contain only authorized paths.

Finding ID
GEN001900
Rule ID
SV-34915r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001900
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the local initialization file and remove the relative path entries from the PATH variable that have not been documented with the ISSO. Edit the local initialization file and remove any empty entry that is defined.

Check Content

Verify local initialization files have executable search path containing only authorized paths. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -I USER sh -c 'grep PATH ~USER/.*' This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

The .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files must not contain a plus (+) without defining entries for NIS+ netgroups.

Finding ID
GEN001980
Rule ID
SV-34922r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001980
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

A plus (+) in system accounts files causes the system to lookup the specified entry using NIS. If the system is not using NIS, no such entries should exist.

Fix Text

Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files and remove entries containing a plus (+).

Check Content

Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts # cat /<directorylocation>/.rhosts | grep -v "^#" | grep "\+" # find / -name .shosts # cat /<directorylocation>/.shosts | grep -v "^#" | grep "\+" # find / -name hosts.equiv # cat /<directorylocation>/hosts.equiv | grep -v "^#" | grep "\+" # find / -name shosts.equiv # cat /<directorylocation>/shosts.equiv | grep -v "^#" | grep "\+" # cat /etc/passwd | grep -v "^#" | grep "\+" # cat /etc/shadow | grep -v "^#" | grep "\+" # cat /etc/group | grep -v "^#" | grep "\+" If the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files contain a plus (+) and do not define entries for NIS+ netgroups, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

There must be no .rhosts, .shosts, hosts.equiv, or shosts.equiv files on the system.

Finding ID
GEN002040
Rule ID
SV-38249r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN002040
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The .rhosts, .shosts, hosts.equiv, and shosts.equiv files are used to configure host-based authentication for individual users or the system. Host-based authentication is not sufficient for preventing unauthorized access to the system.

Fix Text

Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.

Check Content

Check for the existence of the files. # find / -type f -name .rhosts # find / -type f -name .shosts # find / -type f -name hosts.equiv # find / -type f -name shosts.equiv If .rhosts, .shosts, hosts.equiv, or shosts.equiv are found, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECCD-1, ECCD-2

The .rhosts file must not be supported in PAM.

Finding ID
GEN002100
Rule ID
SV-38264r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002100
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

.rhosts files are used to specify a list of hosts permitted remote access to a particular account without authenticating. The use of such a mechanism defeats strong identification and authentication requirements.

Fix Text

Edit /etc/pam.conf and comment/remove the "rcomds" line(s).

Check Content

Verify the remsh and rexec services have not been configured to use the PAM module: # cat /etc/pam.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep "^rcomds" | egrep "auth|account" | egrep "libpam_unix|libpam_hpsec" If any of the following lines are returned, this is a finding. rcomds auth required libpam_hpsec.so.1 rcomds auth required libpam_unix.so.1 rcomds account required libpam_hpsec.so.1 rcomds account required libpam_unix.so.1

Responsibility

Information Assurance Officer

All public directories must be group-owned by root or an application group.

Finding ID
GEN002540
Rule ID
SV-38265r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002540
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If a public directory has the sticky bit set and is not group-owned by a privileged GID, unauthorized users may be able to modify files created by others. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.

Fix Text

Change the group-ownership of the public directory. Procedure: # chgrp root <public directory> (Replace root with a different system group as necessary.)

Check Content

Check the group-ownership of public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not group-owned by root, sys, bin, other or an application group, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Crontabs must be owned by root or the crontab creator.

Finding ID
GEN003040
Rule ID
SV-38250r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003040
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.

Fix Text

Change the crontab file owner to root or the crontab creator. # chown root <crontab file>

Check Content

List all crontabs on the system. # ls -lL /var/spool/cron/crontabs/* If any crontab file is not owned by root or the creating user, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

Default system accounts (with the exception of root) must not be listed in the cron.allow file or must be included in the cron.deny file, if cron.allow does not exist.

Finding ID
GEN003060
Rule ID
SV-38251r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003060
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

To centralize the management of privileged account crontabs, of the default system accounts, only root may have a crontab.

Fix Text

Remove default system accounts (such as bin, sys, adm, or others) from the cron.allow file if it exists, or add those accounts to the cron.deny file.

Check Content

Check the cron.allow and cron.deny files for the system. # more /var/adm/cron/cron.allow # more /var/adm/cron/cron.deny If a default system account (such as bin, sys, adm, or other sys acct) is listed in the cron.allow file, or not listed in the cron.deny file if no cron.allow file exists, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

Process core dumps must be disabled unless needed.

Finding ID
GEN003500
Rule ID
SV-35008r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003500
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Process core dumps contain the memory in use by the process when it crashed. Process core dump files can be of significant size and their use can result in file systems filling to capacity, which may result in Denial of Service. Process core dumps can be useful for software debugging.

Fix Text

Edit /etc/profile, ensure the ulimit command is present with the -c argument of the ulimit command set to 0.

Check Content

# grep -c ulimit /etc/profile If the return value of this command is 0, this is a finding. If the return value of this command is not 0: # grep ulimit /etc/profile If the -c argument with a value of 0 is not present, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The kernel core dump data directory must be owned by root.

Finding ID
GEN003520
Rule ID
SV-38253r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003520
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the kernel core dump data directory is not owned by root, the core dumps contained in the directory may be subject to unauthorized access.

Fix Text

Change the owner of the kernel core dump data directory to root. # chown root /var/adm/crash

Check Content

Check the ownership of the kernel core dump data directory. # ls -lLd /var/adm/crash If the kernel core dump data directory is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must implement non-executable program stacks.

Finding ID
GEN003540
Rule ID
SV-35009r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003540
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

A common type of exploit is the stack buffer overflow. An application receives, from an attacker, more data than it is prepared for and stores this information on its stack, writing beyond the space reserved for it. This can be designed to cause execution of the data written on the stack. One mechanism to mitigate this vulnerability is for the system to not allow the execution of instructions in sections of memory identified as part of the stack.

Fix Text

# kctune executable_stack=0 The system will require a restart/reboot for the setting to take effect.

Check Content

Determine if the system implements non-executable program stacks. # kctune | grep -i "executable_stack" | tr '\011' ' ' | tr -s ' ' | \ sed -e 's/^[ \t]*//' | cut -f 2,2 -d " " If the executable_stack tunable is set to 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use initial TCP sequence numbers most resistant to sequence number guessing attacks.

Finding ID
GEN003580
Rule ID
SV-35010r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003580
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

One use of initial TCP sequence numbers is to verify bidirectional communication between two hosts, which provides some protection against spoofed source addresses being used by the connection originator. If the initial TCP sequence numbers for a host can be determined by an attacker, it may be possible to establish a TCP connection from a spoofed source address without bidirectional communication.

Fix Text

# ndd -set /dev/tcp tcp_isn_passphrase <a random passphrase> Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x] = tcp NDD_NAME[x] = tcp_isn_passphrase NDD_VALUE[x] = <a random passphrase>

Check Content

# ndd -get /dev/tcp tcp_isn_passphrase If the value 1 is not returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not forward IPv4 source-routed packets.

Finding ID
GEN003600
Rule ID
SV-38259r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003600
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when IPv4 forwarding is enabled and the system is functioning as a router.

Fix Text

Disable the IP source-routed forwarding feature. # ndd -set /dev/ip ip_forward_src_routed 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x] = ip NDD_NAME[x] = ip_forward_src_routed NDD_VALUE[x] = 0

Check Content

Determine if the system is configured to forward source-routed IP packets. # ndd -get /dev/ip ip_forward_src_routed If the returned value is not 0, then this feature is enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

A separate file system must be used for user home directories (such as /home or equivalent).

Finding ID
GEN003620
Rule ID
SV-35048r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003620
CCI
CCI-001208
Target Key
(None)
Documentable
Yes
Discussion

The use of separate file systems for different paths can protect the system from failures resulting from the / file system becoming full or failing.

Fix Text

Migrate the /home (or equivalent) path onto a separate file system.

Check Content

Determine if the /home path is a separate filesystem. # cat /etc/fstab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | \ grep -v "^#" | cut -f 2,2 -d " " | grep "^/home" | grep -v "/home/" If the above command returns nothing, /home is not on a separate filesystem and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must log authentication informational data.

Finding ID
GEN003660
Rule ID
SV-35062r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003660
CCI
CCI-000126
Target Key
(None)
Documentable
No
Discussion

Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system.

Fix Text

Edit /etc/syslog.conf and add local log destinations for auth.*, auth.debug, auth.info, *.debug or *.info. NOTE: In general and though not required, it is always advisable to explicitly declare auth.info or auth.debug entries rather than use the wildcard notation method.

Check Content

Check /etc/syslog.conf and verify the auth facility is logging both the notice and info (NOTE that auth.info includes auth.notice and the auth.debug includes both auth.info and auth.notice) level messages by: # cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | egrep -i "auth.info|auth.debug|auth.\*|\*.info|\*.debug" If auth.* is not found, or auth.notice or auth.debug or *.info and *.debug are not found, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-2, ECAR-3

Inetd and xinetd must be disabled or removed if no network services utilizing them are enabled.

Finding ID
GEN003700
Rule ID
SV-35064r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003700
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

Unnecessary services should be disabled to decrease the attack surface of the system.

Fix Text

Remove or disable the inetd startup scripts and kill the service.

Check Content

First determine if (x)inetd is running: # ps -ef | grep -v "grep" | egrep -i "inetd|xinetd" Then, determine the contents of the configuration file: # find / -type f -name xinetd.conf -o -name inetd.conf | xargs -n1 cat | \ tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" If inetd is running and no active services are found (i.e., the configuration file does not exist, is empty or is completely commented out), this is a finding. If inetd is not running and the configuration file does not exist, is empty or is completely commented out, this is not a finding. If inetd is running and active services are found via the ps command and are also in the inetd.conf file, this is not a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service HELP command must not be enabled.

Finding ID
GEN004540
Rule ID
SV-35059r2_rule35059r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004540
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The HELP command should be disabled to mask version information. The version of the SMTP service software could be used by attackers to target vulnerabilities present in specific software versions.

Fix Text

To disable the SMTP HELP command, remove or empty the Sendmail help file: /etc/mail/helpfile.

Check Content

VerifyCheck thatif the Help command is disabled in Sendmail:. # lstelnet -al<host> /etc/mail/helpfile25 If> thehelp file does not exist, this is not a finding. If the help filecommand doesreturns exist,any verifySendmail thatversion the file is empty: # cat /etc/mail/helpfile If the help file is not emptyinformation, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Unencrypted FTP must not be used on the system.

Finding ID
GEN004800
Rule ID
SV-35098r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004800
CCI
CCI-000366
Target Key
(None)
Documentable
Yes
Discussion

FTP is typically unencrypted and, therefore, presents confidentiality and integrity risks. FTP may be protected by encryption in certain cases, such as when used in a Kerberos environment. SFTP and FTPS are encrypted alternatives to FTP.

Fix Text

Edit /etc/inetd.conf and comment out or remove the ftp service. Refresh the inet daemon. inetd -c

Check Content

Determine if unencrypted FTP is enabled. # cat /etc/inetd.conf | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v "^#" | grep -c -i "^ftp" If the service is found (i.e., the command returns a non-zero value), and not commented, ask the SA if this service is encrypted. If not, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All FTP users must have a default umask of 077.

Finding ID
GEN005040
Rule ID
SV-38263r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005040
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is stored as a 4-digit number, the first digit representing special access modes is typically ignored or required to be zero.

Fix Text

Edit the initialization files for the ftp user and set the umask to 077.

Check Content

Check the umask setting for the "ftp" user. # su - ftp $ umask If the umask value does not return 077, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

All .Xauthority files must have mode 0600 or less permissive.

Finding ID
GEN005180
Rule ID
SV-35162r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005180
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

.Xauthority files ensure the user is authorized to access the specific X Windows host. Excessive permissions may permit unauthorized modification of these files, which could lead to Denial of Service to authorized access or allow unauthorized access to be obtained.

Fix Text

Change the mode of the .Xauthority files. # chmod 0600 .Xauthority

Check Content

Get a list of (non-system account) users and the associated home directories. # cat /etc/passwd | cut -f 1,6 -d ":" Check the file permissions for the user .Xauthority files. # ls -lLa .Xauthority If the file mode is more permissive than 0600, this is finding.

Responsibility

System Administrator

IA Controls

ECLP-1

.Xauthority or X*.hosts (or equivalent) file(s) must be used to restrict access to the X server.

Finding ID
GEN005220
Rule ID
SV-38287r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005220
CCI
CCI-000297
Target Key
(None)
Documentable
No
Discussion

If access to the X server is not restricted, the user's X session may be compromised.

Fix Text

Create an X*.hosts file, where * is a display number that may be used to limit X window connections. Add the list of authorized X clients to the file.

Check Content

Determine if the X server is running. # ps -ef |grep -v grep | grep X Determine if xauth is being used. # xauth # xauth> list If the above command sequence does not show any host other than the localhost, then xauth is not being used. Search the system for an X*.hosts files (typically found only in /etc), where * is a display number that may be used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding. If both xauth and X*.hosts files are not being used, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The .Xauthority utility must only permit access to authorized hosts.

Finding ID
GEN005240
Rule ID
SV-38288r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005240
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If unauthorized clients are permitted access to the X server, the user's X session may be compromised.

Fix Text

Remove unauthorized clients from the xauth configuration. # xauth remove <display name>

Check Content

Verify the X window system access is limited to authorized clients. # xauth # xauth> list Ask the SA if the clients listed are authorized. If any are not, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

X Window System connections not required must be disabled.

Finding ID
GEN005260
Rule ID
SV-35170r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005260
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

If unauthorized clients are permitted access to the X server, the user's X session may be compromised.

Fix Text

Disable the X Windows server on the system.

Check Content

Determine if the X window system is running. # ps -ef |grep -v grep | grep X Ask the SA if the X window system is an operational requirement. If it is not, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The snmpd.conf file must be owned by bin.

Finding ID
GEN005360
Rule ID
SV-35203r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005360
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification. If the file is not owned by bin, it may be subject to access and modification from unauthorized users.

Fix Text

Change the owner of the snmpd.conf file to bin. # chown bin /etc/SnmpAgent.d/snmpd.conf

Check Content

Determine the owner of the SNMP configuration file. # ls -lL /etc/SnmpAgent.d/snmpd.conf If the snmpd.conf file is not owned by bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must not be used as a syslog server (loghost) for systems external to the enclave.

Finding ID
GEN005440
Rule ID
SV-35187r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005440
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Syslog messages are typically unencrypted and may contain sensitive information and are, therefore, restricted to the enclave.

Fix Text

Configure hosts outside of the local enclave to not log to this system.

Check Content

The syslog server's /etc/syslog.conf file must have the client(s) listed along with the logging facility. The following example is a syslog.conf entry for the syslog client machine moe.larry.com: +example.com *.* /var/adm/log/example_com.log NOTE: This will virtually always require a manual review. Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The syslog daemon must not accept remote messages unless it is a syslog server documented using site-defined procedures.

Finding ID
GEN005480
Rule ID
SV-35195r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005480
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Unintentionally running a syslog server accepting remote messages puts the system at increased risk. Malicious syslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information in to the system's logs, or could fill the system's storage leading to a Denial of Service.

Fix Text

Edit the /etc/rc.config.d/syslogd configuration startup script and add the -N option to the syslogd command. Restart the syslogd service via the following command(s): # /sbin/init.d/syslogd stop # /sbin/init.d/syslogd start

Check Content

Examine the /etc/rc.config.d/syslogd file for the syslog daemon option(s): # cat /etc/rc.config.d/syslogd | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep "SYSLOG_OPTS" Note that the default line entry format (IE: whitespace-seperated options, quotation marks, etc) of the syslogd file is as follows : SYSLOGD_OPTS="-N" If the -N option is not present, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must be configured for IP filtering.

Finding ID
GEN005540
Rule ID
SV-35149r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005540
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.

Fix Text

Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files.

Check Content

Check the TCP wrappers configuration files to determine if sshd is configured to use TCP wrappers. # cat /etc/hosts.deny | grep -i sshd # cat /etc/hosts.allow| grep -i sshd If no entries are returned, the TCP wrappers are not configured for sshd, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

IP forwarding for IPv4 must not be enabled, unless the system is a router.

Finding ID
GEN005600
Rule ID
SV-35177r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005600
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If the system is configured for IP forwarding and is not a designated router, it could be used to bypass network security by providing a path for communication not filtered by network devices.

Fix Text

Edit /etc/rc.config.d/nddconf and set the ip_forwarding option to 0.

Check Content

The configuration file entries will appear as follows: TRANSPORT_NAME[x]=ip NDD_NAME[x]=ip_forwarding NDD_VALUE[x]=0 NOTE: The setting for the "ip_forwarding" interface will be initialized on a separate line referencing a specific NDD index. # cat /etc/rc.config.d/nddconf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | \ grep -i ip_forwarding | cut -f 1,1 -d "=" | tr -d [:alpha:] | tr -d [:punct:] If the above command returns nothing, this check is not a finding. If the above command does return an index value: # cat /etc/rc.config.d/nddconf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | \ grep "[the ip_forwarding INDEX number from the above command]" NOTE: The above command must (literally) contain the ASCII punctuation characters [ and ] exactly as depicted above. If the return value is not set to 0, ask the SA if the machine is a designated router. If it is not a designated router, this is a finding. If it is a designated router, this is not a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not have a public Instant Messaging (IM) client installed.

Finding ID
GEN006000
Rule ID
SV-35205r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006000
CCI
CCI-001154
Target Key
(None)
Documentable
No
Discussion

Public IM systems are not approved for use and may result in the unauthorized distribution of information. IM clients provide a way for a user to send a message to one or more other users in real time. Additional capabilities may include file transfer and support for distributed game playing. Communication between clients and associated directory services are managed through messaging servers. Commercial IM clients include AOL Instant Messenger (AIM), MSN Messenger, and Yahoo! Messenger. IM clients present a security issue when the clients route messages through public servers. The obvious implication is potentially sensitive information could be intercepted or altered in the course of transmission. This same issue is associated with the use of public e-mail servers. In order to reduce the potential for disclosure of sensitive government information and to ensure the validity of official government information, IM clients connecting to public IM services will not be installed. Clients using access to internal or DoD-controlled IM services are permitted.

Fix Text

Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.

Check Content

NOTE: This will virtually always require a manual review. If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.

Responsibility

System Administrator

IA Controls

ECIM-1

The system must not have any peer-to-peer file-sharing application installed.

Finding ID
GEN006040
Rule ID
SV-35207r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006040
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

Peer-to-peer file-sharing software can result in the unintentional exfiltration of information. There are also many legal issues associated with these types of utilities including copyright infringement or other intellectual property issues. The ASD Memo "Use of Peer-to-Peer (P2P) File-Sharing Applications across the DoD" states the following: “P2P file-sharing applications are authorized for use on DOD networks with approval by the appropriate Designated Approval Authority (DAA). Documented requirements, security architecture, configuration management process, and a training program for users are all requirements within the approval process. The unauthorized use of application or services, including P2P applications, is prohibited, and such applications or services must be eliminated.” P2P applications include, but are not limited to, the following: -Napster -Kazaa -ARES -Limewire -IRC Chat Relay -BitTorrent

Fix Text

Uninstall the peer-to-peer file sharing application(s) from the system.

Check Content

Note that this will virtually always require a Manual Review. Ask the SA if any peer-to-peer file-sharing applications are installed. Some examples of these applications include: - Napster - Kazaa - ARES - Limewire - IRC Chat Relay - BitTorrent If any of these applications are installed, this is a finding.

Responsibility

Designated Approving Authority

IA Controls

ECSC-1

Network Information System (NIS) maps must be protected through hard-to-guess domain names.

Finding ID
GEN006420
Rule ID
SV-35153r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006420
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The use of hard-to-guess NIS domain names provides additional protection from unauthorized access to the NIS directory information.

Fix Text

Change the NIS domain name to a value difficult to guess. Consult vendor documentation, i.e., domain name (1) in the HP-UX man pages, for the required procedure.

Check Content

Check the domain name for NIS maps. Procedure: # domainname If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system vulnerability assessment tool, host-based intrusion detection tool, and file integrity tool must notify the SA and the IAO of a security breach or a suspected security breach.

Finding ID
GEN006560
Rule ID
SV-35159r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006560
CCI
CCI-001266
Target Key
(None)
Documentable
No
Discussion

Timely notifications of potential security compromises minimize the potential damage. Minimally, the system must log these events and the SA and the IAO will receive the notifications during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site’s established operations management systems and procedures.

Fix Text

Configure the security tools on the system to notify the IAO and SA when any security issues are detected.

Check Content

Ask the SA if any security tool application is loaded on the system. Security tool applications include, but are not limited to, antivirus, file integrity, root kit detection, host-based intrusion detection, and vulnerability assessment tools. For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1, ECAT-2

The system's access control program must be configured to grant or deny system access to specific hosts.

Finding ID
GEN006620
Rule ID
SV-35222r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006620
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If the system's access control program is not configured with appropriate rules for allowing and denying access to system network resources, services may be accessible to unauthorized hosts.

Fix Text

Edit the <path>/hosts.allow and <path/hosts.deny files to configure access restrictions.

Check Content

Check for the existence of the /etc/hosts.allow and /etc/hosts.deny files (normally located within the /etc directory). # find /etc -type f -name hosts.allow -o -name hosts.deny | xargs -n1 ls -lL If either file does not exist, this is a finding. Check for the presence of a deny by default entry. cat &lt;path>/hosts.deny | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | egrep "ALL: ALL" If the ALL: ALL entry is not present the hosts.deny file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in hosts.deny, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Network analysis tools must not be installed.

Finding ID
GEN003865
Rule ID
SV-35138r2_rule35138r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003865
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

Network analysis tools allow for the capture of network traffic visible to the system.

Fix Text

Remove the network analysis tool binary from the system. Consult vendor documentation for removing packaged software, or remove the binary directly via the following example: # rm -i &lt;binary>

Check Content

Determine if any network analysis tools are installed. Search for the binary: # find / -type f -name ethereal | xargs -n1 ls -lL # find / -type f -name wireshark | xargs -n1 ls -lL # find / -type f -name tshark | xargs -n1 ls -lL # find / -type f -name netcat | xargs -n1 ls -lL # find / -type f -name tcpdump | xargs -n1 ls -lL # find / -type f -name snoop | xargs -n1 ls -lL # find / -type f -name nettl | xargs -n1 ls -lL If any network analysis tools are found, this is a finding.

Responsibility

System Administrator

IA Controls

DCPA-1

The system clock must be synchronized continuously or at least daily.

Finding ID
GEN000241
Rule ID
SV-38289r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000241
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. Internal system clocks tend to drift and require periodic resynchronization to ensure their accuracy. Software, such as ntpd, can be used to continuously synchronize the system clock with authoritative sources. Alternatively, the system may be synchronized periodically, with a maximum of one day between synchronizations. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.

Fix Text

Enable the NTP daemon for continuous synchronization. Edit /etc/rc.config.d/netdaemons and set XNTPD=1 Edit /etc/ntp.conf and add the ntp server entry. Then: # /sbin/init.d/xntpd start OR Add a daily or more frequent cronjob to perform synchronization using ntpdate. NOTE: While it is possible to run ntpdate from a cron script, it is important to mention that ntpdate with contrived cron scripts is no substitute for the NTP daemon, which uses sophisticated algorithms to maximize accuracy and reliability while minimizing resource use. Finally, since ntpdate polling does not discipline the host clock frequency as does (x)ntpd, the accuracy using ntpdate is limited. The process of passively listening for NTP broadcasts (i.e., placing the line broadcastclient yes in the /etc/ntp.conf file) is preferred over any procedural form of direct server polling for a large network with many nodes needing to be time-synchronized. This method is preferred because it significantly reduces the network traffic load related to NTP.

Check Content

Check the root crontab for ntpdate jobs running at least daily. # crontab -l | grep ntpdate columns 3, 4, and 5 must be an asterisk (*) for the job to be run daily. If this job exists, this is not a finding. OR Verify the auto-startup of (x)ntpd in /etc/rc.config.d/netdaemons. # cat /etc/rc.config.d/netdaemons | grep -v "^#" | grep -i "XNTPD=1" Check the system for a running NTP daemon, which is the preferred method. # ps -ef | grep ntp If an (x)ntpd process exists, this is not a finding. Otherwise, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use at least two time sources for clock synchronization.

Finding ID
GEN000242
Rule ID
SV-38297r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000242
CCI
CCI-000160
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. For redundancy, two time sources are required so synchronization continues to function if one source fails. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable. NOTE: For the Network Time Protocol (NTP), the requirement is two servers, but it is recommended to configure at least four distinct time servers which allow NTP to effectively exclude a time source that is not consistent with the others. The system's local clock must be excluded from the count of time sources.

Fix Text

If auto-starting (x)ntpd, add (when necessary) the correct number of (at least two) external servers to the /etc/ntp.conf file. If using ntpdate, add additional NTP servers (at least two are required) to the cron job running ntpdate.

Check Content

Check the system for a running NTP daemon. # ps -ef | grep ntp Verify the auto-startup of (x)ntpd in /etc/rc.config.d/netdaemons. # cat /etc/rc.config.d/netdaemons | grep -v "^#" | grep -i "XNTPD=1" Verify at least two external NTP servers are listed in the /etc/ntp.conf file. # cat /etc/ntp.conf | grep -v "^#" | grep -i server | \ egrep -v "127.127.1.1|127.127.1.0" If xntpd is not invoked with at least two external NTP servers listed (127.127.1.0 or 127.127.1.1 are local clock references and therefore not allowed), this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use time sources are local to the enclave.

Finding ID
GEN000244
Rule ID
SV-38298r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000244
CCI
CCI-000160
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. The network architecture should provide multiple time servers within an enclave providing local service to the enclave and synchronize with time sources outside of the enclave. If this server is an enclave time server, this requirement is not applicable. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.

Fix Text

If using ntpdate, remove NTP servers external to the enclave from the cron job running ntpdate. If using the NTP daemon, remove the server line from ntp.conf for each NTP server external to the enclave.

Check Content

Check the root crontab for ntpdate entries. # crontab -l | grep ntpdate If the ntpdate command is invoked with NTP servers outside of the enclave, this is a finding. Check the NTP daemon configuration. # grep "^server" ntp.conf If an NTP server is listed outside of the enclave, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The time synchronization configuration file (such as /etc/ntp.conf) must be owned by root.

Finding ID
GEN000250
Rule ID
SV-38272r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000250
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system account, unauthorized modifications could result in the failure of time synchronization.

Fix Text

Change the owner of the NTP configuration file. # chown root /etc/ntp.conf

Check Content

Check the ownership of the NTP configuration file. # ls -lL /etc/ntp.conf If the owner is not root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The time synchronization configuration file (such as /etc/ntp.conf) must be group-owned by root, bin, sys, or system.

Finding ID
GEN000251
Rule ID
SV-38273r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000251
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system group, unauthorized modifications could result in the failure of time synchronization.

Fix Text

Change the group-owner of the NTP configuration file. Procedure: # chgrp root /etc/ntp.conf

Check Content

Check the group ownership of the NTP configuration file. Procedure: # ls -lL /etc/ntp.conf If the group owner is not root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The time synchronization configuration file (such as /etc/ntp.conf) must have mode 0640 or less permissive.

Finding ID
GEN000252
Rule ID
SV-38274r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000252
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not protected, unauthorized modifications could result in the failure of time synchronization.

Fix Text

Change the mode of the NTP configuration file to 0640 or less permissive. # chmod 0640 /etc/ntp.conf

Check Content

# ls -lL /etc/ntp.conf If the mode is more permissive than 0640, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The time synchronization configuration file (such as /etc/ntp.conf) must not have an extended ACL.

Finding ID
GEN000253
Rule ID
SV-38301r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000253
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not protected, unauthorized modifications could result in the failure of time synchronization.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/ntp.conf

Check Content

Verify the NTP configuration file has no extended ACL. # ls -lL /etc/ntp.conf If the permissions include a "+" the file has an extended ACL and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must limit users to 10 simultaneous system logins, or a site-defined number, in accordance with operational requirements.

Finding ID
GEN000450
Rule ID
SV-26319r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000450
CCI
CCI-000054
Target Key
(None)
Documentable
Yes
Discussion

Limiting simultaneous user logins can insulate the system from Denial of Service problems caused by excessive logins. Automated login processes operating improperly or maliciously may result in an exceptional number of simultaneous login sessions. If the defined value of 10 logins does not meet operational requirements, the site may define the permitted number of simultaneous login sessions based on operational requirements. This limit is for the number of simultaneous login sessions for EACH user account. This is NOT a limit on the total number of simultaneous login sessions on the system.

Fix Text

For Trusted Mode: Use the SAM/SMH interface (/etc/default/security file) to update attribute. See the below example: NUMBER_OF_LOGINS_ALLOWED=10 For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update attribute. See the below example: NUMBER_OF_LOGINS_ALLOWED=10 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the attribute setting. # grep NUMBER_OF_LOGINS_ALLOWED /etc/default/security If NUMBER_OF_LOGINS_ALLOWED is set to greater than 10, this is a finding. For SMSE: Check the attribute setting. # grep NUMBER_OF_LOGINS_ALLOWED /etc/default/security /var/adm/userdb/* If NUMBER_OF_LOGINS_ALLOWED is set to greater than 10, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must display the date and time of the last successful account login upon login.

Finding ID
GEN000452
Rule ID
SV-38302r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000452
CCI
CCI-000052
Target Key
(None)
Documentable
No
Discussion

Providing users with feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.

Fix Text

Edit the configuration file and modify the PrintLastLog line entry as follows: PrintLastLog yes

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=PrintLastLog Required arg(s)=yes Default arg values include: "yes" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> are not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "PrintLastLog" | cut -f 2,2 -d " " If the return value is no, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must display a publicly-viewable pattern during a graphical desktop environment session lock.

Finding ID
GEN000510
Rule ID
SV-38275r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000510
CCI
CCI-000061
Target Key
(None)
Documentable
No
Discussion

To protect the on-screen content of a session, it must be replaced with a publicly-viewable pattern upon session lock. Examples of publicly viewable patterns include screen saver patterns, photographic images, solid colors, or a blank screen, so long as none of those patterns convey sensitive information. This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices, as well as, to graphical desktop environments provided to remote systems using remote access protocols.

Fix Text

Configure the system to display a publicly-viewable pattern during a session lock.

Check Content

NOTE: This will virtually always be a manual review. Determine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding.

Responsibility

System Administrator

IA Controls

PESL-1

The system must enforce the correctness of the entire password during authentication.

Finding ID
GEN000585
Rule ID
SV-52487r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000585
CCI
CCI-000205
Target Key
(None)
Documentable
No
Discussion

Some common password hashing schemes only process the first eight characters of a user's password, which reduces the effective strength of the password.

Fix Text

For Trusted Mode: NOTE: There is no fix for Trusted Mode/Systems (TS). MD5 is currently used, and per vendor documentation, this algorithm will not be updated, due to TS being deprecated for HP-UX 11i-v3 (11.31). For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) to update the attribute. See the below example: CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

Note that in certain instances, the password field of any given password database may present as “*” or “!!”, indicating that the account is locked or disabled. For Trusted Mode: Verify that password hashes in /tcb do not begin with a character other than a dollar sign ($). # cd /tcb/files/auth && cat */* | egrep “:u_name=|:u_pwd=“ If user account password hashes begins with any character other than a dollar sign ($), this is a finding. For SMSE: Verify that password hashes in /etc/shadow do not begin with a character other than a dollar sign ($). # cat /etc/shadow | cut -f 2,2 -d “:” | egrep -v “^\\$|\\*|\\!\\!” If any password hash without a leading dollar sign is returned by the above command, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must use a FIPS 140-2- approved cryptographic hashing algorithm for generating account password hashes.

Finding ID
GEN000590
Rule ID
SV-52489r3_rule52489r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000590
CCI
CCI-000803
Target Key
(None)
Documentable
No
Discussion

Systems must employ cryptographic hashes for passwords using the SHA-2 family of algorithms or FIPS 140-2- approved successors. The use of unapproved algorithms may result in weak password hashes that are more vulnerable to compromise.

Fix Text

For Trusted Mode: NoteNOTE: There is no fix for Trusted Mode/Systems (TS). MD5 is currently used, and per vendor documentation, this algorithm will not be updated, due to TS being deprecated/replaced by SMSE. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) to update the attribute. See the below example: CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: MD5 is currently the only available hashing function. Per vendor documentation, this algorithm will not be updated, due to TS being deprecated/replaced by SMSE. For SMSE: Check the system password for use of cryptographic hashes using the SHA-2 family of algorithms or FIPS 140-2- approved successors. # egrep “CRYPT_ALGORITHMS_DEPRECATE|CRYPT_DEFAULT” /etc/default/security The following is an example output from the above command: CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 If the attributes CRYPT_ALGORITHMS_DEPRECATE, and CRYPT_DEFAULT are not set per the above example output, this is a finding.

Responsibility

System Administrator

The password hashes stored on the system must have been generated using a FIPS 140-2 approved cryptographic hashing algorithm.

Finding ID
GEN000595
Rule ID
SV-52491r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000595
CCI
CCI-000196
Target Key
(None)
Documentable
No
Discussion

Systems must employ cryptographic hashes for passwords using the SHA-2 family of algorithms or FIPS 140-2 approved successors. The use of unapproved algorithms may result in weak password hashes that are more vulnerable to compromise.

Fix Text

For Trusted Mode: NOTE: There is no fix for Trusted Mode/Systems (TS). MD5 is currently used, and per vendor documentation, this algorithm will not be updated, due to TS being deprecated/replaced by SMSE. This will always result in a finding. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) to update the attribute. See the below example: CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

Note that in certain instances, the password field of any given password database may present as “*” or “!!”, indicating that the account is locked or disabled. For Trusted Mode: Verify that the first 3 characters in the /tcb password hashes begin with the characters “$6$” (note that double quotes are for emphasis only). # cd /tcb/files/auth && cat */* | egrep “:u_name=|:u_pwd=“ If user account password hashes begins with any characters other than “$6$”, this is a finding. For SMSE: Verify that password hashes in /etc/shadow begin with the characters “$6$” (note that double quotes are for emphasis only). # cat /etc/shadow | cut -f 2,2 -d “:” | egrep -v “^\\*|\\!\\!” If user account password hashes begins with any characters other than “$6$”, this is a finding.

Responsibility

System Administrator

The system must require passwords contain at least one lowercase alphabetic character.

Finding ID
GEN000610
Rule ID
SV-38304r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000610
CCI
CCI-000193
Target Key
(None)
Documentable
No
Discussion

To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.

Fix Text

For Trusted Mode: Use the SAM/SMH interface or edit the /etc/default/security file and update the PASSWORD_MIN_LOWER_CASE_CHARS attribute. See the below example: PASSWORD_MIN_LOWER_CASE_CHARS=1 If manually editing the file, save any change(s) before exiting the editor. For SMSE: Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file. Use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the PASSWORD_MIN_LOWER_CASE_CHARS attribute. See the below example: PASSWORD_MIN_LOWER_CASE_CHARS=1 Note: Never use a text editor to modify any /var/adm/userdb database file. The database contains checksums and other binary data, and editors (vi included) do not follow the file locking conventions that are used to control access to the database. If manually editing the /etc/default/security file, save any change(s) before exiting the editor.

Check Content

For Trusted Mode: Check the PASSWORD_MIN_LOWER_CASE_CHARS setting. # cat /etc/default/security | grep PASSWORD_MIN_LOWER_CASE_CHARS If PASSWORD_MIN_LOWER_CASE_CHARS is not set to 1 or greater, this is a finding. For SMSE: Check the PASSWORD_MIN_LOWER_CASE_CHARS setting. # grep PASSWORD_MIN_LOWER_CASE_CHARS /etc/default/security /var/adm/userdb/* If PASSWORD_MIN_LOWER_CASE_CHARS is not set to 1 or greater, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must restrict the ability to switch to the root user to members of a defined group.

Finding ID
GEN000850
Rule ID
SV-26349r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000850
CCI
CCI-000009
Target Key
(None)
Documentable
No
Discussion

Configuring a supplemental group for users permitted to switch to the root user prevents unauthorized users from accessing the root account, even with knowledge of the root credentials.

Fix Text

Edit /etc/default/security and uncomment, set, or add the SU_ROOT_GROUP setting with a value of wheel or equivalent. If necessary, create a wheel group and add administrative users to the group.

Check Content

Check /etc/default/security for the SU_ROOT_GROUP setting. # grep SU_ROOT_GROUP /etc/default/security Unless this setting is present, configured, and not commented out, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The root account's home directory must not have an extended ACL.

Finding ID
GEN000930
Rule ID
SV-38305r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000930
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files.

Fix Text

Remove the optional ACL from the file. # chacl -z ~root

Check Content

Verify the root account's home directory has no extended ACL. # ls -lLd ~root If the permissions include a "+", the directory has an extended ACL, and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The root account's library search path must be the system default and must contain only absolute paths.

Finding ID
GEN000945
Rule ID
SV-38307r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000945
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.

Fix Text

Edit the root user initialization files and remove any definition of LD_LIBRARY_PATH and SHLIB_PATH.

Check Content

Check that the LD_LIBRARY_PATH and SHLIB_PATH variables are empty or not defined for the root user. Example: # echo $LD_LIBRARY_PATH # echo $SHLIB_PATH If a path list is returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The root account's list of preloaded libraries must be empty.

Finding ID
GEN000950
Rule ID
SV-38308r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000950
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with (/) are absolute paths.

Fix Text

Edit the root user initialization files and remove any definition of LD_PRELOAD.

Check Content

Verify the LD_PRELOAD environment variable is empty or not defined for the root user. # echo $LD_PRELOAD If a path list is returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All files and directories must have a valid group owner.

Finding ID
GEN001170
Rule ID
SV-38279r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001170
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Files without a valid group owner may be unintentionally inherited if a group is assigned the same GID as the GID of the files without a valid group owner.

Fix Text

Change the group-owner for each file without a valid group-owner. # chgrp &lt;a-valid-group> &lt;path>/&lt;file-without-a-valid-group-owner>

Check Content

Search the system for files without a valid group owner. # find / -nogroup -print If any files are found, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All network services daemon files must not have extended ACLs.

Finding ID
GEN001190
Rule ID
SV-38280r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001190
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/&lt; network-services-daemon>

Check Content

Check Content: Verify network services daemon files have no extended ACLs. # cat /etc/inetd.conf | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v '^#' | cut -f6,6 -d " " | xargs -n1 ls -lL If the permissions include a "+", the file has an extended ACL, and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All system command files must not have extended ACLs.

Finding ID
GEN001210
Rule ID
SV-38281r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001210
CCI
CCI-001499
Target Key
(None)
Documentable
No
Discussion

Restricting permissions will protect system command files from unauthorized modification. System command files include files present in directories used by the operating system for storing default system executables and files present in directories included in the system's default executable search paths.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/&lt;file-with-extended-ACL>

Check Content

Verify all system command files have no extended ACLs. # ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

System log files must not have extended ACLs, except as needed to support authorized software.

Finding ID
GEN001270
Rule ID
SV-38309r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001270
CCI
CCI-001314
Target Key
(None)
Documentable
Yes
Discussion

If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value. Authorized software may be given log file access through the use of extended ACLs when needed and configured to provide the least privileges required.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/*

Check Content

Verify all system log files have no extended ACLs. # ls -lL /var/log /var/log/syslog /var/adm /var/opt If the permissions include a "+" the file has an extended ACL. If an extended ACL exists, verify with the SA if the ACL is required to support authorized software and provides the minimum necessary permissions. If an extended ACL exists providing access beyond the needs of authorized software, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1, ECTP-1

All manual page files must not have extended ACLs.

Finding ID
GEN001290
Rule ID
SV-38282r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001290
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If manual pages are compromised, misleading information could be inserted, causing actions possibly compromising the system.

Fix Text

Remove the optional ACL from the file(s). # chacl -z /usr/share/man/* /usr/share/info/* /usr/share/infopage/*

Check Content

Verify that all manual page files do not have extended ACLs. # find `env | grep MANPATH | cut -f 2,2 -d "=" | tr ':' ' ' ` -type f -exec ls -al '{}' | grep '^[a-zA-Z\-]\{10\}+' If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

All library files must not have extended ACLs.

Finding ID
GEN001310
Rule ID
SV-38283r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001310
CCI
CCI-001499
Target Key
(None)
Documentable
No
Discussion

Unauthorized access could destroy the integrity of the library files.

Fix Text

Remove the optional ACL from the file. # chacl -z /usr/lib/* /lib/*

Check Content

Verify system libraries have no extended ACLs. # ls -lLR /usr/lib/* /lib/* If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

NIS/NIS+/yp command files must not have extended ACLs.

Finding ID
GEN001361
Rule ID
SV-38284r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001361
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. ACLs on these files could result in unauthorized modification, which could compromise these processes and the system.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/yp/*

Check Content

Verify NIS/NIS+/yp files have no extended ACLs. # ls -lL /var/yp/* If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/resolv.conf file must be owned by root.

Finding ID
GEN001362
Rule ID
SV-38310r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001362
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.

Fix Text

As root, change the owner of the /etc/resolv.conf file to root. # chown root /etc/resolv.conf

Check Content

Verify the /etc/resolv.conf file is owned by root. # ls -lL /etc/resolv.conf If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/resolv.conf file must be group-owned by root, bin, sys, or system.

Finding ID
GEN001363
Rule ID
SV-38311r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001363
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.

Fix Text

Change the group owner of the /etc/resolv.conf file to root, bin, sys, or other. Procedure: # chgrp root /etc/resolv.conf

Check Content

Check the group ownership of the resolv.conf file. Procedure: # ls -lL /etc/resolv.conf If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/resolv.conf file must have mode 0644 or less permissive.

Finding ID
GEN001364
Rule ID
SV-38312r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001364
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.

Fix Text

Change the mode of the /etc/resolv.conf file to 0644 or less permissive. # chmod 0644 /etc/resolv.conf

Check Content

Check the mode of the /etc/resolv.conf file. # ls -lL /etc/resolv.conf If the file mode is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/resolv.conf file must not have an extended ACL.

Finding ID
GEN001365
Rule ID
SV-38285r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001365
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/resolv.conf

Check Content

Verify /etc/resolv.conf has no extended ACL. # ls -lL /etc/resolv.conf If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/hosts file must be owned by root.

Finding ID
GEN001366
Rule ID
SV-38313r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001366
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.

Fix Text

Change the owner of the /etc/hosts file to root. # chown root /etc/hosts

Check Content

Verify the /etc/hosts file is owned by root. # ls -lL /etc/hosts If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/hosts file must be group-owned by root, bin, sys, or system.

Finding ID
GEN001367
Rule ID
SV-38314r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001367
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.

Fix Text

Change the group owner of the /etc/hosts file to root, sys, bin, or other. Procedure: # chgrp root /etc/hosts

Check Content

Check the /etc/hosts file's group ownership. Procedure: # ls -lL /etc/hosts If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/hosts file must have mode 0644 or less permissive.

Finding ID
GEN001368
Rule ID
SV-38315r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001368
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/hosts file (or equivalent) configures local host name to IP address mappings typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.

Fix Text

Change the mode of the /etc/hosts file to 0644 or less permissive. # chmod 0644 /etc/hosts

Check Content

Check the mode of the /etc/hosts file. # ls -lL /etc/hosts If the file mode is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/hosts file must not have an extended ACL.

Finding ID
GEN001369
Rule ID
SV-38286r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001369
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/hosts file (or equivalent) configures local host name to IP address mappings typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/hosts

Check Content

Verify /etc/hosts has no extended ACL. # ls -lL /etc/hosts If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/nsswitch.conf file must be owned by root.

Finding ID
GEN001371
Rule ID
SV-38316r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001371
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.

Fix Text

Change the owner of the /etc/nsswitch.conf file to root. # chown root /etc/nsswitch.conf

Check Content

Verify the /etc/nsswitch.conf file is owned by root. # ls -lL /etc/nsswitch.conf If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/nsswitch.conf file must be group-owned by root, bin, sys, or system.

Finding ID
GEN001372
Rule ID
SV-38317r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001372
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.

Fix Text

Change the group-owner of the /etc/nsswitch.conf file to root, bin, sys, or other. Procedure: # chgrp root /etc/nsswitch.conf

Check Content

Check the group ownership of the nsswitch.conf file. Procedure: # ls -lL /etc/nsswitch.conf If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/nsswitch.conf file must have mode 0644 or less permissive.

Finding ID
GEN001373
Rule ID
SV-38319r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001373
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.

Fix Text

Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive. # chmod 0644 /etc/nsswitch.conf

Check Content

Check the mode of the /etc/nsswitch.conf file. # ls -lL /etc/nsswitch.conf If the file mode is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/nsswitch.conf file must not have an extended ACL.

Finding ID
GEN001374
Rule ID
SV-38320r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001374
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/nsswitch.conf

Check Content

Verify /etc/nsswitch.conf has no extended ACL. # ls -lL /etc/nsswitch.conf If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/passwd file must be owned by root.

Finding ID
GEN001378
Rule ID
SV-38335r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001378
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.

Fix Text

Change the owner of the /etc/passwd file to root. # chown root /etc/passwd

Check Content

Verify the /etc/passwd file is owned by root. # ls -lL /etc/passwd If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/passwd file must be group-owned by root, bin, sys, or system.

Finding ID
GEN001379
Rule ID
SV-38336r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001379
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.

Fix Text

Change the group owner of the /etc/passwd file to root, bin, sys, or other. Procedure: # chgrp root /etc/passwd

Check Content

Check the group ownership of the passwd file. Procedure: # ls -lL /etc/passwd If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/passwd file must not have an extended ACL.

Finding ID
GEN001390
Rule ID
SV-38321r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001390
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files. The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/passwd

Check Content

Verify /etc/passwd has no extended ACL. # ls -lL /etc/passwd If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/group file must be owned by bin.

Finding ID
GEN001391
Rule ID
SV-38337r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001391
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/group file is critical to system security and must be owned by a privileged user. The group file contains a list of system groups and associated information.

Fix Text

Change the owner of the /etc/group file to bin. # chown bin /etc/group

Check Content

Verify the /etc/group file is owned by bin. # ls -lL /etc/group If the file is not owned by bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/group file must be group-owned by root, bin, sys, or system.

Finding ID
GEN001392
Rule ID
SV-38338r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001392
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.

Fix Text

Change the group owner of the /etc/group file. Procedure: # chgrp root /etc/group

Check Content

Check the group ownership of the /etc/group file. Procedure: # ls -lL /etc/group If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/group file must have mode 0444 or less permissive.

Finding ID
GEN001393
Rule ID
SV-38339r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001393
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.

Fix Text

Change the mode of the /etc/group file to 0444 or less permissive. # chmod 0444 /etc/group

Check Content

Check the mode of the /etc/group file. # ls -l /etc/group If the file mode is more permissive than 0444, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/group file must not have an extended ACL.

Finding ID
GEN001394
Rule ID
SV-38322r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001394
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.

Fix Text

Remove the extended ACL from the /etc/group file. # chacl -z /etc/group

Check Content

Verify /etc/group has no extended ACL. # ls -lL /etc/group If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/shadow file (or equivalent) must be group-owned by root, bin, sys or other.

Finding ID
GEN001410
Rule ID
SV-38340r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001410
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.

Fix Text

For Trusted Mode: # chgrp root /tcb #chgrp root /tcb/files /tcb/files/auth # chgrp root /tcb/files/auth/[a-z]/* For SMSE: # chgrp root /etc/shadow

Check Content

For Trusted Mode: Check the TCB auth files and directories. # ls -lLd /tcb /tcb/files /tcp/files/auth # ls -lL /tcb/files/auth/[a-z,A-Z]/* If the group-owner of any of the /tcb files and directories is not root, bin, sys, or other, this is a finding. For SMSE: Check the /etc/shadow file. # ls -lL /etc/shadow If the /etc/shadow file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/shadow file must not have an extended ACL.

Finding ID
GEN001430
Rule ID
SV-26441r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001430
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.

Fix Text

For Trusted Mode: # chacl -z /tcb # chacl -z /tcb/files /tcb/files/auth # chacl -z /tcb/files/auth/[a-z]/* For SMSE: # chacl -z /etc/shadow

Check Content

For Trusted Mode: Check the TCB auth files and directories. # ls -lLd /tcb /tcb/files /tcp/files/auth # ls -lL /tcb/files/auth/[a-z,A-Z]/* If the permissions of any of the /tcb files and directories include a “+”, this is a finding. For SMSE: Check the /etc/shadow file. # ls -lL /etc/shadow If the /etc/shadow file permissions include a “+”, the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/passwd file must not contain password hashes.

Finding ID
GEN001470
Rule ID
SV-38323r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001470
CCI
CCI-000201
Target Key
(None)
Documentable
No
Discussion

If password hashes are readable by non-administrators, the passwords are subject to attack through lookup tables or cryptographic weaknesses in the hashes.

Fix Text

Migrate /etc/passwd password hashes. For Trusted Mode: Use the System Administration Manager (SAM) or the System Management Homepage (SMH) to migrate from a non-SMSE Standard Mode to Trusted Mode. For SMSE Mode: Use the following command to create the shadow file. The command will then copy all encrypted passwords into the shadow file and replace the passwd file password entries with an “x”. # pwconv

Check Content

Verify no password hashes are present in /etc/passwd. # cat /etc/passwd | cut -f 2,2 -d “:” If any password hashes are returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/group file must not contain any group password hashes.

Finding ID
GEN001475
Rule ID
SV-38341r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001475
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Group passwords are typically shared and should not be used. Additionally, if password hashes are readable by non-administrators, the passwords are subject to attack through lookup tables or cryptographic weaknesses in the hashes.

Fix Text

Edit /etc/group and change the password field to include an asterisk (*) as the first character to lock the group password.

Check Content

Check the /etc/group file for password hashes. # cat /etc/group | cut -f 2,2 -d ":" If the above command returns anything other than a blank or "*" character, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

User home directories must not have extended ACLs.

Finding ID
GEN001490
Rule ID
SV-38324r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001490
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions on home directories allow unauthorized access to user files.

Fix Text

Remove the optional ACL from the file. # chacl -z [user home directory with extended ACL]

Check Content

Verify user home directories have no extended ACLs. # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 ls -lLd If the permissions include a "+", the file has an extended ACL and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All files and directories contained in user home directories must be group-owned by a group of which the home directory's owner is a member.

Finding ID
GEN001550
Rule ID
SV-35145r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001550
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If a user's files are group-owned by a group of which the user is not a member, unintended users may be able to access them.

Fix Text

Change the group of a file not group-owned by a group of which the home directory's owner is a member. # chgrp [&lt;username>'s primary group] [file with bad group ownership]

Check Content

Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member: List the user accounts. # cat /etc/passwd | cut -f 1,1 -d ":" For each user account, get a list of GIDs for files in the user's home directory. # find ~&lt;username> | xargs ls -ldn | tr '\011' ' ' | tr -s ' ' | awk '{print $4, $NF}' Obtain the list of GIDs associated with the user's account. # id &lt;username> OR # id -G &lt;username> OR # cat /etc/group | grep &lt;username> Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All files and directories contained in user home directories must not have extended ACLs.

Finding ID
GEN001570
Rule ID
SV-38325r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001570
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions allow unauthorized access to user files.

Fix Text

Remove the optional ACL from the file. # chacl -z [user file with extended ACL]

Check Content

Check the contents of user home directories for files with extended ACLs. # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 -IDIR ls -alLR DIR If the permissions include a '+', the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All run control scripts must have no extended ACLs.

Finding ID
GEN001590
Rule ID
SV-38342r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001590
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the startup files are writable by other users, they could modify the startup files to insert malicious commands into the startup files.

Fix Text

Remove the optional ACL from the file. # chacl -z [run control script with extended ACL]

Check Content

Check that run control scripts have no extended ACLs. # ls -lLa /sbin/init.d/[a-z,A-Z,0-9]* If the permissions include a '+' the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Run control scripts library search paths must contain only authorized paths.

Finding ID
GEN001605
Rule ID
SV-38343r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001605
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory.. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the run control script and remove any relative or empty path entry from the library search path variable that has not been documented with the ISSO. Edit the run control script and remove any empty entry that is defined.

Check Content

Verify the run control scripts library search paths do not contain references to the current working directory or other relative paths that have not been authorized by the ISSO. # egrep "LD_LIBRARY_PATH|SHLIB_PATH" /sbin/init.d/[a-z,A-Z,0-9]* This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

Run control scripts lists of preloaded libraries must contain only authorized paths.

Finding ID
GEN001610
Rule ID
SV-38344r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001610
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the run control script and remove any relative entries from the library preload variables that have not been documented with the ISSO. Edit the run control script and remove any empty entry that is defined.

Check Content

Verify the run control scripts library preload paths do not contain references to the current working directory or other relative paths in any script where the following library PATH variable(s) occurs that have not been authorized by the ISSO. # egrep "LD_PRELOAD" /sbin/init.d/[a-z,A-Z,0-9]* This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

All global initialization files must not have extended ACLs.

Finding ID
GEN001730
Rule ID
SV-38345r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001730
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.

Fix Text

Remove the optional ACL from the file. # chacl -z [global initialization file with extended ACL]

Check Content

Check global initialization files for extended ACLs. # ls -lL /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Skeleton files must not have extended ACLs.

Finding ID
GEN001810
Rule ID
SV-38346r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001810
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.

Fix Text

Remove the optional ACL from the file. # chacl -z [skeleton file with extended ACL]

Check Content

Check skeleton files for extended ACLs. # ls -alL /etc/skel If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All skeleton files (typically in /etc/skel) must be group-owned by root, bin, sys, system, or other.

Finding ID
GEN001830
Rule ID
SV-38347r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001830
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.

Fix Text

Change the group owner of the skeleton file to root, bin, sys, or other. # chgrp &lt;group> /etc/skel/&lt;skeleton file>

Check Content

Verify the skeleton files are group-owned by root, bin, sys, or other. # ls -alL /etc/skel If a skeleton file is not group-owned by root, bin, sys, or other, this is a finding

Responsibility

System Administrator

IA Controls

ECLP-1

Global initialization files library search paths must contain only authorized paths.

Finding ID
GEN001845
Rule ID
SV-38348r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001845
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library search path environment variable(s) contains a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the global initialization file and remove the relative path entries from the library search path variables that have not been documented with the ISSO. Edit the global initialization file and remove any empty entry that is defined.

Check Content

Check the global initialization files' library search path. # egrep "LD_LIBRARY_PATH|SHLIB_PATH" /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

Global initialization files lists of preloaded libraries must contain only authorized paths.

Finding ID
GEN001850
Rule ID
SV-38349r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001850
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the global initialization file and remove the relative path entry from the library preload list variables that have not been documented with the ISSO. Edit the global initialization file(s) and remove any empty entry that is defined for the library preload list.

Check Content

Check the global initialization files' library preload list. # grep LD_PRELOAD /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

Local initialization files must be group-owned by the user's primary group or root.

Finding ID
GEN001870
Rule ID
SV-34926r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001870
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.

Fix Text

Change the group-owner of the local initialization file to the user's primary group or root. # chgrp [USER's primary GID] ~USER/[local initialization file]

Check Content

Check user home directories for local initialization files group-owned by a group other than the user's primary group or root. 1. List user accounts and their primary GID. # cat /etc/passwd | cut -f 1,4 -d ":" 2. Check local initialization files for each user. Field #1 above is USER and Field #4 is the user's GID. # ls -alL ~USER/.login ~USER/.cshrc ~USER/.logout ~USER/.profile ~USER/.bash_profile ~USER/.bashrc ~USER/.bash_logout ~USER/.env ~USER/.dtprofile ~USER/.dispatch ~USER/.emacs ~USER/.exrc 3. If any file is not group-owned by root or the user's primary GID, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Local initialization files must not have extended ACLs.

Finding ID
GEN001890
Rule ID
SV-38350r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001890
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.

Fix Text

Remove the optional ACL from the file. # chacl -z [local initialization file with extended ACL]

Check Content

Check user home directories for local initialization files with extended ACLs. # ls `cat /etc/passwd | cut -f 6,6 -d ":" ` | grep "/home" | sort | uniq | xargs -n1 ls -alL 2>/dev/null | egrep "\.bash_logout|\.bash_profile|\.bashrc|\.cshrc|\.dispatch|\.dtprofile|\.emacs|\.env|\.exrc|\.login|\.logout|\.profile" NOTE that the above command assumes the "base" of the user's home directory is "/home". If the system being checked uses a different "base", that "base" must be substituted for what is used in the above example. If the permissions include a '+', the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Local initialization files library search paths must contain only authorized paths.

Finding ID
GEN001901
Rule ID
SV-38351r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001901
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the user's local initialization file(s) and remove any relative path entry from the library search LIBRARY_PATH and/or SHLIB_PATH variable(s) that have not been documented with the ISSO. Edit the user’s local initialization file(s) and remove any empty entry that is defined for the “LIBRARY_PATH” and/or “SHLIB_PATH” variable(s).

Check Content

Verify that any PATH variable contained in a user's local initialization files uses only authorized paths. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'egrep -i "LD_LIBRARY_PATH|SHLIB_PATH" ~USER/.*' The PATH variable is a colon-delimited directory list. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

Local initialization files lists of preloaded libraries must contain only authorized paths.

Finding ID
GEN001902
Rule ID
SV-34928r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001902
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.

Fix Text

Edit the local initialization file and remove any relative/empty path entry from the library LD_PRELOAD variable that has not been documented with the ISSO. Edit the local initialization file and remove any empty entry that is defined for the “LD_PRELOAD” variable.

Check Content

Verify local initialization files have library preload list path containing only authorized paths. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep "LD_PRELOAD" ~USER/.*' The LD_PRELOAD variable is a colon-delimited directory list. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

All shell files must be group-owned by root, bin, sys, or system.

Finding ID
GEN002210
Rule ID
SV-38352r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002210
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If shell files are group-owned by users other than root or a system group, they could be modified by intruders or malicious users to perform unauthorized actions.

Fix Text

Change the group owner of the shell to root, bin, sys, or other. Procedure: # chgrp root &lt;shell>

Check Content

If /etc/shells exists, check the group ownership of each shell referenced. Procedure: # cat /etc/shells | xargs -n1 ls -lL Otherwise, check any shells found on the system. Procedure: # find / -name "*sh" | xargs -n1 ls -lL If a shell is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All shell files must not have extended ACLs.

Finding ID
GEN002230
Rule ID
SV-38353r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002230
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Shells with world/group write permissions give the ability to maliciously modify the shell to obtain unauthorized access.

Fix Text

Remove the optional ACL from the file. # chacl -z [shell]

Check Content

If /etc/shells exists, check the permissions of each shell referenced. # cat /etc/shells | xargs -n1 ls -lL Otherwise, check any shells found on the system. # find / -name "*sh" | xargs -n1 ls -lL If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Audio devices must not have extended ACLs.

Finding ID
GEN002330
Rule ID
SV-38354r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002330
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.

Fix Text

Remove the optional ACL from the file. # chacl -z [device file]

Check Content

Check the permissions of audio devices. Determine audio devices and class identifiers, i.e., audio should be listed as audio. # ioscan Determine audio/video device special files. # ioscan -fn -C &lt;class ID from the above command output> Determine the device file mode. # ls -lL &lt;device special file> If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Removable media, remote file systems, and any file system not containing approved device files must be mounted with the nodev option.

Finding ID
GEN002430
Rule ID
SV-29568r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002430
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The nodev (or equivalent) mount option causes the system to not handle device files as system devices. This option must be used for mounting any file system not containing approved device files. Device files can provide direct access to system hardware and can compromise security if not protected.

Fix Text

Edit /etc/fstab and add the nodevs mount option to all entries for NFS file systems.

Check Content

Each file system line entry must contain a device specific file and may additionally contain all of the following fields, in the following order: mount directory, type, options, backup frequency, pass number (on parallel fsck) and comment. Check /etc/fstab and verify that the nodevs mount option is used on all NFS file systems. If an NFS file system is not using the nodevs option, this is a finding. # cat /etc/fstab | grep -v "^#" | grep nfs

Responsibility

System Administrator

IA Controls

ECSC-1

All system audit files must not have extended ACLs.

Finding ID
GEN002710
Rule ID
SV-38355r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002710
CCI
CCI-000163
Target Key
(None)
Documentable
No
Discussion

If a user can write to the audit logs, then audit trails can be modified or destroyed and system intrusion may not be detected.

Fix Text

As root, remove the ACL. # chacl -z &lt;audit directory> # chacl -z &lt;audit file>

Check Content

Inspect the auditing configuration file, /etc/rc.config.d/auditing, to determine the filename and path of the audit logs. The entries should appear similar to the following: PRI_AUDFILE=/var/.audit/file1 SEC_AUDFILE=/var/.audit/file2 # egrep “PRI_AUDFILE|SEC_AUDFILE” /etc/rc.config.d/auditing For each audit log directory/file, check the permissions. # ls -lLd &lt;audit directory> # ls -lLa &lt;audit file> If any audit log directory/file permissions include a “+”, this is a finding.

Responsibility

System Administrator

IA Controls

ECTP-1

System audit tool executables must be owned by root.

Finding ID
GEN002715
Rule ID
SV-26506r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002715
CCI
CCI-001493
Target Key
(None)
Documentable
No
Discussion

To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.

Fix Text

As root, change the file ownership. # chown root &lt;audit_tool_filename>

Check Content

Verify the audit tools are owned by root or bin (bin is the default owner). The list of files should minimally include the following: audevent - Change/display event/system call status. audfilter - Load/clear/display the audit filtering policy. auditdp - Selectively read/write and convert/format the audit data. audisp - Display audit records. audomon - Audit file monitoring and size parameter setpoints. audsys - Start/stop auditing; set/display the audit file or directory information. userdbset - Select user to be audited. # ls -lL /usr/sbin/aud* /usr/sbin/userdb* If any system audit tool is not owned by root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

System audit tool executables must be group-owned by root, bin, sys, or other.

Finding ID
GEN002716
Rule ID
SV-26509r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002716
CCI
CCI-001493
Target Key
(None)
Documentable
No
Discussion

To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.

Fix Text

As root, change the file group ownership. # chgrp root &lt;audit_tool_filename>

Check Content

Verify the audit tools are group-owned by root, bin, sys, or other. The list of files should minimally include the following: audevent - Change/display event/system call status. audfilter - Load/clear/display the audit filtering policy. auditdp - Selectively read/write and convert/format the audit data. audisp - Display audit records. audomon - Audit file monitoring and size parameter setpoints. audsys - Start/stop auditing; set/display the audit file or directory information. userdbset - Select user to be audited. # ls -lL /usr/sbin/aud* /usr/sbin/userdb* If any system audit tool is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

System audit tool executables must have mode 0750 or less permissive.

Finding ID
GEN002717
Rule ID
SV-26512r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002717
CCI
CCI-001493
Target Key
(None)
Documentable
No
Discussion

To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.

Fix Text

As root, change the file permissions. # chmod 0750 &lt;audit tool executable>

Check Content

Verify the audit tools file permissions. The list of files should minimally include the following: audevent - Change/display event/system call status. audfilter - Load/clear/display the audit filtering policy. auditdp - Selectively read/write and convert/format the audit data. audisp - Display audit records. audomon - Audit file monitoring and size parameter setpoints. audsys - Start/stop auditing; set/display the audit file or directory information. userdbset - Select user to be audited. # ls -lL /usr/sbin/aud* /usr/sbin/userdb* If any system audit tool has a file permissions greater than 0750, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

System audit tool executables must not have extended ACLs.

Finding ID
GEN002718
Rule ID
SV-26516r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002718
CCI
CCI-001493
Target Key
(None)
Documentable
No
Discussion

To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.

Fix Text

As root, change the file permissions. # chacl -z &lt;audit_tool_filename>

Check Content

Verify the audit tools file permissions. The list of files should minimally include the following: audevent - Change/display event/system call status. audfilter - Load/clear/display the audit filtering policy. auditdp - Selectively read/write and convert/format the audit data. audisp - Display audit records. audomon - Audit file monitoring and size parameter setpoints. audsys - Start/stop auditing; set/display the audit file or directory information. userdbset - Select user to be audited. # ls -lL /usr/sbin/aud* /usr/sbin/userdb* If any audit tool file permissions include a “+”, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The audit system must alert the SA in the event of an audit processing failure.

Finding ID
GEN002719
Rule ID
SV-38356r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002719
CCI
CCI-000139
Target Key
(None)
Documentable
No
Discussion

An accurate and current audit trail is essential for maintaining a record of system activity. If the system fails, the SA must be notified and must take prompt action to correct the problem. Minimally, the system must log this event and the SA will receive this notification during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site’s established operations management systems and procedures.

Fix Text

Configure the /sbin/init.d/auditing file to invoke audomon with (at a minimum) the "-o &lt;file>" option. Then restart auditing: # /sbin/init.d/auditing stop # /sbin/init.d/auditing start

Check Content

"audomon" is spawned by /sbin/init.d/auditing when the system is booted with the parameter AUDITING is set to 1 in /etc/rc.config.d/auditing. audomon monitors the capacity of the current audit trail and the file system on which the audit trail is located. audomon prints out warning messages when either capacity is approaching full. audomon also checks the audit trail and the file system against two switch points: FileSpaceSwitch (FSS) and Audit-FileSwitch (AFS). If either switch point is reached, audit recording automatically switches to an alternative audit trail. audomon also takes action, such as sending an email at the switch point if there is a task specified with the -X option. Using the -o option, audomon specifies the file where warning messages are written. By default, warning messages are sent to the console. # cat /sbin/init.d/auditing | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v "^#" | grep "audomon" If audomon has been invoked without the "-o &lt;file>" option (at a minimum), this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must alert the SA when the audit storage volume approaches its capacity.

Finding ID
GEN002730
Rule ID
SV-29653r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002730
CCI
CCI-000143
Target Key
(None)
Documentable
No
Discussion

An accurate and current audit trail is essential for maintaining a record of system activity. If the system fails, the SA must be notified and must take prompt action to correct the problem. Minimally, the system must log this event and the SA will receive this notification during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site’s established operations management systems and procedures.

Fix Text

Edit the AUDOMON_ARGS parameter of the /etc/rc.config.d/auditing file to include -w 90.

Check Content

Determine if the audit system is configured to generate warnings when the audit storage volume approaches capacity. Procedure: # cat /etc/rc.config.d/auditing | grep AUDOMON_ARGS | grep "\-w" If the -w parameter does not exist, this is a finding. If the number following the -w parameter (which represents the threshold for percentage of capacity) is greater than 90, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The audit system must be configured to audit account creation.

Finding ID
GEN002750
Rule ID
SV-29670r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002750
CCI
CCI-000018
Target Key
(None)
Documentable
No
Discussion

If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises, and damages incurred during a system compromise.

Fix Text

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.

Check Content

Check the auditing configuration of the system. # grep -i audevent_args1 /etc/rc.config.d/auditing | grep admin If no results are returned, the system is not configured to audit administrative actions, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account modification.

Finding ID
GEN002751
Rule ID
SV-29675r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002751
CCI
CCI-001403
Target Key
(None)
Documentable
No
Discussion

If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.

Fix Text

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.

Check Content

Check the auditing configuration of the system. # grep -i audevent_args1 /etc/rc.config.d/auditing | grep admin If no results are returned, the system is not configured to audit administrative actions, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account disabling.

Finding ID
GEN002752
Rule ID
SV-29676r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002752
CCI
CCI-001404
Target Key
(None)
Documentable
No
Discussion

If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.

Fix Text

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.

Check Content

Check the auditing configuration of the system. # grep -i audevent_args1 /etc/rc.config.d/auditing | grep admin If no results are returned, the system is not configured to audit administrative actions, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account termination.

Finding ID
GEN002753
Rule ID
SV-29679r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002753
CCI
CCI-001405
Target Key
(None)
Documentable
No
Discussion

If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.

Fix Text

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.

Check Content

Check the auditing configuration of the system. Procedure: # grep -i audevent_args1 /etc/rc.config.d/auditing | grep admin If no results are returned, the system is not configured to audit administrative actions, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit the loading and unloading of dynamic kernel modules.

Finding ID
GEN002825
Rule ID
SV-26525r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002825
CCI
CCI-000126
Target Key
(None)
Documentable
No
Discussion

Actions concerning dynamic kernel modules must be recorded as they are substantial events. Dynamic kernel modules can increase the attack surface of a system. A malicious kernel module can be used to substantially alter the functioning of a system, often with the purpose of hiding a compromise from the SA.

Fix Text

Edit /etc/audit/audit_site.conf and add the admin, modload, moduload, and modpath syscalls to the list of events to be audited.

Check Content

Check /etc/audit/audit_site.conf file to determine if syscalls handling kernel modules are audited. # egrep -i "admin|modload|moduload|modpath" /etc/audit/audit_site.conf All of the above syscalls must be defined in the file, otherwise this is a finding.

Responsibility

System Administrator

The cron.allow file must not have an extended ACL.

Finding ID
GEN002990
Rule ID
SV-38357r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002990
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

A cron.allow file that is readable and/or writable by other than root could allow potential intruders and malicious users to use the file contents to help discern information, such as who is allowed to execute cron programs, which could be harmful to overall system and network security.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/cron.allow

Check Content

Check the permissions of the cron.allow file. # ls -lL /etc/cron.allow If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Crontab files must be group-owned by root, sys, cron, or the crontab creators primary group.

Finding ID
GEN003050
Rule ID
SV-38358r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003050
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.

Fix Text

Change the group owner of the crontab file. # chgrp root &lt;crontab file>

Check Content

Check the group ownership of the crontab files. # ls -lL /var/spool/cron/crontabs If the group-owner is not root sys (default), cron, or the crontab owner's primary group, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Crontab files must not have extended ACLs.

Finding ID
GEN003090
Rule ID
SV-38359r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003090
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. ACLs on crontab files may provide unauthorized access to the files.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;crontab file>

Check Content

Check the permissions of the crontab files. # ls -lL /var/spool/cron/crontabs If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron and crontab directories must not have extended ACLs.

Finding ID
GEN003110
Rule ID
SV-38360r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003110
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. ACLs on cron and crontab directories may provide unauthorized access to these directories. Unauthorized modifications to these directories or their contents may result in the addition of unauthorized cron jobs or deny service to authorized cron jobs.

Fix Text

Remove the optional ACL from the directory. # chacl -z &lt;crontab directory>

Check Content

Check the permissions of the crontab directories. # ls -ld /var/spool/cron/crontabs If the permissions include a "+", the directory has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The cron log files must not have extended ACLs.

Finding ID
GEN003190
Rule ID
SV-38361r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003190
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/cron/log

Check Content

Check the permissions of the file. # ls -lL /var/adm/cron/log If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1, ECTP-1

The cron.deny file must not have an extended ACL.

Finding ID
GEN003210
Rule ID
SV-38362r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003210
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If there are excessive file permissions for the cron.deny file, sensitive information could be viewed or edited by unauthorized users.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/cron/cron.deny

Check Content

Check the permissions of the crontab files for an ACL. # ls -lL /var/adm/cron/cron.deny If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.allow file must not have an extended ACL.

Finding ID
GEN003245
Rule ID
SV-38363r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003245
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Unauthorized modification of the at.allow file could result in Denial of Service to authorized at users and the granting of the ability to run at jobs to unauthorized users.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/cron/at.allow

Check Content

Check the permissions of the file. # ls -lL /var/adm/cron/at.allow If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The cron.allow file must be group-owned by root, bin, sys or other.

Finding ID
GEN003250
Rule ID
SV-34991r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003250
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the group of the cron.allow is not set to root, bin, sys or other, the possibility exists for an unauthorized user to view or edit the list of users permitted to use cron. Unauthorized modification of this file could cause Denial of Service to authorized cron users or provide unauthorized users with the ability to run cron jobs.

Fix Text

Change the group ownership of the file. # chgrp root /var/adm/cron/cron.allow

Check Content

Check the group ownership of the file. # ls -lL /var/adm/cron/cron.allow If the file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.deny file must have mode 0600 or less permissive.

Finding ID
GEN003252
Rule ID
SV-26557r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003252
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The at daemon control files restrict access to scheduled job manipulation and must be protected. Unauthorized modification of the at.deny file could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.

Fix Text

Change the mode of the file. # chmod 0600 /var/adm/cron/at.deny

Check Content

Check the mode of the file. # ls -lL /var/adm/cron/at.deny If the file has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.deny file must not have an extended ACL.

Finding ID
GEN003255
Rule ID
SV-26561r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003255
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The at daemon control files restrict access to scheduled job manipulation and must be protected. Unauthorized modification of the at.deny file could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/cron/at.deny

Check Content

Check the permissions of the file. # ls -lL /var/adm/cron/at.deny If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The cron.deny file must be group-owned by root, bin, sys or other.

Finding ID
GEN003270
Rule ID
SV-34993r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003270
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Cron daemon control files restrict the scheduling of automated tasks and must be protected. Unauthorized modification of the cron.deny file could result in Denial of Service to authorized cron users or could provide unauthorized users with the ability to run cron jobs.

Fix Text

Change the group-owner of the cron.deny file. # chgrp root /var/adm/cron/cron.deny

Check Content

Determine the cron.deny file's group owner. # ls -lL /var/adm/cron/cron.deny If the file is not group-owned by root, bin sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at directory must not have an extended ACL.

Finding ID
GEN003410
Rule ID
SV-38364r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003410
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the at directory has an extended ACL, unauthorized users could be allowed to view or to edit files containing sensitive information within the at directory. Unauthorized modifications could result in Denial of Service to authorized at jobs.

Fix Text

Remove the optional ACL from the directory. # chacl -z /var/spool/cron/atjobs

Check Content

Check the permissions of the directory. # ls -lLd /var/spool/cron/atjobs If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at directory must be group-owned by root, bin, sys or other.

Finding ID
GEN003430
Rule ID
SV-34995r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003430
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the group of the at directory is not root, bin, sys or other, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.

Fix Text

Change the group ownership of the file to root, bin, sys or other. # chgrp root /var/spool/cron/atjobs

Check Content

Check the group ownership of the file. Procedure: # ls -lLd /var/spool/cron/atjobs If the file is not group-owned by root, bin, sys or other this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.allow file must be group-owned by root, sys, bin or other.

Finding ID
GEN003470
Rule ID
SV-26571r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003470
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the group-owner of the at.allow file is not set to root, sys, bin or other, unauthorized users could be allowed to view or edit the list of users permitted to run at jobs. Unauthorized modification could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.

Fix Text

Change the group ownership of the file. # chgrp root /usr/lib/cron/at.allow

Check Content

Check the group ownership of the file. Procedure: # ls -lL /usr/lib/cron/at.allow If the file is not group-owned by root, sys, bin or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.deny file must be group-owned by root, bin, sys, or other.

Finding ID
GEN003490
Rule ID
SV-26574r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003490
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the group-owner of the at.deny file is not set to root, bin, sys, other, or cron, unauthorized users could be allowed to view or edit sensitive information contained within the file. Unauthorized modification could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.

Fix Text

Change the group ownership of the at.deny file to root, bin, sys, or other. # chgrp root /usr/lib/cron/at.deny

Check Content

Check the group ownership of the file. Procedure: # ls -lL /usr/lib/cron/at.deny If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must be configured to store any process core dumps in a specific, centralized directory.

Finding ID
GEN003501
Rule ID
SV-26577r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003501
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Specifying a centralized location for core file creation allows for the centralized protection of core files. Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If process core dump creation is not configured to use a centralized directory, core dumps may be created in a directory without appropriate ownership or permissions configured, which could result in unauthorized access to the core dumps.

Fix Text

Change the core file pattern. # coreadm -I /var/adm/crash/core.%f.%p Where: %f = Will be assigned the executable/program file name creating the core %p = Will be assigned the executable/program process ID creating the core Ensure that core dumps are enabled: # coreadm -e global

Check Content

View all coreadm configuration settings. # coreadm Or View only if a directory is defined for process core dumps. If no information is returned, a directory has not been defined. # coreadm | tr '\011' ' ' | tr -s ' ' | egrep -i "global core file pattern|global core dumps" If the process core dump directory is undefined and core dumps are disabled, this is not applicable. If the process core dump directory is defined with a relative path (does not start with a slash "/") and core dumps are enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The centralized process core dump data directory must be owned by root.

Finding ID
GEN003502
Rule ID
SV-26580r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003502
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the centralized process core dump data directory is not owned by root, the core dumps contained in the directory may be subject to unauthorized access.

Fix Text

If the core file dump pattern is undefined, ensure that core dumps are disabled. # coreadm -d global If the core file dump pattern is defined and core dumps are enabled and the core file directory is not group-owned by root, bin, sys or other, change the owner of the core file directory. # chown root &lt;core file directory>

Check Content

View all coreadm configuration settings. # coreadm Or View only if a directory is defined for process core dumps. If no information is returned, a directory has not been defined. # coreadm | tr '\011' ' ' | tr -s ' ' | egrep -i "global core file pattern|global core dumps" If the process core dump directory is undefined and core dumps are disabled, this is not applicable. To check the ownership of the &lt;core file directory>, substitute the global core file pattern from the above command into the next command. # ls -lLd `dirname &lt;global core file pattern>` If the directory is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The centralized process core dump data directory must be group-owned by root, bin, sys, or other.

Finding ID
GEN003503
Rule ID
SV-26583r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003503
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the centralized process core dump data directory is not group-owned by a system group, the core dumps contained in the directory may be subject to unauthorized access.

Fix Text

Change the group-owner of the core file directory. # chgrp root &lt;core file directory>

Check Content

View all coreadm configuration settings. # coreadm Or View only if a directory is defined for process core dumps. If no information is returned, a directory has not been defined. # coreadm | tr '\011' ' ' | tr -s ' ' | egrep -i "global core file pattern|global core dumps" If the process core dump directory is undefined and core dumps are disabled, this is not applicable. Check the group ownership of the &lt;core file directory> # ls -lLd `dirname "${CorePathFile}"` If the process core dump directory is defined and core dumps are enabled and the directory is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The centralized process core dump data directory must have mode 0700 or less permissive.

Finding ID
GEN003504
Rule ID
SV-26598r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003504
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the process core dump data directory has a mode more permissive than 0700, unauthorized users may be able to view or to modify sensitive information contained any process core dumps in the directory.

Fix Text

If the core file dump pattern is undefined, ensure that core dumps are disabled. # coreadm -d global If the core file dump pattern is defined and core dumps are enabled and the core file directory mode is not 0700, change the mode of the core file directory. # chmod 0700 &lt;core file directory>

Check Content

Check Content: View all coreadm configuration settings. # coreadm Or View only if a directory is defined for process core dumps. If no information is returned, a directory has not been defined. # coreadm | tr '\011' ' ' | tr -s ' ' | egrep -i "global core file pattern|global core dumps" If the process core dump directory is undefined and core dumps are disabled, this is not applicable. Check the permissions of the &lt;core file directory> # ls -lLd `dirname &lt;core dump directory>` If the core dump directory is more permissive than 0700, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The centralized process core dump data directory must not have an extended ACL.

Finding ID
GEN003505
Rule ID
SV-26603r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003505
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the process core dump data directory has an extended ACL, unauthorized users may be able to view or to modify sensitive information contained any process core dumps in the directory.

Fix Text

If the core file dump pattern is undefined, ensure that core dumps are disabled. # coreadm -d global If the core file dump pattern is defined and core dumps are enabled and the core file directory permissions include a "+" (ACL), remove the optional ACL from the file. # chacl -z &lt;core file directory>

Check Content

View all coreadm configuration settings. # coreadm Or View only if a directory is defined for process core dumps. If no information is returned, a directory has not been defined. # coreadm | tr '\011' ' ' | tr -s ' ' | egrep -i "global core file pattern|global core dumps" If the process core dump directory is undefined and core dumps are disabled, this is not applicable. If the process core dump directory is defined and core dumps are enabled, check the permissions of the &lt;core file directory> # ls -lLd `dirname &lt;core dump directory>` If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Kernel core dumps must be disabled unless needed.

Finding ID
GEN003510
Rule ID
SV-26607r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003510
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps may consume a considerable amount of disk space and may result in Denial of Service by exhausting the available space on the target file system. The kernel core dump process may increase the amount of time a system is unavailable due to a crash. Kernel core dumps can be useful for kernel debugging.

Fix Text

Disable crash dumps. # crashconf -e all Edit /etc/rc.config.d/crashconf and set CRASH_EXCLUDED_PAGES="all".

Check Content

Verify crash dumps are disabled. # crashconf -v If the "included" list is not empty or fully disabled, this is a finding. # crashconf -v | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | cut -f 3,3 -d " " | \ egrep -c -i "yes," If the above command returns a value >0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The kernel core dump data directory must be group-owned by root, bin, sys, or other.

Finding ID
GEN003521
Rule ID
SV-26611r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003521
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the kernel core dump data directory is not group-owned by a system group, the core dumps contained in the directory may be subject to unauthorized access.

Fix Text

Change the group-owner of the kernel core dump data directory. # chgrp root /var/adm/crash

Check Content

Determine the kernel core dump data directory and check its ownership. # ls -lLd /var/adm/crash If the directory is not group-owned by root, bin, sys, or other this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The kernel core dump data directory must have mode 0700 or less permissive.

Finding ID
GEN003522
Rule ID
SV-26615r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003522
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the mode of the kernel core dump data directory is more permissive than 0700, unauthorized users may be able to view or to modify kernel core dump data files.

Fix Text

Change the group-owner of the kernel core dump data directory. # chmod 0700 /var/adm/crash

Check Content

Determine the kernel core dump data directory and check its permissions. # ls -lLd /var/adm/crash If the directory has a mode more permissive than 0700, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The kernel core dump data directory must not have an extended ACL.

Finding ID
GEN003523
Rule ID
SV-26619r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003523
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If there is an extended ACL for the kernel core dump data directory, unauthorized users may be able to view or to modify kernel core dump data files.

Fix Text

Remove the optional ACL from the file. # chacl -z /var/adm/crash

Check Content

Determine the kernel core dump data directory and check its permissions. # ls -lLd /var/adm/crash If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must not process Internet Control Message Protocol (ICMP) timestamp requests.

Finding ID
GEN003602
Rule ID
SV-35022r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003602
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

The processing of ICMP timestamp requests increases the attack surface of the system.

Fix Text

Disable ICMP Timestamp responses on the system. # ndd -set /dev/ip ip_respond_to_timestamp 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x]=ip NDD_NAME[x]=ip_respond_to_timestamp NDD_VALUE[x]=0

Check Content

Verify the system does not respond to ICMP Timestamp requests. # ndd -get /dev/ip ip_respond_to_timestamp If the result is not 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not respond to ICMPv4 echoes sent to a broadcast address.

Finding ID
GEN003603
Rule ID
SV-35025r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003603
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Responding to broadcast Internet Control Message Protocol (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.

Fix Text

Configure the system to not respond to ICMP ECHO_REQUESTs sent to broadcast addresses. # ndd -set /dev/ip ip_respond_to_echo_broadcast 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x]=ip NDD_NAME[x]=ip_respond_to_echo_broadcast NDD_VALUE[x]=0

Check Content

Verify the system does not respond to ICMP ECHO_REQUESTs set to broadcast addresses. # ndd -get /dev/ip ip_respond_to_echo_broadcast If the result is not 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not respond to Internet Control Message Protocol (ICMP) timestamp requests sent to a broadcast address.

Finding ID
GEN003604
Rule ID
SV-35026r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003604
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

The processing of ICMP timestamp requests increases the attack surface of the system. Responding to broadcast ICMP timestamp requests facilitates network mapping and provides a vector for amplification attacks.

Fix Text

Configure the system to not respond to ICMP timestamp requests sent to broadcast addresses. # ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x]=ip NDD_NAME[x]=ip_respond_to_timestamp_broadcast NDD_VALUE[x]=0

Check Content

Verify the system does not respond to ICMP timestamp requests set to broadcast addresses. # ndd -get /dev/ip ip_respond_to_timestamp_broadcast If the result is greater than 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not apply reversed source routing to TCP responses.

Finding ID
GEN003605
Rule ID
SV-35028r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003605
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.

Fix Text

Disable the IP source-routed forwarding feature. # ndd -set /dev/ip ip_forward_src_routed 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x] = ip NDD_NAME[x] = ip_forward_src_routed NDD_VALUE[x] = 0

Check Content

Determine if the system is configured to forward source-routed IP packets. When correctly configured, if ip_forward_src_routed is disabled, the system is also configured to disable reverse source routing to TCP responses to source-routed packets. # ndd -get /dev/ip ip_forward_src_routed If the returned value is not '0', this feature is enabled and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must prevent local applications from generating source-routed packets.

Finding ID
GEN003606
Rule ID
SV-29707r2_rule29707r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003606
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.

Fix Text

Edit /etc/opt/ipf/ipf.conf and add rules to block outgoing source-routed packets, such as: block out log quick [all] | [from any to any] with opt lsrr block out log quick [all] | [from any to any] with opt ssrr Reload the IPF rules:. # ipf -Fa -A -f /etc/opt/ipf/ipf.conf

Check Content

Check the system for an IP Filter (IPF) rule blocking outgoing source-routed packets. # ipfstat -o Examine the list for rules such as: block out log quick [all] | [from any to any] with opt lsrr block out log quick [all] | [from any to any] with opt ssrr If the listed rules do not block both lsrr and ssrr options, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not accept source-routed IPv4 packets.

Finding ID
GEN003607
Rule ID
SV-29713r2_rule29713r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003607
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the handling of source-routed traffic destined to the system itself, not to traffic forwarded by the system to another, such as when IPv4 forwarding is enabled and the system is functioning as a router.

Fix Text

Edit /etc/opt/ipf/ipf.conf and add rules to block incoming source-routed packets, such as: block in log quick [all] | [from any to any] with opt lsrr block in log quick [all] | [from any to any] with opt ssrr Reload the IPF rules. # ipf -Fa -A -f /etc/opt/ipf/ipf.conf

Check Content

Check the system for an IP Filter (IPF) rule blocking incoming source-routed packets. # ipfstat -i Examine the list for rules such as: block in log quick [all] | [from any to any] with opt lsrr block in log quick [all] | [from any to any] with opt ssrr If the listed rules do not block incoming traffic with both lsrr and ssrr options, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Proxy Address Resolution Protocol (ARP) must not be enabled on the system.

Finding ID
GEN003608
Rule ID
SV-29602r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003608
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Proxy ARP allows a system to respond to ARP requests on one interface on behalf of hosts connected to another interface. If this function is enabled when not required, addressing information may be leaked between the attached network segments.

Fix Text

Remove any non-local published ARP entries. # arp -d &lt;host> Check system initialization scripts for any commands configuring published ARP entries (such as "arp -s &lt;host> &lt;addr> pub") and remove them. # grep -n "arp \-s" /sbin/init.d/*

Check Content

Check the system for non-local published ARP entries. # arp -a[n] If any entries are listed as published, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must ignore IPv4 ICMP redirect messages.

Finding ID
GEN003609
Rule ID
SV-29719r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003609
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.

Fix Text

Edit /etc/opt/ipf/ipf.conf and add rules to block incoming IPv4 ICMP redirect messages, such as: block in quick proto icmp from any to any icmp-type redir Reload the IPF rules. Flush the rules from your ruleset using the -Fa option. The -A option specifies the active rules list. The -f option specifies the rules configuration file to be used: # ipf -Fa -A -f /etc/opt/ipf/ipf.conf

Check Content

Determine if the system is configured to block inbound IPv4 ICMP redirect messages. # ipfstat -i Examine the list for a rule such as: block in quick proto icmp from any to any icmp-type redir If the listed rules do not block inbound IPv4 ICMP redirect messages, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not send IPv4 ICMP redirects.

Finding ID
GEN003610
Rule ID
SV-35038r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003610
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.

Fix Text

Configure the system to not send IPv4 ICMP redirect messages. # ndd -set /dev/ip ip_send_redirects 0 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x]=ip NDD_NAME[x]=ip_send_redirects NDD_VALUE[x]=0

Check Content

Verify the system does not send IPv4 ICMP redirect messages. # ndd -get /dev/ip ip_send_redirects If the return value/result is not 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must log martian packets.

Finding ID
GEN003611
Rule ID
SV-29772r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003611
CCI
CCI-000126
Target Key
(None)
Documentable
No
Discussion

Martian packets are packets containing addresses known by the system to be invalid. Logging these messages allows the SA to identify misconfigurations or attacks in progress.

Fix Text

Configure the system to log martian packets using IPF. Add rules that log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255. Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection. Edit /etc/opt/ipf/ipf.conf and add the following rules, substituting local addresses and interface names: block in log quick on lan0 from 192.168.1.10 to any block in log quick on lan0 from 192.168.1.255 to any Reload the IPF rules. Flush the rules from your ruleset using the -Fa option. The -A option specifies the active rules list. The -f option specifies the rules configuration file to be used: # ipf -Fa -A -f /etc/opt/ipf/ipf.conf

Check Content

Determine if the system is configured to log martian packets. Examine the IPF rules on the system. # ipfstat -i There must be rules that log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255. Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection. The /etc/opt/ipf/ipf.conf file would appear as follows: block in log quick on lan0 from 192.168.1.10 to any block in log quick on lan0 from 192.168.1.255 to any If such rules do not exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

All local file systems must employ journaling or another mechanism ensuring file system consistency.

Finding ID
GEN003650
Rule ID
SV-26639r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003650
CCI
CCI-000553
Target Key
(None)
Documentable
No
Discussion

File system journaling, or logging, can allow reconstruction of file system data after a system crash, thus preserving the integrity of data that may have otherwise been lost. Journaling file systems typically do not require consistency checks upon booting after a crash, which can improve system availability. Some file systems employ other mechanisms to ensure consistency which also satisfy this requirement.

Fix Text

Convert any local HFS filesystems to use journaling, ensuring file system consistency.

Check Content

Parse the /etc/fstab file for any mountable HFS file system entries: # cat /etc/fstab | grep -v "^#" | grep -v "/stand" | grep hfs If any /etc/fstab entries are displayed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be group-owned by root, bin, sys, or other.

Finding ID
GEN003730
Rule ID
SV-35069r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003730
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Failure to give ownership of sensitive files or utilities to system groups may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the group ownership of the inetd configuration file. # chgrp root &lt;file or directory>

Check Content

Check the group ownership of the (x)inetd configuration file, its parent directory and any files identified by the configuration file includedir stanza.. # find / -type f -name inetd.conf -o -name xinetd.conf | xargs -n1 ls -lL # find / -type d -name xinetd.d | xargs -n1 ls -lLd # grep includedir &lt;PATH>/xinetd.conf # ls -lL &lt;includedir files from previous command> If a file or directory is not group-owned by root, bin, sys, or other this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The inetd.conf and xinetd.conf files must not have extended ACLs.

Finding ID
GEN003745
Rule ID
SV-35073r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003745
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The Internet service daemon configuration files must be protected as malicious modification could cause Denial of Service or increase the attack surface of the system.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;file>

Check Content

Check the permissions of the inetd configuration file. # find / -type f \( -name inetd.conf -o -name xinetd.conf \) | xargs -n1 ls -lL If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The xinetd.d directory must have mode 0755 or less permissive.

Finding ID
GEN003750
Rule ID
SV-35074r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003750
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The Internet service daemon configuration files must be protected as malicious modification could cause Denial of Service or increase the attack surface of the system.

Fix Text

Change the mode of included xinetd configuration directories to 0755. # chmod 0755 &lt;directory>

Check Content

Check the (x)inetd.conf file for any included directories. # find / -type f -name xinetd.conf | xargs -n1 ls -lL # cat &lt;PATH>/xinetd.conf | grep -v "^#" | grep includedir If (x)inetd.conf does not exist, or there is no includedir stanza, this is not a finding. Individually check the mode of any directories in the configuration file. # ls -lLd &lt;included directories> If any of the included directories has a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The xinetd.d directory must not have an extended ACL.

Finding ID
GEN003755
Rule ID
SV-29790r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003755
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The Internet service daemon configuration files must be protected as malicious modification could cause denial of service or increase the attack surface of the system.

Fix Text

Remove the extended ACL from the xinetd configuration directories.

Check Content

Check xinetd configuration directories for extended ACLs. Determine any xinetd configuration directories. # find / -type f -name xinetd.conf | xargs -n1 ls -lL # cat &lt;PATH>/xinetd.conf | grep -v "^#" | grep includedir If xinetd.conf does not exist, or no includedir lines are returned, this is not applicable. Check the xinetd configuration directories for extended ACLs. # ls -lLd &lt;included directories> If any of these directories contain a "+" in the permissions field, the directory has an extended ACL and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The services file must be group-owned by root, bin, sys, or other.

Finding ID
GEN003770
Rule ID
SV-35080r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003770
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Failure to give ownership of system configuration files to root or a system group provides the designated owner and unauthorized users with the potential to change the system configuration which could weaken the system's security posture.

Fix Text

Change the group-owner of the services file. Procedure: # chgrp root /etc/services

Check Content

Check the group ownership of the services file. NOTE: The typical default group ownership for the services file is bin. # ls -lL /etc/services If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The services file must not have an extended ACL.

Finding ID
GEN003790
Rule ID
SV-38366r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003790
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The services file is critical to the proper operation of network services and must be protected from unauthorized modification. If the services file has an extended ACL, it may be possible for unauthorized users to modify the file. Unauthorized modification could result in the failure of network services.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/services

Check Content

Check the permissions of the /etc/services file. # ls -lL /etc/services If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The portmap or rpcbind service must not be running unless needed.

Finding ID
GEN003810
Rule ID
SV-26665r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003810
CCI
CCI-001336001436
Target Key
(None)
Documentable
No
Discussion

The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using Remote Procedure Calls (RPCs).

Fix Text

Stop and disable the rpcbind service, then verify it has not been restarted. # kill rpcbind # chmod 0000 /usr/sbin/rpcbind # ps -ef | grep -v grep | grep rpcbind

Check Content

Check if the rpcbind process is running. # ps -ef | grep -v grep | grep rpcbind If the system needs the portmap service to operate, this is not applicable. If a process is listed and not required, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The portmap or rpcbind service must not be installed unless needed.

Finding ID
GEN003815
Rule ID
SV-35088r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003815
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using Remote Procedure Calls (RPCs).

Fix Text

If the portmap or rpcbind service is part of a removable package, consult vendor documentation for the procedure to remove the package. If the service cannot be removed, prevent service activation by removing all permissions from the executable. Procedure: # whereis rpcinfo # chmod 0000 &lt;daemon path/filename from the above command>

Check Content

If the system needs the portmap service to operate, this is not applicable. In order to inspect the HP-UX portmapper protocol: # rpcinfo -p If the service is running while supporting a required service, i.e., mountd/nfs(d), this is not a finding. If the portmap service is installed/running and not required to support any service(s), this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The remshd service must not be installed.

Finding ID
GEN003825
Rule ID
SV-35129r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003825
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

The remshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Uninstall the remshd service from the system. # cat /etc/inetd.conf | grep -n remshd Edit the /etc/inetd.conf file and comment the line entry for remshd, then reconfigure inetd via: # inetd -c

Check Content

Determine if remshd is installed/running: # cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \ grep remshd If the above command returns any evidence of the remshd service, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

The rlogind service must not be running.

Finding ID
GEN003830
Rule ID
SV-29697r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003830
CCI
CCI-000068
Target Key
(None)
Documentable
No
Discussion

The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Edit /etc/inetd.conf and comment out the rlogind service. Restart the inetd service via the following command: # inetd -c

Check Content

Determine if the rlogind service is running. # cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep rlogind If rlogind is found to be enabled, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

The rlogind service must not be installed.

Finding ID
GEN003835
Rule ID
SV-35131r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003835
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Edit /etc/inetd.conf and comment out the rlogind service: # vi /etc/inetd.conf Restart the inetd service via the following command: # inetd -c Disable the rlogind binary: chmod 000 /usr/lbin/rlogind Additionally, the binary name may also be changed: mv /usr/lbin/rlogind /usr/lbin/&lt;new_binary_name>

Check Content

Determine if the rlogind service is installed. # cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -c rlogind If rlogind is found to be installed, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

The rexecd service must not be installed.

Finding ID
GEN003845
Rule ID
SV-35133r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003845
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Edit /etc/inetd.conf and comment out the rexecd service: # vi /etc/inetd.conf Restart the inetd service via the following command: # inetd -c Disable the binary: chmod 000 /usr/lbin/rexecd Additionally, the binary name may also be changed: mv /usr/lbin/rexecd /usr/lbin/&lt;new_binary_name>

Check Content

Determine if the rexecd service is installed. # cat /etc/inetd.conf | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' |grep -v "^#" | cut -f 6,7 -d " " | grep -c -i rexecd If rexecd is found to be installed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The hosts.lpd (or equivalent) file must be group-owned by root, bin, sys, or system.

Finding ID
GEN003930
Rule ID
SV-35144r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003930
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Failure to give group-ownership of the hosts.lpd file to root, bin, sys, or system provides the members of the owning group and possible unauthorized users, with the potential to modify the hosts.lpd file. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.

Fix Text

Change the group-owner of the hosts.lpd (or equivalent) file(s). # chgrp root /etc/hosts.lpd

Check Content

When rlpdaemon is started by inetd, access control is provided via the file /var/adm/inetd.sec to allow or prevent a host from making requests. When rlpdaemon is not started by inetd(1M), all requests must come from one of the machines listed in the file /etc/hosts.equiv or /var/spool/lp/.rhosts. When /var/spool/lp/.rhosts is used for access, the user name should be lp. Check the group ownership of the /etc/hosts.lpd (or equivalent) file(s). # ls -lL /var/spool/lp/.rhosts # ls -lL /var/adm/inetd.sec # ls -lL /etc/hosts.equiv If the file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The hosts.lpd (or equivalent) file must not have an extended ACL.

Finding ID
GEN003950
Rule ID
SV-35150r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003950
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions on the hosts.lpd (or equivalent) file may permit unauthorized modification. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;print service configuration file>

Check Content

Locate any print service configuration file(s) on the system. HP vendor documentation identifies the following names and locations of print service configuration files on the system that can be checked via the following commands: # ls -lL /var/spool/lp/.rhosts # ls -lL /var/adm/inetd.sec # ls -lL /etc/hosts.equiv If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The traceroute file must not have an extended ACL.

Finding ID
GEN004010
Rule ID
SV-38370r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004010
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If an extended ACL exists on the traceroute executable file, it may provide unauthorized users with access to the file. Malicious code could be inserted by an attacker and triggered whenever the traceroute command is executed by authorized users. Additionally, if an unauthorized user is granted executable permissions to the traceroute command, it could be used to gain information about the network topology behind the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.

Fix Text

Remove the extended ACL from the traceroute file. # chacl -z /usr/contrib/bin/traceroute

Check Content

Check the permissions of the /usr/sbin/traceroute file. # ls -lL /usr/contrib/bin/traceroute If the permissions include a "+", the file has an extended ACL and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The aliases file must be group-owned by root, sys, bin, or other.

Finding ID
GEN004370
Rule ID
SV-35163r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004370
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the alias file is not group-owned by root, bin, sys or other, an unauthorized user may modify the file to add aliases to run malicious code or redirect e-mail.

Fix Text

Change the group-owner of the /etc/mail/aliases file. # chgrp root /etc/mail/aliases

Check Content

Check the group ownership of the /etc/mail/aliases file. # ls -lL /etc/mail/aliases If the file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The alias file must not have an extended ACL.

Finding ID
GEN004390
Rule ID
SV-38372r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004390
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions on the aliases file may permit unauthorized modification. If the alias file is modified by an unauthorized user, they may modify the file to run malicious code or redirect e-mail.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/mail/aliases

Check Content

Check the permissions of the /etc/mail/aliases file. # ls -lL /etc/mail/aliases If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Files executed through a mail aliases file must be group-owned by root, bin, sys, or other, and must reside within a directory group-owned by root, bin, sys, or other.

Finding ID
GEN004410
Rule ID
SV-38373r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004410
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If a file executed through a mail aliases file is not group-owned by root or a system group, it may be subject to unauthorized modification. Unauthorized modification of files executed through aliases may allow unauthorized users to attain root privileges.

Fix Text

Change the group ownership of the file referenced from /etc/mail/aliases. # chgrp root &lt;file referenced from aliases>

Check Content

Examine the contents of the /etc/mail/aliases file. # cat /etc/mail/aliases | cut -f 2,2 -d ":" | grep "|" For each file referenced, check the group ownership of the file. # ls -lL &lt;file referenced from aliases> If the group owner of any file is not root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Files executed through a mail aliases file must not have extended ACLs.

Finding ID
GEN004430
Rule ID
SV-38369r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004430
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions on files executed through a mail alias file could result in modification by an unauthorized user, execution of malicious code, and/or system compromise.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;file referenced from aliases>

Check Content

Examine the contents of the /etc/mail/aliases file. For each file referenced, check the permissions of the file. # ls -lL &lt;file referenced from aliases> If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SMTP service log file must not have an extended ACL.

Finding ID
GEN004510
Rule ID
SV-38368r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004510
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the SMTP service log file has an extended ACL, unauthorized users may be allowed to access or to modify the log file.

Fix Text

Remove the optional ACL from the log file. # chacl -z &lt;log file>

Check Content

Examine /etc/syslog.conf and determine the log file(s) receiving logs for mail.crit, mail.debug, mail.*, or *.crit. # cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \ egrep -i "mail.crit|mail.\*|\*.crit|mail.debug|\*.debug" | cut -f 2,2 -d " " | \ uniq | xargs -n1 ls -lL Check the permissions on these log files. # ls -lL &lt;log file> If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The ftpusers file must be group-owned by root, bin, sys or other.

Finding ID
GEN004930
Rule ID
SV-35104r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004930
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the ftpusers file is not group-owned by root or a system group, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.

Fix Text

Change the group owner of the ftpusers file. # chgrp root /etc/ftpd/ftpusers

Check Content

Check the group ownership of the ftpusers file. # ls -lL /etc/ftpd/ftpusers If the file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The ftpusers file must not have an extended ACL.

Finding ID
GEN004950
Rule ID
SV-38367r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004950
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions on the ftpusers file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized users to access the FTP service.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/ftpd/ftpusers

Check Content

Check the permissions of the /etc/ftpusers file. # ls -lL /etc/ftpd/ftpusers If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The .Xauthority files must not have extended ACLs.

Finding ID
GEN005190
Rule ID
SV-35167r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005190
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

.Xauthority files ensure the user is authorized to access the specific X Windows host. Extended ACLs may permit unauthorized modification of these files, which could lead to Denial of Service to authorized access or allow unauthorized access to be obtained.

Fix Text

Remove the optional ACL from the file. # chacl -z /&lt;userhomedirectory>/.Xauthority

Check Content

Get a list of (non-system account) users and the associated home directories. # cat /etc/passwd | cut -f 1,6 -d ":" Check the file permissions for the user .Xauthority files. # ls -lLa /&lt;userhomedirectory>/.Xauthority If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SNMP service must use only SNMPv3 or its successors.

Finding ID
GEN005305
Rule ID
SV-26716r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005305
CCI
CCI-001435
Target Key
(None)
Documentable
No
Discussion

SNMP Versions 1 and 2 are not considered secure. Without the strong authentication and privacy that is provided by the SNMP Version 3 User-based Security Model (USM), an attacker or other unauthorized users may gain access to detailed system management information and use that information to launch attacks against the system.

Fix Text

Edit /etc/SnmpAgent.d/snmpd.conf and remove references to get-community-name and set-community-name. Restart the SNMP service. # /sbin/init.d/SnmpMaster The snmpd script (/usr/sbin/snmpd) will take care of starting the subagents. It if does not, check the options in /etc/rc.config.d/SnmpMaster that influence the startup behavior.

Check Content

Verify the SNMP daemon is not configured to use community strings. # cat /etc/SnmpAgent.d/snmpd.conf |egrep -i "get-community-name|set-community-name" If any configuration is found, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

Management Information Base (MIB) files must not have extended ACLs.

Finding ID
GEN005350
Rule ID
SV-38374r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005350
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The ability to read the MIB file could impart special knowledge to an intruder or malicious user about the ability to extract compromising information about the system or network.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;mib file>

Check Content

Check the file permissions for the MIB files. # find / -type f -name *.mib -exec ls -lL {} \; If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The snmpd.conf file must be group-owned by root, sys, bin or other.

Finding ID
GEN005365
Rule ID
SV-26734r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005365
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification. If the file is not group-owned by root or a system group, it may be subject to access and modification from unauthorized users.

Fix Text

Change the group ownership of the SNMP configuration file. # chgrp root /etc/SnmpAgent.d/snmpd.conf

Check Content

Check the group ownership of the SNMP configuration file. # ls -lL /etc/SnmpAgent.d/snmpd.conf If the file is not group-owned by root, sys, bin or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The snmpd.conf file must not have an extended ACL.

Finding ID
GEN005375
Rule ID
SV-26738r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005375
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/SnmpAgent.d/snmpd.conf

Check Content

Check the permissions of the SNMP configuration file. # ls -lL /etc/SnmpAgent.d/snmpd.conf If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/syslog.conf file must have mode 0640 or less permissive.

Finding ID
GEN005390
Rule ID
SV-38376r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005390
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.

Fix Text

Change the permissions of the syslog configuration file. # chmod 0640 /etc/syslog.conf

Check Content

Check the permissions of the syslog configuration file. # ls -lL /etc/syslog.conf If the mode of the file is more permissive than 0640, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/syslog.conf file must not have an extended ACL.

Finding ID
GEN005395
Rule ID
SV-38375r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005395
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/syslog.conf

Check Content

Check the permissions of the syslog configuration file. # ls -lL /etc/syslog.conf If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must use a remote syslog server (loghost).

Finding ID
GEN005450
Rule ID
SV-35189r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005450
CCI
CCI-000136
Target Key
(None)
Documentable
No
Discussion

A syslog server (loghost) receives syslog messages from one or more systems. This data can be used as an authoritative log source in the event a system is compromised and its local logs are suspect.

Fix Text

Edit the syslog configuration file and add an appropriate remote syslog server.

Check Content

A typical entry listing the loghost server should look similar to the following: *.* @example.com Check the syslog configuration file for remote syslog servers. # cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep "\@" If no line information is returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The SSH client must be configured to only use the SSHv2 protocol.

Finding ID
GEN005501
Rule ID
SV-35212r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005501
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH client could provide access to the system with the privileges of the user running the client.

Fix Text

Edit the client configuration file Protocol entry to look like: Protocol 2

Check Content

Check the SSH client configuration for allowed protocol versions. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Protocol arg(s)=2 # cat /opt/ssh/etc/ssh_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "Protocol" If Protocol 2,1 (the default) or Protocol 1 are defined on a line without a leading comment, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

The SSH daemon must only listen on management network addresses unless authorized for uses other than management.

Finding ID
GEN005504
Rule ID
SV-35214r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005504
CCI
CCI-000069
Target Key
(None)
Documentable
Yes
Discussion

The SSH daemon should only listen on network addresses designated for management traffic. If the system has multiple network interfaces and SSH listens on addresses not designated for management traffic, the SSH service could be subject to unauthorized access. If SSH is used for purposes other than management, such as providing an SFTP service, the list of approved listening addresses may be documented.

Fix Text

Edit the configuration file to specify listening for network addresses designated for management traffic only, or remove the ListenAddress line entry.

Check Content

Ask the SA if any/all interfaces are authorized for management traffic. If all interfaces are authorized, this is not a finding. Check the SSH daemon configuration for listening network addresses. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=ListenAddress arg(s)=&lt;site specific> Default arg values include: NA. The default action is for the daemon to listen on all local addresses. In this case, the ListenAddress line entry will not be found in the configuration file. Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> are not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "ListenAddress" If a returned 'ListenAddress' configuration entry contains addresses not designated for management traffic, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must be configured to only use FIPS 140-2 approved ciphers.

Finding ID
GEN005505
Rule ID
SV-35216r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005505
CCI
CCI-000068
Target Key
(None)
Documentable
No
Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.

Fix Text

Edit the configuration file and remove any ciphers that do not meet the following: 3des-ctr or aes-NNN-ctr (NNN=128, 192 or 256). If necessary, add the Ciphers entry with one or more of the above keyword values.

Check Content

Check the SSH daemon configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Ciphers arg(s)=&lt;comma separated cipher(s) of the form 3des-ctr or aes-NNN-ctr, NNN=128, 192 or 256> Default values include: "aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour,arcfour128,arcfour256blowfish-cbc,cast128-cbc". For this check, all keyword values ending with the suffix "-cbc" are disallowed, IE: 3des-cbc. As the vendor does not currently support 3des-ctr, the only current allowed keyword values begin with the prefix "aes" and terminate with the suffix "-ctr". Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | egrep -i "ciphers" All ciphers present in the returned ciphers line entry must be prefixed by 3des or aes and end with the suffix "-ctr" or this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1

The SSH daemon must be configured to not use Cipher-Block Chaining (CBC) ciphers.

Finding ID
GEN005506
Rule ID
SV-35218r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005506
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The CBC mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plaintext attacks and must not be used.

Fix Text

Edit the configuration file and remove any ciphers other than those with the "aes" prefix and the "-ctr" suffix.

Check Content

Check the SSH daemon configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Ciphers arg(s)=&lt;comma separated cipher(s)> Default values include: "aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour,arcfour128,arcfour256blowfish-cbc,cast128-cbc". For this check, the only allowed keyword values are those from the above list with the "aes" prefix and the "-ctr" suffix. Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "ciphers" If the returned ciphers list contains any cipher other than those with the "aes" prefix and the "-ctr" suffix, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.

Finding ID
GEN005507
Rule ID
SV-35220r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005507
CCI
CCI-001453
Target Key
(None)
Documentable
No
Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.

Fix Text

Edit the SSH daemon configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.

Check Content

Check the SSH daemon configuration for allowed MACs. Note that keywords are case-insensitive and arguments (args) are case-sensitive. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | egrep -i "macs" If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Responsibility

System Administrator

The SSH client must be configured to only use FIPS 140-2 approved ciphers.

Finding ID
GEN005510
Rule ID
SV-35188r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005510
CCI
CCI-000068
Target Key
(None)
Documentable
No
Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.

Fix Text

Edit the configuration file and remove any ciphers that do not meet the following: 3des-ctr or aes-NNN-ctr (NNN=128, 192 or 256). If necessary, add the Ciphers entry with one or more of the above keyword values.

Check Content

Check the SSH client configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Ciphers arg(s)=&lt;comma separated cipher(s) of the form 3des-ctr or aes-NNN-ctr, NNN=128, 192 or 256> Default values include: "aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour,arcfour128,arcfour256blowfish-cbc,cast128-cbc". For this check, all keyword values ending with the suffix "-cbc" are disallowed, IE: 3des-cbc. As the vendor does not currently support 3des-ctr, the only current allowed keyword values begin with the prefix "aes" and terminate with the suffix "-ctr". Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/ssh_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | egrep -i "ciphers" All ciphers present in the returned ciphers line entry must be prefixed by 3des or aes and end with the suffix "-ctr" or this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1

The SSH client must be configured to not use Cipher-Block Chaining (CBC) based ciphers.

Finding ID
GEN005511
Rule ID
SV-35193r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005511
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

The CBC mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plaintext attacks and must not be used.

Fix Text

Edit the configuration file and remove any ciphers other than those with the "aes" prefix and the "-ctr" suffix.

Check Content

Check the SSH client configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Ciphers arg(s)=&lt;comma separated cipher(s)> Default values include: "aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour,arcfour128,arcfour256blowfish-cbc,cast128-cbc". For this check, the only allowed keyword values are those from the above list with the "aes" prefix and the "-ctr" suffix. Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/ssh_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "ciphers" If the returned ciphers list contains any cipher other than those with the "aes" prefix and the "-ctr" suffix, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH client must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.

Finding ID
GEN005512
Rule ID
SV-35210r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005512
CCI
CCI-001453
Target Key
(None)
Documentable
No
Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.

Fix Text

Edit the SSH client configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.

Check Content

Check the SSH client configuration for allowed MACs. Note that keywords are case-insensitive and arguments (args) are case-sensitive. Examine the file. # cat /opt/ssh/etc/ssh_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | egrep -i "macs" If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Responsibility

System Administrator

The SSH daemon must restrict login ability to specific users and/or groups.

Finding ID
GEN005521
Rule ID
SV-35052r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005521
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Restricting SSH logins to a limited group of users, such as system administrators, prevents password guessing and other SSH attacks from reaching system accounts and other accounts not authorized for SSH access.

Fix Text

Edit the SSH daemon configuration and add the appropriate keyword directive(s) and space-separated user/group names. The keyword order of precedence is as follows: DenyUsers, AllowUsers, DenyGroups, AllowGroups

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword(s)=DenyUsers, AllowUsers, DenyGroups, AllowGroups (order of precedence, most to least). arg(s)=&lt;site specific> Default values for users/groups include: "&lt;valid, space-separated user and/or group names. UID's/GIDs are not allowed/valid>". Lack of keyword(s) in the configuration file will result in allowing ssh access to all users and all groups. A typical installation should either include an allow (users/groups) list or deny (users/groups) list depending on what the defined site security requirements are. Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | egrep -i "DenyUsers|AllowUsers|DenyGroups|AllowGroups" If keyword(s) with valid, space-separated user(s) and/or group(s) are not returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SSH public host key files must have mode 0644 or less permissive.

Finding ID
GEN005522
Rule ID
SV-35060r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005522
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If a public host key file is modified by an unauthorized user, the SSH service may be compromised.

Fix Text

Change the permissions for the SSH public host key files. # chmod 0644 /opt/ssh/etc/*key.pub

Check Content

Check the permissions for the SSH public host key files. # ls -lL /opt/ssh/etc/ssh_host_dsa_key.pub # ls -lL /opt/ssh/etc/ssh_host_rsa_key.pub If any file has a mode more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SSH private host key files must have mode 0600 or less permissive.

Finding ID
GEN005523
Rule ID
SV-35063r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005523
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If an unauthorized user obtains the private SSH host key file, the host could be impersonated.

Fix Text

Change the permissions for the SSH private host key files. # chmod 0600 /opt/ssh/etc/*key

Check Content

Check the permissions for SSH private host key files. ls -lL /opt/ssh/etc/ssh_host_dsa_key ls -lL /opt/ssh/etc/ssh_host_rsa_key If any file has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SSH daemon must not permit GSSAPI authentication unless needed.

Finding ID
GEN005524
Rule ID
SV-35066r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN005524
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.

Fix Text

Edit the SSH daemon configuration and delete the keyword entry or modify the entry as follows: GSSAPIAuthentication no

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=GSSAPIAuthentication arg(s)=no Default values include: "no" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "GSSAPIAuthentication" If the return value is yes, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH client must not permit GSSAPI authentication unless needed.

Finding ID
GEN005525
Rule ID
SV-35068r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN005525
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.

Fix Text

Edit the configuration file and set/add (if necessary) the GSSAPIAuthentication directive set to no.

Check Content

Check the SSH client configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=GSSAPIAuthentication arg(s)=no Default values include: "no" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/ssh_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "GSSAPIAuthentication" If the return value is yes, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must not permit Kerberos authentication unless needed.

Finding ID
GEN005526
Rule ID
SV-35075r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN005526
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Kerberos authentication for SSH is often implemented using GSSAPI. If Kerberos is enabled through SSH, the SSH daemon provides a means of access to the system's Kerberos implementation. Vulnerabilities in the system's Kerberos implementation may then be subject to exploitation. To reduce the attack surface of the system, the Kerberos authentication mechanism within SSH must be disabled for systems not using this capability.

Fix Text

Edit the SSH daemon configuration and set (add if necessary) a KerberosAuthentication directive set to no.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=KerberosAuthentication arg(s)=no Default values include: "no" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. If the system does not use Kerberos authentication, this is not applicable. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "KerberosAuthentication" If the return value is yes, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must limit connections to a single session.

Finding ID
GEN005533
Rule ID
SV-35135r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN005533
CCI
CCI-000054
Target Key
(None)
Documentable
Yes
Discussion

The SSH protocol has the ability to provide multiple sessions over a single connection without reauthentication. A compromised client could use this feature to establish additional sessions to a system without consent or knowledge of the user. Alternate per-connection session limits may be documented if needed for a valid mission requirement. Greater limits are expected to be necessary in situations where TCP or X11 forwarding are used.

Fix Text

Edit the SSH daemon configuration and add or edit the MaxSessions setting value to 1.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=MaxSessions arg(s)=1 Default values include: "10" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "MaxSessions" If configuration information is not returned or the return value is greater than one (1), this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must perform strict mode checking of home directory configuration files.

Finding ID
GEN005536
Rule ID
SV-35137r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005536
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.

Fix Text

Edit the SSH daemon configuration and add or edit the StrictModes setting value to yes.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=StrictModes arg(s)=yes Default values include: "yes" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "StrictModes" If the return value is no, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SSH daemon must use privilege separation.

Finding ID
GEN005537
Rule ID
SV-35139r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005537
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

SSH daemon privilege separation causes the SSH process to drop root privileges when not needed, which would decrease the impact of software vulnerabilities in the unprivileged section.

Fix Text

Edit the SSH daemon configuration and add or edit the UsePrivilegeSeparation setting value to yes.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=UsePrivilegeSeparation arg(s)=yes Default values include: "yes" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "UsePrivilegeSeparation" If the return value is no, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SSH daemon must not allow rhosts RSA authentication.

Finding ID
GEN005538
Rule ID
SV-35142r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005538
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If SSH permits rhosts RSA authentication, a user may be able to login based on the keys of the host originating the request and not any user-specific authentication..

Fix Text

Edit the SSH daemon configuration and add or edit the RhostsRSAAuthentication setting value to no. Note that the above guidance applies exclusively to Protocol(s) 1/1,2/2,1 only. If using Protocol 2 only, the check is not applicable and further action is not required.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=RhostsRSAAuthentication arg(s)=no Default values include: "no" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "RhostsRSAAuthentication" This option currently applies only to Protocol Version 1. If using Protocol 1 or any variant of Protocol 1, IE: Protocol 1,2 OR Protocol 2,1 and configuration information is not returned or the return value is yes, this is a finding. If using Protocol 2, this is Not Applicable (NA).

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must not allow compression or must only allow compression after successful authentication.

Finding ID
GEN005539
Rule ID
SV-35146r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005539
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.

Fix Text

Edit the SSH daemon configuration and add or edit the Compression setting value to no or delayed.

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Compression arg(s)="no" OR "delayed", IE: mutually exclusive arguments, should never occur together Default values include: "delayed" Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "Compression" If configuration information is not returned or the return value is yes, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must be configured with the Department of Defense (DoD) login banner.

Finding ID
GEN005550
Rule ID
SV-35152r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005550
CCI
CCI-000048
Target Key
(None)
Documentable
No
Discussion

Failure to display the DoD login banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. The SSH service must be configured to display the DoD logon warning banner either through the SSH configuration or a wrapper program, such as TCP_WRAPPERS. The SSH daemon may also be used to provide SFTP service. The warning banner configuration for SSH will apply to SFTP.

Fix Text

Edit the SSH daemon configuration and add or edit a banner setting referencing a file containing a login warning banner. If required, edit the sshd banner file and add one of the DoD login banners (based on the character limitations imposed by the system). DoD Login Banners: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." OR "I've read & consent to terms in IS user agreem't"

Check Content

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive. keyword=Banner arg(s)=&lt;Department of Defense (DoD) login banner file name> Default values include: &lt;no keyword or banner file name entry> Note: When the default "arg" value exactly matches the required "arg" value (see above), the &lt;keyword=arg> entry is not required to exist (commented or uncommented) in the ssh (client) or sshd (server) configuration file. While not required, it is recommended that the configuration file(s) be populated with all keywords and assigned arg values as a means to explicitly document the ssh(d) binary's expected behavior. Examine the file. # cat /opt/ssh/etc/sshd_config | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep -i "Banner" Verify the contents of the banner file: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." OR "I've read & consent to terms in IS user agreem't." If configuration information is not returned or the return value does not contain the Department of Defense (DoD) login banner file name (with banner file content verified), this is a finding.

Responsibility

System Administrator

IA Controls

ECWM-1

The system must be configured with a default gateway for IPv6 if the system uses IPv6, unless the system is a router.

Finding ID
GEN005570
Rule ID
SV-26805r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005570
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.

Fix Text

Add a default route for IPv6. Edit /etc/rc.config.d/netconf-ipv6 Add an IPV6_GATEWAY[0]="&lt;gateway>" Restart the system to apply the new default gateway setting.

Check Content

Check for a default route for IPv6: # netstat -f inet6 -r | grep default If the system uses IPv6 and no results are returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not have IP forwarding for IPv6 enabled, unless the system is an IPv6 router.

Finding ID
GEN005610
Rule ID
SV-26811r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005610
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

If the system is configured for IP forwarding and is not a designated router, it could be used to bypass network security by providing a path for communication not filtered by network devices.

Fix Text

Disable IPv6 forwarding: # ndd -set /dev/ip6 ip6_forwarding 0 Edit /etc/rc.config.d/nddconf: TRANSPORT_NAME[index]=ip6 NDD_NAME[index]=ip6_forwarding NDD_VALUE[index]=0 Where: index is the next available integer value of the nddconf file. n is a number: either 1 to turn the feature ON or 0 to turn it OFF.

Check Content

Check if the system is configured for IPv6 forwarding. # ndd -get /dev/ip6 ip6_forwarding If ip6_forwarding is set to 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The NFS share configuration file must be group-owned by root, bin, sys or other.

Finding ID
GEN005750
Rule ID
SV-35183r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005750
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Failure to give group ownership of the NFS share configuration file to root, bin, sys or other provides the designated group owner and possible unauthorized users with the potential to change system configuration which could weaken the system's security posture.

Fix Text

Change the group ownership of the NFS share configuration file. # chgrp root /etc/dfs/dfstab

Check Content

Check the group ownership of the NFS share configuration file. # echo `ls -lL /etc/dfs/dfstab` | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | cut -f 4,4 -d " " If the file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The NFS exports configuration file must not have an extended ACL.

Finding ID
GEN005770
Rule ID
SV-26817r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN005770
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the NFS export configuration file could allow unauthorized modification of the file, which could result in Denial of Service to authorized NFS exports and the creation of additional unauthorized exports.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/dfs/dfstab

Check Content

Check the mode of the NFS export configuration file. # echo `ls -lL /etc/dfs/dfstab` | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | cut -f 1,1 -d " " If the permissions include a + the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All Network File System (NFS) shared system files and system directories must be group-owned by root, bin, sys, or other.

Finding ID
GEN005810
Rule ID
SV-35196r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005810
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Failure to give group-ownership of sensitive files or directories to root provides the members of the owning group with the potential to access sensitive information or change system configuration which could weaken the system's security posture.

Fix Text

Change the group owner of the share directory. # chgrp (root|bin|sys|other) &lt;exported directory>

Check Content

List the shares. # cat /etc/dfs/sharetab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | cut -f 1,1 -d " " Check the group ownership of each shared directory. # ls -lLd &lt;exported directory> If the directory is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

The /etc/smb.conf file must not have an extended ACL.

Finding ID
GEN006150
Rule ID
SV-35223r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006150
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Excessive permissions could endanger the security of the Samba configuration file and, ultimately, the system and network.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/smb.conf

Check Content

Check the group ownership of the Samba configuration file. # find / -type f -name smb.conf | xargs -n1 ls -lL If the permissions include a '+', the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/smbpasswd file must not have an extended ACL.

Finding ID
GEN006210
Rule ID
SV-35105r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006210
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

If the permissions of the smbpasswd file are too permissive, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/smbpasswd

Check Content

Check the group ownership of the Samba configuration file. # find / -name smbpasswd | xargs -n1 ls -lL If the permissions include a + the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Samba must be configured to use an authentication mechanism other than share.

Finding ID
GEN006225
Rule ID
SV-35109r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006225
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Samba share authentication does not provide for individual user identification and must not be used.

Fix Text

Edit the /etc/smb.conf file and change the security setting to user or another valid setting other than share, for example: security = user

Check Content

Examine the smb.conf file for the share security setting.. # cat /etc/opt/samba/smb.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i "^security = share" If the share security setting is share, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Samba must be configured to use encrypted passwords.

Finding ID
GEN006230
Rule ID
SV-35111r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006230
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Samba must be configured to protect authenticators. If Samba passwords are not encrypted for storage, plain-text user passwords may be read by those with access to the Samba password file.

Fix Text

Edit the /etc/opt/samba/smb.conf file and change the encrypt passwords setting to yes, for example: encrypt passwords = yes

Check Content

Check the encryption setting in the Samba configuration file. # cat /etc/opt/samba/smb.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i "^encrypt passwords = yes" If the encrypt passwords setting is not set to "yes", this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

Samba must be configured to not allow guest access to shares.

Finding ID
GEN006235
Rule ID
SV-35112r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006235
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Guest access to shares permits anonymous access and is not permitted.

Fix Text

Edit the /etc/opt/samba/smb.conf file and change the guest ok setting to no, for example: guest ok = no

Check Content

Check the guest setting the Samba configuration. # cat /etc/opt/samba/smb.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i "^guest ok = yes" If the setting exists and is set to yes, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The /etc/news/hosts.nntp file must not have an extended ACL.

Finding ID
GEN006270
Rule ID
SV-35115r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006270
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the hosts.nntp file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/hosts.nntp

Check Content

Check the permissions of the file. # find / -type f -name hosts.nntp | xargs -n1 ls -lL If the permissions include a "+", the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/hosts.nntp.nolimit file must not have an extended ACL.

Finding ID
GEN006290
Rule ID
SV-35117r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006290
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the hosts.nntp.nolimit file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/hosts.nntp.nolimit

Check Content

Check the permissions of the file. # find / -type f -name hosts.nntp.nolimit | xargs -n1 ls -lL If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/nnrp.access file must not have an extended ACL.

Finding ID
GEN006310
Rule ID
SV-35119r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006310
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the nnrp.access file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/nnrp.access

Check Content

Check the permissions of the file. # find / -type f -name nnrp.access | xargs -n1 ls -lL If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/passwd.nntp file must not have an extended ACL.

Finding ID
GEN006330
Rule ID
SV-35121r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006330
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

Extended ACLs may provide excessive permissions on the /etc/news/passwd.nntp file, which may permit unauthorized access or modification to the NNTP configuration.

Fix Text

Remove the optional ACL from the file. # chacl -z &lt;path>/passwd.nntp

Check Content

Check the permissions of the file. # find / -type f -name passwd.nntp | xargs -n1 ls -lL If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system package management tool must be used to verify system software periodically.

Finding ID
GEN006565
Rule ID
SV-35166r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006565
CCI
CCI-000698
Target Key
(None)
Documentable
No
Discussion

Verification using the system package management tool can be used to determine that system software has not been tampered with. This requirement is not applicable to systems that do not use package management tools.

Fix Text

Add a job to the root crontab invoking the system package management tool to verify the integrity of installed packages.

Check Content

Check the root crontab for a job invoking the system package management tool to verify the integrity of installed packages. If no such job exists, this is a finding. An example using HP's command line tool suite to list/verify installed local machine software bundles is: # swlist -l bundle # Initializing... # Contacting target "abc123"... # # Target: abc123:/ # 10GigEthr-00 B.11.31.0709 PCI-X 10 Gigabit Ethernet;Supptd Then run swverify, at the end of the output look for status of Verification succeeded. # swverify -v 10GigEthr-00

Responsibility

System Administrator

IA Controls

ECAT-1

The file integrity tool must be configured to verify ACLs.

Finding ID
GEN006570
Rule ID
SV-35185r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN006570
CCI
CCI-001297
Target Key
(None)
Documentable
No
Discussion

ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.

Fix Text

If using AIDE, edit the configuration and add the ACL option for all monitored files and directories. If using a different file integrity tool, configure ACL checking per the tool vendor's documentation.

Check Content

Ask the SA if the file integrity tool is configured to monitor directories and files for ACL settings. If using the Advanced Intrusion Detection Environment (AIDE) tool, verify the configuration file (aide.conf) contains the ACL option for all monitored files and directories. See the following example. # find / -type f -name aide.conf | xargs -n1 ls -lL # cat &lt;path>/aide.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \ egrep -i "^acl = |acl" If the option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool the vendor's documentation.

Responsibility

System Administrator

IA Controls

ECAT-1

The file integrity tool must be configured to verify extended attributes.

Finding ID
GEN006571
Rule ID
SV-35190r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN006571
CCI
CCI-001297
Target Key
(None)
Documentable
No
Discussion

Extended attributes in file systems are used to contain arbitrary data and file metadata with possible security implications.

Fix Text

If using AIDE, edit the configuration and add the xattrs option for all monitored files and directories. If using a different file integrity tool, configure extended attributes checking per the tool's documentation.

Check Content

Ask the SA if the file integrity tool is configured to monitor directories and files for xattrs settings. If using the Advanced Intrusion Detection Environment (AIDE) tool, verify the configuration file (aide.conf) contains the xattrs option for all monitored files and directories. See the following example. # find / -type f -name aide.conf | xargs -n1 ls -lL # cat &lt;path>/aide.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \ egrep -i "^xattrs = |xattrs" If the option is not present, this is a finding. If using a different file integrity tool, check the configuration per the tool vendor's documentation.

Responsibility

System Administrator

IA Controls

ECAT-1

The file integrity tool must use FIPS 140-2 approved cryptographic hashes for validating file contents.

Finding ID
GEN006575
Rule ID
SV-35194r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN006575
CCI
CCI-001297
Target Key
(None)
Documentable
No
Discussion

File integrity tools often use cryptographic hashes for verifying file contents have not been altered. These hashes must be FIPS 140-2 approved.

Fix Text

If using AIDE, edit the configuration and add the sha512 option for all monitored files and directories. If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.

Check Content

Ask the SA if the file integrity tool is configured to monitor directories and files for sha256 or sha512 settings. If using the Advanced Intrusion Detection Environment (AIDE) tool, verify the configuration file (aide.conf) contains the xattrs option for all monitored files and directories. See the following example. # find / -type f -name aide.conf | xargs -n1 ls -lL # cat &lt;path>/aide.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \ egrep -i "sha256|sha512" If one of these option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.

Responsibility

System Administrator

IA Controls

ECSC-1

The Stream Control Transmission Protocol (SCTP) must be disabled unless required.

Finding ID
GEN007020
Rule ID
SV-29988r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007020
CCI
CCI-000382
Target Key
(None)
Documentable
No
Discussion

The SCTP is an IETF-standardized transport layer protocol. This protocol is not yet widely used. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the kernel to dynamically load a protocol handler by opening a socket using the protocol.

Fix Text

Configure the system to prevent the dynamic loading of the SCTP protocol handler. Preview the removal of SCTP: # swremove -p &lt;SCTP software product> Remove: # swremove &lt;SCTP software product>

Check Content

Check the system for an SCTP installation: # swlist | grep -i SCTP If SCTP is installed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Proxy Neighbor Discovery Protocol (NDP) must not be enabled on the system.

Finding ID
GEN007760
Rule ID
SV-29601r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007760
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Proxy Neighbor Discovery Protocol (NDP) allows a system to respond to NDP requests on one interface on behalf of hosts connected to another interface. If this function is enabled when not required, addressing information may be leaked between the attached network segments.

Fix Text

Remove non-local published NDP entries from the system. # ndp -d &lt;host> Check system startup scripts for commands publishing NDP entries (such as "ndp -s &lt;int> &lt;host> &lt;hwaddr> pub") and remove them.

Check Content

Determine if any non-local published NDP entries exist on the system. # ndp -a If any NDP entries contain a flag of P, they are non-local published entries, and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not have IP tunnels configured.

Finding ID
GEN007820
Rule ID
SV-26928r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007820
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

IP tunneling mechanisms can be used to bypass network filtering.

Fix Text

Edit the /etc/rc.config.d/netconf* files and remove the tunnel configurations.

Check Content

Examine the /etc/rc.config.d/netconf* files for any TUN_ configurations. # cat /etc/rc.config.d/netconf* | tr '\011' ' ' | tr -s ' ' | \ sed -e 's/^[ \t]*//' | grep -v "^#" |grep '^TUN_' If this configuration is found, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The DHCP client must be disabled if not needed.

Finding ID
GEN007840
Rule ID
SV-26932r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007840
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

DHCP allows for the unauthenticated configuration of network parameters on the system by exchanging information with a DHCP server.

Fix Text

Disable the DHCP client configuration. Edit /etc/rc.config.d/netconf and set the DHCP_ENABLE setting to 0.

Check Content

Check the DHCP_ENABLE setting in /etc/rc.config.d/netconf # /etc/rc.config.d/netconf| tr '\011' ' ' | tr -s ' ' | \ sed -e 's/^[ \t]*//' | grep -v "^#" |grep "DHCP_ENABLE" If the setting is set to 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must ignore IPv6 Internet Control Message Protocol (ICMP ) redirect messages.

Finding ID
GEN007860
Rule ID
SV-35241r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007860
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

ICMP redirect messages are used by routers to inform hosts of a more direct route existing for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.

Fix Text

Add an IPF rule to block inbound IPv6 ICMP redirect packets. Edit /etc/opt/ipf/ipf6.conf and add a rule such as: block in quick proto icmpv6 from any to any icmpv6-type 137 Reload the IPF rules. # ipf -6 -Fa -A -f /etc/opt/ipf/ipf6.conf

Check Content

Determine if the system blocks inbound IPv6 ICMP redirects. # ipfstat -6 -i Check for a rule such as: block in quick proto icmpv6 from any to any icmpv6-type 137 If a rule blocking inbound IPv6 ICMP redirects does not exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not send IPv6 ICMP redirects.

Finding ID
GEN007880
Rule ID
SV-26939r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007880
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

ICMP redirect messages are used by routers to inform hosts of a more direct route existing for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.

Fix Text

Configure the system to not send IPv6 ICMP redirect messages. # ndd -set /dev/ip6 ip6_send_redirects 0 Edit /etc/rc.config.d/nddconf: TRANSPORT_NAME[index]=ip6 NDD_NAME[index]=ip6_send_redirects NDD_VALUE[index]=0 Where: index is the next available integer value of the nddconf file. n is a number: either 1 to turn the feature ON or 0 to turn it OFF.

Check Content

Determine if the system is configured to not send IPv6 ICMP redirect messages. # ndd -get /dev/ip6 ip6_send_redirects If the command returns 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use an appropriate reverse-path filter for IPv6 network traffic, if the system uses IPv6.

Finding ID
GEN007900
Rule ID
SV-42274r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007900
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Reverse-path filtering provides protection against spoofed source addresses by causing the system to discard packets with source addresses for which the system has no route or if the route does not point towards the interface on which the packet arrived. Depending on the role of the system, reverse-path filtering may cause legitimate traffic to be discarded and, therefore, should be used with a more permissive mode or filter, or not at all. Whenever possible, reverse-path filtering should be used.

Fix Text

Configure the system to use reverse-path filtering using IPF. Edit /etc/opt/ipf/ipf6.conf to add or edit IPv6 IPF rules. Add a rule to block traffic with loopback network source addresses from being received on interfaces other than the loopback, such as: block in log quick on lan0 from 0::1 to any If the system is multihomed and the attached networks are isolated or perform symmetric routing, add rules to block traffic with source addresses expected on one interface when received on another interface. For example, consider a system with two network interfaces, one attached to an isolated management network with address 2001:abc::1/64 and the other attached to a production network with address 2001:def::1/64 and a default route. Traffic with a source address on the 2001:abc::0/64 network must be the only traffic accepted on the management interface and must not be accepted on the production interface. This can be accomplished with IPF rules such as: pass in quick on mgmt0 from 2001:abc::0/64 to any block in quick on mgmt0 from any to any block in quick on prod0 from 2001:abc::0/64 to any Reload the IPF rules. Flush the rules from your ruleset using the -6Fa option. The -A option specifies the active rules list. The -f option specifies the rules configuration file to be used: # ipf -6Fa -A -f /etc/opt/ipf/ipf6.conf

Check Content

If IPv6 is not used on the system, this is not applicable. Determine if the system is configured to use reverse-path filtering. Examine the IPF rules on the system. # ipfstat -6i All systems must block inbound traffic destined to the loopback address block from interfaces other than the loopback. This can be accomplished with an IPF rule such as: block in log quick on lan0 from 0::1 to any Additionally, if the system is multihomed and the attached networks are isolated or perform symmetric routing, traffic with source addresses expected on one interface must be blocked when received on another interface. If this filtering is not configured on the system, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not forward IPv6 source-routed packets.

Finding ID
GEN007920
Rule ID
SV-38378r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007920
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when IPv6 forwarding is enabled and the system is functioning as a router.

Fix Text

Configure the system to not forward IPv6 source-routed packets. # ndd -set /dev/ip6 ip6_forwarding 0 This command should also be added to the ndd configuration file and/or to the system startup script /etc/rc.config.d/nddconf : TRANSPORT_NAME[index]=ip6 NDD_NAME[index]=ip6_forwarding NDD_VALUE[index]=0

Check Content

Determine if the system is configured for packet forwarding. # ndd -get /dev/ip6 ip6_forwarding If the command returns 0 (disabled), this is not a finding. If the command returns 1 (enabled), ask the SA if the system is configured to act as a router, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

If the system is using LDAP for authentication or account information, the system must use a TLS connection using FIPS 140-2 approved cryptographic algorithms.

Finding ID
GEN007980
Rule ID
SV-41996r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007980
CCI
CCI-001453
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. Communication between an LDAP server and a host using LDAP requires protection.

Fix Text

The Directory Server must support and be configured to use FIPS 140-2 approved cryptographic algorithms for the TLS connection. For the LDAPUX client: # vi /etc/opt/ldapux/ldapux_client.conf If commented, uncomment the "enable_startTLS" keyword line and ensure that the keyword value is set to 1 (to start TLS), IE: enable_startTLS = 1 Finally, use the following commands to reread the configuration file and restart ldapclientd.: # /opt/ldapux/bin/ldapclientd -k # nohup /opt/ldapux/bin/ldapclientd

Check Content

Determine if the system uses LDAP. If it does not, this is Not A Finding. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | \ grep -v "^#" | grep -i ldap If LDAP is installed, verify that TLS is enabled. # cat /etc/opt/ldapux/ldapux_client.conf | tr '\011' ' ' | tr -s ' ' | \ sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i "^enable_startTLS = 1" If TLS is not enabled, this is a finding. Verify the certificate database exists. # ls -alL /etc/opt/ldapux/cert* List the LDAP Directory Server certificate. # /opt/ldapux/contrib/bin/certutil -L -d /etc/opt/ldapux List the details when checking the Directory Server's certificate validity/attributes. Note: The format of the validity-time argument when specifying an explicit time is "YYMMDDHHMMSSZ". Specifying seconds (SS) is optional. # /opt/ldapux/contrib/bin/certutil -V -n &lt;Directory Server nickname> -b &lt;validity-time> [-e] -l -d /etc/opt/ldapux If the Directory Server's certificate cannot be verified, this is a finding. NOTE: The TLS protocol supports a variety of cryptographic ciphers for authenticating the server and client to each other, transmitting certificates and establishing session keys. When the LDAP-UX client connects to the LDAP Directory Server, the server selects the strongest cipher supported by both client and server. As LDAP-UX is the client side of the LDAP application, LDAP-UX has no control over this process. Unless it can be determined that the Directory Server is using FIPS 140-2 approved cryptographic algorithms for the TLS connection, this check will result in an OPEN Finding.

Responsibility

System Administrator

IA Controls

DCNR-1

If the system is using LDAP for authentication or account information, the LDAP TLS connection must require the server provide a certificate and this certificate has a valid trust path to a trusted CA.

Finding ID
GEN008020
Rule ID
SV-38381r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008020
CCI
CCI-000185
Target Key
(None)
Documentable
No
Discussion

The NSS LDAP service provides user mappings which are a vital component of system security. Communication between an LDAP server and a host using LDAP for NSS require authentication.

Fix Text

Edit /etc/opt/ldapux/ldapux_client.conf and set # Perform the CERT check peer_cert_policy=CERT OR # Perform the CERT check PLUS peer_cert_policy=CNCERT

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If no lines are returned for either of the above commands, LDAP is not installed and this is not applicable. If the LDAP product is installed: # cat /etc/opt/ldapux/ldapux_client.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i peer_cert_policy If /etc/opt/ldapux/ldapux_client.conf setting is peer_cert_policy=WEAK, this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1

If the system is using LDAP for authentication or account information, the system must verify the LDAP server's certificate has not been revoked.

Finding ID
GEN008040
Rule ID
SV-38382r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008040
CCI
CCI-000185
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. Communication between an LDAP server and a host using LDAP requires authentication.

Fix Text

Edit /etc/ldap.conf and add or set the tls_crlcheck setting to all.

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If no lines are returned for either of the above commands, this vulnerability is not applicable. Verify the LDAP client is configured to check certificates against a certificate revocation list. # cat /etc/ldap.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \ grep -i "^tls_crlcheck" If the setting does not exist, or the value is not all, this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1

If the system is using LDAP for authentication or account information the /etc/ldap.conf (or equivalent) file must have mode 0644 or less permissive.

Finding ID
GEN008060
Rule ID
SV-38383r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008060
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the permissions of the file. # chmod 0644 &lt;LDAP configuration file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. Check the permissions of the LDAP configuration file(s). ls -lL /etc/opt/ldapux/ldapux_client.conf /etc/opt/ldapux/ldapclientd.conf /etc/opt/ldapux/ldapug.conf If the mode of the file is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be owned by root or bin.

Finding ID
GEN008080
Rule ID
SV-38384r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008080
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the owner of the file. # chown root &lt;LDAP configuration file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. Check the ownership of the LDAP configuration file(s). ls -lL /etc/opt/ldapux/ldapux_client.conf /etc/opt/ldapux/ldapclientd.conf /etc/opt/ldapux/ldapug.conf If any of the above files are not owned by root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be group-owned by root, bin, sys, or other.

Finding ID
GEN008100
Rule ID
SV-38385r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008100
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the group owner of the file to root, bin, sys, or other. # chgrp root &lt;LDAP configuration file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. Check the group ownership of the LDAP configuration file(s). ls -lL /etc/opt/ldapux/ldapux_client.conf /etc/opt/ldapux/ldapclientd.conf /etc/opt/ldapux/ldapug.conf If any of the above files are not group owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP configuration file(s) must not have an extended ACL.

Finding ID
GEN008120
Rule ID
SV-29569r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008120
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Remove the extended ACL from the file. # chacl -z &lt;LDAP configuration file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. Check the LDAP configuration file for the presence of an ACL. # ls -alL /etc/opt/ldapux/ldapux_client.conf If the permissions include a "+" the file has an extended ACL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be owned by root.

Finding ID
GEN008140
Rule ID
SV-38386r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008140
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the ownership of the file and/or directory. # chown root &lt;directory> # chown root &lt;directory>/&lt;file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the ownership of the LDAP cert file(s). ls -lLd /etc/opt/ldapux ls -lL /etc/opt/ldapux/cert8.db If the owner of any file or directory is not root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be group-owned by root, bin, sys, or other.

Finding ID
GEN008160
Rule ID
SV-38387r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008160
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the group ownership of LDAP client certificate directory/files to root, bin, sys, or other. # chgrp root &lt;directory> # chgrp root &lt;directory>/&lt;file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the group ownership of the LDAP cert file(s). # ls -lLd /etc/opt/ldapux # ls -lLa /etc/opt/ldapux/cert8.db If a certificate file or directory is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must have mode 0644 (0755 for directories) or less permissive.

Finding ID
GEN008180
Rule ID
SV-38388r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008180
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the mode of the file and/or directory. # chmod 0755 &lt;directory> # chmod 0644 &lt;directory>/&lt;file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the mode of the LDAP cert file(s). # ls -lLd /etc/opt/ldapux # ls -lLa /etc/opt/ldapux/cert8.db If a certificate file or directory is more permissive than 0644 (or 0755 for directories), this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS certificate authority file and/or directory (as appropriate) must not have an extended ACL.

Finding ID
GEN008200
Rule ID
SV-38389r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008200
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Remove the extended ACL from the certificate file. # chacl -z &lt;directory> # chacl -z &lt;directory>/&lt;file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the permissions of the LDAP cert file(s). # ls -lLd /etc/opt/ldapux # ls -lLa /etc/opt/ldapux/cert8.db If the permissions of the file or directory contains a "+", an extended ACL is present, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

For systems using NSS LDAP, the TLS certificate file must be owned by root.

Finding ID
GEN008220
Rule ID
SV-38390r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008220
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

The NSS LDAP service provides user mappings which are a vital component of system security. Its configuration must be protected from unauthorized modification.

Fix Text

Change the ownership of the file. # chown root &lt;certfile>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the ownership of the LDAP cert file(s). # ls -lLa /etc/opt/ldapux/cert8.db If the owner of the file is not root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must be group-owned by root, bin, sys, or other.

Finding ID
GEN008240
Rule ID
SV-38391r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008240
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the group ownership of the LDAP client certificate file. # chgrp root &lt;cert file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the group ownership of the LDAP cert file(s). # ls -lLa /etc/opt/ldapux/cert8.db If the file is not group-owned by root, bin, sys or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must have mode 0644 or less permissive.

Finding ID
GEN008260
Rule ID
SV-38392r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008260
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the permissions of the LDAP client certificate file. # chmod 0644 &lt;cert file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the mode of the LDAP cert file(s). # ls -lLa /etc/opt/ldapux/cert8.db If the certificate file is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must not have an extended ACL.

Finding ID
GEN008280
Rule ID
SV-38393r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008280
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Remove the extended ACL from the certificate file. # chacl -z &lt;certfile>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the mode of the LDAP cert file(s). # ls -lLa /etc/opt/ldapux/cert8.db If the permissions of the file contains a "+", an extended ACL is present, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS key file must be owned by root.

Finding ID
GEN008300
Rule ID
SV-38394r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008300
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the ownership of the file. # chown root &lt;key file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the ownership of the key file. # ls -lLa /etc/opt/ldapux/key3.db If the owner of the file is not root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS key file must be group-owned by root, bin, sys, or other.

Finding ID
GEN008320
Rule ID
SV-38395r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008320
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Change the group owner of the LDAP client key file. # chgrp root &lt;key file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the group ownership of the key file. # ls -lLa /etc/opt/ldapux/key3.db If the file is not group owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS key file must have mode 0600 or less permissive.

Finding ID
GEN008340
Rule ID
SV-38396r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008340
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification. NOTE: Depending on the particular implementation, group and other read permission may be necessary for unprivileged users to successfully resolve account information using LDAP. This will still be a finding, as these permissions provide users with access to system authenticators.

Fix Text

Change the mode of the file. # chmod 0600 &lt;key file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the mode of the key file. # ls -lLa /etc/opt/ldapux/key3.db If the file permission is more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

If the system is using LDAP for authentication or account information, the LDAP TLS key file must not have an extended ACL.

Finding ID
GEN008360
Rule ID
SV-38397r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008360
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.

Fix Text

Remove the extended ACL from the key file. # chacl -z &lt;key file>

Check Content

Determine if the system uses LDAP. If it does not, this is not applicable. # swlist | grep LDAP OR # cat /etc/nsswitch.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i ldap If nothing is returned for either of the above commands, this is not applicable. If LDAP is installed, check the mode of the LDAP key file(s). # ls -lLa /etc/opt/ldapux/key3.db If the permissions of the file contains a "+", an extended ACL is present and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Automated file system mounting tools must not be enabled unless needed.

Finding ID
GEN008440
Rule ID
SV-38377r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN008440
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Automated file system mounting tools may provide unprivileged users with the ability to access local media and network shares. If this access is not necessary for the system’s operation, it must be disabled to reduce the risk of unauthorized access to these resources.

Fix Text

Stop and disable the autofs service. Edit /etc/rc.config.d/nfsconf and set the AUTOFS setting to 0. Restart the nfs.client service. # /usr/sbin/init.d/nfs.client stop # /usr/sbin/init.d/nfs.client start

Check Content

Check /etc/rc.config.d/nfsconf for the AUTOFS automount setting. # cat /etc/rc.config.d/nfsconf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \ grep -i "AUTOFS=1" If set to 1, this is a finding. After testing, if the autofs service is required, this vulnerability is not applicable.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must have USB disabled unless needed.

Finding ID
GEN008460
Rule ID
SV-38400r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN008460
CCI
CCI-000366
Target Key
(None)
Documentable
Yes
Discussion

USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.

Fix Text

Disable USB on the system. In doing so, remember the keyboard and mouse will no longer work.

Check Content

# ioscan -fnC usb If the system uses USB, this is not applicable. By default, HP-UX systems tend to use both a USB keyboard and mouse. The following sample is a section of a system ioscan output showing the discovered USB controllers and devices. Notice, there are 3 NEC USB controllers. The first 2 USB controllers are OHCI (Open Host Controller Interface) controllers for low and full speed USB 1.0 and 1.1 devices. The 3rd USB controller is an EHCI (Enhanced Host Controller Interface) controller for high speed USB 2.0 devices. The first OHCI USB controller has a keyboard, a mouse, and a mass storage device attached. The second OHCI USB controller has no devices attached. The third USB controller, EHCI, has 2 mass storage devices attached. Class I H/W Path Driver S/W State H/W Type Description ================================================================================================ Usb 0 0/0/2/0 hcd CLAIMED INTERFACE NEC OHCI Controller usbcomp 0 0/0/2/0.1 usbcomposite CLAIMED DEVICE USB Composite Device usbhid 0 0/0/2/0.1.0 hid CLAIMED DEVICE USB HID Kbd(0) usbhid 1 0/0/2/0.1.1 hid CLAIMED DEVICE USB HID Pointer(1) usbms 0 0/0/2/0.1.2 ms CLAIMED DEVICE USB Mass Storage [0] usb 1 0/0/2/1 hcd CLAIMED INTERFACE NEC OHCI Controller usb 2 0/0/2/2 ehci CLAIMED INTERFACE NEC EHCI Controller usbms 2 0/0/2/2.2 ms CLAIMED DEVICE USB Mass Storage [1] usbms 3 0/0/2/2.3 ms CLAIMED DEVICE USB Mass Storage [2] Determine if the system has USB enabled. If it does, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must have USB Mass Storage disabled unless needed.

Finding ID
GEN008480
Rule ID
SV-38401r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN008480
CCI
CCI-000366
Target Key
(None)
Documentable
Yes
Discussion

USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.

Fix Text

If usb mass storage is not required and the system does not use the system's usb interface for keyboard/mouse input, remove the "usbd" module from the kernel, remake the kernel and reboot the system. Document the change(s). # smh

Check Content

On HP-UX systems with USB ports, the kernel module "usbd" is installed with the operating system. The "usbd" module enables and currently supports the use of a keyboard, a mouse and an optical drive. # /stand/system | grep -i usb # ioscan -fnC usb Ask the SA if the system requires USB mass storage. If the system requires the use of USB mass storage, this is not applicable. If the kernel module "usbd" is installed and the system does not require usb mass storage, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must employ a local firewall.

Finding ID
GEN008520
Rule ID
SV-38403r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008520
CCI
CCI-001118
Target Key
(None)
Documentable
No
Discussion

A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.

Fix Text

Set IPF_START=1 in /etc/rc.config.d/ipfconf. Refresh/restart. # /sbin/init.d/ipfboot start

Check Content

Determine if the system is using a local firewall. # cat /etc/rc.config.d/ipfconf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | cut -f 3,3 -d " " | grep "IPF_START" If IPF_START is not set to 1, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system's local firewall must implement a deny-all, allow-by-exception policy.

Finding ID
GEN008540
Rule ID
SV-26977r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008540
CCI
CCI-001109
Target Key
(None)
Documentable
No
Discussion

A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.

Fix Text

Edit /etc/opt/ipf/ipf.conf and add a default deny rule and restart the ipfilter service. # /sbin/init.d/ipfboot stop # /sbin/init.d/ipfboot start

Check Content

Check the firewall rules for a default deny rule. # ipfstat -i | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | grep -v "^#" | grep "block" An example of a default deny rule: block in log quick on ne3 from any to any If there is no default deny rule, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system package management tool must not automatically obtain updates.

Finding ID
GEN008820
Rule ID
SV-38405r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN008820
CCI
CCI-001233
Target Key
(None)
Documentable
No
Discussion

System package management tools can obtain a list of updates and patches from a package repository and make this information available to the SA for review and action. Using a package repository outside of the organization's control presents a risk that malicious packages could be introduced.

Fix Text

Configure the system package management tool to not automatically obtain updates.

Check Content

Determine if the system package management tool is configured to automatically obtain updated packages. If it is, this is a finding. SWA runs as a client-side patch and security analysis tool. An HP supplied catalog file with known problems and fixes is downloaded from the HP IT Resource Center (ITRC) and compared to the software installed on the system. Depots used for full-system installation, such as the installation depot on an OE DVD, may also be analyzed. Systems are analyzed for patch warnings, critical defects, security bulletins, missing Quality Pack (QPK) patch bundles, and user-specified patches and supersession chains. SWA optimizes the automatic selection of patch dependencies by assessing the quality of the dependency, providing the best case scenario for the dependency, minimizing changes to the system, and assessing future patch dependency changes. List all crontabs on the system. # ls -lL /var/spool/cron/crontabs/* # ls -lL /var/spool/cron/atjobs/* Check all crontabs/atjobs on the system for swa entries. # cat /var/spool/cron/crontabs/* | grep "swa " # cat /var/spool/cron/atjobs/* | grep "swa " If SWA is not configured with cron or at, this is not a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The HP-UX /etc/securetty file must not have an extended ACL.

Finding ID
GEN000000-HPUX0110
Rule ID
SV-26994r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000000-HPUX0110
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Unauthorized modification of the /etc/securetty file could cause Denial of Service to authorized system consoles or add unauthorized system consoles.

Fix Text

Remove the optional ACL from the file. # chacl -z /etc/securetty

Check Content

Check the permissions of the file. # ls -lLd /etc/securetty If the permissions of the file or directory contains a '+', an extended ACL is present, and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must not be running any routing protocol daemons, unless the system is a router.

Finding ID
GEN005590
Rule ID
SV-35164r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005590
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this software is used when not required, system network information may be unnecessarily transmitted across the network.

Fix Text

Disable any routing protocol daemons.

Check Content

Check for any running routing protocol daemons. # ps -ef | grep -v grep | egrep -i "route|ospf|bgp|zebra|quagga|ripng|ramd" If any routing protocol daemons are listed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

System audit logs must be group-owned by root, bin, sys, or other.

Finding ID
GEN002690
Rule ID
SV-38406r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002690
CCI
CCI-000163
Target Key
(None)
Documentable
No
Discussion

Sensitive system and user information could provide a malicious user with enough information to penetrate further into the system.

Fix Text

As root, change the group ownership. # chgrp root &lt;audit directory> # chgrp root &lt;audit file>

Check Content

Inspect the auditing configuration file, /etc/rc.config.d/auditing, to determine the filename and path of the audit logs. The entries should appear similar to the following: PRI_AUDFILE=/var/.audit/file1 SEC_AUDFILE=/var/.audit/file2 # egrep “PRI_AUDFILE|SEC_AUDFILE” /etc/rc.config.d/auditing For each audit log directory/file, check the group ownership. # ls -lLd &lt;audit directory> # ls -lLa &lt;audit file> If any audit log directory/file is not group-owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1, ECTP-1

The FTPS/FTP service on the system must be configured with the Department of Defense (DoD) login banner.

Finding ID
GEN000410
Rule ID
SV-38407r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000410
CCI
CCI-000048
Target Key
(None)
Documentable
No
Discussion

Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. NOTE: SFTP and FTPS are encrypted alternatives to FTP that should be used in place of FTP. SFTP is implemented by the SSH service and uses its banner configuration.

Fix Text

Edit /etc/inetd.conf and add the -a /etc/ftpd/ftpaccess option to the ftp line, if it is not present. If the /etc/ftpd/ftpaccess does not exist, create it by copying the example configuration file. Edit the ftpaccess file and add or set the banner setting to a banner file, such as /etc/ftpd/banner_msg. Create the banner file and add one of the DoD login banners (based on the character limitations imposed by the system). DoD Login Banners: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." OR "I've read & consent to terms in IS user agreem't."

Check Content

FTP to the system. # ftp localhost Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the system does not run the FTP service, this is not applicable. DoD Login Banners: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." OR "I've read & consent to terms in IS user agreem't."

Responsibility

System Administrator

IA Controls

ECWM-1

The system must use a separate file system for /var.

Finding ID
GEN003621
Rule ID
SV-35050r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003621
CCI
CCI-001208
Target Key
(None)
Documentable
No
Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.

Fix Text

Migrate the /var path onto a separate file system.

Check Content

Determine if the /var path is a separate filesystem. # cat /etc/fstab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | \ grep -v "^#" | cut -f 2,2 -d " " | grep "^/var" | grep -v "/var/" If the above command returns nothing, /var is not on a separate filesystem and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use a separate file system for the system audit data path..

Finding ID
GEN003623
Rule ID
SV-35054r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003623
CCI
CCI-001208
Target Key
(None)
Documentable
No
Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.

Fix Text

Migrate the audit log path onto a separate filesystem. The following assumes that /var exists and that the new audit log mount point will be /var/.audit. Verify if auditing is running: # ps -ef | grep audomon | grep -v grep If auditing is running, issue the stop command: # /sbin/init.d/auditing stop Use SAM/SMH to: - Create a new Logical Volume (size to be determined based on local site requirements). - Create a VxFS file system on the new logical volume, paying special attention to site requirements such as Access Permissions, Allocation Policies, Mirroring considerations, large/no-large files and mount options such as suid/nosuid and ro/rw. Verify the /etc/fstab /var/.audit entry # more /etc/fstab Verify the current mounts: # mount Mount /var/.audit if not yet mounted: # mount -a Re-start the auditing subsystem: # /sbin/init.d/auditing start Verify that auditing is now running: # ps -ef | grep audomon | grep -v grep

Check Content

Determine if the /var/.audit path exists. # ls -alLd /var /var/.audit If the above paths do not exist, this is not a finding. If the above /var/.audit path exists, determine if /var/.audit is a separate filesystem. # cat /etc/fstab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | \ grep -v "^#" | cut -f 2,2 -d " " | grep "^/var/.audit" | \ grep -v "/var/.audit/" If the above command returns nothing, /var/.audit is not on a separate filesystem and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use a separate file system for /tmp (or equivalent).

Finding ID
GEN003624
Rule ID
SV-35055r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003624
CCI
CCI-001208
Target Key
(None)
Documentable
No
Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.

Fix Text

Migrate the /tmp path onto a separate file system.

Check Content

Determine if the /tmp path is a separate filesystem. # cat /etc/fstab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | \ grep -v "^#" | cut -f 2,2 -d " " | grep "^/tmp" | grep -v "/tmp/" If the above command returns nothing, /tmp is not on a separate filesystem and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

TCP backlog queue sizes must be set appropriately.

Finding ID
GEN003601
Rule ID
SV-29690r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003601
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

To provide some mitigation to TCP Denial of Service (DoS) attacks, the TCP backlog queue sizes must be set to at least 1280 or in accordance with product-specific guidelines.

Fix Text

Set the tcp_syn_rcvd_max parameter to 1280. # ndd -set /dev/tcp tcp_syn_rcvd_max 1280 Edit /etc/rc.config.d/nddconf and add/set: TRANSPORT_NAME[x] = tcp NDD_NAME[x] = tcp_syn_rcvd_max NDD_VALUE[x] = 1280

Check Content

Check the value of the tcp_syn_rcvd_max parameter. # ndd -get /dev/tcp tcp_syn_rcvd_max If the returned value is less than 1280, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Mail relaying must be restricted.

Finding ID
GEN004710
Rule ID
SV-38410r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004710
CCI
CCI-001305
Target Key
(None)
Documentable
No
Discussion

If unrestricted mail relaying is permitted, unauthorized senders could use this host as a mail relay for the purpose of sending SPAM or other unauthorized activity.

Fix Text

If the system uses Sendmail, edit the sendmail.mc file and remove the promiscuous_relay configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1,Port=smtp,Name=MTA") and remove lines containing non-loopback addresses. Restart the service. If the system uses Postfix, edit the main.cf file then add or edit the smtpd_client_restrictions line to have contents permit mynetworks, reject or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the inet_interfaces line to have contents loopback-only or a set of loopback addresses for the system. Restart the service. If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.

Check Content

Ask the SA if the system is a documented mail relay, and if it is, this is not applicable. If the system uses Sendmail, determine if Sendmail only binds to loopback addresses by examining the "DaemonPortOptions" configuration options. # grep -i "O DaemonPortOptions" /etc/mail/sendmail.cf If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding. Otherwise, determine if Sendmail is configured to allow open relay operation. # find / -name sendmail.mc # grep -i promiscuous_relay &lt;/path/to/sendmail.mc> If the promiscuous relay feature is enabled, this is a finding. If the system uses Postfix, locate the main.cf file. Procedure: # find / -name main.cf Determine if Postfix only binds to loopback addresses by examining the inet_interfaces line. Procedure: # grep inet_interfaces &lt;/path/to/main.cf> If inet_interfaces is set to loopback-only or contains only loopback addresses such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, this is not a finding. Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the smtpd_client_restrictions line. # grep smtpd_client_restrictions &lt;/path/to/main.cf> If the smtpd_client_restrictions line is missing, or does not contain reject, this is a finding. If the line contains permit before reject, this is a finding. If the system is using other SMTP software, consult the software's documentation for procedures to verify mail relaying is restricted.

Responsibility

System Administrator

IA Controls

ECSC-1

The ldd command must be disabled unless it protects against the execution of untrusted files.

Finding ID
GEN007960
Rule ID
SV-29540r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007960
CCI
CCI-000305
Target Key
(None)
Documentable
No
Discussion

The ldd command provides a list of dependent libraries needed by a given binary, which is useful for troubleshooting software. Instead of parsing the binary file, some ldd implementations invoke the program with a special environment variable set, which causes the system dynamic linker to display the list of libraries. Specially crafted binaries can specify an alternate dynamic linker which may cause a program to be executed instead of examined. If the program is from an untrusted source, such as in a user home directory, or a file suspected of involvement in a system compromise, unauthorized software may be executed with the rights of the user running ldd. Some ldd implementations include protections preventing the execution of untrusted files. If such protections exist, this requirement is not applicable. An acceptable method of disabling ldd is changing its mode to 0000. The SA may conduct troubleshooting by temporarily changing the mode to allow execution and running the ldd command as an unprivileged user upon trusted system binaries.

Fix Text

Remove the execute permissions from the ldd executable. # chmod a-x /usr/ccs/bin/ldd

Check Content

Determine if the system's ldd executable exists and is executable. # ls -lL /usr/ccs/bin/ldd If the file exists and has any execute permissions, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not respond to ICMPv6 echo requests sent to a broadcast address.

Finding ID
GEN007950
Rule ID
SV-29786r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN007950
CCI
CCI-000366
Target Key
(None)
Documentable
No
Discussion

Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.

Fix Text

Add an IPF rule to block inbound IPv6 ICMP ECHO_REQUEST packets sent to the all-hosts multicast address. Edit /etc/opt/ipf/ipf6.conf and add a rule such as: block in quick proto icmpv6 from any to ff02::1 icmpv6-type 128 Reload the IPF rules. # ipf -6 -Fa -A -f /etc/opt/ipf/ipf6.conf

Check Content

Determine if the system blocks inbound IPv6 ICMP echo-requests sent to the all-hosts multicast address. Procedure: # ipfstat -6 -i Check for a rule such as: block in quick proto icmpv6 from any to ff02::1 icmpv6-type 1