HP-UX 11.31 Security Technical Implementation Guide

V1R19 2019-01-08       U_HPUX_11-31_STIG_V1R19_Manual-xccdf.xml
V1R8 2015-09-11       U_HPUX_11-31_V1R8_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: [email protected]
Comparison
All 527
No Change 462
Updated 61
Added 2
Removed 2
V-756 No Change
Findings ID: GEN000020 Rule ID: SV-38318r2_rule Severity: medium CCI: CCI-000213

Discussion

Single user mode access must be strictly limited to privileged users. The ability to boot to single user mode allows a malicious user the opportunity to modify, compromise, or otherwise damage the system.System AdministratorIAIA-1, IAIA-2

Checks

Check the /tcb/files/auth/system/default entry.
# grep “:d_boot_authenticate” /tcb/files/auth/system/default

If the returned entry looks like “:[email protected]:”, single user boot authentication is disabled, and this is a finding.

For SMSE:
Check the setting for BOOT_AUTH is set to N=1.
# grep BOOT_AUTH /etc/default/security /var/adm/userdb/*

If BOOT_AUTH=0, then single user boot authentication is disabled, and this is a finding.

Fix

For Trusted Mode:
If single user boot authentication is disabled, use the System Administration Manager (SAM) or the System Management Homepage (SMH) to enable single user boot (for root only) authentication.

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:
BOOT_AUTH=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."
V-760 Updated
Findings ID: GEN000280 Rule ID: SV-38441r1_rule Severity: medium CCI: CCI-000770

Discussion

Shared accounts (accounts where two or more people log in with the same user identification) do not provide identification and authentication. There is no way to provide for non-repudiation or individual accountability.System AdministratorECSC-1, IAIA-1

Checks

Use the last command to check for multiple accesses to an account from different workstations/IP addresses. If users log directly onto accounts, rather than using the su command from their own named account to access them, this is a finding (such as logging directly on to Oracle). Also, ask the SA or the IAO if shared accounts are logged into directly or if users log on to an individual account and switch user to the shared account.

# last <unix account>

Fix

Use the switch user (su) command from a named account login to access shared accounts. Maintain audit trails identifying the actual user of the account name. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the account that must be shared.
V-761 No Change
Findings ID: GEN000300 Rule ID: SV-38442r2_rule Severity: medium CCI: CCI-000764

Discussion

A unique user name is the first part of the identification and authentication process. If user names are not unique, there can be no accountability on the system for auditing purposes. Multiple accounts sharing the same name could result in the Denial of Service to one or both of the accounts or unauthorized access to files or privileges.System AdministratorIAIA-1, IAIA-2

Checks

Verify the consistency of the assigned home directories in the authentication database.

For Trusted Mode:
# authck -av

For SMSE:
# pwck

If any duplicate account names are found, this is a finding.

Fix

Determine if the duplicate accounts have the same or different UIDs.
# cat /etc/passwd | cut -f 1,1 -d “:” | sort | uniq -d

If the UIDs are different, the account name must be changed. If the UIDs are the same, disable/remove one of the two (or more) password file entries via the SAM/SMH interface.
V-762 No Change
Findings ID: GEN000320 Rule ID: SV-38443r2_rule Severity: medium CCI: CCI-000764

Discussion

Accounts sharing a UID have full access to each others' files. This has the same effect as sharing a login. There is no way to assure identification, authentication, and accountability because the system sees them as the same user. If the duplicate UID is 0, this gives potential intruders another privileged account to attack.System AdministratorIAIA-1, IAIA-2

Checks

Verify the consistency of the assigned home directories in the authentication database.
For Trusted Mode:
# authck -av

For SMSE:
# pwck

If a non-unique UID is found in the password file, this is a finding.

Fix

Determine if the duplicate UIDs are associated with the same or a different account name.
# cat /etc/passwd | grep <non-uniqueUID>

or, for multiple non-unique UIDs:
# cat /etc/passwd | egrep “<non-uniqueUID1>|<non-uniqueUID2>|,non-uniqueUIDn>“

If the account names are unique, the UIDs must also be modified to be unique. If the account names are the same, disable/remove one of the two (or more) password file entries via the SAM/SMH interface.
.
V-763 No Change
Findings ID: GEN000400 Rule ID: SV-38444r1_rule Severity: medium CCI: CCI-000048

Discussion

Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.System AdministratorECWM-1

Checks

NOTE: This will virtually always require a manual review. Access the system console and make a login attempt. 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.

"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."

Fix

Edit /etc/issue 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."
V-765 No Change
Findings ID: GEN000440 Rule ID: SV-27082r1_rule Severity: medium CCI: CCI-000126

Discussion

Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system. Without this logging, the ability to track unauthorized activity to specific user accounts may be diminished.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

List the logged successful logons to determine if successful logons are being logged.

# last -R | more

List the logged unsuccessful logons to determine if unsuccessful logons are being logged.

# lastb -R | more

If logs do not contain successful and unsuccessful logins, this is a finding.

Fix

Verify that login logs are handled correctly in the /etc/syslog.conf file. Verify that service startup scripts for syslog and (w/b)tmp (if present) are enabled. NOTE: Also examine the syslog.conf file for any references to remote log hosts if last/lastb produce no results.

# cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep "\@"
V-766 Updated
Findings ID: GEN000460 Rule ID: SV-38445r23_rule Severity: medium CCI: CCI-000044

Discussion

Disabling accounts after a limited number of unsuccessful logion attempts improves protection against password guessing attacks.System AdministratorECLO-1, ECLO-2

Checks

For Trusted Mode:
The u_maxtries attribute in the /tcb/files/auth/system/default file controls whether an account is locked after too many consecutive authentication failures. An account is locked after “N” consecutive authentication failures.


Check the global setting for u_maxtries is set to N=3.

# grep u_maxtries /tcb/files/auth/system/default

If the
u_maxtries attribute is not set to 3“3”, this is a finding.

For SMSE:
The AUTH_MAXTRIES attribute in the /etc/default/security configuration file controls whether an account is locked after too many consecutive authentication failures. An account is locked after N+1 consecutive authentication failures.


Check the setting for AUTH_MAXTRIES” attribute is set to N=2.

# grep AUTH_MAXTRIES /etc/default/security /var/adm/userdb/*userdbget -a AUTH_MAXTRIES

If the attribute
AUTH_MAXTRIESE is not set to 2 2o, this is a finding.

Fix

For Trusted Mode:
Use the SAM/SMH interface or edit the /tcb/files/auth/system/default file and update the u_maxtries attribute. See the below example:

:u_maxtries#3:

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 attribute. See the below example:

AUTH_MAXTRIES=2

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.

V-768 Updated
Findings ID: GEN000480 Rule ID: SV-38446r3_rule Severity: medium CCI: CCI-002238

Discussion

Enforcing a delay between consecutive failed login attempts increases protection against automated password guessing attacks.GEN000480Attack mitigations to minimize risk:

1. Ensure that the “nodelay” parameter is not found in the /etc/pam.conf file.
2. In the file /opt/ssh/etc/sshd_config, the “MaxAuthTries” attribute must be explicitly set to “1”. This attribute controls the maximum number of authentication attempts permitted per SSH daemon connection.
3. In the file /opt/ssh/etc/sshd_config, the “MaxStartups” attribute must be explicitly set to an organization defined value of “10” (the default) or less. This attribute controls the maximum number of unauthenticated connections to the SSH daemon.
4. IPFilter DCA mode is disabled by default, and must be explicitly enabled. Set the following attribute in the /etc/rc.config.d/ipfconf file:
DCA_START=1

The below /etc/opt/ipf/ipf.conf file rule specifies a connection limit of ““ for all hosts when attempting to connect to port ““. The ““ and ““ must be set to organization defined values. Per vendor documentation, this rule must be the next-to-last rule in /etc/opt/ipf/ipf.conf. The final rule in the file must define the default connection limit. See the below example for the last 2 line entries in /etc/opt/ipf/ipf.conf (note that the double quotes are for emphasis only):
“pass in proto tcp from any to any port = keep limit “
“block in from any to any”

Save the file before exiting the editor. The system should not require restarting for the new rule(s) to take effect.
System Administrator
ECLO-1, ECLO-2

Checks

For Trusted Mode:
Check the t_logdelay setting.
# more /tcb/files/auth/system/default

Verify the value of the t_logdelay variable. If the value is less than 4, this is a finding.

For SMSE:
By default, PAM executes a built-in, 3 second standard delay if user authentication fails. This delay cannot be extended. The “nodelay” parameter disables the built-in delay. Ensure that the “nodelay” parameter is not found in the /etc/pam.conf file.

The HP-SMSE environment does not meet the failed authentication 4 second minimum delay requirement. This check will always result in a finding.

Fix

For Trusted Mode:
Use the SAM/SMH interface to ensure that the t_logdelay setting is 4.

For SMSE:
There is no fix, however, there are attack mitigations to minimize risk (see mitigations).
V-769 No Change
Findings ID: GEN000520 Rule ID: SV-38447r1_rule Severity: medium CCI: CCI-000225

Discussion

If an application is providing a continuous display and is running with root privileges, unauthorized users could interrupt the process and gain root access to the system.System AdministratorPESL-1

Checks

NOTE: This will virtually always require a manual review. If there is an application running on the system that is continuously in use (such as a network monitoring application), ask the SA what the name of the application is. Execute ps -ef | more to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding.

Fix

Configure the system so the owner of a session requiring a continuous screen display, such as a network management display, is not root. Ensure the display is also located in a secure, controlled access area. Document and justify this requirement and ensure the terminal and keyboard for the display (or workstation) are secure from all but authorized personnel by maintaining them in a secure area, in a locked cabinet where a swipe card, or other positive forms of identification, must be used to gain entry.
V-770 No Change
Findings ID: GEN000560 Rule ID: SV-38448r2_rule Severity: high CCI: CCI-000366

Discussion

If an account is configured for password authentication but does not have an assigned password, it may be possible to log into the account without authentication. If the root user is configured without a password, the entire system may be compromised. For user accounts not using password authentication, the account must be configured with a password lock value instead of a blank or null value. System AdministratorIAIA-1, IAIA-2

Checks

For Trusted Mode:
Verify that user accounts do not have blank passwords.
# cd /tcb/files/auth && grep “u_pwd=::” */*

If any user account with a blank password is found, this is a finding.

For SMSE:
Inspect the password (2nd) field in the /etc/shadow file.
# cat /etc/shadow

If any user account in the /etc/shadow file contains a null password field, this is a finding.

Fix

For Trusted Mode:
Use the System Administration Manager (SAM) or the System Management Homepage (SMH) to disable null passwords and immediately expire the password for any account with a null password, forcing the user to create a password on the very next login. Alternatively, the account may also be disabled.

Protected password database files are maintained in the /tcb/files/auth hierarchy. This directory contains other directories each named with a single letter from the alphabet. User authentication profiles are stored in these directories based on the first letter of the user account name.
Verify that SAM/SMH has now disabled null passwords for all accounts.
# grep “:[email protected]:” /tcb/files/auth/[a-z,A-Z]

For SMSE:
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:
LOGIN_POLICY_STRICT=1
ALLOW_NULL_PASSWORD=0

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. Use the System Administration Manager (SAM) or the System Management Homepage (SMH) to immediately expire the password for any account with a null password, forcing the user to create a password on the very next login. Alternatively, the account may also be disabled.
V-773 Updated
Findings ID: GEN000880 Rule ID: SV-38449r1_rule Severity: medium CCI: CCI-000366

Discussion

If an account has an UID of 0, it has root authority. Multiple accounts with an UID of 0 afford more opportunity for potential intruders to compromise a privileged account.System AdministratorECLP-1, IAIA-1, IAIA-2

Checks

Check the system for duplicate UID 0 assignments by listing all accounts assigned UID 0.

# cat /etc/passwd | cut -f 1,3 -d ":" | grep ":0"

If any accounts other than root are assigned UID 0, this is a finding.

Fix

Remove or change the UID of accounts other than root that have UID 0.
V-774 No Change
Findings ID: GEN000900 Rule ID: SV-34829r1_rule Severity: low CCI: CCI-000366

Discussion

Changing the root home directory to something other than / and assigning it a 0700 protection makes it more difficult for intruders to manipulate the system by reading the files root places in its default directory. It also gives root the same discretionary access control for root's home directory as for the other plain user home directories.System AdministratorECCD-1, ECCD-2

Checks

Determine if root is assigned a home directory other than / by listing its home directory.

# cat /etc/passwd | grep "^root" | cut -f 6,6 -d ":"

If the root user home directory is /, this is a finding.

Fix

The root home directory should be something other than / (such as /roothome).

# mkdir /rootdir
# chown root /rootdir
# chgrp root /rootdir
# chmod 700 /rootdir
# cp -r /.??* /rootdir/.

Edit the passwd file and change the root home directory to /rootdir. The cp -r /.??* command copies all files and subdirectories of file names that begin with "." into the new root directory, which preserves the previous root environment. Ensure you are in the "/" directory when executing the "cp" command.
V-775 No Change
Findings ID: GEN000920 Rule ID: SV-38450r1_rule Severity: medium CCI: CCI-000225

Discussion

Permissions greater than 0700 could allow unauthorized users access to the root home directory.System AdministratorECCD-1, ECCD-2

Checks

Check the mode of the root home directory.

Procedure:
# cat /etc/passwd | grep "^root" | cut -f 6,6 -d ":"
# ls -lLd <root home directory>

If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this check will be marked Not Applicable.

Fix

The root home directory will have permissions of 0700. Do not change the protections of the / directory. Use the following command to change protections for the root home directory:
# chmod 0700 /rootdir.
V-776 Updated
Findings ID: GEN000940 Rule ID: SV-38451r13_rule Severity: medium CCI: CCI-000366

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 or, two consecutive colons, or a single period, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.System AdministratorECCD-1, ECCD-2, ECSC-1

Checks

To view the root user's PATH, log in as the root user, and execute:
# env | grep PATH

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 startbegins with a character other than a slash (/), this is a finding. If directories beyond those in the vendor's default root path are presentor has not been documented with the ISSO, this is a finding.

Fix

Edit the root user's local initialization files. Change any found PATH variable settings to the v and remove any relative path entries that have not been dor's default path for the root user. Remove any empty path entries or references to relative paths. cumented with the ISSO.

Edit the root user’s local initialization files a demove any empty entrt y th ts sedifen.d
V-777 No Change
Findings ID: GEN000960 Rule ID: SV-38452r1_rule Severity: medium CCI: CCI-000366

Discussion

If the root search path contains a world-writable directory, malicious software could be placed in the path by intruders and/or malicious users and inadvertently run by root with all of root's privileges.
System AdministratorECCD-1, ECCD-2

Checks

Check for world-writable permissions on all directories in the root user's executable search path.

Procedure:
# ls -ld `echo $PATH | sed "s/:/ /g"`

If any of the directories in the PATH variable are world-writable, this is a finding.

Fix

For each world-writable path in root's executable search path, do one of the following:

1. Remove the world-writable permission on the directory.
Procedure:
# chmod o-w <path>

2. Remove the world-writable directory from the executable search path.
Procedure:
Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.
V-778 Updated
Findings ID: GEN000980 Rule ID: SV-38453r2_rule Severity: medium CCI: CCI-000770

Discussion

Limiting the root account direct logins to only system consoles protects the root account from direct unauthorized access from a non-console device.System AdministratorECPA-1, ECSD-2

Checks

Check the /etc/securetty file contents.
# more /etc/securetty
If /etc/securetty does not exist, or has contents other than console or /dev/null, this is a finding.

Fix

If the /etc/securetty file does not exist, create the file containing only the word console and ensure correct file properties.
# echo “console” > /etc/securetty
V-780 No Change
Findings ID: GEN000360 Rule ID: SV-38454r1_rule Severity: medium CCI: CCI-000366

Discussion

Reserved GIDs are typically used by system software packages. If non-system groups have GIDs in this range, they may conflict with system software, possibly leading to the group having permissions to modify system files.System AdministratorECSC-1

Checks

Confirm all accounts with a GID of 99 and below are used by a system account. If a GID reserved for system accounts (0 - 99) is used by a non-system account, this is a finding. The vendor-supplied system default group "users" (gid=20) is considered an exception to this check.

# cat /etc/passwd | cut -f 1,4 -d ":"

Fix

Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 99).

# usermod -g <new_group> <user>
V-781 No Change
Findings ID: GEN000380 Rule ID: SV-38455r1_rule Severity: low CCI: CCI-000366

Discussion

If a user is assigned the GID of a group not existing on the system, and a group with that GID is subsequently created, the user may have unintended rights to the group.System AdministratorECSC-1

Checks

Determine if any GIDs referenced in /etc/passwd are not defined in /etc/group.

Procedure:
# cat /etc/passwd | cut -f 4,4 -d ":" | sort | uniq

With the above GIDs, manually execute the following command for every GID from above. Note that this command is expected to return line entry information from /etc/group.

# grep -n <GID> /etc/group

If any GIDs referenced in /etc/passwd and not defined in /etc/group are returned, this is a finding.

Fix

Add a group to the system (edit /etc/group) for each GID referenced without a corresponding group.
V-782 No Change
Findings ID: GEN006480 Rule ID: SV-35141r1_rule Severity: medium CCI: CCI-001259

Discussion

Without a host-based intrusion detection tool, there is no system-level defense when an intruder gains access to a system or network. Additionally, a host-based intrusion detection tool can provide methods to immediately lock out detected intrusion attempts.System AdministratorECID-1

Checks

A few applications providing host-based network intrusion protection are:

- Dragon Squire by Enterasys Networks
- ITA by Symantec
- Hostsentry by Psionic Software
- Logcheck by Psionic Software
- RealSecure agent by ISS
- Swatch by Stanford University

Ask the SA or IAO if a host-based intrusion detection application is loaded on the system (where <daemon name> is the name of the primary application daemon) to determine if the application is loaded on the system.

# find / -name <daemon> | xargs -n1 ls -lL

Determine if the application is active on the system.
# ps -ef | grep <daemon name>

If no host-based intrusion detection system is installed on the system, this is a finding.

Fix

Install a host-based intrusion detection tool.
V-783 Updated
Findings ID: GEN000120 Rule ID: SV-38456r2_rule Severity: medium CCI: CCI-001227

Discussion

Timely patching is critical for maintaining the operational availability, confidentiality, and integrity of Information Technology (IT) systems. However, failure to keep operating system and application software patched is a common mistake made by IT professionals. New patches are released daily, and it is often difficult for even experienced system administrators to keep abreast of all the new patches. When new weaknesses in an operating system exist, patches are usually made available by the vendor to resolve the problems. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses present in the unpatched software. The lack of prompt attention to patching could result in a system compromise.System AdministratorVIVM-1

Checks

Obtain the list of available security patches from HP. Alternatively, obtain, install, and use HP's Patch Tool Bundle to compile a list of superseded patches based on the installed software Product Bundle Patch list(s):

# show_patches -s

Verify the available security patches have been installed on the system.

To list patches installed on the system, use the swlist utility.
Example:
# swlist -l fileset

If there are security patches available and applicable for the system that have not been installed, this is a finding.

Fix

Use a web browser to access the vendor's support website. Follow the instructions to set up an account with a login and a password. Once this is done it is possible to download the needed patches.
Use SMH or # swinstall to apply the patches.
V-784 No Change
Findings ID: GEN001140 Rule ID: SV-38457r1_rule Severity: medium CCI: CCI-000225

Discussion

Discretionary access control is undermined if users, other than a file owner, have greater access permissions to system files and directories than the owner.System AdministratorECCD-1, ECCD-2

Checks

Check system directories for uneven file permissions.

Procedure:
# ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin

Uneven file permissions exist if the file owner has less permissions than the group or other user classes. If any of the files in the above listed directories contain uneven file permissions, this is a finding.

Fix

Change the mode of files with uneven permissions so owners do not have less permissions than group or world users.
V-785 No Change
Findings ID: GEN001160 Rule ID: SV-34833r1_rule Severity: medium CCI: CCI-000366

Discussion

Unowned files and directories may be unintentionally inherited if a user is assigned the same UID as the UID of the unowned files.System AdministratorECCD-1, ECCD-2

Checks

Check the system for files with no assigned owner.

Procedure:
# find / -nouser -print

If any files have no assigned owner, this is a finding.

Fix

All directories and files (executable and data) will have an identifiable owner and group name. Either trace files to an authorized user, change the file's owner to root, or delete them. Determine the legitimate owner of the files and use the chown command to set the owner and group to the correct value. If the legitimate owner cannot be determined, change the owner to root (but make sure none of the changed files remain executable because they could be Trojan horses or other malicious code). Examine the files to determine their origin and the reason for their lack of an owner/group.
V-786 No Change
Findings ID: GEN001180 Rule ID: SV-38458r1_rule Severity: medium CCI: CCI-000225

Discussion

Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.System AdministratorECLP-1

Checks

Check the mode of network services daemons.
# ls -lLa /usr/lbin

If the mode of a network services daemon is more permissive than 0755, this is a finding.
NOTE: Network daemons that may not reside in these directories (such as httpd or sshd) must also be checked for the correct permissions.

Fix

Change the mode of the network services daemon.
# chmod 0755 <path>/<daemon>
V-787 No Change
Findings ID: GEN001260 Rule ID: SV-35275r1_rule Severity: medium CCI: CCI-001314

Discussion

If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value.System AdministratorECTP-1

Checks

Check the mode of log files.

# ls -lLR /var/log /var/log/syslog /var/adm /var/opt

Note that some of the above directories will contain more than just system log files. For example: /var/adm/sa, /var/adm/sw, etc. Any non-system log files contained within the above directories should be excluded from this requirement.

If any of the system log files have modes more permissive than 0640, this is a finding.

Fix

Change the mode of the system log files to 0640 or less permissive.

# chmod 0640 <path>/<system-log-file>

NOTE: Do not confuse system log files with audit logs.
V-788 No Change
Findings ID: GEN001800 Rule ID: SV-38459r1_rule Severity: medium CCI: CCI-000225

Discussion

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

System AdministratorECLP-1

Checks

Check skeleton files permissions.
# ls -alL /etc/skel

If a skeleton file has a mode more permissive than 0444, this is a finding.

Fix

Change the mode of skeleton files with incorrect mode.
# chmod 0444 <skeleton file>
V-789 No Change
Findings ID: GEN001320 Rule ID: SV-38460r1_rule Severity: medium CCI: CCI-000225

Discussion

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. 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.System AdministratorECLP-1

Checks

Check NIS file ownership.

Procedure:
# ls -lLa /var/yp/<nis domainname>

If the file ownership is not root, sys, or bin, this is a finding.

Fix

Change the ownership of NIS/NIS+/yp files to root, sys, or bin. Consult vendor documentation to determine the location of the files.

Procedure (example):
# chown root <filename>
V-790 No Change
Findings ID: GEN001340 Rule ID: SV-38461r1_rule Severity: medium CCI: CCI-000225

Discussion

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. 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.System AdministratorECLP-1

Checks

Check NIS file ownership.
# ls -alLR /var/yp/`domainname`

If the file group owner is not root, sys, bin (the default), or other, this is a finding.

Fix

Change the group owner of the NIS files to root, sys, bin, or other.
# chgrp root <filename>
V-791 No Change
Findings ID: GEN001360 Rule ID: SV-38462r1_rule Severity: medium CCI: CCI-000225

Discussion

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Unauthorized modification of these files could compromise these processes and the system.System AdministratorECLP-1

Checks

Check NIS file mode.

Procedure:
# grep -i NIS_DOMAIN /etc/rc.config.d/namesvrs
# ls -lLa /var/yp/<NIS_DOMAIN>

If the file's mode is more permissive than 0755, this is a finding.

Fix

Change the mode of NIS/NIS+/yp command files to 0755 or less permissive.

Procedure (example):
# chmod 0755 <filename>
V-792 Updated
Findings ID: GEN001280 Rule ID: SV-38463r2_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

Check the mode of the manual page files.
# find `env | grep MANPATH | cut -f 2,2 -d "=" | tr ':' ' ' ` -type f \( -perm -100 -o -perm -030 -o -perm -003 \) -exec ls -al {} +

If any manual page file mode is more permissive than 0644, this is a finding.

Fix

Change the mode of manual page files to 0644 or less permissive.

Example:
# chmod 0644 <path>/<manpage>
V-793 No Change
Findings ID: GEN001300 Rule ID: SV-38464r1_rule Severity: medium CCI: CCI-001499

Discussion

Unauthorized access could destroy the integrity of the library files.System AdministratorDCSL-1

Checks

Check the mode of library files.

Procedure:
# ls -lLR /usr/lib /lib

If any of the library files have a mode more permissive than 755, this is a finding.

Fix

Change the mode of library files to 0755 or less permissive.

Procedure (example):
# chmod 0755 <path>/<library-file>

NOTE: Library files should have an extension of ".a" or ".so" (a=archive, so=shared object) extension, possibly followed by a version number.
V-794 No Change
Findings ID: GEN001200 Rule ID: SV-38465r1_rule Severity: medium CCI: CCI-001499

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.Elevate to Severity Code I if any file listed world-writable.System AdministratorECLP-1

Checks

Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /sbin, and /usr/sbin.

# ls -lL /etc /bin /usr/bin /usr/lbin /sbin /usr/sbin

If any file listed has a mode more permissive than 755, this is a finding.

Note: Elevate to Severity Code I if any file is listed as world-writable.

Fix

Change the mode for system command files to 755 or less permissive.

# chmod 755 <filename>
V-795 No Change
Findings ID: GEN001220 Rule ID: SV-38466r1_rule Severity: medium CCI: CCI-001499

Discussion

Restricting permissions will protect the files from unauthorized modification.System AdministratorECLP-1

Checks

Check the ownership of system files, programs, and directories.

Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin

If any of the system files, programs, or directories are not owned by a system account, this is a finding.

Fix

Change the owner of system files, programs, and directories to a system account.

Procedure:
# chown root <path>/<system file>

(A different system user may be used in place of root.)
V-796 No Change
Findings ID: GEN001240 Rule ID: SV-38467r1_rule Severity: medium CCI: CCI-001499

Discussion

Restricting permissions will protect the files from unauthorized modification.System AdministratorECLP-1

Checks

Check the group ownership of system files, programs, and directories.

Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin

If any system file, program, or directory is not owned by a system group, this is a finding.

Fix

Change the group owner of system files to a system group.

Procedure:
# chgrp root <path>/<system file>

(System groups other than root may be used.)
V-797 Updated
Findings ID: GEN001400 Rule ID: SV-38468r2_rule Severity: medium CCI: CCI-000225

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. 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.System AdministratorECLP-1

Checks

For Trusted Mode:
Check the ownership of the /etc/shadow file.
# ls -lL /etc/shadow

If the /etc/shadow file exists and is not owned by root, this is a finding. NOTE: /etc/shadow should not exist if the system is in Trusted Mode.

Check the ownership of the TCB auth files and directories.
# ls -lLd /tcb /tcb/files /tcb/files/auth
# ls -lL /tcb/files/auth/[a-z,A-Z]/*

If the owner of any of the /tcb files and directories is not root, this is a finding.

For SMSE:
Check the /etc/shadow file.
# ls -lL /etc/shadow

If the /etc/shadow file exists and is not owned by root, this is a finding.

Fix

For Trusted Mode:
# chown root /tcb
# chown root /tcb/files /tcb/files/auth
# chown root /tcb/files/auth/[a-z]/*

For SMSE:
# chown root /etc/shadow
V-798 No Change
Findings ID: GEN001380 Rule ID: SV-38469r1_rule Severity: medium CCI: CCI-000225

Discussion

If the passwd file is writable by a group owner or the world, the risk of passwd file compromise is increased. The passwd file contains the list of accounts on the system and associated information.System AdministratorECLP-1

Checks

Check the mode of the /etc/passwd file.

Procedure:
# ls -lL /etc/passwd

If /etc/passwd has a mode more permissive than 0444, this is a finding.

Fix

Change the mode of the passwd file to 0444.
# chmod 0444 /etc/passwd

Document all changes.
V-800 Updated
Findings ID: GEN001420 Rule ID: SV-38470r2_rule Severity: medium CCI: CCI-000225

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. The Trusted Mode /tcb tree requires modes more permissive than the shadow file.System AdministratorECLP-1

Checks

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 mode of /tcb directory is more permissive than 0555, this is a finding.
If the mode of /tcb/files or /tcb/files/auth directories is more permissive than 0771, this is a finding.
If the mode of any of the /tcb/files/auth/[a-z]/* is more permissive than 0664, this is a finding.

For SMSE:
Check the /etc/shadow file.
# ls -lL /etc/shadow

If the /etc/shadow file has a mode more permissive than 0400, this is a finding. NOTE: The /etc/shadow file will not exist if the system is in Trusted Mode.

Fix

For Trusted Mode:
# chmod 0555 /tcb
# chmod 0771 /tcb/files /tcb/files/auth
# chmod 0664 /tcb/files/auth/[a-z]/*

For SMSE:
# chmod 0400 /etc/shadow
V-801 No Change
Findings ID: GEN002380 Rule ID: SV-38471r1_rule Severity: medium CCI: CCI-000368

Discussion

All files with the setuid bit set will allow anyone running these files to be temporarily assigned the UID of the file. While many system files depend on these attributes for proper operation, security problems can result if setuid is assigned to programs that allow reading and writing of files, or shell escapes. Only default vendor-supplied executables should have the setuid bit set.trueSystem AdministratorInformation Assurance OfficerECPA-1

Checks

Files with the setuid bit set will allow anyone running these files to be temporarily assigned the user or group ID of the file. If an executable with setuid allows shell escapes, the user can operate on the system with the effective permission rights of the user or group owner.

List all setuid files on the system.
Procedure:
# find / -perm -4000 -exec ls -l {} \; | more

NOTE: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis.

Ask the SA or IAO if files with the suid bit set have been documented. If any undocumented file has its suid bit set, this is a finding.

Fix

Document the files with the suid bit set or unset the suid bit on the executable.
V-802 No Change
Findings ID: GEN002440 Rule ID: SV-34943r1_rule Severity: medium CCI: CCI-000368

Discussion

All files with the setgid bit set will allow anyone running these files to be temporarily assigned the GID of the file. While many system files depend on these attributes for proper operation, security problems can result if setgid is assigned to programs that allow reading and writing of files, or shell escapes.trueSystem AdministratorInformation Assurance OfficerECPA-1

Checks

Locate all setgid files on the system.

Procedure:
# find / -perm -2000

If the ownership, permissions, location, and ACLs of all files with the setgid bit set are not documented, this is a finding.

Fix

All files with the sgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer (ISSO). Locate all sgid files with the following command:

find / -perm -2000 -exec ls -lL {} \;

Ensure sgid files are part of the operating system software, documented application software, documented utility software, or documented locally developed software. Ensure none are text files or shell programs.
V-803 No Change
Findings ID: GEN002400 Rule ID: SV-38472r1_rule Severity: medium CCI: CCI-000318

Discussion

Files with the setuid bit set will allow anyone running these files to be temporarily assigned the UID of the file. While many system files depend on these attributes for proper operation, security problems can result if setuid is assigned to programs that allow reading and writing of files, or shell escapes.System AdministratorDCSL-1

Checks

NOTE: This will virtually always require a manual review. Determine if a weekly automated or manual process is used to generate a list of suid files on the system and compare it with the prior list. If no such process is in place, this is a finding.

Fix

Establish a weekly automated or manual process to generate a list of suid files on the system and compare it with the prior list. To create a list of suid files:

# find / -perm -4000 > suid-file-list
V-804 No Change
Findings ID: GEN002460 Rule ID: SV-38473r1_rule Severity: medium CCI: CCI-000318

Discussion

Files with the setgid bit set will allow anyone running these files to be temporarily assigned the group id of the file. While many system files depend on these attributes for proper operation, security problems can result if setgid is assigned to programs that allow reading and writing of files, or shell escapes.System AdministratorDCSL-1

Checks

NOTE: This will virtually always require a manual review. Determine if a weekly automated or manual process is used to generate a list of sgid files on the system and compare it with the prior list. If no such process is in place, this is a finding.

Fix

Establish a weekly automated or manual process to generate a list of sgid files on the system and compare it with the prior list. To create a list of sgid files:

# find / -type f -perm -2000 -exec ls -lL {} \; >> sgid-file-list
V-805 No Change
Findings ID: GEN002420 Rule ID: SV-34946r1_rule Severity: medium CCI: CCI-000225

Discussion

The "nosuid" mount option causes the system to not execute setuid files with owner privileges. This option must be used for mounting any file system not containing approved setuid files. Executing setuid files from untrusted file systems, or file systems that do not contain approved setuid files, increases the opportunity for unprivileged users to attain unauthorized administrative access.System AdministratorECLP-1

Checks

Check /etc/fstab and verify the nosuid mount option is used on file systems mounted from removable media, network shares, or any other file system not containing approved setuid or setgid files.

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.

# cat /etc/fstab | grep -v "^#"

If the "nosuid" mount option is not used on file systems mounted from removable media, network shares, or any other file system that does not contain approved setuid or setgid files, this is a finding.

Fix

Edit /etc/fstab and add the nosuid mount option to all file systems mounted from removable media or network shares, and any file system not containing approved setuid or setgid files.
V-806 No Change
Findings ID: GEN002500 Rule ID: SV-38474r1_rule Severity: low CCI: CCI-000366

Discussion

Failing to set the sticky bit on the public directories allows unauthorized users to delete files in the directory structure.

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.System AdministratorECCD-1, ECCD-2

Checks

Verify all world-writable directories have the sticky bit set.

Procedure:
# find / -type d -perm -002 ! -perm -1000 -exec ls -lLd {} \; | tee wwlist

If the sticky bit is not set on a world-writable directory, this is a finding.

Fix

Set the sticky bit on all public directories.

Procedure:
# chmod 1777 <world writeable directory>
V-807 No Change
Findings ID: GEN002520 Rule ID: SV-34950r1_rule Severity: medium CCI: CCI-000225

Discussion

If a public directory has the sticky bit set and is not owned by a privileged UID, 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.System AdministratorECLP-1

Checks

Check the ownership of all public directories.

Procedure:
# find / -type d -perm -1002 -exec ls -ld {} \;

If any public directory is not owned by root or an application user, this is a finding.

Fix

Change the owner of public directories to root or an application account.

Procedure:
# chown root <public directory>
V-808 No Change
Findings ID: GEN002560 Rule ID: SV-38475r1_rule Severity: medium CCI: CCI-000366

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 can be represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0. This requirement applies to the globally configured system defaults and the user defaults for each account on the system.trueIf the default umask is 000 or does not restrict the world-writable permission, this becomes a CAT I finding.System AdministratorECCD-1, ECCD-2

Checks

Check global initialization files for the configured umask value.
# grep umask /etc/* | grep -v ":#" | grep "umask [0-9]"

Check local initialization files for the configured umask value.
Procedure:
# grep umask /userhomedirectory/.*

If the system and user default umask is not 077, this is a finding.

NOTE: If the default umask is 000 or allows for the creation of world-writable files this becomes a Severity Code I (CAT I) finding.

Fix

Edit local and global initialization files containing umask and change them to use 077 instead of the current value.
V-810 No Change
Findings ID: GEN002640 Rule ID: SV-27264r2_rule Severity: medium CCI: CCI-000178

Discussion

Vendor accounts and software may contain backdoors that will allow unauthorized access to the system. These backdoors are common knowledge and present a threat to system security if the account is not disabled.System AdministratorIAAC-1

Checks

Account/password locking is typically accomplished with the asterisk (*). System logins that never had a password use a double exclamation mark (!!) and accounts that have been locked have the valid password entry invalidated by a single exclamation mark (!) prefix.

For Trusted Mode:
Protected password database files are maintained in the /tcb/files/auth hierarchy. This directory contains other directories each named with a single letter from the alphabet. User authentication profiles are stored in these directories based on the first letter of the user account name. Next check if default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have been disabled.
# grep “u_pwd=“ /tcb/files/auth/[a-z,A-Z]/*

If any default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have not been disabled, this is a finding.

For SMSE:
Check if default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have been disabled.
# cat /etc/shadow

If any default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have not been disabled, this is a finding.

Fix

For Trusted Mode and SMSE:
Use the System Administration Manager (SAM) or the System Management Homepage (SMH) to lock/disable or remove any enabled default system accounts.
V-811 No Change
Findings ID: GEN002660 Rule ID: SV-38476r1_rule Severity: medium CCI: CCI-000169

Discussion

Without auditing, individual system accesses cannot be tracked and malicious activity cannot be detected and traced back to an individual account.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Determine if auditing is enabled.
# audsys

If the audit service is not running, this is a finding.

Fix

Turn on the auditing system. The system will use existing current and next audit trails (if configured).
# audsys -n

Alternatively, use the HP SMH to configure and enable auditing on the system.
V-812 No Change
Findings ID: GEN002680 Rule ID: SV-38477r2_rule Severity: medium CCI: CCI-000162

Discussion

Failure to give ownership of system audit log files to root provides the designated owner and unauthorized users with the potential to access sensitive information.System AdministratorECTP-1

Checks

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 ownership.
# ls -lLd <audit directory>
# ls -lLa <audit file>

If any audit log directory/file is not owned by root, this is a finding.

Fix

As root, change the ownership.
# chown root <audit directory>
# chown root <audit file>
V-813 No Change
Findings ID: GEN002700 Rule ID: SV-38478r2_rule Severity: medium CCI: CCI-000163

Discussion

If a user can write to the audit logs, audit trails can be modified or destroyed and system intrusion may not be detected. System audit logs are those files generated from the audit system and do not include activity, error, or other log files created by application software.System AdministratorECTP-1

Checks

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 <audit directory>
# ls -lLa <audit file>

If any audit log file has permissions greater than 0640 (0750 for directories), this is a finding.

Fix

As root, change the permissions.
# chmod 0750 <audit directory>
# chmod 0640 <audit file>
V-814 No Change
Findings ID: GEN002720 Rule ID: SV-38479r1_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the system audit configuration to determine if failed attempts to access files and programs are audited.
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep open

If no results are returned, this is a finding.

Fix

Edit /etc/rc.config.d/auditing and add -e open to the end of the AUDEVENT_ARGS1 parameter.
V-815 No Change
Findings ID: GEN002740 Rule ID: SV-38480r1_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the system audit configuration to determine if failed attempts to access files and programs are audited.
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep delete

If no results are returned, this is a finding.

Fix

Edit /etc/rc.config.d/auditing and add -e delete to the end of the AUDEVENT_ARGS1 parameter.
V-816 No Change
Findings ID: GEN002760 Rule ID: SV-38481r1_rule Severity: medium CCI: CCI-000347

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the auditing configuration of the system.
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep admin
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep removable

If no results are returned for either of these commands, this is a finding.

Fix

Edit /etc/rc.config.d/auditing and add -e admin and -e removable to the end of the AUDEVENT_ARGS1 parameter.
V-818 No Change
Findings ID: GEN002800 Rule ID: SV-38482r1_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the system's audit configuration.
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep login

If no results are returned, this is a finding.

Fix

Edit /etc/rc.config.d/auditing and add -e login to the end of the AUDEVENT_ARGS1 parameter.
V-819 No Change
Findings ID: GEN002820 Rule ID: SV-38483r1_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the system's audit configuration. The term moddac is code for MODify Dicscretionary Access Control (i.e., chown, chmod, etc.).
# grep -i audevent_args1 /etc/rc.config.d/auditing | grep moddac

If no results are returned, this is a finding.

Fix

Edit /etc/rc.config.d/auditing and add -e moddac to the end of the AUDEVENT_ARGS1 parameter.
V-821 No Change
Findings ID: GEN003720 Rule ID: SV-35067r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of sensitive files or utilities to root 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.System AdministratorECLP-1

Checks

Check the ownership of the xinetd.d directory, the (x)inetd.conf file and any files identified by the configuration file includedir stanza.

# find / -type d -name xinetd.d | xargs -n1 ls -lLd
# find / -type f -name inetd.conf -o -name xinetd.conf | xargs -n1 ls -lL
# grep includedir <PATH>/xinetd.conf

If any of the above named files, included files or directories are not owned by root or bin, this is a finding.

Fix

Change the ownership of the inetd.conf file to root or bin.
# chown root <file or directory>
V-822 No Change
Findings ID: GEN003740 Rule ID: SV-35072r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the mode of the (x)inetd.conf file and any files identified by the configuration file includedir stanza:

# find / -type f -name inetd.conf -o -name xinetd.conf | xargs -n1 ls -lL
# grep includedir <PATH>/xinetd.conf
# ls -lL <includedir files from previous command>

If any of the above file mode are more permissive than 0440, this is a finding.

Fix

Change the mode of the (x)inetd.conf file.
# chmod 0440 <file>
V-823 No Change
Findings ID: GEN003760 Rule ID: SV-35077r1_rule Severity: medium CCI: CCI-000225

Discussion

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.System AdministratorECLP-1

Checks

Check the ownership of the services file. NOTE: The typical ownership of the services file is bin.
# ls -lL /etc/services

If the services file is not owned by root or bin, this is a finding.

Fix

Change the ownership of the services file to root or bin.
# chown root /etc/services
V-824 No Change
Findings ID: GEN003780 Rule ID: SV-35078r1_rule Severity: medium CCI: CCI-000225

Discussion

The services file is critical to the proper operation of network services and must be protected from unauthorized modification. Unauthorized modification could result in the failure of network services.System AdministratorECLP-1

Checks

Check the mode of the services file. NOTE: The typical default mode of the services file is 0444.
# ls -lL /etc/services

If the services file has a mode more permissive than 0444, this is a finding.

Fix

Change the mode of the services file to 0444 or less permissive.
# chmod 0444 /etc/services
V-825 No Change
Findings ID: GEN001780 Rule ID: SV-38484r1_rule Severity: low CCI: CCI-000366

Discussion

If the mesg -n or mesg n command is not placed into the system profile, messaging can be used to cause a Denial of Service attack.System AdministratorECSC-1

Checks

Check global initialization files for the presence of mesg -n or mesg n.

Procedure:
# grep "mesg" /etc/.login /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc

If global initialization files exist and do not contain mesg -n or mesg n, this is a finding.

Fix

Edit /etc/profile or another global initialization script, and add the mesg -n command.
V-827 No Change
Findings ID: GEN003900 Rule ID: SV-35140r1_rule Severity: medium CCI: CCI-000366

Discussion

Having the "+" character in the hosts.lpd (or equivalent) file allows all hosts to use local system print resources.System AdministratorECCD-1, ECCD-2

Checks

Look for the presence of a print service configuration file. The hosts.lpd file is not used on HP, only inetd.sec, hosts.equiv, and/or the system (lp) .rhosts will apply.

When rlpdaemon is started via inetd, access control is provided via the fileinetd.sec to allow or prevent a host from making print requests.

When rlpdaemon is started at boot via a run command file, all requests must come from one of the machines listed in the file /etc/hosts.equiv or /var/spool/lp/.rhosts.

Procedure:
First, determine the rlpdaemon startup method:

1) Print services started via inetd?
# cat /etc/inetd.conf | grep -v "^#" | grep -c rlpdaemon

If the above command return value is 1, check the services file.

# cat /etc/services | grep -v "^#" | grep printer | grep -c spooler

If the above command return value is 1, check the inetd.sec file.

# cat /var/adm/inetd.sec | grep -v "^#" | tr '\011' ' ' | tr -s ' ' | grep printer | grep allow | grep -c "\+"

If the above command return value is 1, this is a finding.

2) The rlpdaemon is started as a service, and not via inetd. Verify neither the /etc/hosts.equiv nor /var/spool/lp/.rhosts contains a "+":

# cat /etc/hosts.equiv | grep -v "^#" | grep -c "\+"
# cat /var/spool/lp/.rhosts | grep -v "^#" | grep -c "\+"

If the return value of either of the above two command(s) is 1, this is a finding.

If none of the files are found, this check should be marked not a finding.

Otherwise, examine the configuration file.
# more <print service file>

Check for entries containing a "+" or "_" character. If any are found, this is a finding.

Fix

Remove the "+" entries from the hosts.lpd (or equivalent) file.
V-828 No Change
Findings ID: GEN003920 Rule ID: SV-35143r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of the hosts.lpd file to root, bin, sys, or lp provides the designated owner, 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.System AdministratorECLP-1

Checks

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 no print service configuration file is found, this is not a finding.

Check the ownership of the print service configuration file(s).
# ls -lL <print service configuration file>

If the owner of the file is not root, sys, bin, or lp, this is a finding.

Fix

Change the owner of the /etc/hosts.lpd file (or equivalent) to root, lp, or another privileged UID.
# chown root <print service configuration file>
V-829 No Change
Findings ID: GEN003940 Rule ID: SV-35148r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 no print service configuration file is found, this is not a finding.

Check the mode of the print service configuration file.
# ls -lL <print service configuration file>

If the mode of the print service configuration file is more permissive than 0644, this is a finding.

Fix

Change the mode of the /etc/hosts.lpd file (or equivalent) to 0644 or less permissive.

Procedure:
# chmod 0644 <print service configuration file>
V-831 No Change
Findings ID: GEN004360 Rule ID: SV-35161r1_rule Severity: medium CCI: CCI-000225

Discussion

If the aliases file is not owned by root, an unauthorized user may modify the file to add aliases to run malicious code or redirect e-mail.System AdministratorECLP-1

Checks

Find the aliases file on the system and check the ownership.
# ls -lL /etc/mail/aliases

If the file is not owned by root, this is a finding.

Fix

Change the owner of the /etc/mail/aliases file (or equivalent) to root.
# chown root /etc/mail/aliases
V-832 No Change
Findings ID: GEN004380 Rule ID: SV-35165r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Find the aliases file on the system.

Procedure:
# ls -lL /etc/mail/aliases

If the aliases file exists with a mode more permissive than 0644, this is a finding.

Fix

Change the mode of the aliases file (or equivalent) to
0644.
# chmod 0644 /etc/mail/aliases
V-833 No Change
Findings ID: GEN004400 Rule ID: SV-35169r1_rule Severity: high CCI: CCI-000225

Discussion

If a file executed through a mail aliases file is not owned and writable only by root, it may be subject to unauthorized modification. Unauthorized modification of files executed through aliases may allow unauthorized users to attain root privileges.System AdministratorECLP-1

Checks

Examine the aliases file for any utilized directories or paths.
# cat/etc/mail/aliases | cut -f 2,2 -d ":" | grep "|"

For example, the alias file entry will look like:
msgs: "|/usr/bin/msgs -s"

The entry must be an absolute path name:
# ls -lLd `dirname <entry>`
# ls -lL <entry>

If the file or parent directory is not owned by root, this a finding.

Fix

Edit the /etc/mail/aliases file Locate the entries executing a program.
They will appear similar to the following line:

alias: "|/usr/local/bin/ls" (or some other program name)

Ensure root owns the programs and the directory(ies) they reside in by using the chown command to change owner to root.
For a directory entry:
# chown root <entry>

For a file entry (change BOTH the directory and file, where/as necessary:
# chown root <entry>
# chown root `dirname <entry>`
V-834 No Change
Findings ID: GEN004420 Rule ID: SV-35043r1_rule Severity: medium CCI: CCI-000225

Discussion

If a file executed through a mail alias file has permissions greater than 0755, it can be modified by an unauthorized user and may contain malicious code or instructions possibly compromising the system.System AdministratorECLP-1

Checks

Examine the aliases file on the system for any utilized directories or paths.
# cat /etc/mail/aliases | cut -f 2,2 -d ":" | grep "|"

Check the permissions for any file paths referenced.
# ls -lL <path/file>

If any file referenced from the aliases file has a mode more
permissive than 0755, this is a finding.

Fix

Use the chmod command to change the access permissions
for files executed from the aliases file. For example:
# chmod 0755 <path/file>
V-835 No Change
Findings ID: GEN004440 Rule ID: SV-35047r1_rule Severity: low CCI: CCI-000366

Discussion

If Sendmail is not configured to log at level 9, system logs may not contain the information necessary for tracking unauthorized use of the sendmail service.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

The sendmail.cf log level option line will typically appear as follows:
O LogLevel=N

Check if Sendmail logging is set to level 9 via the following command:
# cat /etc/mail/sendmail.cf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \
grep -i loglevel | tr '\011' ' ' | tr -d ' ' | cut -f 2,2 -d "="

If logging is not set, i.e., line is missing or commented, this is a finding.

If logging is set to less than 9, this is a finding.

Fix

Edit the sendmail.cf file, locate the entry (and where
necessary uncomment it and/or create it) and modify/set it to 9.
V-836 Updated
Findings ID: GEN004460 Rule ID: SV-35051r1_rule Severity: medium CCI: CCI-000126

Discussion

If informational and more severe SMTP service messages are not logged, malicious activity on the system may go unnoticed.System AdministratorECAR-1, ECAR-2, ECAR-3, ECSC-1

Checks

The syslog.conf file critical mail logging option line will typically appear as one of the following examples:

mail.crit /var/adm/messages
mail.* /var/adm/messages
*.* /var/adm/messages
*.crit /var/adm/messages

Check the syslog configuration file for mail.crit logging configuration.

# cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | egrep -i "mail.crit|mail.\*|\*.crit|\*.\*"

If syslog is not configured to log critical sendmail messages, this is a finding.

Fix

Edit the syslog.conf file and add a configuration line specifying an appropriate destination for critical "mail" syslogs, for example:

mail.crit /var/adm/messages
mail.* /var/adm/messages
*.* /var/adm/messages
*.crit /var/adm/messages
V-837 No Change
Findings ID: GEN004480 Rule ID: SV-35053r1_rule Severity: medium CCI: CCI-000225

Discussion

If the SMTP service log file is not owned by root, then unauthorized personnel may modify or delete the file to hide a system compromise.System AdministratorECLP-1

Checks

Locate any Sendmail log files by checking the syslog configuration file.
# cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \
egrep -i "mail.info|mail.debug|mail.\*|\*.info|\*.debug|\*.\*" | cut -f 2,2 -d " " | uniq | xargs -n1 ls -lL

Identify any log files configured for the "mail" service at any severity
level, or those configured for all services. Check the ownership of these
log files.

If any mail log file is not owned by root, this is a finding.

Fix

Change the ownership of the sendmail log file.
# chown root <sendmail log file>
V-838 No Change
Findings ID: GEN004500 Rule ID: SV-35058r1_rule Severity: medium CCI: CCI-000225

Discussion

If the SMTP service log file is more permissive than 0644, unauthorized users may be allowed to change the log file.System AdministratorECLP-1

Checks

Check the mode of the SMTP service log file.
# cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | egrep -i "mail.info|mail.debug|mail.\*|\*.info|\*.debug|\*.\*" | cut -f 2,2 -d " " | uniq | xargs -n1 ls -lL

Check the configuration to determine which log files contain logs for mail.
# ls -lL <sendmail log file>

If any Sendmail log file permissions are greater than 0644, this is a finding.

Fix

Change the mode of the SMTP service log file.
# chmod 0644 <sendmail log file>
V-840 No Change
Findings ID: GEN004880 Rule ID: SV-35102r1_rule Severity: medium CCI: CCI-000225

Discussion

The ftpusers file contains a list of accounts not allowed to use FTP to transfer files. If this file does not exist, then unauthorized accounts can utilize FTP.System AdministratorECCD-1, ECCD-2

Checks

Check for the existence of the ftpusers file. This file is normally
located in the /etc/ftpd directory.

# ls -lL /etc/ftpd/ftpusers
OR alternatively
# find / -type f -name ftpusers -exec ls -lL {} \;

If the ftpusers file does not exist, this is a finding.

Fix

Create a /etc/ftpd/ftpusers (or equivalent) file
containing a list of /etc/passwd accounts not authorized for FTP.
V-841 Updated
Findings ID: GEN004900 Rule ID: SV-35103r1_rule Severity: medium CCI: CCI-000225

Discussion

The ftpusers file contains a list of accounts not allowed to use FTP to transfer files. If the file does not contain the names of all accounts not authorized to use FTP, then unauthorized use of FTP may take place.System AdministratorECCD-1, ECCD-2

Checks

Check the contents of the ftpusers file.
# more /etc/ftpd/ftpusers
OR alternatively
# find / -type f -name ftpusers -exec ls -lL {} \;

If the system has accounts not allowed to use FTP and not
listed in the ftpusers file, this is a finding.

Fix

Add accounts not allowed to use FTP to the
/etc/ftpd/ftpusers (or equivalent) file.
V-842 No Change
Findings ID: GEN004920 Rule ID: SV-38485r1_rule Severity: medium CCI: CCI-000225

Discussion

If the file ftpusers is not owned by root, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.System AdministratorECLP-1

Checks

Check the ownership of the ftpusers file.
# ls -lL /etc/ftpd/ftpusers

If the ftpusers file is not owned by root, this is a finding.

Fix

Change the owner of the ftpusers file to root.
# chown root /etc/ftpd/ftpusers
V-843 No Change
Findings ID: GEN004940 Rule ID: SV-38486r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the permissions of the ftpusers file.
# ls -lL /etc/ftpd/ftpusers

If the ftpusers file has a mode more permissive than 0640, this is
a finding.

Fix

Change the mode of the ftpusers file to 0640.
# chmod 0640 /etc/ftpd/ftpusers
V-845 No Change
Findings ID: GEN004980 Rule ID: SV-38995r1_rule Severity: low CCI: CCI-000130

Discussion

The -l option allows basic logging of connections. The verbose (on HP) and the debug (on Solaris) allow logging of what files the ftp session transferred. This extra logging makes it possible to easily track which files are being transferred onto or from a system. If they are not configured, the only option for tracking is the audit files. The audit files are much harder to read. If auditing is not properly configured, then there would be no record at all of the file transfer transactions.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Perform:

# grep ftpd /etc/inetd.conf

Check the line for ftpd to see if the -v options are invoked. If not, this is a finding.

Fix

The v option enables more verbose logging, shows the accessed file names, and the logout timestamp. The syslog.conf file must be configured to log daemon.info and daemon.debug to a proper log file in which to capture the data.

The output goes into the system log file. The log file is /var/adm/syslog.

Edit the inetd.conf file.
Locate the line that defines ftpd by typing /ftpd/cr.
Add the v option where ftpd appears to the right of the pathname for ftpd. For instance:

ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -v

This is a requirement even when the system is using TCP_WRAPPERS and/or secure shell. The only time it is not a requirement is if the ftp daemon is not configured to run.
V-846 No Change
Findings ID: GEN004820 Rule ID: SV-35100r1_rule Severity: medium CCI: CCI-001475

Discussion

Due to the numerous vulnerabilities inherent in anonymous FTP, it is not recommended for use. If anonymous FTP must be used on a system, the requirement must be authorized and approved in the system accreditation package.trueInformation Assurance OfficerSystem AdministratorECSC-1

Checks

Attempt to log in with anonymous or ftp. The user can type any string of characters as a password. (By convention, the
password is the host name of the user's host or the user's email address.) The anonymous user is then given access only to user ftp's home directory, usually called /home/ftp.

If the login is successful, this is a finding.

Fix

Configure the FTP service to not permit anonymous logins.
Remove the user(s) ftp and/or anonymous from the /etc/passwd file.
V-847 No Change
Findings ID: GEN005080 Rule ID: SV-35110r1_rule Severity: high CCI: CCI-000366

Discussion

Secure mode limits TFTP requests to a specific directory. If TFTP is not running in secure mode, it may be able to write to any file or directory and may seriously impair system integrity, confidentiality, and availability.System AdministratorECSC-1

Checks

Determine if the TFTP daemon is installed, started, and running in secure mode.
# cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | cut -f 6,7 -d " " | grep -i tftp

If the tftpd process is not configured with exactly one path argument
(example: "/usr/lbin/tftpd tftpd"), this is a finding.

Fix

Edit /etc/inetd.conf and add one path argument, representing
the TFTP root directory, to the tftpd command.
V-848 No Change
Findings ID: GEN005100 Rule ID: SV-35155r1_rule Severity: high CCI: CCI-000225

Discussion

If TFTP runs with the setuid or setgid bit set, it may be able to write to any file or directory and may seriously impair system integrity, confidentiality, and availability.System AdministratorECPA-1

Checks

Check the mode of the TFTP daemon.
# ls -lL /usr/lbin/tftpd

If the mode of the file is more permissive than 0755, this is a finding.

Fix

Change the mode of the TFTP daemon.
# chmod 0755 /usr/lbin/tftpd
V-849 No Change
Findings ID: GEN005120 Rule ID: SV-35157r1_rule Severity: medium CCI: CCI-000225

Discussion

If TFTP has a valid shell, it increases the likelihood that someone could logon to the TFTP account and compromise the system.System AdministratorECSC-1

Checks

Check the /etc/passwd file to determine if TFTP is configured properly.

Procedure:
# grep tftp /etc/passwd

If a TFTP user account does not exist and TFTP is active, this is a finding.

Check the user shell for the TFTP user. If it is not /bin/false or equivalent, this is a finding.

Check the home directory assigned to the TFTP user. If no home directory is set, or the directory specified is not dedicated to the use of the TFTP service, this is a finding.

Fix

Create a tftp user account if none exists.
Assign a non-login shell to the tftp user account, such as /usr/bin/false.
Assign/create the tftp user account home directory where/as necessary.
Ensure the home directory is owned by the tftp user.
V-850 No Change
Findings ID: GEN005160 Rule ID: SV-35160r1_rule Severity: medium CCI: CCI-000297

Discussion

.Xauthority files ensure the user is authorized to access the specific X Windows host. If .Xauthority files are not used, it may be possible to obtain unauthorized access to the X Windows host.System AdministratorECCD-1, ECCD-2

Checks

Check for .Xauthority files being utilized by looking for such files in the home directory of a user using X. Get a list of (non-system account) users and the associated home directories.
# cat /etc/passwd | cut -f 1,6 -d ":"

Inspect individual user home directories for the .Xauthority file.
# find <f6 from the above command> -type f -name "\.Xauthority" -exec ls -lLa {} \;

If the .Xauthority file does not exist, ask the SA if the user is using X Windows. If the user is utilizing X Windows and the .Xauthority file does not exist, this is a finding.

Fix

Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the file. Ensure the line writing the .Xauthority file is uncommented.
V-867 No Change
Findings ID: GEN006400 Rule ID: SV-38487r1_rule Severity: medium CCI: CCI-001435

Discussion

Due to numerous security vulnerabilities existing within NIS, it must not be used. Possible alternative directory services are NIS+ and LDAP.System AdministratorInformation Assurance OfficerECSC-1

Checks

Perform the following to determine if NIS is active on the system.

# ps -ef | grep -v grep | egrep "ypbind|ypserv"

If NIS is found active on the system, this is a finding.

Fix

Disable the use of NIS. Possible replacements are NIS+ and LDAP-UX.
V-899 No Change
Findings ID: GEN001440 Rule ID: SV-38488r2_rule Severity: low CCI: CCI-000225

Discussion

If users do not have a valid home directory, there is no place for the storage and control of files they own.System AdministratorECSC-1

Checks

Verify the consistency of the assigned home directories in the authentication database.
For Trusted Mode:
# authck -av

If any user is not assigned a home directory, this is a finding.

For SMSE:
# pwck

If any user is not assigned a home directory, this is a finding.

Fix

For Trusted Mode:
Determine why the user is not assigned a home directory. Possible actions include: account deletion or disablement. If the account is determined to be valid, manually create the home directory if required (mkdir directoryname, copy the skeleton files into the directory, chown account name for the new directory and the skeleton files) and assign to the user in the /etc/passwd file or take corrective action via the HP SMH/SAM utility.

For SMSE:
Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file.

Determine why the user is not assigned a home directory. Possible actions include: account deletion or disablement. If the account is determined to be valid, manually create the home directory if required (mkdir directoryname, copy the skeleton files into the directory, chown account name for the new directory and the skeleton files) and assign to the user in the /etc/passwd file or take corrective action via the HP SMH/SAM utility.

Additionally, use the SAM/SMH interface (/etc/default/security file) and/or the userdbset command (/var/adm/userdb/* files) to update the ABORT_LOGIN_ON_MISSING_HOMEDIR attribute. See the below example:
ABORT_LOGIN_ON_MISSING_HOMEDIR=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.
V-900 No Change
Findings ID: GEN001460 Rule ID: SV-38489r2_rule Severity: low CCI: CCI-000225

Discussion

If a user has a home directory defined that does not exist, the user may be given the / directory, by default, as the current working directory upon logon. This could create a Denial of Service because the user would not be able to perform useful tasks in this location.System AdministratorECSC-1

Checks

Verify the consistency of the assigned home directories in the authentication database.
For Trusted Mode:
# authck -av

If any assigned home directory does not exist, this is a finding.

For SMSE:
# pwck

If any assigned home directory does not exist, this is a finding.

Fix

Determine why the user home directory does not exist. Possible actions include: account deletion or disablement. If the account is determined to be valid, create the home directory either manually (mkdir directoryname, copy the skeleton files into the directory, chown account name for the new directory and the skeleton files) or via the HP SMH/SAM utility.
V-901 No Change
Findings ID: GEN001480 Rule ID: SV-34870r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on home directories allow unauthorized access to user files.System AdministratorECLP-1

Checks

Check the home directory mode of each user in /etc/passwd.

Procedure:
# ls -lLd `cat /etc/passwd | cut -f 6,6 -d ":"` | more

If a user's home directory mode is more permissive than 0750, this is a finding.

NOTE: Application directories are allowed to and may need 0755 permissions (or greater) for correct operation.

Fix

Change the mode of user's home directory to 0750 or less permissive.

Procedure (example):
# chmod 0750 <home directory>

NOTE: Application directories are allowed to and may need 0755 permissions (or greater) for correct operation.
V-902 No Change
Findings ID: GEN001500 Rule ID: SV-38490r1_rule Severity: medium CCI: CCI-000225

Discussion

If users do not own their home directories, unauthorized users could access user files.System AdministratorECLP-1

Checks

Check the ownership of each user home directory listed in the /etc/passwd file.

Procedure:
# ls -lLd <user home directory>

OR

# ls -lLd `cat /etc/passwd | cut -f 6,6 -d ":"` | more

If any user home directory is not owned by the assigned user, this is a finding.

Fix

Change the owner of a user's home directory to its assigned user.

Procedure:
# chown <user> <home directory>
V-903 No Change
Findings ID: GEN001520 Rule ID: SV-38491r1_rule Severity: medium CCI: CCI-000225

Discussion

If the GID of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.System AdministratorECLP-1

Checks

Check the group ownership for each user in the /etc/passwd file.

Procedure:
# ls -lLd <user home directory>

OR
# ls -lLd `cat /etc/passwd | cut -f 6,6 -d ":"` | more

If any user home directory is not group-owned by the assigned user's primary group, this is a finding. Home directories for application accounts requiring different group ownership must be documented using site-defined procedures.

Fix

Change the group-owner for user home directories to the primary group of the assigned user.

Procedure:
# chgrp groupname directoryname

(Replace examples with appropriate group and home directory.)

Document all changes.
V-904 No Change
Findings ID: GEN001860 Rule ID: SV-38492r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the ownership of local initialization files.

Procedure:
# ls -alL /<usershomedirectory>/.login
# ls -alL /<usershomedirectory>/.cshrc
# ls -alL /<usershomedirectory>/.logout
# ls -alL /<usershomedirectory>/.profile
# ls -alL /<usershomedirectory>/.bash_profile
# ls -alL /<usershomedirectory>/.bashrc
# ls -alL /<usershomedirectory>/.bash_logout
# ls -alL /<usershomedirectory>/.env
# ls -alL /<usershomedirectory>/.dtprofile
# ls -alL /<usershomedirectory>/.dispatch
# ls -alL /<usershomedirectory>/.emacs
# ls -alL /<usershomedirectory>/.exrc
# find /<usershomedirectory>/.dt ! -fstype nfs ! -user <username> -exec ls -ld {} \;

If local initialization files are not owned by the home directory's user or root, this is a finding.

Fix

Change the ownership of the startup and login files in the user's directory to the user or root, as appropriate. Examine each user's home directory and verify all filenames beginning with "." are owned by the owner of the directory or root. If they are not, use the chown command to change the owner to the user and research the reasons why the owners were not assigned as required.
V-905 No Change
Findings ID: GEN001880 Rule ID: SV-38493r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the modes of local initialization files.

Procedure:
# ls -alL /<usershomedirectory>/.login
# ls -alL /<usershomedirectory>/.cschrc
# ls -alL /<usershomedirectory>/.logout
# ls -alL /<usershomedirectory>/.profile
# ls -alL /<usershomedirectory>/.bash_profile
# ls -alL /<usershomedirectory>/.bashrc
# ls -alL /<usershomedirectory>/.bash_logout
# ls -alL /<usershomedirectory>/.env
# ls -alL /<usershomedirectory>/.dtprofile (permissions should be 0755)
# ls -alL /<usershomedirectory>/.dispatch
# ls -alL /<usershomedirectory>/.emacs
# ls -alL /<usershomedirectory>/.exrc
# find /<usershomedirecotory>/.dt ! -fstype nfs \( -perm -0002 -o -perm -0020 \) -exec ls -ld {} \; (permissions not to be more
permissive than 0755)

If local initialization files are more permissive than 0740, the .dt directory is more permissive than 0755, or the .dtprofile file is more permissive than 0755, this is a finding.

Fix

Ensure user startup files have permissions of 0740 or more restrictive. Examine each user's home directory and verify all file names beginning with "." have access permissions of 0740 or more restrictive. If they do not, use the chmod command to correct the vulnerability.

Procedure:
# chmod 0740 .filename

NOTE: The period is part of the file name and is required.
V-906 No Change
Findings ID: GEN001580 Rule ID: SV-38494r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify 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.

Fix

Ensure all system startup files have mode 0755 or less permissive. Examine the rc files, all files in the rc1.d (rc2.d, and so on) directories, and in the /etc/init.d directory to ensure they are not world-writable. If they are world-writable, use the chmod command to correct the vulnerability, and research why they are world-writable.

# chmod 755 startupfile
V-907 Updated
Findings ID: GEN001600 Rule ID: SV-38495r13_rule Severity: medium CCI: CCI-000366

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, or two consecutive colons, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths. 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, or two consecutive colons, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths. System AdministratorECCD-1, ECCD-2

Checks

Verify the run control scripts search paths do not contain references to the current working directory or other relative paths in any script where the "PATH" variable occursthat have not been authorized by the ISSO.

# grep "PATH" /sbin/init.d/[a-z,A-Z,0-9]* | grep -v "_PATH"

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 (/), this is a relative path, andor has not been documented with the ISSO, this is a finding.

Fix

Edit the run control script and remove the relative path entryies from the executable search path variable. that are not documented with the ISSO.

Edit the run control script and remove any empty entry that is defined.
V-910 Updated
Findings ID: GEN001640 Rule ID: SV-38496r2_rule Severity: high CCI: CCI-000225

Discussion

World-writable files could be modified accidentally or maliciously to compromise system integrity.System AdministratorECCD-1, ECCD-2

Checks

Check the permissions on the files or scripts executed from system startup scripts to see if they are world-writable.
Create a list of all potential run command level scripts.
# ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "
OR
# ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "


Create a list of world writeable files.
# find / -perm -002 -type f >> worldWriteableFileList

Determine if any of the world writeable files in worldWriteableFileList are called from the run command level scripts. Note: Depending upon the number of scripts vs world writeable files, it may be easier to inspect the scripts manually.
# more `ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "`
OR
# more `ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "`

If any system startup script executes any file or script that is world-writable, this is a finding.

Fix

Remove the world-writable permission from programs or scripts executed by run control scripts.

Procedure:
# chmod o-w <program or script executed from run control script>
V-913 Updated
Findings ID: GEN002000 Rule ID: SV-38499r1_rule Severity: medium CCI: CCI-000196

Discussion

Unencrypted passwords for remote FTP servers may be stored in .netrc files. Policy requires passwords to be encrypted in storage and not used in access scripts.System AdministratorECCD-1, ECCD-2, IAIA-1, IAIA-2

Checks

Check the system for the existence of any .netrc files.

Procedure:
# find / -name .netrc

If any .netrc file exists, this is a finding.

Fix

Remove the .netrc file(s).

Procedure:
# rm .netrc
V-914 No Change
Findings ID: GEN001540 Rule ID: SV-38497r1_rule Severity: low CCI: CCI-000225

Discussion

If users do not own the files in their directories, unauthorized users may be able to access them. Additionally, if files are not owned by the user, this could be an indication of system compromise.trueSystem AdministratorInformation Assurance OfficerECCD-1, ECCD-2

Checks

For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory that are not owned by the home directory owner.
# find /<usershomedirectory> ! -fstype nfs ! -user <username> ! \( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec ls -ld {} \;

Or

# ls -lLR `cat /etc/passwd | cut -f 6,6 -d ":"` | more
If user home directories contain files or directories not owned by the home directory owner, this is a finding.

Fix

Change the ownership of files and directories in user home directories to the owner of the home directory.

Procedure:
# chown <account-owner> <filename>
V-915 No Change
Findings ID: GEN001560 Rule ID: SV-38498r1_rule Severity: low CCI: CCI-000225

Discussion

Excessive permissions allow unauthorized access to user files.
trueInformation Assurance OfficerSystem AdministratorECLP-1

Checks

For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. NOTE the following exclusions/exemptions: HP installed users "hpsmh" and "cimsrvr". Note that some home directories "may" restrict access to their files.
# find /<usershomedirectory> ! -fstype nfs ! \( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bbashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \;

Or

# ls -lLR `cat /etc/passwd | cut -f 6,6 -d ":"` | more

If user home directories contain files or directories more permissive than 0750, this is a finding.

Fix

Change the mode of files and directories within user home directories to 0750.

Procedure:
# chmod 0750 filename

Document all changes.
V-916 No Change
Findings ID: GEN002120 Rule ID: SV-34952r1_rule Severity: medium CCI: CCI-000366

Discussion

The shells file (or equivalent) lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized, unsecure shell.System AdministratorECSC-1

Checks

Verify /etc/shells exists.
# ls -l /etc/shells

If the file does not exist, this is a finding.

Fix

Create /etc/shells file containing a list of valid system shells. Consult vendor documentation for an appropriate list of system shells.

Procedure:
Typical installed shells include:
/sbin/sh
/usr/bin/sh
/usr/bin/rsh
/usr/bin/ksh
/usr/bin/rksh
/usr/bin/csh
/usr/bin/keysh

# echo "/sbin/sh" >> /etc/shells

(Repeat as necessary for all existing shell programs.)
V-917 No Change
Findings ID: GEN002140 Rule ID: SV-34953r1_rule Severity: medium CCI: CCI-000366

Discussion

The shells file lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized, unsecure shell.System AdministratorECSC-1

Checks

Fix

Use the chsh utility or edit the /etc/passwd file and correct the error by changing the default shell of the account in error to an acceptable shell name contained in the /etc/shells file.

Alternatively, use the HP SMH to change the /etc/passwd shell entry.
V-918 No Change
Findings ID: GEN000760 Rule ID: SV-38500r2_rule Severity: medium CCI: CCI-000017

Discussion

Inactive user accounts pose a risk to systems and applications. Owners of Inactive accounts will not notice if unauthorized access to their account has been obtained. There is a risk that inactive accounts can potentially be exploited to obtain and maintain undetected access to a system and/or application. The operating system must track periods of user account inactivity and disable all inactive accounts. Non-interactive accounts on the system, such as application accounts, may be documented exceptions.
Non-interactive accounts on the system, such as application accounts, may be documented exceptions.

Non-interactive accounts on the system, such as application accounts, may be documented exceptions.
trueSystem AdministratorIAAC-1

Checks

For Trusted Mode:
Verify that user accounts are locked after 35 days of inactivity.
Note: The “u_llogin” attribute is stored in seconds: 86400 seconds/day * 35 days = 3024000 seconds.
# cd /tcb/files/auth && cat */* | egrep “:u_name=|:u_llogin=“

If user account is not set to lock after 35 days of inactivity, this is a finding.

For SMSE:
Check the INACTIVITY_MAXDAYS setting.
# grep INACTIVITY_MAXDAYS /etc/default/security /var/adm/userdb/*

If INACTIVITY_MAXDAYS is set to 0 or greater than 35 for any user, this is a finding.

Fix

For Trusted Mode:
Use the SAM/SMH interface to update the “u_llogin” (user last login) /tcb database attribute. See the /tcb database entry example below:
:u_llogin#3024000:

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 INACTIVITY_MAXDAYS attribute. See the below example:
INACTIVITY_MAXDAYS=35

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.
V-921 No Change
Findings ID: GEN002200 Rule ID: SV-38501r1_rule Severity: medium CCI: CCI-000225

Discussion

If shell files are owned by users other than root or bin, they could be modified by intruders or malicious users to perform unauthorized actions.System AdministratorECLP-1

Checks

Check the ownership of the system shells.
# cat /etc/shells | xargs -n1 ls -lL

If any shell is not owned by root or bin, this is a finding.

Fix

Change the ownership of any system shell not owned by root or bin:
# chown root <path/shell>
V-922 No Change
Findings ID: GEN002220 Rule ID: SV-38502r1_rule Severity: high CCI: CCI-000225

Discussion

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

Checks

If /etc/shells exists, check the group ownership 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 a shell has a mode more permissive than 0755, this is a finding.

Fix

Change the mode of the shell.
# chmod 0755 <shell>
V-923 Updated
Findings ID: GEN002260 Rule ID: SV-38504r1_rule Severity: low CCI: CCI-000318

Discussion

If an unauthorized device is allowed to exist on the system, there is the possibility the system may perform unauthorized operations.System AdministratorInformation Assurance OfficerDCSW-1, ECSC-1

Checks

NOTE: This will virtually always be a manual review. Check the system for an automated job, or check with the SA, to determine if the system is checked for extraneous device files on a weekly basis. If no automated or manual process is in place, this is a finding.

Fix

Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated. A list of device files can be generated with this command:
# find / -type b -o -type c -o -type n > device-file-list
V-924 Updated
Findings ID: GEN002280 Rule ID: SV-38505r12_rule Severity: medium CCI: CCI-000225

Discussion

System device files in writable directories could be modified, removed, or used by an unprivileged user to control system hardware.System AdministratorECCD-1, ECCD-2, ECLP-1

Checks

Find all device special files existing anywhere on the system. Types include: b=block, c=character, p=fifo.

Example:
# find / -type b -print >> devicelist
# find / -type c -print >> devicelist
# find / -type p -print >> devicelist

Check the permissions on the directories above subdirectories that contain device files. If any device file, or directory containing device files, is world-writable, except device files specifically intended to be world-writable such as /dev/null, this is a finding.

Note the following exception/exclusion list:

/dev/pts/*, /dev/pty/*, /dev/ptym/*, the following in dev: full, zero, null, tty, ptmx, pty*, tcp, udp, ip, arp, udp6, tcp6, rawip6, ip6, rawip, rtsock, ipsecpol, ipseckey, sad, dlpi*, sasd*, ttyp*, ttyq*, ttyr*, strlog, telnetm, tlclts, asyncdsk, async, tlcots, tlcotsod, echo, beep, gvid0, gvid, poll, log, log.um, stcpmap, nuls, usctp6, sctp6, usctp
, syscon, and sctp.

Fix

Remove the world-writable permission from the device file(s).

# chmod o-w <device file>

Document all changes.
V-925 No Change
Findings ID: GEN002300 Rule ID: SV-38506r1_rule Severity: medium CCI: CCI-000225

Discussion

System backups could be accidentally or maliciously overwritten and destroy the ability to recover the system if a compromise should occur. Unauthorized users could also copy system files.trueInformation Assurance OfficerSystem AdministratorECCD-1, ECCD-2

Checks

Check the system for device files read/write enabled for users other than root or the backup user.

Example:
# find / \( -perm -0020 -o -perm -0040 -o -perm -0002 -o -perm -0004 \) -a \( -type b -o -type c -o -type n \) -exec ls -ld {} \;
If any device files used for backup are read/write enabled for users other than root, this is a finding.

Fix

Use the chmod command to remove the read/write bit(s) from the backup device files.

# chmod o-r <b/u device file name>
# chmod o-w <b/u device file name>
# chmod g-r <b/u device file name>
# chmod g-w <b/u device file name>


Document all changes.
V-926 No Change
Findings ID: GEN006460 Rule ID: SV-38537r1_rule Severity: medium CCI: CCI-001435

Discussion

If the NIS+ server is not operating in, at least, security level 2, there is no encryption and the system could be penetrated by intruders and/or malicious users.System AdministratorECSC-1

Checks

If the system is not using NIS+, this is not applicable.

Check the system to determine if NIS+ security level two is implemented. Execute this command:
# niscat cred.org_dir

If the second column does not contain DES, the system is not using NIS+ security level two, and this is a finding.

Fix

Configure the NIS+ server to use security level 2.
V-928 No Change
Findings ID: GEN005740 Rule ID: SV-35180r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of the NFS export configuration file to root provides the designated owner and possible unauthorized users with the potential to change system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Check the owner of the /etc/dfs/dfstab file.
# echo `ls -lL /etc/dfs/dfstab` | sed -e 's/^[ \t]*//' | tr '\011' ' ' | tr -s ' ' | cut -f 3,3 -d " "

If the /etc/dfs/dfstab configuration file is not owned by root or bin, this is a finding.

Fix

Change the owner of the /etc/dfs/dfstab file to root.
# chown root /etc/dfs/dfstab
V-929 No Change
Findings ID: GEN005760 Rule ID: SV-35184r1_rule Severity: low CCI: CCI-000225

Discussion

Excessive permissions on the NFS share configuration file could allow unauthorized modification of the file, which could result in Denial-of-Service to authorized NFS shares and the creation of additional unauthorized shares.System AdministratorECCD-1, ECCD-2, ECLP-1

Checks

# echo `ls -lL /etc/dfs/dfstab` | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | cut -f 1,1 -d " "

If the file has a mode more permissive than 0644, this is a finding.

Fix

# chmod 0644 /etc/dfs/dfstab
V-931 No Change
Findings ID: GEN005800 Rule ID: SV-35191r3_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of sensitive files or directories to root provides the designated owner and possible unauthorized users with the potential to access sensitive information or change system configuration which could weaken the system's security posture.System AdministratorECSC-1

Checks

Check for NFS shared file systems.
# cat /etc/dfs/sharetab

This will display all of the shared file systems. For each file system displayed, check the ownership.

Check the owner of the NFS share configuration file.
# echo ` ls -lLad <shared file system path>` | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//'

If the files and directories are not owned by root or a system account, this is a finding.

Fix

Change the ownership of shared file systems not owned by root, or a system account.

# chown root <path>
V-932 Updated
Findings ID: GEN005820 Rule ID: SV-35199r1_rule Severity: medium CCI: CCI-000062

Discussion

When an NFS server is configured to deny remote root access, a selected UID and GID are used to handle requests from the remote root user. The UID and GID should be chosen from the system to provide the appropriate level of non-privileged access.System AdministratorECSC-1, IAIA-1, IAIA-2

Checks

Check if the 'anon' option is set correctly for shared file systems.
# cat /etc/dfs/dfstab

Each of the shared file systems should include an entry for the 'anon=' option set to -1 or an equivalent (60001, 65534, or 65535). If an appropriate 'anon=' setting is not present for a shared file system, this is a finding.

Fix

Edit /etc/dfs/sharetab and set the anon=-1 option for shares without it. Re-export the file systems.
V-933 No Change
Findings ID: GEN005840 Rule ID: SV-35201r1_rule Severity: medium CCI: CCI-000366

Discussion

The NFS access option limits user access to the specified level. This assists in protecting shared file systems. If access is not restricted, unauthorized hosts may be able to access the system's NFS shares.System AdministratorECSC-1

Checks

Fix

Edit /etc/dfs/dfstab and add ro and/or rw options (as appropriate) that specify a list of hosts or networks which are permitted access. Re-share the file systems via the following commands:
# unshare <the file system entry that was modified>
# share <the file system entry that was modified>
V-935 No Change
Findings ID: GEN005880 Rule ID: SV-35202r1_rule Severity: medium CCI: CCI-000225

Discussion

If the NFS server allows root access to local file systems from remote hosts, this access could be used to compromise the system.System AdministratorInformation Assurance ManagerInformation Assurance OfficerEBRP-1

Checks

Fix

Edit /etc/dfs/dfstab and remove the root= option for all shares. Re-share the file systems.
V-936 No Change
Findings ID: GEN005900 Rule ID: SV-35204r1_rule Severity: medium CCI: CCI-000225

Discussion

Enabling the nosuid mount option prevents the system from granting owner or group-owner privileges to programs with the suid or sgid bit set. If the system does not restrict this access, users with unprivileged access to the local system may be able to acquire privileged access by executing suid or sgid files located on the mounted NFS file system.System AdministratorInformation Assurance ManagerInformation Assurance OfficerECPA-1

Checks

Check the system for NFS mounts that do not use the nosuid option.
# mount -v | grep " type nfs " | grep -v "nosuid"

If the mounted file systems do not have the nosuid option, this is a finding.

Fix

Edit /etc/fstab and add the nosuid option for all NFS file systems. Remount the NFS file systems to make the change take effect.
V-940 No Change
Findings ID: GEN006580 Rule ID: SV-35198r1_rule Severity: medium CCI: CCI-000366

Discussion

Access control programs (such as TCP_WRAPPERS) provide the ability to enhance system security posture.System AdministratorEBRU-1

Checks

Locate the inetd.conf file (normally located within the /etc directory).
# find /etc -type f -name inetd.conf

Determine if TCP_WRAPPERS is used. The following example demonstrates one possible single inetd.conf line first without and then with the service tcp wrapped.
telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd
telnet stream tcp6 nowait root /usr/sbin/tcpd telnetd

# cat <path>/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | grep tcpd

If there are unwrapped active services listed, this is a finding.

Fix

Edit /etc/inetd.conf and use tcpd to wrap active services.
V-941 Updated
Findings ID: GEN006600 Rule ID: SV-35206r2_rule Severity: medium CCI: CCI-000126

Discussion

If access attempts are not logged, then multiple attempts to log on to the system by an unauthorized user may go undetected.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Normally, tcpd logs to the mail facility in the syslog.conf file (normally located within the /etc directory). Determine if syslog is configured to log events by tcpd.
# find /etc -type f -name syslog.conf
# cat <path>/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v “^#” | egrep “mail.debug|mail.info|mail.\*”

Look for an entry similar to the following, indicating that mail alerts are being logged:
mail.* /var/log/maillog

If no entries for mail exist, then tcpd is not logging and this is a finding.

Fix

Configure the access restriction program to log every access attempt. Ensure the implementation instructions for TCP_WRAPPERS are followed so logging of system access attempts is logged into the system log files. If an alternate application is used, it must support this function.
V-960 No Change
Findings ID: GEN000000-HPUX0020 Rule ID: SV-38681r2_rule Severity: medium CCI: CCI-000293

Discussion

When operating in standard mode, account passwords are stored in the /etc/passwd file, which is world readable. By operating in either Trusted Mode or Standard Mode with Security Extensions, the system security posture is enhanced thru the addition of a secure, non-world readable password container other than /etc/passwd.System AdministratorDCSW-1

Checks

For Trusted Mode:
Determine if the /tcb directory tree exists.
# ls -lLd /tcb
If the /tcb directory tree does not exist, this is a finding.

For SMSE:
Determine if the userdb directory tree and the /etc/shadow file exists.
# ls -lL /var/adm/userdb
# ls -lL /etc/shadow

If both the /var/adm/userdb directory tree and the /etc/shadow file do not exist, this is a finding.

Fix

SAM/SMH must be used to convert standard mode HP-UX to Trusted Mode (optional for SMSE).
For Trusted Mode only:
The following command may be used to “manually” convert from Standard Mode to Trusted Mode (note that its use is not vendor supported):
# tsconvert -c

For SMSE only:
The following command may be used to “manually” create the /etc/shadow file with information from the /etc/passwd file (use of this commend is vendor supported).
# pwconv

Note that additional software bundles and/or patches may be required in order to completely convert a standard mode system to SMSE.
V-965 No Change
Findings ID: GEN000000-HPUX0080 Rule ID: SV-965r2_rule Severity: medium CCI: CCI-000225

Discussion

Root, sys, and bin are the most privileged group accounts, by default, for most UNIX systems. If a file as sensitive as /etc/securetty is not group-owned by a privileged group, it could lead to system compromise.System AdministratorECLP-1

Checks

ls -lL /etc/securetty

Fix

Change the group-owner of the /etc/securetty to root, bin, or sys.
Example:
# chgrp root /etc/securetty
V-966 No Change
Findings ID: GEN000000-HPUX0060 Rule ID: SV-38682r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to make root the owner of sensitive files and utilities may provide unauthorized owners the potential to access and/or change sensitive information or system configurations, thus weakening the overall security posture of a site.System AdministratorECLP-1

Checks

Check the ownership of the /etc/securetty file.
ls -lL /etc/securetty

If /etc/securetty is not owned by root, sys, or bin, this is a finding.

Fix

Change the owner of the /etc/securetty file to root.
# chown root /etc/securetty
V-967 No Change
Findings ID: GEN000000-HPUX0100 Rule ID: SV-967r2_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the /etc/securetty file could result in unauthorized modification of the file. Changes to the file could reduce the system's security by specifying additional terminals permitted to accept root logins, or deny service by preventing root logins on authorized terminals.System AdministratorECCD-1, ECCD-2, ECLP-1

Checks

Check the mode of the securetty file.

Example:
# ls -lL /etc/securetty

If /etc/securetty has a mode more permissive than 0640, this is a finding.

Fix

Change the mode of the /etc/securetty file to 0640.

Example:
# chmod 0640 /etc/securetty
V-974 No Change
Findings ID: GEN002960 Rule ID: SV-38541r1_rule Severity: medium CCI: CCI-000225

Discussion

The cron facility allows users to execute recurring jobs on a regular and unattended basis. The cron.allow file designates accounts allowed to enter and execute jobs using the cron facility. If neither cron.allow nor cron.deny exists, then any account may use the cron facility. This may open the facility up for abuse by system intruders and malicious users.System AdministratorECLP-1

Checks

Check for the existence of the cron.allow and cron.deny files.
# ls -lL /var/adm/cron/cron.allow
# ls -lL /var/adm/cron/cron.deny

If neither file exists, this is a finding.

Fix

Create /var/adm/cron/cron.allow and/or /var/adm/cron/cron.deny with appropriate local content.
V-975 No Change
Findings ID: GEN002980 Rule ID: SV-38542r1_rule Severity: medium CCI: CCI-000225

Discussion

A cron.allow file, 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.System AdministratorECLP-1

Checks

Check mode of the cron.allow file.

Procedure:
# ls -lL /var/adm/cron/cron.allow

If the file has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the cron.allow file to 0600.

Procedure:
# chmod 0600 /var/adm/cron/cron.allow
V-976 No Change
Findings ID: GEN003000 Rule ID: SV-38543r1_rule Severity: medium CCI: CCI-000225

Discussion

If cron executes group-writable or world-writable programs, there is a possibility that unauthorized users could manipulate the programs with malicious intent. This could compromise system and network security.System AdministratorDCSL-1

Checks

List all cronjobs on the system.
Procedure:
# ls -lL /var/spool/cron/crontabs

If cron jobs exist under any of the above directories, search for programs executed by cron.
Procedure:
# more <cron job file>

Determine if the file is group-writable or world-writable.
Procedure:
# ls -lLa <cron program file>

If cron executes group-writable or world-writable files, this is a finding.

Fix

Remove the world-writable and group-writable permissions from the cron program file(s) identified.
# chmod go-w <cron program file>
V-977 No Change
Findings ID: GEN003020 Rule ID: SV-38544r1_rule Severity: medium CCI: CCI-000225

Discussion

If cron programs are located in or subordinate to world-writable directories, they become vulnerable to removal and replacement by malicious users or system intruders.System AdministratorDCSL-1

Checks

List all cronjobs on the system.
Procedure:
# ls -lL /var/spool/cron/crontabs

If cron jobs exist under any of the above directories, search for programs executed by cron:
Procedure:
# more <cron job file>

Determine if the directory containing programs executed from cron is world-writable.
Procedure:
# ls -lLd <cron program directory>

If cron executes programs in world-writable directories, this is a finding.

Fix

Remove the world-writable permission from the cron program directories identified.

Procedure:
# chmod o-w <cron program directory>
V-978 No Change
Findings ID: GEN003080 Rule ID: SV-38545r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the crontab files.
# ls -lL /var/spool/cron/crontabs

If any crontab file has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the crontab files.
# chmod 0600 /var/spool/cron/crontabs/*
V-979 No Change
Findings ID: GEN003100 Rule ID: SV-38546r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the crontab directory.
# ls -lLd /var/spool/cron/crontabs

If the mode of the crontab directory is more permissive than 0755, this is a finding.

Fix

Change the mode of crontab directories to 0755.
V-980 No Change
Findings ID: GEN003120 Rule ID: SV-38547r1_rule Severity: medium CCI: CCI-000225

Discussion

Incorrect ownership of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to give ownership of cron or crontab directories to root or 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.System AdministratorECLP-1

Checks

Check the owner of the crontab directory.
# ls -ld /var/spool/cron/crontabs

If the owner of the crontab directory is not root or bin, this is a finding.

Fix

Change the mode of the crontab directory.
# chown root /var/spool/cron/crontabs
V-981 No Change
Findings ID: GEN003140 Rule ID: SV-38548r1_rule Severity: medium CCI: CCI-000225

Discussion

To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. Failure to give group-ownership of cron or crontab directories to a system group provides the designated group and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Check the group owner of the crontab directories.
# ls -lLd /var/spool/cron/crontabs

If the directory is not group-owned by root, sys, bin or other, this is a finding.

Fix

Change the group owner of the crontab directories to root, sys, bin or other.

# chown root /var/spool/cron/crontabs
V-982 No Change
Findings ID: GEN003160 Rule ID: SV-38549r1_rule Severity: medium CCI: CCI-000126

Discussion

Cron logging can be used to trace the successful or unsuccessful execution of cron jobs. It can also be used to spot intrusions into the use of the cron facility by unauthorized and malicious users.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

# ls -lL /var/adm/cron/log

If this file does not exist, or has a timestamp older than the last cron job, this is a finding.

Fix

Enable cron/logging on the system via:

# /sbin/init.d/cron stop
# mv <current cron log> <to a new location and new name>
# /sbin/init.d/cron start
# more /var/adm/cron/log

Cron automatically handles its own logging function and (at least) the Start Time should be visible at the beginning of the new log file /var/adm/cron/log.
V-983 No Change
Findings ID: GEN003180 Rule ID: SV-38550r1_rule Severity: medium CCI: CCI-000225

Discussion

Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.System AdministratorECLP-1, ECTP-1

Checks

Check the mode of the cron log file.
# ls -lL /var/adm/cron/log

If the mode is more permissive than 0600, this is a finding.

Fix

Change the mode of the cron log file.
# chmod 0600 /var/adm/cron/log
V-984 No Change
Findings ID: GEN003280 Rule ID: SV-35033r1_rule Severity: medium CCI: CCI-000225

Discussion

The at facility selectively allows users to execute jobs at deferred times. It is usually used for one-time jobs. The at.allow file selectively allows access to the at facility. If there is no at.allow file, there is no ready documentation of who is allowed to submit at jobs.System AdministratorECLP-1

Checks

Check for the existence of at.allow and at.deny files.
# ls -lL /var/adm/cron/at.allow
# ls -lL /var/adm/cron/at.deny

If neither file exists, this is a finding.

Fix

Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the at facility supported by the cron daemon.
V-985 No Change
Findings ID: GEN003300 Rule ID: SV-38551r1_rule Severity: medium CCI: CCI-000225

Discussion

On some systems, if there is no at.allow file and there is an empty at.deny file, then the system assumes everyone has permission to use the at facility. This could create an insecure setting in the case of malicious users or system intruders.trueInformation Assurance OfficerSystem AdministratorECLP-1

Checks

# more /var/adm/cron/at.deny

If the at.deny file exists and is empty, this is a finding.

Fix

Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.
V-986 No Change
Findings ID: GEN003320 Rule ID: SV-38552r1_rule Severity: medium CCI: CCI-000225

Discussion

Default accounts, such as bin, sys, adm, uucp, daemon, and others, should never have access to the at facility. This would create a possible vulnerability open to intruders or malicious users.System AdministratorECPA-1

Checks

# more /var/adm/cron/at.allow

If default accounts (such as bin, sys, adm, and others) are listed in the at.allow file, this is a finding.

Fix

Remove the default accounts (such as bin, sys, adm, and others) from the at.allow file.
V-987 No Change
Findings ID: GEN003340 Rule ID: SV-38553r1_rule Severity: medium CCI: CCI-000225

Discussion

Permissions more permissive than 0600 (i.e. read, write and execute for the owner) may allow unauthorized or malicious access to the at.allow and/or at.deny files.System AdministratorECLP-1

Checks

Check the mode of the at.allow file.
# ls -lL /var/adm/cron/at.allow

If the at.allow file has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the at.allow file.
# chmod 0600 /var/adm/cron/at.allow
V-988 No Change
Findings ID: GEN003360 Rule ID: SV-38554r1_rule Severity: medium CCI: CCI-000225

Discussion

If the at facility executes group- or world-writable programs, it is possible for the programs to be accidentally or maliciously changed or replaced without the owner's intent or knowledge. This would cause a system security breach.System AdministratorDCSL-1

Checks

List the at jobs on the system.
Procedure:
# ls -lLa /var/spool/cron/atjobs

For each at job file, determine which programs are executed.
# more <at job file>

Check each program executed by at for group- or world-writable permissions.
# ls -lLa <at program file>

If at executes programs that are group- or world-writable, this is a finding.

Fix

Remove group-write and world-write permissions from files executed by at jobs.
# chmod go-w <file>
V-989 No Change
Findings ID: GEN003380 Rule ID: SV-38555r1_rule Severity: medium CCI: CCI-000225

Discussion

If at programs are located in, or subordinate, to world-writable directories, they become vulnerable to removal and replacement by malicious users or system intruders.System AdministratorDCSL-1

Checks

List any at jobs on the system.
# ls -lLa /var/spool/cron/atjobs

For each at job, determine which programs are executed by at.
# more <at job file>

Check the directory containing each program executed by at for world-writable permissions.
# ls -lL <at program file directory>

If at executes programs in world-writable directories, this is a finding.

Fix

Remove the world-writable permission from directories containing programs executed by at.
# chmod o-w <at program directory>
V-993 No Change
Findings ID: GEN005300 Rule ID: SV-35172r1_rule Severity: high CCI: CCI-000178

Discussion

Whether active or not, default SNMP passwords, users, and passphrases must be changed to maintain security. If the service is running with the default authenticators, then anyone can gather data about the system and the network using the information to potentially compromise the integrity of the system or network(s).System AdministratorIAAC-1

Checks

Check the SNMP configuration for default passwords. Locate and examine the SNMP configuration.
# more /etc/SnmpAgent.d/snmpd.conf

Alternatively:

# cat /etc/SnmpAgent.d/snmpd.conf | grep -i community

Identify any community names or user password configuration. If any community name or password is set to a default value such as public, private, snmp-trap, or password, or any value which does not meet DISA password requirements, this is a finding.

Fix

Change the default passwords. To change them, edit the /etc/SnmpAgent.d/snmpd.conf file. Locate the line system-group-read-community which has a default password of public and make the password something more random (less guessable). Do the same for the lines reading system-group-write-community, read-community, write-community, trap, and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It will not be a password, but the name of a host.
V-994 No Change
Findings ID: GEN005320 Rule ID: SV-35176r1_rule Severity: medium CCI: CCI-000225

Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.System AdministratorECLP-1

Checks

Check the mode of the SNMP daemon configuration file.
# ls -lL /etc/SnmpAgent.d/snmpd.conf

If the /etc/SnmpAgent.d/snmpd.conf file has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the SNMP daemon configuration file to 0600.
# chmod 0600 /etc/SnmpAgent.d/snmpd.conf
V-995 No Change
Findings ID: GEN005340 Rule ID: SV-35178r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the modes for all MIB files on the system.
# find / -type f -name *.mib -exec ls -lL {} \;

If any file is returned without a mode 0640 or less permissive, this is a finding.

Fix

Change the mode of MIB files to 0640.
# chmod 0640 <mib file>
V-1011 Updated
Findings ID: GEN003800 Rule ID: SV-35085r1_rule Severity: low CCI: CCI-000134

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.System AdministratorECAR-1, ECAR-2, ECAR-3, ECSC-1

Checks

# 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.

Fix

Edit the (x)inetd startup script to include the -l parameter
for the internet daemon process.
V-1013 No Change
Findings ID: GEN008600 Rule ID: SV-38234r1_rule Severity: high CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

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.
V-1023 No Change
Findings ID: GEN006240 Rule ID: SV-38236r1_rule Severity: medium CCI: CCI-000381

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.System AdministratorInformation Assurance OfficerECSC-1

Checks

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.

Fix

Disable the INN server.
V-1026 Updated
Findings ID: GEN006080 Rule ID: SV-35211r1_rule Severity: medium CCI: CCI-001436

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.System AdministratorEBRP-1
, ECCT-1, ECCT-2

Checks

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.

Fix

Disable SWAT.
# chmod 0000 <path>/swat

OR

# rm -i <path>/swat
V-1027 No Change
Findings ID: GEN006100 Rule ID: SV-35213r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the ownership of the smb.conf file.

# chown root /etc/opt/samba/smb.conf
V-1028 No Change
Findings ID: GEN006140 Rule ID: SV-35221r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the mode of the smb.conf file to 0644 or less permissive.
# chmod 0644 /etc/opt/samba/smb.conf
V-1029 No Change
Findings ID: GEN006160 Rule ID: SV-35225r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Use the chown command to configure the smb passwd file.
# chown root <path>/smbpasswd
V-1030 No Change
Findings ID: GEN006220 Rule ID: SV-35107r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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.
V-1032 No Change
Findings ID: GEN000540 Rule ID: SV-38199r2_rule Severity: medium CCI: CCI-000198

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.System AdministratorECSC-1

Checks

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.

Fix

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.
V-1046 Updated
Findings ID: GEN001100 Rule ID: SV-38240r1_rule Severity: high CCI: CCI-000197

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.System AdministratorECNK-1, ECNK-2, IAIA-1, IAIA-2

Checks

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.

Fix

Enable SSH on the system and use it for all remote connections used to attain root access.
V-1047 No Change
Findings ID: GEN001120 Rule ID: SV-38207r1_rule Severity: medium CCI: CCI-000770

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.System AdministratorECPA-1

Checks

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.

Fix

Edit the configuration file and set the PermitRootLogin option to no.
V-1048 No Change
Findings ID: GEN002320 Rule ID: SV-38241r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of audio devices.
# chmod 0660 <audio device>
V-1049 No Change
Findings ID: GEN002340 Rule ID: SV-38242r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the audio device.
# chown root <audio device>
V-1056 No Change
Findings ID: GEN006120 Rule ID: SV-35219r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the "smb.conf" file.
# chgrp root /etc/samba/smb.conf
V-1058 No Change
Findings ID: GEN006180 Rule ID: SV-37880r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check smbpasswd ownership:
# ls -lL /var/opt/samba/private/smbpasswd

If the smbpasswd file is not group-owned by root, this is a finding.

Fix

Use the chgrp command to ensure that the group owner of the smbpasswd file is root.
# chgrp root <path>/smbpasswd
V-1059 No Change
Findings ID: GEN006200 Rule ID: SV-37883r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the smbpasswd file to 0600.
# chmod 0600 <path>/smbpasswd
V-1061 No Change
Findings ID: GEN002360 Rule ID: SV-27252r1_rule Severity: medium CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the audio device.

Procedure:
# chgrp system <audio device>
V-1062 No Change
Findings ID: GEN001080 Rule ID: SV-38208r1_rule Severity: low CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Change the root account's shell to one present on the / file system.
V-4083 Updated
Findings ID: GEN000500 Rule ID: SV-38416r12_rule Severity: medium CCI: CCI-000057

Discussion

If graphical desktop sessions do not lock the session after 15 minutes of inactivity, requiring re-authentication to resume operations, the system or individual data could be compromised by an alert intruder who could exploit the oversight. 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, including thin clients.System AdministratorPESL-1

Checks

If a graphical desktop environment is not installed on the system, this is not applicable.

Examine the dtsession timeout variable setting.

# cat /etc/dt/config/C/sys.resources | grep -i dtsession | grep -i lockTimeout

If the dtsession timeout is higher than 15, commented or does not exist, this is a finding.

Fix

Configure the CDE lock manager to lock your screen after a certain amount of inactive time. To configure the CDE lock manager to lock the screen after 15 minutes of inactive time, enter the following commands (ensure to NOT overwrite an existing file):

# cp /usr/dt/config/C/sys.resources /etc/dt/config/C/sys.resources
# vi /etc/dt/config/C/sys.resources

Locate and add/uncomment/change the line to N=15
dtsession*lockTimeout: <N>
dtsession*lockTimeout: 15

Log out of CDE and log back in to verify the timeout is in effect.

V-4084 No Change
Findings ID: GEN000800 Rule ID: SV-38417r2_rule Severity: medium CCI: CCI-000200

Discussion

If a user, or root, used the same password continuously or was allowed to change it back shortly after being forced to change it, this would provide a potential intruder with the opportunity to keep guessing at one user's password until it was guessed correctly.System AdministratorIAIA-1, IAIA-2

Checks

For Trusted Mode:
Check the PASSWORD_HISTORY_DEPTH setting.
# cat /etc/default/security | grep PASSWORD_HISTORY_DEPTH

If PASSWORD_HISTORY_DEPTH is not set to 5 or greater, this is a finding.

For SMSE:
Check the PASSWORD_HISTORY_DEPTH setting.
# grep PASSWORD_HISTORY_DEPTH /etc/default/security /var/adm/userdb/*

If PASSWORD_HISTORY_DEPTH is not set to 5 or greater, this is a finding.

Fix

For Trusted Mode:
Use the SAM/SMH interface or edit the /etc/default/security file and update the PASSWORD_HISTORY_DEPTH attribute. See the below example:
PASSWORD_HISTORY_DEPTH=5

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_HISTORY_DEPTH attribute. See the below example:
PASSWORD_HISTORY_DEPTH=5

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.
V-4087 No Change
Findings ID: GEN001940 Rule ID: SV-38418r1_rule Severity: medium CCI: CCI-000225

Discussion

If start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to become Trojans destroying user files or otherwise compromise the system at the user level or higher. If the system is compromised at the user level, it is much easier to eventually compromise the system at the root and network level.System AdministratorDCSW-1

Checks

Check local initialization files for any executed world-writable programs or scripts.

Procedure:
# more /<usershomedirectory>/.*
# ls -alL <program or script>

If any local initialization file executes a world-writable program or script, this is a finding.

Fix

Remove the world-writable permission of files referenced by local initialization scripts, or remove the references to these files in the local initialization scripts.
V-4089 No Change
Findings ID: GEN001660 Rule ID: SV-38420r1_rule Severity: medium CCI: CCI-000225

Discussion

System start-up files not owned by root could lead to system compromise by allowing malicious users or applications to modify them for unauthorized purposes. This could lead to system and network compromise.System AdministratorECLP-1

Checks

System start-up files are identified as follows:

Run control scripts reside in the /sbin/init.d directory.

Links to the run control scripts exist in the /sbin/rc*.d directories.

Run control configuration files exist in the /etc/rc.config.d directory.

Check all system start-up script file ownership.
# ls -lL /sbin/init.d/* /sbin/rc*.d/* /etc/rc.config.d/*

If any system start-up script file is not owned by root or bin, this is a finding.

Fix

Change the ownership of the run control script(s) with incorrect ownership.
# chown root <run control script>
V-4090 No Change
Findings ID: GEN001680 Rule ID: SV-38421r1_rule Severity: medium CCI: CCI-000225

Discussion

If system startup files do not have a group owner of root or a system group, the files may be modified by malicious users or intruders.System AdministratorECLP-1

Checks

System start-up files are identified as follows:

Run control scripts reside in the /sbin/init.d directory.

Links to the run control scripts exist in the /sbin/rc*.d directories.

Run control script configuration files exist in the /etc/rc.config.d directory.

Check system start-up script file group ownership.
# ls -lL /sbin/init.d/* /etc/rc.config.d/* /etc/rc.config.d/*

If any system start-up script file is not group-owned by root, sys, bin or other, this is a finding.

Fix

Change the group ownership of the run control script(s) with incorrect group ownership.

Procedure:
# chgrp root <run control script>
V-4091 No Change
Findings ID: GEN001700 Rule ID: SV-38422r1_rule Severity: medium CCI: CCI-000225

Discussion

System start-up files that execute programs owned by other than root (or another privileged user) or an application indicate that the system may have been compromised.System AdministratorDCSL-1

Checks

Determine the ownership of programs executed by system start-up files.
# more `ls -alL /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "`

If any executed program is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.

Fix

Change the ownership of the file executed from system startup scripts to root, bin, sys, or the application account, where required.
# chown root <executed file>
V-4246 No Change
Findings ID: GEN008620 Rule ID: SV-38423r1_rule Severity: medium CCI: CCI-000213

Discussion

A system's BIOS or system controller handles the initial startup of a system and its configuration must be protected from unauthorized modification. When the BIOS or system controller supports the creation of user accounts or passwords, such protections must be used and accounts/passwords only assigned to system administrators. Failure to protect BIOS or system controller settings could result in Denial of Service or compromise of the system resulting from unauthorized configuration changes.System AdministratorECSC-1

Checks

On systems with a BIOS or system controller, verify a supervisor or administrator password is set. If a password is not set, this is a finding.

Attempt to log into the system controller first using the user/pwd format of Admin/Admin, then as Oper/Oper. Also, depending upon the MP/SP/GSP, it may also allow for simple carriage return entry <CR>/<CR> if account(s)/password(s) are uninitialized.

If the BIOS or system controller supports user-level access in addition to supervisor/administrator access, determine if this access is enabled. If so, this is a finding.

Fix

Access the system's BIOS or system controller. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set.
V-4247 No Change
Findings ID: GEN008640 Rule ID: SV-38424r1_rule Severity: high CCI: CCI-000366

Discussion

Malicious users with removable boot media can gain access to a system configured to use removable media as the boot loader.System AdministratorECSC-1

Checks

Ask the SA if the system uses removable media for the boot loader. If it does, this is a finding.

Fix

Configure the system to use a bootloader installed on fixed media.
V-4255 No Change
Findings ID: GEN008680 Rule ID: SV-38425r1_rule Severity: high CCI: CCI-001208

Discussion

Storing the boot loader on removable media in an insecure location could allow a malicious user to modify the systems boot instructions or boot to an insecure operating system.Information Assurance OfficerSystem AdministratorPESS-1

Checks

Ask the SA if the system boots from removable media. If so, ask if the boot media is stored in a secure container when not in use. If it is not, this is a finding.

Fix

Store the system boot media in a secure container when not in use.
V-4269 No Change
Findings ID: GEN000290 Rule ID: SV-38426r1_rule Severity: medium CCI: CCI-000012

Discussion

Accounts providing no operational purpose provide additional opportunities for system compromise. Unnecessary accounts include user accounts for individuals not requiring access to the system and application accounts for applications not installed on the system.System AdministratorIAAC-1

Checks

Check the system for unnecessary user accounts.

Procedure:
# more /etc/passwd

Some examples of unnecessary accounts include games, news, gopher, ftp and lp. If any unnecessary accounts are found, this is a finding.

Fix

Remove all unnecessary accounts (such as games) from the /etc/password file before connecting a system to the network. Accounts such as news and gopher associated with a service not in use should also be removed.
V-4273 No Change
Findings ID: GEN006260 Rule ID: SV-35114r1_rule Severity: medium CCI: CCI-000225

Discussion

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.System AdministratorECLP-1

Checks

Locate/check the hosts.nntp permissions.
# find / -type f -name hosts.nntp | xargs -n1 ls -lL

If hosts.nntp has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the hosts.nntp file to 0600.

# chmod 0600 <path>/hosts.nntp
V-4274 No Change
Findings ID: GEN006280 Rule ID: SV-35116r1_rule Severity: medium CCI: CCI-000225

Discussion

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.System AdministratorECLP-1

Checks

Check hosts.nntp.nolimit permissions.
# find / -type f -name hosts.nntp.nolimit | xargs -n1 ls -lL

If hosts.nntp.nolimit has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of hosts.nntp.nolimit to 0600.

# chmod 0600 <path>/hosts.nntp.nolimit
V-4275 No Change
Findings ID: GEN006300 Rule ID: SV-35118r1_rule Severity: medium CCI: CCI-000225

Discussion

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.System AdministratorECLP-1

Checks

Check nnrp.access permissions.
# find / -type f -name nnrp.access | xargs -n1 ls -lL

If nnrp.access has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the nnrp.access file to 0600.

# chmod 0600 <path>/nnrp.access
V-4276 No Change
Findings ID: GEN006320 Rule ID: SV-35120r1_rule Severity: medium CCI: CCI-000225

Discussion

File permissions more permissive than 0600 for /etc/news/passwd.nntp may allow access to privileged information by system intruders or malicious users.System AdministratorECLP-1

Checks

Check passwd.nntp permissions.
# find / -type f -name passwd.nntp | xargs -n1 ls -lL

If passwd.nntp has a mode more permissive than 0600, this is a finding.

Fix

Change the mode of the passwd.nntp file.

# chmod 0600 <path>/passwd.nntp
V-4277 No Change
Findings ID: GEN006340 Rule ID: SV-35122r1_rule Severity: medium CCI: CCI-000225

Discussion

If critical system files are not owned by a privileged user, system integrity could be compromised.System AdministratorECLP-1

Checks

Check the ownership of the files in news.
# find /var/news -type f | xargs -n1 ls -lL

If any files are not owned by root or news, this is a finding.

Fix

Change the ownership of the files in <path>/news to root or news.

# chown root <path>/news/*
V-4278 No Change
Findings ID: GEN006360 Rule ID: SV-35126r1_rule Severity: medium CCI: CCI-000225

Discussion

If critical system files do not have a privileged group-owner, system integrity could be compromised.System AdministratorECLP-1

Checks

Check news files group ownership.
# find /var/news -type f | xargs -n1 ls -lL

If news files are not group-owned by root or news, this is a finding.

Fix

Change the group owner of the files in news to root or news.

# chgrp root <path>/news/*
V-4290 No Change
Findings ID: GEN000000-HPUX0040 Rule ID: SV-38429r2_rule Severity: medium CCI: CCI-000126

Discussion

The minimal set of auditing requirements necessary to collect useful forensics data and provide user help when violations are detected must be configured.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check the /etc/rc.config.d/auditing file AUDOMON_ARGS settings:

# cat /etc/rc.config.d/auditing | tr “\011” “ “ | tr -s “ “ | sed -e 's/^[ \t]*//' grep -v “#”

The above command should return a single line with the following information:

AUDOMON_ARGS=“-p 20, -t 1, -w 90”

If “p”, “t”, or “w” flags are not set to “20”, “1”, and “90”, respectively, this is a finding.

Fix

Edit the /etc/rc.config.d/auditing file and insert the following line:

AUDOMON_ARGS=“-p 20, -t 1, -w 90”

Restart auditing:
# /sbin/init.d/auditing stop
# /sbin/init.d/auditing start
V-4295 Updated
Findings ID: GEN005500 Rule ID: SV-35209r1_rule Severity: high CCI: CCI-001436

Discussion

SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH daemon could provide immediate root access to the system.System AdministratorDCPP-1, ECSC-1

Checks

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Protocol
Required arg(s)=2

Default arg values include: "2,1"

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 "Protocol" | cut -f 2,2 -d " "

If the return value is "1" or "2,1" (double quotes are for emphasis only) , this is a finding.

Fix

Edit the configuration file and modify the Protocol line entry to appear as follows:

Protocol 2
V-4298 No Change
Findings ID: GEN001000 Rule ID: SV-27148r2_rule Severity: medium CCI: CCI-000070

Discussion

The remote console feature provides an additional means of access to the system which could allow unauthorized access if not disabled or properly secured. With virtualization technologies, remote console access is essential as there is no physical console for virtual machines. Remote console access must be protected in the same manner as any other remote privileged access method.System AdministratorECSC-1

Checks

Check /etc/securetty
# more /etc/securetty
If the /etc/securetty file does not exist, or contains other than "console" or "/dev/null" this is a finding.

Fix

If the /etc/securetty file does not exist, create the file containing only the word console and ensure correct file properties.
# echo “console” > /etc/securetty
V-4301 No Change
Findings ID: GEN000240 Rule ID: SV-38428r1_rule Severity: medium CCI: CCI-001492

Discussion

To assure the accuracy of the system clock, it must be synchronized with an authoritative time source within DoD. Many system functions, including time-based login and activity restrictions, automated reports, system logs, and audit records depend on an accurate system clock. If there is no confidence in the correctness of the system clock, time-based functions may not operate as intended and records may be of diminished value.

Authoritative time sources include authorized time servers within the enclave synchronized with upstream authoritative sources. Specific requirements for the upstream synchronization of Network Time Protocol (NTP) servers are covered in the Network Other Devices STIG.

For systems located on isolated or closed networks, it is not necessary to synchronize with a global authoritative time source. If a global authoritative time source is not available to systems on an isolated network, a local authoritative time source must be established on this network and used by the systems connected to this network. This is necessary to provide the ability to correlate events and allow for the correct operation of time-dependent protocols between systems on the isolated network.

If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events between systems will be necessary. If the system is completely isolated, this requirement is not applicable.
System AdministratorECSC-1

Checks

Check Content:
Check the root crontab for ntpdate jobs running at least daily. If cron is used, this command must return a line with the following required format: columns 3, 4, and 5 must be an asterisk (*) for the job to be run daily.
# crontab -l | grep ntpdate

OR

Check that ntpd is used for system clock synchronization. If ntpd is used, this command must return a line starting with an asterisk followed by the name of the remote host that the local system is synchronized with.
# ntpq -p | grep "^*"

If the system clock is not being synchronized continuously (via ntpd) or at least daily (via cron), this is a finding.

Fix

Use a local authoritative time server synchronizing to an authorized DoD time source. Ensure all systems in the facility feed from one or more local time servers feeding from the authoritative time server.

View the current system (x)ntpd man page for a detailed discussion of configuration option details:
# man xntpd

Create/edit the ntp.conf file, delete any non-local and/or non-U.S. DoD sources and insert the local or an authoritative U.S. DoD source.

Example /etc/ntp.conf file:
#
# server : ntp server used (poll) to obtain time
server <IP or hostname for 1st server>
server <IP or hostname for 2nd server>
#
# peer : a peer relationship with another ntp server
peer <IP or hostname for ntp peer>
#
# driftfile : track local clock time (drift of the local clock)
driftfile <drift file name, default is /etc/ntp.drift>

Stop/restart (x)ntpd. The default system script to start ntp should be found in the system startup directory /sbin/init.d :
# /sbin/init.d/xntpd start
V-4304 No Change
Findings ID: GEN003640 Rule ID: SV-35057r1_rule Severity: medium CCI: CCI-000553

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Logging should be enabled for those types of files systems that do not turn on logging by default.
# mount

Alternatively:
# cat /etc/fstab | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \
cut -f 2,3 -d " " | grep "/ " | grep -c -i "vxfs"

If the above command return value is 1, vxfs journaling is in use, this is not a finding.

JFS, VXFS, HFS, XFS, reiserfs, EXT3 and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file systems types, if the root file system does not have the logging option, this is a finding. If the nolog option is set on the root file system, this is a finding.

Fix

Implement file system journaling for the root file system, or use a file system that uses other mechanisms to ensure file system consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure file system consistency, a migration to a different file system will be necessary.
V-4321 Updated
Findings ID: GEN006060 Rule ID: SV-35208r1_rule Severity: medium CCI: CCI-001436

Discussion

Samba is a tool used for the sharing of files and printers between Windows and UNIX operating systems. It provides access to sensitive files and, therefore, poses a security risk if compromised.System AdministratorDCPD-1, ECSC-1

Checks

Check the system for a running Samba server.
# ps -ef |grep -v grep | grep smbd

If the Samba server is running, ask the SA if the Samba server is operationally required. If it is not, this is a finding.

Fix

If there is no functional need for Samba and the daemon is running, disable the daemon
by killing the process ID as noted from the output of ps -ef |grep smbd. The utility should also be
removed or not installed if there is no functional requirement.
V-4357 No Change
Findings ID: GEN002860 Rule ID: SV-38427r1_rule Severity: medium CCI: CCI-000366

Discussion

Rotate audit logs daily to preserve audit file system space and to conform to the DoD requirement. If it is not rotated daily and moved to another location, then there is more of a chance for the compromise of audit data by malicious users.System AdministratorECSC-1

Checks

Check for a crontab entry that rotates audit logs.
# crontab -l

If any cron job to rotate audit logs is found, this is not a finding.

Otherwise, query the SA. If there is a process that automatically rotates audit logs, this is not a finding. If the SA manually rotates audit logs, this is still a finding, because if the SA is not there, it will not be accomplished. If the audit output is not archived daily, to tape or disk, this is a finding. This can be ascertained by looking at the audit log directory and, if more than one file is there, or if the file does not have today's date, this is a finding.

Fix

Configure a cron job or other automated process to rotate the audit logs on a daily basis.
V-4358 No Change
Findings ID: GEN003200 Rule ID: SV-38430r1_rule Severity: medium CCI: CCI-000225

Discussion

If file permissions for cron.deny are more permissive than 0600, sensitive information could be viewed or edited by unauthorized users.System AdministratorECLP-1

Checks

Check the mode of the cron.deny file.
# ls -lL /var/adm/cron/cron.deny

If the cron.deny file is more permissive than 0600, this is a finding.

Fix

Change the mode of the cron.deny file.
# chmod 0600 /var/adm/cron/cron.deny
V-4360 No Change
Findings ID: GEN003220 Rule ID: SV-38431r1_rule Severity: low CCI: CCI-000225

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 often represented as a 4-digit octal number, the first digit representing special access modes is typically ignored or required to be 0.trueIf a cron program sets the umask to 000 or does not restrict the world-writable permission, this becomes a CAT I finding.System AdministratorECCD-1, ECCD-2

Checks

Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying an umask.

# ls -lL /var/spool/cron/crontabs
# cat <crontab file>
# grep umask <cron program>

If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains an umask value more permissive than 077, this is a finding.

Fix

Edit cron script files and modify the umask to 077.
V-4361 No Change
Findings ID: GEN003240 Rule ID: SV-38432r1_rule Severity: medium CCI: CCI-000225

Discussion

If the owner of the cron.allow file is not set to root, bin, or sys, the possibility exists for an unauthorized user to view or to edit sensitive information.System AdministratorECLP-1

Checks

# ls -lL /var/adm/cron/cron.allow

If the cron.allow file is not owned by root, sys, or bin, this is a finding.

Fix

# chown root /var/adm/cron/cron.allow
V-4364 No Change
Findings ID: GEN003400 Rule ID: SV-38433r1_rule Severity: medium CCI: CCI-000225

Discussion

If the at directory has a mode more permissive than 0755, 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.System AdministratorECLP-1

Checks

Check the mode of the at directory.
# ls -lLd /var/spool/cron/atjobs /var/spool/atjobs /var/spool/at

If the directory mode is more permissive than 0755, this is a finding.

Fix

Change the mode of the at directory to 0755.
# chmod 0755 <at directory>
V-4365 No Change
Findings ID: GEN003420 Rule ID: SV-38434r1_rule Severity: medium CCI: CCI-000225

Discussion

If the owner of the at directory is not root, bin, or sys, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.System AdministratorECLP-1

Checks

Check the ownership of the at directory:
# ls -lLd /var/spool/cron/atjobs /var/spool/atjobs /var/spool/at

If the directory exists and is not owned by root, sys, or bin, this is a finding.

Fix

Change the owner of the existing at directory to root, bin, or sys.
# chown root <at directory>

(Replace root with another system group and/or <at directory> with a different at directory as necessary.)
V-4366 No Change
Findings ID: GEN003440 Rule ID: SV-34996r1_rule Severity: medium CCI: CCI-000225

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 often represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0.trueSystem AdministratorECCD-1, ECCD-2

Checks

Determine what at jobs exist on the system.
Procedure:

# ls /var/spool/cron/atjobs

If there are no at jobs present, this is not applicable.

Determine if any of the at jobs or any scripts referenced execute the umask command. Check for any umask setting more permissive than 077.

# grep -n umask <at job or referenced script>

If any at job or referenced script sets umask to a value more permissive than 077, this is a finding.

NOTE: The at facility will set the execution environment umask to 022. A grep of the at file will normally yield a line in the file that may look like umask 2. When examining any at job command file, this should not be mistaken for a user defined umask (re-)setting.

Fix

Edit at jobs or referenced scripts to remove umask commands setting the umask value more permissive than 077.
V-4367 No Change
Findings ID: GEN003460 Rule ID: SV-34997r1_rule Severity: medium CCI: CCI-000225

Discussion

If the owner of the at.allow file is not set to root, sys, or bin, unauthorized users could be allowed to view or edit sensitive information contained within the file.System AdministratorECLP-1

Checks

# ls -lL /var/adm/cron/at.allow

If the at.allow file is not owned by root, sys or bin, this is a finding.

Fix

Change the owner of the at.allow file.
# chown root /var/adm/cron/at.allow
V-4368 No Change
Findings ID: GEN003480 Rule ID: SV-34998r1_rule Severity: medium CCI: CCI-000225

Discussion

If the owner of the at.deny file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit sensitive information contained within the file.System AdministratorECLP-1

Checks

# ls -lL /usr/lib/cron/at.deny

If the at.deny file is not owned by root, sys, or bin, this is a finding.

Fix

Change the owner of the at.deny file.
# chown root /usr/lib/cron/at.deny
V-4369 No Change
Findings ID: GEN003960 Rule ID: SV-35151r1_rule Severity: medium CCI: CCI-000225

Discussion

If the traceroute command owner has not been set to root, an unauthorized user could use this command to obtain knowledge of the network topology inside the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

# ls -lL /usr/contrib/bin/traceroute

If the traceroute command is not owned by root, this is a finding.

Fix

Change the owner of the traceroute command to root.
# chown root /usr/contrib/bin/traceroute
V-4370 No Change
Findings ID: GEN003980 Rule ID: SV-35154r1_rule Severity: medium CCI: CCI-000225

Discussion

If the group owner of the traceroute command has not been set to a system group, unauthorized users could have access to the command and use it to gain information regarding a network's topology inside of the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

Check the group ownership of the traceroute file.

Procedure:
# ls -lL /usr/contrib/bin/traceroute

If the traceroute command is not group-owned by root, sys, bin, or other, this is a finding.

Fix

Change the group-owner of the traceroute command to root. See the following example:
# chgrp root /usr/contrib/bin/traceroute
V-4371 No Change
Findings ID: GEN004000 Rule ID: SV-38435r1_rule Severity: medium CCI: CCI-000225

Discussion

If the mode of the traceroute executable is more permissive than 0700, 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.System AdministratorECLP-1

Checks

# ls -lL /usr/contrib/bin/traceroute

If the traceroute command has a mode more permissive than 0700, this is a finding.

Fix

Change the mode of the traceroute command.
# chmod 0700 /usr/contrib/bin/traceroute
V-4382 No Change
Findings ID: GEN004220 Rule ID: SV-35158r1_rule Severity: high CCI: CCI-000225

Discussion

If a Web browser flaw is exploited while running as a privileged user, the entire system could be compromised.

Specific exceptions for local service administration should be documented in site-defined policy. These exceptions may include HTTP(S)-based tools used for the administration of the local system, services, or attached devices. Examples of possible exceptions are HP’s System Management Homepage (SMH), the Common Unix Printing System (CUPS) administrative interface, and Sun's StorageTek Common Array Manager (CAM) when these services are running on the local system.System AdministratorECLP-1

Checks

Look in the root account home directory for a .netscape or a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO what the intent of the browsing is. Some evidence may be obtained by using the browser to view cached pages under the .netscape directory.
# find `cat /etc/passwd | grep "^root" | cut -f 6,6 -d ":"` -type d \( -name \.mozilla -o -name .netscape \)

If the find command returns any output for either browser directories, this is a finding. After the fact, it should be verified with the root users and the IAO what official business function(s) the browsers support and that it has been correctly documented.

Fix

Enforce policy requiring administrative accounts use Web browsers only for local service administration.
V-4384 No Change
Findings ID: GEN004560 Rule ID: SV-38436r1_rule Severity: low CCI: CCI-000366

Discussion

The version of the SMTP service can be used by attackers to plan an attack based on vulnerabilities present in the specific version.System AdministratorECSC-1

Checks

To check for the Sendmail version being displayed in the greeting:
# telnet localhost 25

If a version number is displayed, this is a finding.

Fix

Ensure Sendmail or its equivalent has been configured to mask the version information. If necessary, change the O SmtpGreetingMessage line in the /etc/sendmail.cf file as noted below:
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
change it to:
O SmtpGreetingMessage= Mail Server Ready ; $b

Then restart the Sendmail service.
V-4385 No Change
Findings ID: GEN004580 Rule ID: SV-35061r1_rule Severity: medium CCI: CCI-000366

Discussion

The .forward file allows users to automatically forward mail to another system. Use of .forward files could allow the unauthorized forwarding of mail and could potentially create mail loops which could degrade system performance.System AdministratorECSC-1

Checks

Search for any .forward files (typically found in a user's home directory) on the system by:
# find / -type f -name .forward

This is considered a finding if any .forward files are found on the system.

Fix

Remove .forward files from the system.
V-4387 No Change
Findings ID: GEN005000 Rule ID: SV-35106r1_rule Severity: high CCI: CCI-000225

Discussion

If an anonymous FTP account has been configured to use a functional shell, attackers could gain access to the shell if the account is compromised.System AdministratorECCD-1, ECCD-2

Checks

Check the shell for the anonymous FTP account.
# cat /etc/passwd | grep "^ftp" | cut -f 7,7 -d ":" | \
egrep -c -i "\/bin\/false|\/dev\/null|\/usr\/bin\/false|\/bin\/true|\/sbin\/nologin"

This is a finding if the seventh field is empty (the entry ends with a colon[:]) or if the seventh field does not contain one of the following:

/bin/false
/dev/null
/usr/bin/false
/bin/true
/sbin/nologin

Fix

Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the FTP account and replace them with non-functioning shells, such as /dev/null.
V-4388 No Change
Findings ID: GEN005020 Rule ID: SV-35108r1_rule Severity: medium CCI: CCI-000366

Discussion

If an anonymous FTP account does not use a chroot or similarly isolated environment, the system may be more vulnerable to exploits against the FTP service. Such exploits could allow an attacker to gain shell access to the system and view, edit, or remove sensitive files.System AdministratorECSC-1

Checks

Is FTP installed?
# ls -lL /usr/lbin/ftpd
If ftpd is not installed, this is not a finding.

If ftpd is installed, determine if there is an anonymous ftp user configured in /etc/passwd.
# cat /etc/passwd | egrep -c "^ftp|^anonymous"

The /etc/passwd file, home directory entry for the anonymous FTP user should appear as the following example:
ftp:4rL2xXxDatENY:509:159::/home/ftp/./:/usr/bin/false

If there is an anonymous ftp user configured in /etc/passwd, determine if the ftp/anonymous user's home directory entry in the /etc/passwd file configured for chroot?
# cat /etc/passwd | egrep "^ftp|^anonymous" | cut -f 6,6 -d ":"

A dot (.) in field 6 of the FTP /etc/passwd file determines where the chroot will be performed. In the above example, the new root directory is /home/ftp. If an anonymous ftp user is found and the above command does not return an absolute path with a home directory of "dot" (see the above example), this is a finding.

Fix

Using the HP-SMH, configure the anonymous FTP service to operate in a chroot environment.
V-4392 No Change
Findings ID: GEN005380 Rule ID: SV-35181r1_rule Severity: medium CCI: CCI-001208

Discussion

Installing extraneous software on a system designated as a dedicated NMS server poses a security threat to the system and the network. Should an attacker gain access to the NMS through unauthorized software, the entire network may be susceptible to malicious activity.System AdministratorDCPA-1

Checks

NOTE: This will virtually always require a manual review. Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.

Fix

Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.
V-4393 No Change
Findings ID: GEN005400 Rule ID: SV-38437r1_rule Severity: medium CCI: CCI-000225

Discussion

If the /etc/syslog.conf file is not owned by bin, unauthorized users could be allowed to view, edit, or delete important system messages handled by the syslog facility.System AdministratorECLP-1

Checks

Check /etc/syslog.conf ownership.
# ls -lL /etc/syslog.conf

If either /etc/syslog.conf is not owned by bin, this is a finding.

Fix

Use the chown command to set the owner to bin.
# chown bin /etc/syslog.conf
V-4394 No Change
Findings ID: GEN005420 Rule ID: SV-35186r1_rule Severity: medium CCI: CCI-000225

Discussion

If the group owner of /etc/syslog.conf is not root, bin, or sys, unauthorized users could be permitted to view, edit, or delete important system messages handled by the syslog facility.System AdministratorECLP-1

Checks

Check /etc/syslog.conf group ownership.
# ls -lL /etc/syslog.conf

If /etc/syslog.conf is not group-owned by root, sys, bin, or other, this is a finding.

Fix

Change the group owner of the /etc/syslog.conf file to root, bin, sys, or other.
# chgrp root /etc/syslog.conf
V-4395 No Change
Findings ID: GEN005460 Rule ID: SV-35192r1_rule Severity: medium CCI: CCI-000366

Discussion

If a remote log host is in use and it has not been justified and documented with the IAO, sensitive information could be obtained by unauthorized users without the SA's knowledge. A remote log host is any host to which the system is sending syslog messages over a network.trueSystem AdministratorInformation Assurance OfficerECSC-1

Checks

Examine the syslog.conf file for any references to remote log hosts.
# cat /etc/syslog.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v '^#' | grep "\@"

Destinations beginning with the @ symbol represent log hosts. If the log host name is a local alias such as loghost, consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.

Fix

Remove or document the referenced undocumented log host.
V-4397 No Change
Findings ID: GEN005560 Rule ID: SV-30080r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

Check the system for an IPv4 default route.
# netstat -r |grep default

If a default route is not defined, this is a finding.

Fix

Edit /etc/rc.config.d/netconf and add configuration for a default route. For a default gateway of 192.168.3.1:

ROUTE_DESTINATION[0]=default
ROUTE_MASK[0]=""
ROUTE_GATEWAY[0]=192.168.3.1
ROUTE_COUNT[0]=1
ROUTE_ARGS[0]=""

Restart the system for the setting to take effect.
V-4398 No Change
Findings ID: GEN005580 Rule ID: SV-35156r1_rule Severity: medium CCI: CCI-001208

Discussion

Installing extraneous software on a system designated as a dedicated router poses a security threat to the system and the network. Should an attacker gain access to the router through the unauthorized software, the entire network is susceptible to malicious activity.System AdministratorDCSP-1

Checks

Ask the SA if the system is a designated router. If it is not, this is not applicable.

If this system is a designated router, check the system for non-routing network services.
# netstat -a | grep -i listen
# ps -ef

If non-routing services, including Web servers, file servers, DNS servers, or applications servers, but excluding management services such as SSH and SNMP, are running on the system, this is a finding.

Fix

Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.
V-4399 No Change
Findings ID: GEN006380 Rule ID: SV-35147r1_rule Severity: high CCI: CCI-001436

Discussion

Implementing NIS or NIS+ under UDP may make the system more susceptible to a Denial of Service attack and does not provide the same quality of service as TCP.System AdministratorECSC-1

Checks

If the system does not use NIS or NIS+, this is not applicable.

Check if NIS or NIS+ is implemented using UDP.
# rpcinfo -p | grep yp | grep udp

If NIS or NIS+ is implemented using UDP, this is a finding.

Fix

Configure the system to not use UDP for NIS and NIS+. HP-UX specific documentation (note the major version of NIS+ currently running) should be consulted for the required procedure.
V-4427 No Change
Findings ID: GEN002020 Rule ID: SV-38438r1_rule Severity: medium CCI: CCI-000366

Discussion

If these files are not properly configured, they could allow malicious access by unknown malicious users from untrusted hosts who could compromise the system.System AdministratorECCD-1, ECCD-2

Checks

Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files.

Procedure:
# find / -name .rhosts
# more /<directorylocation>/.rhosts

# find / -name .shosts
# more /<directorylocation>/.shosts

# find / -name hosts.equiv
# more /<directorylocation>/hosts.equiv

# find / -name shosts.equiv
# more /<directorylocation>/shosts.equiv

If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains anything other than host-user pairs, this is a finding.

Fix

Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files.

Procedure:
# find / -name .rhosts
# more /<directorylocation>/.rhosts

# find / -name .shosts
# more /<directorylocation>/.shosts

# find / -name hosts.equiv
# more /<directorylocation>/hosts.equiv

# find / -name shosts.equiv
# more /<directorylocation>/shosts.equiv

If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains anything other than host-user pairs, this is a finding.
V-4428 No Change
Findings ID: GEN002060 Rule ID: SV-34960r1_rule Severity: medium CCI: CCI-000225

Discussion

If these files are accessible by users other than root or the owner, they could be used by a malicious user to set up a system compromise.System AdministratorECLP-1

Checks

# find / -type f -name .rhosts
# ls -alL /<directorylocation>/.rhosts

# find / -type f -name .shosts
# ls -alL /<directorylocation>/.shosts

# find / -type f -name hosts.equiv
# ls -lL /<directorylocation>/hosts.equiv

# find / -type f -name shosts.equiv
# ls -lL /<directorylocation>/shosts.equiv

If the .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 700, this is a finding.

Fix

Ensure the permission for these files is set at 700 or less and the owner is the owner of the home directory that it is in. These files, outside of home directories (other than hosts.equiv which is in /etc and owned by root), have no meaning.
V-4430 No Change
Findings ID: GEN003260 Rule ID: SV-38439r1_rule Severity: medium CCI: CCI-000225

Discussion

Cron daemon control files restrict the scheduling of automated tasks and must be protected.System AdministratorECLP-1

Checks

# ls -lL /var/adm/cron/cron.deny

If the cron.deny file is not owned by root, sys, or bin, this is a finding.

Fix

# chown root /var/adm/cron/cron.deny
V-4687 No Change
Findings ID: GEN003820 Rule ID: SV-35130r1_rule Severity: high CCI: CCI-000068

Discussion

The remshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorEBRU-1

Checks

# cat /etc/inetd.conf | grep -v "^#" | grep -c remshd

If the above command return value is greater than 0, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the remshd service.

Refresh the inetd service.
# inetd -c
V-4688 Updated
Findings ID: GEN003840 Rule ID: SV-35132r2_rule Severity: high CCI: CCI-001435

Discussion

The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.trueInformation Assurance OfficerSystem AdministratorEBRP-1, ECSC-1

Checks

# cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \
cut -f 6,7 -d " " | grep -c -i rexecd

If any results are returned, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the line for the rexec daemon service. Restart the inetd service via the following command:
# inetd -c
V-4689 Updated
Findings ID: GEN004600 Rule ID: SV-35065r2_rule Severity: high CCI: CCI-001230

Discussion

The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.System AdministratorVIVM-1

Checks

Determine the version of the SMTP service software. To obtain version information for the Sendmail daemon:
# what /usr/sbin/sendmail
OR
# strings /usr/sbin/sendmail | grep -i version

If the Sendmail version is not at least 8.14.4, or if it is not the vendor's latest version, this is a finding.

Fix

Obtain and install a newer version of Sendmail from the operating system vendor or from http://www.sendmail.org or ftp://ftp.cs.berkeley.edu/ucb/sendmail.
V-4690 No Change
Findings ID: GEN004620 Rule ID: SV-35070r1_rule Severity: high CCI: CCI-000366

Discussion

Debug mode is a feature present in older versions of Sendmail which, if not disabled, may allow an attacker to gain access to a system through the Sendmail service.System AdministratorECSC-1

Checks

Check for an enabled debug command provided by the SMTP service.
# telnet localhost 25
debug

If the command does not return a 500 error code of command unrecognized, this is a finding.

Fix

Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.
V-4691 No Change
Findings ID: GEN004640 Rule ID: SV-35071r1_rule Severity: high CCI: CCI-001230

Discussion

A common configuration for older mail transfer agents (MTAs) is to include an alias for the decode user. All mail sent to this user is sent to the uudecode program, which automatically converts and stores files. By sending mail to the decode or the uudecode aliases present on some systems, a remote attacker may be able to create or overwrite files on the remote host. This could possibly be used to gain remote access.System AdministratorECSC-1

Checks

Check the SMTP service for an active decode command.
# telnet localhost 25
decode

If the command does not return a 500 error code of command unrecognized, this is a finding.

Fix

Disable mail aliases for decode and uudecode. If the /etc/mail/aliases (mail alias) file contains entries for these programs, remove them or disable them by placing # at the beginning of the line, and then executing the newaliases command. For more information on mail aliases, refer to the man page for aliases. Disabled aliases would be similar to these (commented) file entry examples:
# decode: |/usr/bin/uudecode
# uudecode: |/usr/bin/uuencode -d
V-4692 No Change
Findings ID: GEN004660 Rule ID: SV-35076r1_rule Severity: low CCI: CCI-000366

Discussion

The SMTP EXPN function allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. EXPN may also provide additional information concerning users on the system, such as the full names of account owners.False positives may occur with the SMTP EXPN check. According to RFC821, it is acceptable for a server to respond with a 250 (success) or 550 (failure) when the server supports the EXPN command. For example, some servers return "550 EXPN command not available," meaning the command is not supported and the machine is not vulnerable. However, a result of "550 That is a mailing list, not a user" would be a failure code, but not an indication of an error, and the machine would be vulnerable. If a false positive is suspected, check your log file for the response from the server.System AdministratorECSC-1

Checks

Perform the following to determine if EXPN is disabled:
# telnet localhost 25
expn root

If the command does not return a 500 error code (command unrecognized), this is a finding.
OR
Check the sendmail.cf configuration file by:
# cat /etc/mail/sendmail.cf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" |\
grep -i privacyoptions | egrep -c -i "noexpn|goaway"

The O PrivacyOptions should have the noexpn or the goaway option (covering both noexpn and novrfy). If the EXPN command is not disabled, this is a finding.

Fix

Edit the /etc/mail/sendmail.cf file and add or edit the following line:
O PrivacyOptions=goaway

Then restart the Sendmail service.
V-4693 No Change
Findings ID: GEN004680 Rule ID: SV-35083r1_rule Severity: low CCI: CCI-000366

Discussion

The VRFY (Verify) command allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. VRFY may provide additional information about users on the system, such as the full names of account owners.System AdministratorECSC-1

Checks

Determine if VRFY is disabled.
# telnet localhost 25
vrfy root

If the command does not return a 500 error code of command unrecognized, this is a finding.
OR
Check the sendmail.cf configuration file by:
# cat /etc/mail/sendmail.cf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | \
grep -i privacyoptions | egrep -c -i "goaway|novrfy"

Ensure the VRFY command is disabled with an entry in the sendmail.cf file. The entry could be any one of Opnovrfy, novrfy, or goaway, which could also have other options included, such as noexpn. The goaway argument encompasses many things, such as novrfy and noexpn.

If no setting to disable VRFY is found, this is a finding.

Fix

If running Sendmail, add the line Opnovrfy to the Sendmail configuration file, usually located in /etc/mail/sendmail.cf. For other mail servers, contact the vendor for information on how to disable the verify command. Newer versions of Sendmail are available at http://www.sendmail.org or from ftp://ftp.cs.berkeley.edu/ucb/sendmail.

Edit the /etc/mail/sendmail.cf file and add or edit (one of) the following line(s):
O PrivacyOptions=novrfy
O PrivacyOptions=goaway

Then restart the Sendmail service.
V-4694 No Change
Findings ID: GEN004700 Rule ID: SV-35093r1_rule Severity: low CCI: CCI-000366

Discussion

Very old installations of the Sendmail mailing system contained a feature whereby a remote user connecting to the SMTP port can enter the WIZ command and be given an interactive shell with root privileges.System AdministratorECSC-1

Checks

Check the /etc/mail/sendmail.cf configuration file for "wiz" configuration.
# cat /etc/mail/sendmail.cf |tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" |\
grep -i wiz

If an entry is found for wiz, this is a finding.

Fix

If the WIZ command is enabled on Sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (note that it must be typed in uppercase):

OW*

For the change to take effect, kill the Sendmail process, refreeze the sendmail.cf file, and restart the Sendmail process.
V-4695 No Change
Findings ID: GEN005140 Rule ID: SV-38440r1_rule Severity: high CCI: CCI-000225

Discussion

TFTP is a file transfer protocol often used by embedded systems to obtain configuration data or software. The service is unencrypted and does not require authentication of requests. Data available using this service may be subject to unauthorized access or interception.System AdministratorInformation Assurance OfficerDCSW-1

Checks

Determine if the TFTP daemon is active.
# grep -v "^#" /etc/inetd.conf |grep tftp

If TFTP is enabled, it is a finding if it is not documented by site-defined procedures.

Fix

Disable the TFTP daemon.
Edit /etc/inetd.conf and comment out the tftp line. Restart the inetd service via the command:
# inetd -c
V-4696 No Change
Findings ID: GEN005280 Rule ID: SV-35171r1_rule Severity: medium CCI: CCI-001436

Discussion

The UUCP utility is designed to assist in transferring files, executing remote commands, and sending e-mail between UNIX systems over phone lines and direct connections between systems. The UUCP utility is a primitive and arcane system with many security issues. There are alternate data transfer utilities/products that can be configured to more securely transfer data by providing for authentication as well as encryption.System AdministratorECSC-1

Checks

# cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' | grep -v "^#" | grep -i uucp

If uucp is found enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment the uucp service entry. Restart the inetd service.
# inetd -c
V-4697 No Change
Findings ID: GEN005200 Rule ID: SV-35168r1_rule Severity: high CCI: CCI-000225

Discussion

Open X displays allow an attacker to capture keystrokes and to execute commands remotely. Many users have their X Server set to xhost +, permitting access to the X Server by anyone, from anywhere.System AdministratorECSC-1

Checks

Windows is not used on the system, this is not applicable.

Check the output of the "xhost" command from an X terminal. First, verify the DISPLAY variable is correctly set.
$ echo $DISPLAY

NOTE: It may be necessary to define the display if the command reports it cannot open the display.
MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.
$ DISPLAY=MachineName:0.0; export DISPLAY
$ xhost

If the output reports access control is enabled (and possibly lists the hosts that can receive X window logins), this is not a finding. If the xhost command returns a line indicating access control is disabled, this is a finding.

Fix

If using an xhost-type authentication the xhost - command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with xhost + commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred.
V-4701 Updated
Findings ID: GEN003860 Rule ID: SV-35136r1_rule Severity: low CCI: CCI-001551

Discussion

The finger service provides information about the system's users to network clients. This could expose information that could be used in subsequent attacks.System AdministratorDCPP-1, EBRU-1

Checks

# cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \
cut -f 6,7 -d " " | grep -c -i fingerd

If the fingerd service is not disabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the fingerd line. Restart the inetd service via the following command:
# inetd -c
V-4702 Updated
Findings ID: GEN004840 Rule ID: SV-35101r1_rule Severity: medium CCI: CCI-000787

Discussion

Anonymous FTP is a public data service which is only permitted in a server capacity when located on the DMZ network.Information Assurance OfficerSystem AdministratorEBBD-1, EBBD-2, EBBD-3, ECSC-1

Checks

Use the command ftp to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of [email protected]). If the logon is not successful, this check is not applicable.
# ftp localhost
OR
# ftp `hostname`

Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.

Fix

Move the system to a DMZ network.
V-11941 No Change
Findings ID: GEN000140 Rule ID: SV-38271r1_rule Severity: medium CCI: CCI-000293

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.System AdministratorDCSW-1

Checks

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.

Fix

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.
V-11945 Updated
Findings ID: GEN000220 Rule ID: SV-28610r2_rule Severity: medium CCI: CCI-001069

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.System Administrator
DCSL-1

Checks

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.

Fix

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.
V-11946 No Change
Findings ID: GEN000340 Rule ID: SV-38209r1_rule Severity: medium CCI: CCI-000366

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.
System AdministratorECSC-1

Checks

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.

Fix

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.
V-11947 Updated
Findings ID: GEN000580 Rule ID: SV-27111r4_rule Severity: medium CCI: CCI-000205

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-11948 No Change
Findings ID: GEN000600 Rule ID: SV-38244r2_rule Severity: medium CCI: CCI-000192

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-11972 No Change
Findings ID: GEN000620 Rule ID: SV-38245r2_rule Severity: medium CCI: CCI-000194

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-11973 No Change
Findings ID: GEN000640 Rule ID: SV-38246r2_rule Severity: medium CCI: CCI-001619

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-11976 Updated
Findings ID: GEN000700 Rule ID: SV-38247r3_rule Severity: medium CCI: CCI-000180

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-11977 No Change
Findings ID: GEN000740 Rule ID: SV-38211r1_rule Severity: medium CCI: CCI-000199

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. Locking the password for non-interactive and automated processing accounts is preferred as it removes the possibility of accessing the account by a password. On some systems, locking the passwords of these accounts may prevent the account from functioning properly. Passwords for non-interactive/automated processing accounts must not be used for direct logon to the system.System AdministratorIAIA-1, IAIA-2

Checks

NOTE: This will always require a manual review. This is a local policy issue/question. Ask the Systems Administrator (SA) if there are any automated processing accounts on the system. If there are, ask the SA if the passwords for those automated accounts are changed at least once a year. If SA indicates passwords for automated processing accounts are not changed once per year, this is a finding

Fix

Implement or establish procedures to change the passwords of automated processing accounts at least once per year.
V-11979 No Change
Findings ID: GEN001020 Rule ID: SV-38212r2_rule Severity: medium CCI: CCI-000770

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.System AdministratorECPA-1

Checks

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.

Fix

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.
V-11980 No Change
Findings ID: GEN001060 Rule ID: SV-38248r2_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

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.

Fix

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.
V-11981 No Change
Findings ID: GEN001720 Rule ID: SV-38266r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the global initialization file(s) to 0444.
# chmod 0444 <global initialization file>
V-11982 No Change
Findings ID: GEN001740 Rule ID: SV-38267r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the ownership of global initialization files with incorrect ownership.

# chown bin <global initialization files>
V-11983 No Change
Findings ID: GEN001760 Rule ID: SV-38268r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the global initialization file(s) with incorrect group ownership.

# chgrp root <global initialization file>
V-11984 No Change
Findings ID: GEN001820 Rule ID: SV-38269r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check skeleton files ownership.
# ls -alL /etc/skel


If a skeleton file is not owned by bin, this is a finding.

Fix

Change the ownership of skeleton files with incorrect mode.
# chown bin <skeleton file>
V-11985 Updated
Findings ID: GEN001840 Rule ID: SV-38270r13_rule Severity: medium CCI: CCI-000366

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, or two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.System AdministratorECCD-1, ECCD-2

Checks

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 (/), this is a relative path, andor has not been documented with the ISSO, this is a finding.

Fix

Edit the global initialization file(s) with PATH variables containing relative paths. Edit the file and remove the relative path from the PATH variable. 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.
V-11986 Updated
Findings ID: GEN001900 Rule ID: SV-34915r13_rule Severity: medium CCI: CCI-000366

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, or two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.System AdministratorECCD-1, ECCD-2

Checks

Verify local initialization files have executable search path containing only absoluteuthorized 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 (/), this is a relative path, andor has not been documented with the ISSO, this is a finding.

Fix

Edit the local initialization file and remove the relative path entryies from the executable search path variable. PATH variable that have not been documented with the ISSO.

Edit the local initialization file and remove any empty entry that is defined.
V-11987 No Change
Findings ID: GEN001980 Rule ID: SV-34922r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files and remove entries containing a plus (+).
V-11988 No Change
Findings ID: GEN002040 Rule ID: SV-38249r1_rule Severity: high CCI: CCI-000366

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.Information Assurance OfficerSystem AdministratorECCD-1, ECCD-2

Checks

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.

Fix

Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.
V-11989 Updated
Findings ID: GEN002100 Rule ID: SV-38264r12_rule Severity: medium CCI: CCI-000366

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.Information Assurance OfficerSystem AdministratorECCD-1, ECCD-2

Checks

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"

NOTE: The entries in /etc/pam.conf Authentication and Account management sections should be configIf any of the following lines are returned as follows:
# Authentication management
, this is a finding.

rcomds auth
required libpam_hpsec.so.1
rcomds auth
required libpam_unix.so.1
# Account management
rcomds account required libpam_hpsec.so.1
rcomds account required libpam_unix.so.1

The remsh and rexec services use the above entries as configuration information for authenticating users. Adding these entries in the /etc/pam.conf file informs rexec and remsh to use the standard UNIX authentication mechanism to authenticate the users, including the inspection of the .rhosts file.

Fix

Edit /etc/pam.conf and comment/remove the "rcomds" line(s).
V-11990 No Change
Findings ID: GEN002540 Rule ID: SV-38265r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-ownership of the public directory.

Procedure:
# chgrp root <public directory>

(Replace root with a different system group as necessary.)
V-11994 No Change
Findings ID: GEN003040 Rule ID: SV-38250r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the crontab file owner to root or the crontab creator.
# chown root <crontab file>
V-11995 No Change
Findings ID: GEN003060 Rule ID: SV-38251r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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.
V-11996 No Change
Findings ID: GEN003500 Rule ID: SV-35008r1_rule Severity: low CCI: CCI-000366

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. System AdministratorECCD-1, ECCD-2

Checks

# 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.

Fix

Edit /etc/profile, ensure the ulimit command is present with the -c argument of the ulimit command set to 0.
V-11997 No Change
Findings ID: GEN003520 Rule ID: SV-38253r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the kernel core dump data directory to root.
# chown root /var/adm/crash
V-11999 Updated
Findings ID: GEN003540 Rule ID: SV-35009r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECCD-1, ECCD-2, ECSC-1

Checks

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.

Fix

# kctune executable_stack=0

The system will require a restart/reboot for the setting to take effect.
V-12001 No Change
Findings ID: GEN003580 Rule ID: SV-35010r1_rule Severity: medium CCI: CCI-001436

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.System AdministratorECSC-1

Checks

# ndd -get /dev/tcp tcp_isn_passphrase

If the value 1 is not returned, this is a finding.

Fix

# 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>
V-12002 No Change
Findings ID: GEN003600 Rule ID: SV-38259r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-12003 No Change
Findings ID: GEN003620 Rule ID: SV-35048r1_rule Severity: low CCI: CCI-001208

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.trueSystem AdministratorECSC-1

Checks

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.

Fix

Migrate the /home (or equivalent) path onto a separate file system.
V-12004 Updated
Findings ID: GEN003660 Rule ID: SV-35062r1_rule Severity: medium CCI: CCI-000126

Discussion

Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

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.

Fix

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.

V-12005 No Change
Findings ID: GEN003700 Rule ID: SV-35064r1_rule Severity: medium CCI: CCI-000305

Discussion

Unnecessary services should be disabled to decrease the attack surface of the system.System AdministratorECSC-1

Checks

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.

Fix

Remove or disable the inetd startup scripts and kill the service.
V-12006 Updated
Findings ID: GEN004540 Rule ID: SV-35059r12_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

Check if Help is disabled in Sendmail.
# telnet <host> 25
> help

If the help command returns any Sendmail version information
Verify that the Help command is disabled in Sendmail:

# ls -al /etc/mail/helpfile

If the file does not exist, this is not a finding.

If the help file does exist, verify that the file is empty:

# cat /etc/mail/helpfile

If the help file is not empty
, this is a finding.

Fix

To disable the SMTP HELP command, remove or empty the Sendmail help file:

/etc/mail/helpfile.
V-12010 No Change
Findings ID: GEN004800 Rule ID: SV-35098r1_rule Severity: medium CCI: CCI-000366

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.trueSystem AdministratorECSC-1

Checks

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.

Fix

Edit /etc/inetd.conf and comment out or remove the ftp service.

Refresh the inet daemon.
inetd -c
V-12011 No Change
Findings ID: GEN005040 Rule ID: SV-38263r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECCD-1, ECCD-2

Checks

Check the umask setting for the "ftp" user.
# su - ftp
$ umask

If the umask value does not return 077, this is a finding.

Fix

Edit the initialization files for the ftp user and set the umask to 077.
V-12014 No Change
Findings ID: GEN005180 Rule ID: SV-35162r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the .Xauthority files.
# chmod 0600 .Xauthority
V-12016 No Change
Findings ID: GEN005220 Rule ID: SV-38287r1_rule Severity: medium CCI: CCI-000297

Discussion

If access to the X server is not restricted, the user's X session may be compromised.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

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.
V-12017 No Change
Findings ID: GEN005240 Rule ID: SV-38288r1_rule Severity: medium CCI: CCI-000225

Discussion

If unauthorized clients are permitted access to the X server, the user's X session may be compromised.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

Remove unauthorized clients from the xauth configuration.
# xauth remove <display name>
V-12018 No Change
Findings ID: GEN005260 Rule ID: SV-35170r1_rule Severity: medium CCI: CCI-001436

Discussion

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

Checks

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.

Fix

Disable the X Windows server on the system.
V-12019 No Change
Findings ID: GEN005360 Rule ID: SV-35203r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the snmpd.conf file to bin.

# chown bin /etc/SnmpAgent.d/snmpd.conf
V-12020 No Change
Findings ID: GEN005440 Rule ID: SV-35187r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Configure hosts outside of the local enclave to not log to this system.
V-12021 No Change
Findings ID: GEN005480 Rule ID: SV-35195r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-12022 Updated
Findings ID: GEN005540 Rule ID: SV-35149r1_rule Severity: medium CCI: CCI-000366

Discussion

The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.System AdministratorECSC-1, ECWM-1

Checks

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.

Fix

Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files.
V-12023 No Change
Findings ID: GEN005600 Rule ID: SV-35177r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Edit /etc/rc.config.d/nddconf and set the ip_forwarding option to 0.
V-12024 No Change
Findings ID: GEN006000 Rule ID: SV-35205r1_rule Severity: medium CCI: CCI-000366

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.
System AdministratorECIM-1

Checks

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.

Fix

Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
V-12025 Updated
Findings ID: GEN006040 Rule ID: SV-35207r1_rule Severity: medium CCI: CCI-001436

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
-BitTorrentDesignated Approving AuthoritySystem Administrator
DCPD-1, ECSC-1

Checks

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.

Fix

Uninstall the peer-to-peer file sharing application(s) from the system.
V-12026 No Change
Findings ID: GEN006420 Rule ID: SV-35153r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

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.
V-12028 No Change
Findings ID: GEN006560 Rule ID: SV-35159r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorInformation Assurance OfficerECAT-1, ECAT-2

Checks

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.

Fix

Configure the security tools on the system to notify the IAO and SA when any security issues are detected.
V-12030 Updated
Findings ID: GEN006620 Rule ID: SV-35222r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECCD-1, ECCD-2, ECSC-1

Checks

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 <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.

Fix

Edit the <path>/hosts.allow and <path/hosts.deny files to configure access restrictions.
V-12049 Updated
Findings ID: GEN003865 Rule ID: SV-35138r12_rule Severity: medium CCI: CCI-000305

Discussion

Network analysis tools allow for the capture of network traffic visible to the system.System AdministratorDCPA-1

Checks

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.

Fix

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 <binary>
V-22290 No Change
Findings ID: GEN000241 Rule ID: SV-38289r1_rule Severity: medium CCI: CCI-000366

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.
System AdministratorECSC-1

Checks

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.

Fix

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.
V-22291 No Change
Findings ID: GEN000242 Rule ID: SV-38297r1_rule Severity: medium CCI: CCI-000160

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.
System AdministratorECSC-1

Checks

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.

Fix

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.
V-22292 No Change
Findings ID: GEN000244 Rule ID: SV-38298r1_rule Severity: low CCI: CCI-000160

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.
System AdministratorECSC-1

Checks

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.

Fix

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.
V-22294 No Change
Findings ID: GEN000250 Rule ID: SV-38272r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the ownership of the NTP configuration file.
# ls -lL /etc/ntp.conf

If the owner is not root, this is a finding.

Fix

Change the owner of the NTP configuration file.
# chown root /etc/ntp.conf
V-22295 No Change
Findings ID: GEN000251 Rule ID: SV-38273r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the NTP configuration file.

Procedure:
# chgrp root /etc/ntp.conf
V-22296 No Change
Findings ID: GEN000252 Rule ID: SV-38274r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

# ls -lL /etc/ntp.conf

If the mode is more permissive than 0640, this is a finding.

Fix

Change the mode of the NTP configuration file to 0640 or less permissive.
# chmod 0640 /etc/ntp.conf
V-22297 No Change
Findings ID: GEN000253 Rule ID: SV-38301r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/ntp.conf
V-22298 No Change
Findings ID: GEN000450 Rule ID: SV-26319r2_rule Severity: low CCI: CCI-000054

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.trueSystem AdministratorECSC-1

Checks

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.

Fix

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.
V-22299 No Change
Findings ID: GEN000452 Rule ID: SV-38302r1_rule Severity: low CCI: CCI-000052

Discussion

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

Checks

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 <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.

Fix

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

PrintLastLog yes
V-22301 No Change
Findings ID: GEN000510 Rule ID: SV-38275r1_rule Severity: low CCI: CCI-000061

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.System AdministratorPESL-1

Checks

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.

Fix

Configure the system to display a publicly-viewable pattern during a session lock.
V-22302 No Change
Findings ID: GEN000585 Rule ID: SV-52487r1_rule Severity: medium CCI: CCI-000205

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.
System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-22303 Updated
Findings ID: GEN000590 Rule ID: SV-52489r23_rule Severity: medium CCI: CCI-000803

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.System AdministratorDCNR-1, IAIA-1, IAIA-2

Checks

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.

Fix

For Trusted Mode:
N
OTEote: 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.
V-22304 Updated
Findings ID: GEN000595 Rule ID: SV-52491r2_rule Severity: medium CCI: CCI-000196

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.System AdministratorDCNR-1, IAIA-1, IAIA-2

Checks

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.

Fix

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.
V-22305 No Change
Findings ID: GEN000610 Rule ID: SV-38304r2_rule Severity: medium CCI: CCI-000193

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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.
V-22308 No Change
Findings ID: GEN000850 Rule ID: SV-26349r1_rule Severity: low CCI: CCI-000009

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.System AdministratorECLP-1

Checks

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.

Fix

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.
V-22309 No Change
Findings ID: GEN000930 Rule ID: SV-38305r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z ~root
V-22310 No Change
Findings ID: GEN000945 Rule ID: SV-38307r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Edit the root user initialization files and remove any definition of LD_LIBRARY_PATH and SHLIB_PATH.
V-22311 No Change
Findings ID: GEN000950 Rule ID: SV-38308r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Edit the root user initialization files and remove any definition of LD_PRELOAD.
V-22312 No Change
Findings ID: GEN001170 Rule ID: SV-38279r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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

Fix

Change the group-owner for each file without a valid group-owner.
# chgrp <a-valid-group> <path>/<file-without-a-valid-group-owner>
V-22313 No Change
Findings ID: GEN001190 Rule ID: SV-38280r1_rule Severity: medium CCI: CCI-000225

Discussion

Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <path>/< network-services-daemon>
V-22314 No Change
Findings ID: GEN001210 Rule ID: SV-38281r1_rule Severity: medium CCI: CCI-001499

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.
System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <path>/<file-with-extended-ACL>
V-22315 No Change
Findings ID: GEN001270 Rule ID: SV-38309r1_rule Severity: medium CCI: CCI-001314

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.trueSystem AdministratorECLP-1, ECTP-1

Checks

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.

Fix

Remove the optional ACL from the file.

# chacl -z /var/adm/*
V-22316 Updated
Findings ID: GEN001290 Rule ID: SV-38282r2_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file(s).
# chacl -z /usr/share/man/* /usr/share/info/* /usr/share/infopage/*
V-22317 No Change
Findings ID: GEN001310 Rule ID: SV-38283r1_rule Severity: medium CCI: CCI-001499

Discussion

Unauthorized access could destroy the integrity of the library files.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /usr/lib/* /lib/*
V-22318 No Change
Findings ID: GEN001361 Rule ID: SV-38284r1_rule Severity: medium CCI: CCI-000225

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. System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/yp/*
V-22319 No Change
Findings ID: GEN001362 Rule ID: SV-38310r1_rule Severity: medium CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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.

Fix

As root, change the owner of the /etc/resolv.conf file to root.
# chown root /etc/resolv.conf
V-22320 No Change
Findings ID: GEN001363 Rule ID: SV-38311r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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

Procedure:
# chgrp root /etc/resolv.conf
V-22321 No Change
Findings ID: GEN001364 Rule ID: SV-38312r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the /etc/resolv.conf file to 0644 or less permissive.
# chmod 0644 /etc/resolv.conf
V-22322 No Change
Findings ID: GEN001365 Rule ID: SV-38285r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/resolv.conf
V-22323 No Change
Findings ID: GEN001366 Rule ID: SV-38313r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the /etc/hosts file to root.
# chown root /etc/hosts
V-22324 No Change
Findings ID: GEN001367 Rule ID: SV-38314r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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

Procedure:
# chgrp root /etc/hosts
V-22325 No Change
Findings ID: GEN001368 Rule ID: SV-38315r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the /etc/hosts file to 0644 or less permissive.
# chmod 0644 /etc/hosts
V-22326 No Change
Findings ID: GEN001369 Rule ID: SV-38286r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/hosts
V-22327 No Change
Findings ID: GEN001371 Rule ID: SV-38316r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the /etc/nsswitch.conf file to root.
# chown root /etc/nsswitch.conf
V-22328 No Change
Findings ID: GEN001372 Rule ID: SV-38317r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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

Procedure:
# chgrp root /etc/nsswitch.conf
V-22329 No Change
Findings ID: GEN001373 Rule ID: SV-38319r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive.
# chmod 0644 /etc/nsswitch.conf
V-22330 No Change
Findings ID: GEN001374 Rule ID: SV-38320r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/nsswitch.conf
V-22332 No Change
Findings ID: GEN001378 Rule ID: SV-38335r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the /etc/passwd file to root.
# chown root /etc/passwd
V-22333 No Change
Findings ID: GEN001379 Rule ID: SV-38336r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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

Procedure:
# chgrp root /etc/passwd
V-22334 No Change
Findings ID: GEN001390 Rule ID: SV-38321r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/passwd
V-22335 No Change
Findings ID: GEN001391 Rule ID: SV-38337r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the /etc/group file to bin.
# chown bin /etc/group
V-22336 No Change
Findings ID: GEN001392 Rule ID: SV-38338r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the /etc/group file.

Procedure:
# chgrp root /etc/group
V-22337 No Change
Findings ID: GEN001393 Rule ID: SV-38339r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the /etc/group file to 0444 or less permissive.
# chmod 0444 /etc/group
V-22338 No Change
Findings ID: GEN001394 Rule ID: SV-38322r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the /etc/group file.
# chacl -z /etc/group
V-22339 No Change
Findings ID: GEN001410 Rule ID: SV-38340r2_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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
V-22340 No Change
Findings ID: GEN001430 Rule ID: SV-26441r2_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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
V-22347 No Change
Findings ID: GEN001470 Rule ID: SV-38323r2_rule Severity: medium CCI: CCI-000201

Discussion

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

Checks

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.

Fix

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
V-22348 No Change
Findings ID: GEN001475 Rule ID: SV-38341r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Edit /etc/group and change the password field to include an asterisk (*) as the first character to lock the group password.
V-22350 No Change
Findings ID: GEN001490 Rule ID: SV-38324r1_rule Severity: low CCI: CCI-000225

Discussion

Excessive permissions on home directories allow unauthorized access to user files.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [user home directory with extended ACL]
V-22351 No Change
Findings ID: GEN001550 Rule ID: SV-35145r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 ~<username> | xargs ls -ldn | tr '\011' ' ' | tr -s ' ' | awk '{print $4, $NF}'

Obtain the list of GIDs associated with the user's account.
# id <username>
OR
# id -G <username>
OR
# cat /etc/group | grep <username>

Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.

Fix

Change the group of a file not group-owned by a group of which the home directory's owner is a member.
# chgrp [<username>'s primary group] [file with bad group ownership]
V-22352 No Change
Findings ID: GEN001570 Rule ID: SV-38325r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions allow unauthorized access to user files.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [user file with extended ACL]
V-22353 No Change
Findings ID: GEN001590 Rule ID: SV-38342r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [run control script with extended ACL]
V-22354 Updated
Findings ID: GEN001605 Rule ID: SV-38343r13_rule Severity: medium CCI: CCI-000366

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, or a single period, this is interpreted as the current working directory.. Paths starting with a slash (/) are absolute paths.
System AdministratorECSC-1

Checks

Verify the run control scripts library search paths do not contain references to the current working directory or other relative paths in any script where the following library PATH variable(s) occursthat 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 (/) this is a relative path, and, or has not been documented with the ISSO, this is a finding.

Fix

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.
V-22355 Updated
Findings ID: GEN001610 Rule ID: SV-38344r13_rule Severity: medium CCI: CCI-000366

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 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.System AdministratorECSC-1

Checks

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 (/) this is a relative path, and, or has not been documented with the ISSO, this is a finding.

Fix

Edit the run control script and remove any relative or empty path entryentries from the library preload variable. s that have not been documented with the ISSO.

Edit the run control script and remove any empty entry that is defined.
V-22356 No Change
Findings ID: GEN001730 Rule ID: SV-38345r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [global initialization file with extended ACL]
V-22357 No Change
Findings ID: GEN001810 Rule ID: SV-38346r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [skeleton file with extended ACL]
V-22358 No Change
Findings ID: GEN001830 Rule ID: SV-38347r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the group owner of the skeleton file to root, bin, sys, or other.

# chgrp <group> /etc/skel/<skeleton file>
V-22359 Updated
Findings ID: GEN001845 Rule ID: SV-38348r13_rule Severity: medium CCI: CCI-000366

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, or two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.System AdministratorECSC-1

Checks

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 (/) this is a relative path, and, or has not been documented with the ISSO, this is a finding.

Fix

Edit the global initialization file and remove the relative path entry from the library search path variable. ies 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.
V-22360 Updated
Findings ID: GEN001850 Rule ID: SV-38349r13_rule Severity: medium CCI: CCI-000366

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 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.System AdministratorECSC-1

Checks

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 (/) this is a relative path, and, or has not been documented with the ISSO, this is a finding.

Fix

Edit the global initialization file and remove the relative path entry from the library preload list variable. s 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.
V-22361 No Change
Findings ID: GEN001870 Rule ID: SV-34926r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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]
V-22362 No Change
Findings ID: GEN001890 Rule ID: SV-38350r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [local initialization file with extended ACL]
V-22363 Updated
Findings ID: GEN001901 Rule ID: SV-38351r13_rule Severity: medium CCI: CCI-000366

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, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.System AdministratorECSC-1

Checks

Verify that any PATH variable contained in a user's local initialization files uses only absoluteuthorized 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.

An empty entry is defined byIf there is an empty entry, such as a leading/ or trailing colon, or two consecutive colons.

A relative path is defined as
, this is a finding.

If
an entry beginnings with a character other than a slash (/).

If an empty or relative path is defined in the PATH variable
, or has not been documented with the ISSO, this is a finding.

Fix

Edit the user's local initialization file(s) and remove any relative/empty path entry from the library search 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 loc l initlalizationifile(s) anr remova any empty eryry th tsis defened rorht e
LIBRARY_PATHP and/or nSHLIB_PATHL variable(s). r
V-22364 Updated
Findings ID: GEN001902 Rule ID: SV-34928r13_rule Severity: medium CCI: CCI-000366

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 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.System AdministratorECSC-1

Checks

Verify local initialization files have library preload list path containing only absoluteuthorized 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.

An empty entry is defined byIf there is an empty entry, such as a leading/ or trailing colon, or two consecutive colons.

A relative path is defined as
, this is a finding.

If
an entry beginnings with a character other than a slash (/).

If an empty or relative path is defined in the LD_PRELOAD variable
, or has not been documented with the ISSO, this is a finding.

Fix

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.
V-22365 No Change
Findings ID: GEN002210 Rule ID: SV-38352r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the shell to root, bin, sys, or other.


Procedure:
# chgrp root <shell>
V-22366 No Change
Findings ID: GEN002230 Rule ID: SV-38353r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z [shell]
V-22367 No Change
Findings ID: GEN002330 Rule ID: SV-38354r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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 <class ID from the above command output>

Determine the device file mode.
# ls -lL <device special file>

If the permissions include a "+" the file has an extended ACL, this is a finding.

Fix

Remove the optional ACL from the file.
# chacl -z [device file]
V-22368 No Change
Findings ID: GEN002430 Rule ID: SV-29568r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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

Fix

Edit /etc/fstab and add the nodevs mount option to all entries for NFS file systems.
V-22369 No Change
Findings ID: GEN002710 Rule ID: SV-38355r2_rule Severity: medium CCI: CCI-000163

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.System AdministratorECTP-1

Checks

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 <audit directory>
# ls -lLa <audit file>

If any audit log directory/file permissions include a “+”, this is a finding.

Fix

As root, remove the ACL.
# chacl -z <audit directory>
# chacl -z <audit file>
V-22370 No Change
Findings ID: GEN002715 Rule ID: SV-26506r2_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

As root, change the file ownership.
# chown root <audit_tool_filename>
V-22371 No Change
Findings ID: GEN002716 Rule ID: SV-26509r2_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

As root, change the file group ownership.
# chgrp root <audit_tool_filename>
V-22372 No Change
Findings ID: GEN002717 Rule ID: SV-26512r2_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

As root, change the file permissions.
# chmod 0750 <audit tool executable>
V-22373 No Change
Findings ID: GEN002718 Rule ID: SV-26516r2_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

As root, change the file permissions.
# chacl -z <audit_tool_filename>
V-22374 No Change
Findings ID: GEN002719 Rule ID: SV-38356r1_rule Severity: low CCI: CCI-000139

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.
System AdministratorECAT-1

Checks

"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 <file>" option (at a minimum), this is a finding.

Fix

Configure the /sbin/init.d/auditing file to invoke audomon with (at a minimum) the "-o <file>" option.

Then restart auditing:
# /sbin/init.d/auditing stop
# /sbin/init.d/auditing start
V-22375 No Change
Findings ID: GEN002730 Rule ID: SV-29653r1_rule Severity: medium CCI: CCI-000143

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.System AdministratorECSC-1

Checks

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.

Fix

Edit the AUDOMON_ARGS parameter of the /etc/rc.config.d/auditing file to include -w 90.
V-22376 No Change
Findings ID: GEN002750 Rule ID: SV-29670r1_rule Severity: low CCI: CCI-000018

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.System AdministratorECAT-1

Checks

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.

Fix

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.
V-22377 No Change
Findings ID: GEN002751 Rule ID: SV-29675r1_rule Severity: low CCI: CCI-001403

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.System AdministratorECAT-1

Checks

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.

Fix

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.
V-22378 No Change
Findings ID: GEN002752 Rule ID: SV-29676r1_rule Severity: low CCI: CCI-001404

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.System AdministratorECAT-1

Checks

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.

Fix

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.
V-22382 No Change
Findings ID: GEN002753 Rule ID: SV-29679r1_rule Severity: low CCI: CCI-001405

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.System AdministratorECAT-1

Checks

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.

Fix

Edit /etc/rc.config.d/auditing and add -e admin to the end of the AUDEVENT_ARGS1 parameter.
V-22383 Updated
Findings ID: GEN002825 Rule ID: SV-26525r2_rule Severity: medium CCI: CCI-000126

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.System AdministratorECAR-1

Checks

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.

Fix

Edit /etc/audit/audit_site.conf and add the admin, modload, moduload, and modpath syscalls to the list of events to be audited.
V-22384 No Change
Findings ID: GEN002990 Rule ID: SV-38357r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/cron.allow
V-22385 No Change
Findings ID: GEN003050 Rule ID: SV-38358r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the group owner of the crontab file.
# chgrp root <crontab file>
V-22386 No Change
Findings ID: GEN003090 Rule ID: SV-38359r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <crontab file>
V-22387 No Change
Findings ID: GEN003110 Rule ID: SV-38360r1_rule Severity: medium CCI: CCI-000225

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.

System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the directory.
# chacl -z <crontab directory>
V-22388 No Change
Findings ID: GEN003190 Rule ID: SV-38361r1_rule Severity: medium CCI: CCI-000225

Discussion

Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.System AdministratorECLP-1, ECTP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/adm/cron/log
V-22389 No Change
Findings ID: GEN003210 Rule ID: SV-38362r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/adm/cron/cron.deny
V-22390 No Change
Findings ID: GEN003245 Rule ID: SV-38363r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/adm/cron/at.allow
V-22391 No Change
Findings ID: GEN003250 Rule ID: SV-34991r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the file.

# chgrp root /var/adm/cron/cron.allow
V-22392 No Change
Findings ID: GEN003252 Rule ID: SV-26557r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the file.
# chmod 0600 /var/adm/cron/at.deny
V-22393 No Change
Findings ID: GEN003255 Rule ID: SV-26561r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/adm/cron/at.deny
V-22394 No Change
Findings ID: GEN003270 Rule ID: SV-34993r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the cron.deny file.

# chgrp root /var/adm/cron/cron.deny
V-22395 No Change
Findings ID: GEN003410 Rule ID: SV-38364r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the directory.
# chacl -z /var/spool/cron/atjobs
V-22396 No Change
Findings ID: GEN003430 Rule ID: SV-34995r1_rule Severity: medium CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the file to root, bin, sys or other.

# chgrp root /var/spool/cron/atjobs
V-22397 No Change
Findings ID: GEN003470 Rule ID: SV-26571r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.


Fix

Change the group ownership of the file.
# chgrp root /usr/lib/cron/at.allow
V-22398 No Change
Findings ID: GEN003490 Rule ID: SV-26574r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the at.deny file to root,
bin, sys, or other.
# chgrp root /usr/lib/cron/at.deny
V-22399 No Change
Findings ID: GEN003501 Rule ID: SV-26577r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

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
V-22400 No Change
Findings ID: GEN003502 Rule ID: SV-26580r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <core file directory>, substitute the global core file pattern from the above command into the next command.
# ls -lLd `dirname <global core file pattern>`

If the directory is not owned by root, this is a finding.

Fix

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 <core file directory>

V-22401 No Change
Findings ID: GEN003503 Rule ID: SV-26583r1_rule Severity: low CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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 <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.

Fix

Change the group-owner of the core file directory.
# chgrp root <core file directory>
V-22402 No Change
Findings ID: GEN003504 Rule ID: SV-26598r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <core file directory>
# ls -lLd `dirname <core dump directory>`

If the core dump directory is more permissive than 0700, this is a finding.

Fix

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 <core file directory>
V-22403 No Change
Findings ID: GEN003505 Rule ID: SV-26603r1_rule Severity: low CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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 <core file directory>
# ls -lLd `dirname <core dump directory>`

If the permissions include a "+" the file has an extended ACL, this is a finding.

Fix

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 <core file directory>
V-22404 No Change
Findings ID: GEN003510 Rule ID: SV-26607r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Disable crash dumps.
# crashconf -e all

Edit /etc/rc.config.d/crashconf and set CRASH_EXCLUDED_PAGES="all".
V-22405 No Change
Findings ID: GEN003521 Rule ID: SV-26611r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the kernel core dump data directory.
# chgrp root /var/adm/crash
V-22406 No Change
Findings ID: GEN003522 Rule ID: SV-26615r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the kernel core dump data directory.
# chmod 0700 /var/adm/crash
V-22407 No Change
Findings ID: GEN003523 Rule ID: SV-26619r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /var/adm/crash
V-22409 No Change
Findings ID: GEN003602 Rule ID: SV-35022r1_rule Severity: low CCI: CCI-001551

Discussion

The processing of ICMP timestamp requests increases the attack surface of the system.System AdministratorECSC-1

Checks

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.

Fix

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
V-22410 No Change
Findings ID: GEN003603 Rule ID: SV-35025r1_rule Severity: medium CCI: CCI-001551

Discussion

Responding to broadcast Internet Control Message Protocol (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.System AdministratorECSC-1

Checks

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.

Fix

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
V-22411 No Change
Findings ID: GEN003604 Rule ID: SV-35026r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22412 No Change
Findings ID: GEN003605 Rule ID: SV-35028r1_rule Severity: medium CCI: CCI-001551

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.
System AdministratorECSC-1

Checks

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.

Fix

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
V-22413 Updated
Findings ID: GEN003606 Rule ID: SV-29707r12_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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

V-22414 Updated
Findings ID: GEN003607 Rule ID: SV-29713r12_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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

V-22415 No Change
Findings ID: GEN003608 Rule ID: SV-29602r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

Check the system for non-local published ARP entries.
# arp -a[n]

If any entries are listed as published, this is a finding.

Fix

Remove any non-local published ARP entries.
# arp -d <host>

Check system initialization scripts for any commands configuring published ARP entries (such as "arp -s <host> <addr> pub") and remove them.

# grep -n "arp \-s" /sbin/init.d/*
V-22416 No Change
Findings ID: GEN003609 Rule ID: SV-29719r1_rule Severity: medium CCI: CCI-001503

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22417 No Change
Findings ID: GEN003610 Rule ID: SV-35038r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22418 No Change
Findings ID: GEN003611 Rule ID: SV-29772r1_rule Severity: low CCI: CCI-000126

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.System AdministratorECAT-1

Checks

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.

Fix

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

V-22422 No Change
Findings ID: GEN003650 Rule ID: SV-26639r1_rule Severity: low CCI: CCI-000553

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.System AdministratorECSC-1

Checks

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.

Fix

Convert any local HFS filesystems to use journaling, ensuring file system consistency.
V-22423 No Change
Findings ID: GEN003730 Rule ID: SV-35069r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <PATH>/xinetd.conf
# ls -lL <includedir files from previous command>

If a file or directory is not group-owned by root, bin, sys, or other this is a finding.

Fix

Change the group ownership of the inetd configuration file.
# chgrp root <file or directory>
V-22424 No Change
Findings ID: GEN003745 Rule ID: SV-35073r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <file>
V-22425 No Change
Findings ID: GEN003750 Rule ID: SV-35074r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check the (x)inetd.conf file for any included directories.

# find / -type f -name xinetd.conf | xargs -n1 ls -lL
# cat <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 <included directories>

If any of the included directories has a mode more permissive than 0755, this is a finding.

Fix

Change the mode of included xinetd configuration
directories to 0755.
# chmod 0755 <directory>
V-22426 No Change
Findings ID: GEN003755 Rule ID: SV-29790r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Check xinetd configuration directories for extended ACLs.

Determine any xinetd configuration directories.
# find / -type f -name xinetd.conf | xargs -n1 ls -lL
# cat <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 <included directories>

If any of these directories contain a "+" in the permissions field,
the directory has an extended ACL and this is a finding.

Fix

Remove the extended ACL from the xinetd configuration directories.
V-22427 No Change
Findings ID: GEN003770 Rule ID: SV-35080r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the services file.

Procedure:
# chgrp root /etc/services
V-22428 No Change
Findings ID: GEN003790 Rule ID: SV-38366r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/services
V-22429 No Change
Findings ID: GEN003810 Rule ID: SV-26665r1_rule Severity: medium CCI: CCI-001436

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).System AdministratorECSC-1

Checks

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.

Fix

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
V-22430 No Change
Findings ID: GEN003815 Rule ID: SV-35088r1_rule Severity: medium CCI: CCI-000305

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).System AdministratorECSC-1

Checks

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.

Fix

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 <daemon path/filename from the above command>
V-22431 No Change
Findings ID: GEN003825 Rule ID: SV-35129r1_rule Severity: medium CCI: CCI-000305

Discussion

The remshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorDCPP-1

Checks

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.

Fix

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
V-22432 No Change
Findings ID: GEN003830 Rule ID: SV-29697r1_rule Severity: medium CCI: CCI-000068

Discussion

The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorDCPP-1

Checks

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.

Fix

Edit /etc/inetd.conf and comment out the rlogind service. Restart the inetd service via the following command:
# inetd -c
V-22433 No Change
Findings ID: GEN003835 Rule ID: SV-35131r1_rule Severity: medium CCI: CCI-000305

Discussion

The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorDCPP-1

Checks

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.

Fix

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/<new_binary_name>
V-22434 No Change
Findings ID: GEN003845 Rule ID: SV-35133r1_rule Severity: medium CCI: CCI-000305

Discussion

The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorECSC-1

Checks

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.

Fix

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/<new_binary_name>
V-22435 No Change
Findings ID: GEN003930 Rule ID: SV-35144r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the hosts.lpd (or equivalent) file(s).
# chgrp root /etc/hosts.lpd
V-22436 No Change
Findings ID: GEN003950 Rule ID: SV-35150r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <print service configuration file>
V-22437 No Change
Findings ID: GEN004010 Rule ID: SV-38370r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the traceroute file.
# chacl -z /usr/contrib/bin/traceroute
V-22438 No Change
Findings ID: GEN004370 Rule ID: SV-35163r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group-owner of the /etc/mail/aliases file.
# chgrp root /etc/mail/aliases
V-22439 No Change
Findings ID: GEN004390 Rule ID: SV-38372r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/mail/aliases
V-22440 No Change
Findings ID: GEN004410 Rule ID: SV-38373r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <file referenced from aliases>

If the group owner of any file is not root, bin, sys or other, this is a finding.

Fix

Change the group ownership of the file referenced from /etc/mail/aliases.
# chgrp root <file referenced from aliases>
V-22441 No Change
Findings ID: GEN004430 Rule ID: SV-38369r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

Examine the contents of the /etc/mail/aliases file.
For each file referenced, check the permissions of the file.
# ls -lL <file referenced from aliases>
If the permissions include a "+", the file has an extended ACL, this is a finding.

Fix

Remove the optional ACL from the file.
# chacl -z <file referenced from aliases>
V-22442 No Change
Findings ID: GEN004510 Rule ID: SV-38368r1_rule Severity: medium CCI: CCI-000225

Discussion

If the SMTP service log file has an extended ACL, unauthorized users may be allowed to access or to modify the log file.System AdministratorECLP-1

Checks

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 <log file>

If the permissions include a "+", the file has an extended ACL, this is a finding.

Fix

Remove the optional ACL from the log file.
# chacl -z <log file>
V-22444 No Change
Findings ID: GEN004930 Rule ID: SV-35104r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the ftpusers file.
# chgrp root /etc/ftpd/ftpusers
V-22445 No Change
Findings ID: GEN004950 Rule ID: SV-38367r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/ftpd/ftpusers
V-22446 No Change
Findings ID: GEN005190 Rule ID: SV-35167r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 /<userhomedirectory>/.Xauthority

If the permissions include a "+", the file has an extended ACL, this is a finding.

Fix

Remove the optional ACL from the file.
# chacl -z /<userhomedirectory>/.Xauthority
V-22447 No Change
Findings ID: GEN005305 Rule ID: SV-26716r1_rule Severity: medium CCI: CCI-001435

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.System AdministratorDCPP-1

Checks

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.

Fix

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.
V-22450 No Change
Findings ID: GEN005350 Rule ID: SV-38374r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <mib file>
V-22451 No Change
Findings ID: GEN005365 Rule ID: SV-26734r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the SNMP configuration file.
# chgrp root /etc/SnmpAgent.d/snmpd.conf
V-22452 No Change
Findings ID: GEN005375 Rule ID: SV-26738r1_rule Severity: medium CCI: CCI-000225

Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/SnmpAgent.d/snmpd.conf
V-22453 No Change
Findings ID: GEN005390 Rule ID: SV-38376r1_rule Severity: medium CCI: CCI-000225

Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.System AdministratorECLP-1

Checks

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.

Fix

Change the permissions of the syslog configuration file.
# chmod 0640 /etc/syslog.conf
V-22454 No Change
Findings ID: GEN005395 Rule ID: SV-38375r1_rule Severity: medium CCI: CCI-000225

Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/syslog.conf
V-22455 No Change
Findings ID: GEN005450 Rule ID: SV-35189r1_rule Severity: medium CCI: CCI-000136

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.System AdministratorECAT-1

Checks

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.

Fix

Edit the syslog configuration file and add an appropriate remote syslog server.
V-22456 No Change
Findings ID: GEN005501 Rule ID: SV-35212r1_rule Severity: medium CCI: CCI-001436

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.System AdministratorDCPP-1

Checks

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.

Fix

Edit the client configuration file Protocol entry to look like:

Protocol 2
V-22457 No Change
Findings ID: GEN005504 Rule ID: SV-35214r1_rule Severity: medium CCI: CCI-000069

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.trueSystem AdministratorECSC-1

Checks

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)=<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 <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.

Fix

Edit the configuration file to specify listening for network addresses designated for management traffic only, or remove the ListenAddress line entry.
V-22458 No Change
Findings ID: GEN005505 Rule ID: SV-35216r1_rule Severity: medium CCI: CCI-000068

Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.System AdministratorDCNR-1

Checks

Check the SSH daemon configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Ciphers
arg(s)=<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 <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.

Fix

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.
V-22459 No Change
Findings ID: GEN005506 Rule ID: SV-35218r1_rule Severity: medium CCI: CCI-000366

Discussion

The CBC mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plaintext attacks and must not be used.System AdministratorECSC-1

Checks

Check the SSH daemon configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Ciphers
arg(s)=<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 <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.

Fix

Edit the configuration file and remove any ciphers other than those with the "aes" prefix and the "-ctr" suffix.
V-22460 Updated
Findings ID: GEN005507 Rule ID: SV-35220r12_rule Severity: medium CCI: CCI-001453

Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.System AdministratorDCNR-1

Checks

Check the SSH daemon configuration for allowed MACs. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=MACs
arg(s)=hmac-sha1

Default values include: "hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-ripemd168"

Note: When the default "arg" value exactly matches the required "arg" value (see above), the <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 "macs"

If the returned configuration MACs list contains any MAC other than hmac-sha1
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.

Fix

Edit the SSH daemon configuration and remove any MACs other than hmac-sha1that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
V-22461 No Change
Findings ID: GEN005510 Rule ID: SV-35188r1_rule Severity: medium CCI: CCI-000068

Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.System AdministratorDCNR-1

Checks

Check the SSH client configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Ciphers
arg(s)=<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 <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.

Fix

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.
V-22462 No Change
Findings ID: GEN005511 Rule ID: SV-35193r1_rule Severity: medium CCI: CCI-000366

Discussion

The CBC mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plaintext attacks and must not be used.System AdministratorECSC-1

Checks

Check the SSH client configuration for allowed ciphers. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Ciphers
arg(s)=<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 <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.

Fix

Edit the configuration file and remove any ciphers other than those with the "aes" prefix and the "-ctr" suffix.
V-22463 Updated
Findings ID: GEN005512 Rule ID: SV-35210r23_rule Severity: medium CCI: CCI-001453

Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.System AdministratorDCNR-1

Checks

Check the SSH client configuration for allowed MACs. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=MACs
arg(s)=hmac-sha2-512,hmac-sha2-256,hmac-sha1

Default values include: "hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-ripemd168"

Note: When the default "arg" value exactly matches the required "arg" value (see above), the <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 "macs"

If the MACs list contains any MAC other than hmac-sha2-512, hmac-sha2-256, or hmac-sha1
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.

Fix

Edit the SSH client configuration and remove any MACs other than hmac-sha1that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
V-22470 No Change
Findings ID: GEN005521 Rule ID: SV-35052r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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)=<site specific>

Default values for users/groups include: "<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 <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.

Fix

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
V-22471 No Change
Findings ID: GEN005522 Rule ID: SV-35060r1_rule Severity: medium CCI: CCI-000225

Discussion

If a public host key file is modified by an unauthorized user, the SSH service may be compromised.System AdministratorECLP-1

Checks

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.

Fix

Change the permissions for the SSH public host key files.
# chmod 0644 /opt/ssh/etc/*key.pub
V-22472 No Change
Findings ID: GEN005523 Rule ID: SV-35063r1_rule Severity: medium CCI: CCI-000225

Discussion

If an unauthorized user obtains the private SSH host key file, the host could be impersonated.System AdministratorECLP-1

Checks

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.

Fix

Change the permissions for the SSH private host key files.
# chmod 0600 /opt/ssh/etc/*key
V-22473 No Change
Findings ID: GEN005524 Rule ID: SV-35066r1_rule Severity: low CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and delete the keyword entry or modify the entry as follows:

GSSAPIAuthentication no
V-22474 No Change
Findings ID: GEN005525 Rule ID: SV-35068r1_rule Severity: low CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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 <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.

Fix

Edit the configuration file and set/add (if necessary) the GSSAPIAuthentication directive set to no.
V-22475 No Change
Findings ID: GEN005526 Rule ID: SV-35075r1_rule Severity: low CCI: CCI-000366

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.
System AdministratorECSC-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and set (add if necessary) a KerberosAuthentication directive set to no.
V-22482 No Change
Findings ID: GEN005533 Rule ID: SV-35135r1_rule Severity: low CCI: CCI-000054

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.trueSystem AdministratorECSC-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and add or edit the MaxSessions setting value to 1.
V-22485 No Change
Findings ID: GEN005536 Rule ID: SV-35137r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and add or edit the StrictModes setting value to yes.
V-22486 No Change
Findings ID: GEN005537 Rule ID: SV-35139r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and add or edit the UsePrivilegeSeparation setting value to yes.
V-22487 No Change
Findings ID: GEN005538 Rule ID: SV-35142r1_rule Severity: medium CCI: CCI-000366

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..System AdministratorECSC-1

Checks

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 <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).

Fix

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.
V-22488 No Change
Findings ID: GEN005539 Rule ID: SV-35146r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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 <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.

Fix

Edit the SSH daemon configuration and add or edit the Compression setting value to no or delayed.
V-22489 No Change
Findings ID: GEN005550 Rule ID: SV-35152r1_rule Severity: medium CCI: CCI-000048

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.System AdministratorECWM-1

Checks

Check the SSH daemon configuration. Note that keywords are case-insensitive and arguments (args) are case-sensitive.

keyword=Banner
arg(s)=<Department of Defense (DoD) login banner file name>

Default values include: <no keyword or banner file name entry>

Note: When the default "arg" value exactly matches the required "arg" value (see above), the <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.

Fix

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"
V-22490 No Change
Findings ID: GEN005570 Rule ID: SV-26805r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Add a default route for IPv6.
Edit /etc/rc.config.d/netconf-ipv6
Add an IPV6_GATEWAY[0]="<gateway>"
Restart the system to apply the new default gateway setting.
V-22491 No Change
Findings ID: GEN005610 Rule ID: SV-26811r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

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.

V-22492 No Change
Findings ID: GEN005750 Rule ID: SV-35183r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the NFS share configuration file.

# chgrp root /etc/dfs/dfstab
V-22493 No Change
Findings ID: GEN005770 Rule ID: SV-26817r1_rule Severity: low CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/dfs/dfstab
V-22496 Updated
Findings ID: GEN005810 Rule ID: SV-35196r12_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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 <exported directory>

If the directory is not group-owned by root, bin, sys, or other, this is a finding.

Fix

Change the group owner of the share directory.
# chgrp
(root|bin|sys|other) <exported directory>
V-22497 No Change
Findings ID: GEN006150 Rule ID: SV-35223r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions could endanger the security of the Samba configuration file and, ultimately, the system and network.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <path>/smb.conf
V-22498 No Change
Findings ID: GEN006210 Rule ID: SV-35105r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <path>/smbpasswd
V-22499 No Change
Findings ID: GEN006225 Rule ID: SV-35109r1_rule Severity: medium CCI: CCI-000366

Discussion

Samba share authentication does not provide for individual user identification and must not be used.System AdministratorECSC-1

Checks

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.

Fix

Edit the /etc/smb.conf file and change the security setting to user or another valid setting other than share, for example:

security = user
V-22500 No Change
Findings ID: GEN006230 Rule ID: SV-35111r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

Edit the /etc/opt/samba/smb.conf file and change the encrypt passwords setting to yes, for example:

encrypt passwords = yes
V-22501 No Change
Findings ID: GEN006235 Rule ID: SV-35112r1_rule Severity: medium CCI: CCI-000366

Discussion

Guest access to shares permits anonymous access and is not permitted.System AdministratorECSC-1

Checks

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.

Fix

Edit the /etc/opt/samba/smb.conf file and change the guest ok setting to no, for example:

guest ok = no
V-22502 No Change
Findings ID: GEN006270 Rule ID: SV-35115r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.

# chacl -z <path>/hosts.nntp
V-22503 No Change
Findings ID: GEN006290 Rule ID: SV-35117r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.

# chacl -z <path>/hosts.nntp.nolimit
V-22504 No Change
Findings ID: GEN006310 Rule ID: SV-35119r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z <path>/nnrp.access
V-22505 No Change
Findings ID: GEN006330 Rule ID: SV-35121r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.

# chacl -z <path>/passwd.nntp
V-22506 No Change
Findings ID: GEN006565 Rule ID: SV-35166r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECAT-1

Checks

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

Fix

Add a job to the root crontab invoking the system package management tool to verify the integrity of installed packages.
V-22507 No Change
Findings ID: GEN006570 Rule ID: SV-35185r1_rule Severity: low CCI: CCI-001297

Discussion

ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.System AdministratorECAT-1

Checks

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 <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.

Fix

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.
V-22508 No Change
Findings ID: GEN006571 Rule ID: SV-35190r1_rule Severity: low CCI: CCI-001297

Discussion

Extended attributes in file systems are used to contain arbitrary data and file metadata with possible security implications.System AdministratorECAT-1

Checks

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 <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.

Fix

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.
V-22509 No Change
Findings ID: GEN006575 Rule ID: SV-35194r1_rule Severity: low CCI: CCI-001297

Discussion

File integrity tools often use cryptographic hashes for verifying file contents have not been altered. These hashes must be FIPS 140-2 approved.System AdministratorECSC-1

Checks

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 <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.

Fix

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.
V-22511 No Change
Findings ID: GEN007020 Rule ID: SV-29988r1_rule Severity: medium CCI: CCI-000382

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.System AdministratorECSC-1

Checks

Check the system for an SCTP installation:
# swlist | grep -i SCTP

If SCTP is installed, this is a finding.

Fix

Configure the system to prevent the dynamic loading of the SCTP protocol handler.
Preview the removal of SCTP:
# swremove -p <SCTP software product>

Remove:
# swremove <SCTP software product>
V-22544 No Change
Findings ID: GEN007760 Rule ID: SV-29601r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

Remove non-local published NDP entries from the system.
# ndp -d <host>

Check system startup scripts for commands publishing NDP entries (such as "ndp -s <int> <host> <hwaddr> pub") and remove them.
V-22547 No Change
Findings ID: GEN007820 Rule ID: SV-26928r1_rule Severity: medium CCI: CCI-001551

Discussion

IP tunneling mechanisms can be used to bypass network filtering.System AdministratorECSC-1

Checks

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.

Fix

Edit the /etc/rc.config.d/netconf* files and remove the tunnel configurations.
V-22548 No Change
Findings ID: GEN007840 Rule ID: SV-26932r1_rule Severity: medium CCI: CCI-000366

Discussion

DHCP allows for the unauthenticated configuration of network parameters on the system by exchanging information with a DHCP server.System AdministratorECSC-1

Checks

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.

Fix

Disable the DHCP client configuration.
Edit /etc/rc.config.d/netconf and set the DHCP_ENABLE setting to 0.
V-22550 No Change
Findings ID: GEN007860 Rule ID: SV-35241r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22551 No Change
Findings ID: GEN007880 Rule ID: SV-26939r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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.
V-22552 No Change
Findings ID: GEN007900 Rule ID: SV-42274r1_rule Severity: medium CCI: CCI-001551

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22553 No Change
Findings ID: GEN007920 Rule ID: SV-38378r1_rule Severity: medium CCI: CCI-001551

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. System AdministratorECSC-1

Checks

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.

Fix

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
V-22555 No Change
Findings ID: GEN007980 Rule ID: SV-41996r1_rule Severity: medium CCI: CCI-001453

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.System AdministratorDCNR-1

Checks

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 <Directory Server nickname> -b <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.

Fix

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
V-22557 No Change
Findings ID: GEN008020 Rule ID: SV-38381r1_rule Severity: medium CCI: CCI-000185

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.System AdministratorDCNR-1

Checks

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.

Fix

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
V-22558 No Change
Findings ID: GEN008040 Rule ID: SV-38382r1_rule Severity: medium CCI: CCI-000185

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.System AdministratorDCNR-1

Checks

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.

Fix

Edit /etc/ldap.conf and add or set the tls_crlcheck setting to all.
V-22559 No Change
Findings ID: GEN008060 Rule ID: SV-38383r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the permissions of the file.
# chmod 0644 <LDAP configuration file>
V-22560 No Change
Findings ID: GEN008080 Rule ID: SV-38384r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the owner of the file.
# chown root <LDAP configuration file>
V-22561 No Change
Findings ID: GEN008100 Rule ID: SV-38385r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the file to root, bin, sys, or other.
# chgrp root <LDAP configuration file>
V-22562 No Change
Findings ID: GEN008120 Rule ID: SV-29569r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the file.
# chacl -z <LDAP configuration file>
V-22563 No Change
Findings ID: GEN008140 Rule ID: SV-38386r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the ownership of the file and/or directory.
# chown root <directory>
# chown root <directory>/<file>
V-22564 No Change
Findings ID: GEN008160 Rule ID: SV-38387r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of LDAP client certificate directory/files to root, bin, sys, or other.
# chgrp root <directory>
# chgrp root <directory>/<file>
V-22565 No Change
Findings ID: GEN008180 Rule ID: SV-38388r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the file and/or directory.
# chmod 0755 <directory>
# chmod 0644 <directory>/<file>
V-22566 No Change
Findings ID: GEN008200 Rule ID: SV-38389r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the certificate file.
# chacl -z <directory>
# chacl -z <directory>/<file>
V-22567 No Change
Findings ID: GEN008220 Rule ID: SV-38390r1_rule Severity: medium CCI: CCI-000225

Discussion

The NSS LDAP service provides user mappings which are a vital component of system security. Its configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

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.

Fix

Change the ownership of the file.
# chown root <certfile>
V-22568 No Change
Findings ID: GEN008240 Rule ID: SV-38391r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group ownership of the LDAP client certificate file.
# chgrp root <cert file>
V-22569 No Change
Findings ID: GEN008260 Rule ID: SV-38392r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the permissions of the LDAP client certificate file.
# chmod 0644 <cert file>
V-22570 No Change
Findings ID: GEN008280 Rule ID: SV-38393r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the certificate file.
# chacl -z <certfile>
V-22571 No Change
Findings ID: GEN008300 Rule ID: SV-38394r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the ownership of the file.
# chown root <key file>
V-22572 No Change
Findings ID: GEN008320 Rule ID: SV-38395r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the LDAP client key file.
# chgrp root <key file>
V-22573 No Change
Findings ID: GEN008340 Rule ID: SV-38396r1_rule Severity: medium CCI: CCI-000225

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.
System AdministratorECLP-1

Checks

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.

Fix

Change the mode of the file.
# chmod 0600 <key file>
V-22574 No Change
Findings ID: GEN008360 Rule ID: SV-38397r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the extended ACL from the key file.
# chacl -z <key file>
V-22577 No Change
Findings ID: GEN008440 Rule ID: SV-38377r1_rule Severity: low CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22578 No Change
Findings ID: GEN008460 Rule ID: SV-38400r1_rule Severity: low CCI: CCI-000366

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.trueSystem AdministratorECSC-1

Checks

# 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.

Fix

Disable USB on the system. In doing so, remember the keyboard and mouse will no longer work.
V-22579 No Change
Findings ID: GEN008480 Rule ID: SV-38401r1_rule Severity: low CCI: CCI-000366

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.trueSystem AdministratorECSC-1

Checks

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.

Fix

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
V-22582 No Change
Findings ID: GEN008520 Rule ID: SV-38403r1_rule Severity: medium CCI: CCI-001118

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.System AdministratorECSC-1

Checks

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.

Fix

Set IPF_START=1 in /etc/rc.config.d/ipfconf.

Refresh/restart.
# /sbin/init.d/ipfboot start
V-22583 No Change
Findings ID: GEN008540 Rule ID: SV-26977r1_rule Severity: medium CCI: CCI-001109

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-22589 No Change
Findings ID: GEN008820 Rule ID: SV-38405r1_rule Severity: low CCI: CCI-001233

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.System AdministratorECSC-1

Checks

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.

Fix

Configure the system package management tool to not automatically obtain updates.
V-22591 No Change
Findings ID: GEN000000-HPUX0110 Rule ID: SV-26994r1_rule Severity: medium CCI: CCI-000225

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.System AdministratorECLP-1

Checks

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.

Fix

Remove the optional ACL from the file.
# chacl -z /etc/securetty
V-22665 No Change
Findings ID: GEN005590 Rule ID: SV-35164r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

Disable any routing protocol daemons.
V-22702 No Change
Findings ID: GEN002690 Rule ID: SV-38406r2_rule Severity: medium CCI: CCI-000162

Discussion

Sensitive system and user information could provide a malicious user with enough information to penetrate further into the system.System AdministratorECLP-1, ECTP-1

Checks

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 <audit directory>
# ls -lLa <audit file>

If any audit log directory/file is not group-owned by root, bin, sys, or other, this is a finding.

Fix

As root, change the group ownership.
# chgrp root <audit directory>
# chgrp root <audit file>
V-23732 No Change
Findings ID: GEN000410 Rule ID: SV-38407r1_rule Severity: medium CCI: CCI-000048

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.
System AdministratorECWM-1

Checks

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."

Fix

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."
V-23736 No Change
Findings ID: GEN003621 Rule ID: SV-35050r1_rule Severity: low CCI: CCI-001208

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.System AdministratorECSC-1

Checks

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.

Fix

Migrate the /var path onto a separate file system.
V-23738 No Change
Findings ID: GEN003623 Rule ID: SV-35054r1_rule Severity: low CCI: CCI-001208

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-23739 No Change
Findings ID: GEN003624 Rule ID: SV-35055r1_rule Severity: low CCI: CCI-001208

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.System AdministratorECSC-1

Checks

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.

Fix

Migrate the /tmp path onto a separate file system.
V-23741 No Change
Findings ID: GEN003601 Rule ID: SV-29690r1_rule Severity: medium CCI: CCI-000366

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.System AdministratorECSC-1

Checks

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.

Fix

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
V-23952 No Change
Findings ID: GEN004710 Rule ID: SV-38410r1_rule Severity: medium CCI: CCI-001305

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.System AdministratorECSC-1

Checks

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 </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 </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 </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.

Fix

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.
V-23953 No Change
Findings ID: GEN007960 Rule ID: SV-29540r1_rule Severity: medium CCI: CCI-000305

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.
System AdministratorECSC-1

Checks

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.

Fix

Remove the execute permissions from the ldd executable.
# chmod a-x /usr/ccs/bin/ldd
V-23972 No Change
Findings ID: GEN007950 Rule ID: SV-29786r1_rule Severity: medium CCI: CCI-000366

Discussion

Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.System AdministratorECSC-1

Checks

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 128

If a rule blocking inbound IPv6 ICMP echo-requests sent to the all-hosts multicast address does not exist, this is a finding.

Fix

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
V-24331 No Change
Findings ID: GEN000402 Rule ID: SV-38411r1_rule Severity: medium CCI: CCI-000048

Discussion

Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.

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, including thin clients.System AdministratorECWM-1

Checks

NOTE: This will virtually always require a manual review. Access the graphical desktop environment(s) provided by the system and attempt a login. 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.

"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."

Fix

Configure the system to display one of the DoD login banners (based on the character limitations imposed by the system) prior to, or as part of, the graphical desktop environment login process.

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."
V-24347 Updated
Findings ID: GEN009120 Rule ID: SV-38412r2_rule Severity: medium CCI: CCI-000768

Discussion

In accordance with CTO 07-015 PKI authentication is required. This provides stronger, two-factor authentication than using a username/password.

NOTE: The following are exempt from this; however, they must meet all password requirements and must be documented with the IAO:

- Stand-alone systems.
- Application Accounts.
- Students or unpaid employees (such as interns) who are not eligible to receive or not in receipt of a CAC, PIV, or ALT.
- Warfighters and support personnel located at operational tactical locations conducting wartime operations that are not “collocated” with RAPIDS workstations to issue CAC; are not eligible for CAC or do not have the capability to use ALT.
- Test systems that have an Interim Approval to Test (IATT) and provide protection via separate VPN, firewall or security measures preventing access to network and system components from outside the protection boundary documented in the IATT.
System Administrator
IAIA-1, IAIA-2

Checks

Example:
Reflection PKI Services Manager is a separate add-on providing X.509 certificate authentication services for the following Attachmate products: Reflection for Secure IT UNIX Server (7.1 or higher), and Reflection for Secure IT UNIX Client (7.1 or higher). The following HP-UX systems are supported by Reflection PKI Services Manager 1.0 or higher:
HP-UX 11i v3 (Itanium)
HP-UX 11i v2 (Itanium)
HP-UX 11i v2 (PA-RISC)
HP-UX 11i v1 (PA-RISC)

To determine if the system is capable of CAC authentication, ask the SA if the system uses the Reflection PKI Services Manager for the Attachmate product (or similar). If it is not, this is not applicable.

Additionally, ask the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.

Fix

Consult vendor and/or 3rd party documentation to determine the procedures necessary for configuring CAC authentication. Configure all accounts required by policy to use CAC authentication to use CAC authentication.
V-24357 No Change
Findings ID: GEN002870 Rule ID: SV-38413r1_rule Severity: low CCI: CCI-000136

Discussion

Audit records contain evidence that can be used in the investigation of compromised systems. To prevent this evidence from compromise, it must be sent to a separate system continuously. Methods for sending audit records include, but are not limited to, system audit tools used to send logs directly to another host or through the system's syslog service to another host.
System AdministratorECTB-1

Checks

The audit overflow monitor daemon (audomon) is spawned by /sbin/init.d/auditing as part of the init start-up process. The vendor (HP) recommends that a script be written to implement a long term strategy for data storage and pass it to the audomon daemon using the "-X <command>" option. <command> is executed each time audomon switches the audit trail. The means used to implement audit log transfer to a remote system will be site specific and therefore always require a manual review.

ASK the SA if audomon is configured per the vendor's (HP) guidance to implement a long term, remote data storage strategy.

Fix

The audit overflow monitor daemon (audomon) is spawned by /sbin/init.d/auditing as part of the init start-up process. Create a <command> script to implement the vendor-recommended, long term data storage strategy and pass it to the audomon daemon using the "-X <command>" option. The <command> must be executed each time audomon switches the audit trail.

A manual review of the <command> script is required.
V-24384 No Change
Findings ID: GEN008050 Rule ID: SV-38414r1_rule Severity: medium CCI: CCI-000196

Discussion

The authentication of automated LDAP connections between systems must not use passwords since more secure methods are available, such as PKI and Kerberos. Additionally, the storage of unencrypted passwords on the system is not permitted.System AdministratorIAIA-1, IAIA-2

Checks

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 the product is installed:
ls -lL /etc/opt/ldapux/acred /etc/opt/ldapux/pcred

The user credentials are stored in the pcred and acred files, including the password. While these credentials are not visible as plain text, the pcred and acred files are not encrypted. If either of the above unencrypted files exists, this is a finding.

Fix

Consult vendor documentation for the procedures for configuring LDAP for authentication and account information. Remove any passwords from unencrypted LDAP configuration files.
V-24386 No Change
Findings ID: GEN003850 Rule ID: SV-35134r1_rule Severity: high CCI: CCI-000197

Discussion

The telnet daemon provides a typically unencrypted remote access service which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to log on using this service, the privileged user password could be compromised.GEN003850If an enabled telnet daemon is configured to only allow encrypted sessions, such as with Kerberos or the use of encrypted network tunnels, the risk of exposing sensitive information is mitigated, and this is not a finding.System AdministratorDCPP-1

Checks

Consult vendor documentation to determine the method for determining if the telnet daemon is running. If the system uses inetd, use the following procedure:
# cat /etc/inetd.conf | tr '\011' ' ' | tr -s ' ' | sed -e 's/^[ \t]*//' |grep -v "^#" | \
cut -f 6,7 -d " " | grep -c -i telnetd

If the above command returns a number greater than 0, the telnet daemon is running.

If the telnet daemon is running, this is a finding.

Fix

Consult vendor documentation to determine the procedure to disable the telnet daemon. If the system uses inetd, edit /etc/inetd.conf and comment out the telnetd line. Restart the inetd service via the following command:
# inetd -c
V-40350 No Change
Findings ID: GEN000000-HPUX0200 Rule ID: SV-52330r1_rule Severity: medium CCI: CCI-000366

Discussion

The user database stores per-user information. It consists of the /var/adm/userdb directory and the files within it. A per-user value in /var/adm/userdb will override any corresponding system-wide default configured in the /etc/default/security file. Allowing per-user files to relax system-wide security settings creates potential security gaps that can compromise overall system security.System AdministratorDCSW-1

Checks

If the system is operating in Trusted Mode, this check is not applicable.

For SMSE:
Check the /var/adm/userdb database for individual user settings:
# /usr/sbin/userdbget -a

If the “userdb” database is used exclusively to enhance/tighten the security requirements as defined in the /etc/default/security file (see the following example), this is not a finding.
Example: /etc/default/security requires a MIN_PASSWORD_LENGTH attribute setting of N=14 and specific per user attribute values in /var/adm/userdb are set to 15.

If any user information is returned that is greater than the required attribute setpoint in the/etc/default/security file (see the following example), this is a finding.
Example: /etc/default/security requires a MIN_PASSWORD_LENGTH attribute setting of N=14 and specific per user attribute values in /var/adm/userdb are set to 13.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
Note: There may be additional package/bundle updates that must be installed to support attributes in the /etc/default/security file.

Delete any configured users from the /var/adm/userdb database:
# /usr/sbin/userdbset -d -u <user>

Restart auditing:
# /sbin/init.d/auditing stop
# /sbin/init.d/auditing start
V-40355 No Change
Findings ID: GEN000000-HPUX0210 Rule ID: SV-52335r1_rule Severity: medium CCI: CCI-000366

Discussion

Disabling accounts after a limited number of unsuccessful SSH login attempts improves protection against password guessing attacks.ECLO-1, ECLO-2

Checks

If the system is operating in Trusted Mode, this check is not applicable.

For SMSE:
The “UsePAM” attribute in the /opt/ssh/etc/sshd_config configuration file controls whether an account is locked after too many consecutive SSH authentication failures. The default “UsePAM” attribute setting is “no”. Verify the global setting for “UsePAM” is set to “yes”.
# cat /opt/ssh/etc/sshd_config | sed -e 's/^[ \t]*//' grep -v “#” | grep “^UsePAM”

If the /opt/ssh/etc/sshd_config configuration file attribute “UsePAM” is not set to “yes”, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE only:
Edit the /opt/ssh/etc/sshd_config file and add/uncomment/update the “UsePAM” attribute. See the below example:
UsePAM yes

Save any change(s) before exiting the editor.
V-40445 Updated
Findings ID: GEN000000-HPUX0220 Rule ID: SV-52432r2_rule Severity: medium CCI: CCI-000366

Discussion

Best practices standard operating procedures for computing systems includes account management. If the root account is allowed to be configured without a password, or not configured to lock if there have been no logins to the root account for an organization defined time interval, the entire system can be compromised.System AdministratorIAIA-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For Standard Mode with Security Extensions (SMSE):
Check the /etc/default/security file for the following attribute(s) and attribute values:
LOGIN_POLICY_STRICT=1
# grep “LOGIN_POLICY_STRICT” /etc/default/security

If LOGIN_POLICY_STRICT=0, then the root user is not subject to the same login restrictions as non-root users. If no organizational exceptions for root are documented and LOGIN_POLICY_STRICT=0, then this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
Edit the /etc/default/security file and add/modify the following attribute(s) and attribute values:
LOGIN_POLICY_STRICT=1

Save the file before exiting the editor.
V-40446 No Change
Findings ID: GEN000000-HPUX0230 Rule ID: SV-52433r1_rule Severity: medium CCI: CCI-000366

Discussion

Single user mode access must be strictly limited to the privileged user root. The ability to boot to single user mode allows a malicious user the opportunity to modify, compromise, or otherwise damage the system.System AdministratorECSC-1

Checks

For Trusted Mode:
Protected password database files are maintained in the /tcb/files/auth hierarchy. This directory contains other directories each named with a single letter from the alphabet. User authentication profiles are stored in these directories based on the first letter of the user account name. Next check that only root is authorized to boot into single user mode.
# grep “:u_bootauth:” /tcb/files/auth/[a-z,A-Z]/*

If any non-root users have been granted single user boot privileges, this is a finding.

For SMSE:
Check the /etc/default/security file for the following attribute(s) and attribute values:
BOOT_USERS=root (Note: BOOT_USERS attribute values are comma delimited strings).
# grep “BOOT_USERS” /etc/default/security /var/adm/userdb/*

If the BOOT_USERS attribute contains any username other than root, this is a finding.

Fix

For Trusted Mode:
If single user boot authentication is disabled, use the System Administration Manager (SAM) or the System Management Homepage (SMH) to allow single user boot for root only.

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:
BOOT_USERS=root

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.
V-40447 No Change
Findings ID: GEN000000-HPUX0240 Rule ID: SV-52434r1_rule Severity: medium CCI: CCI-000366

Discussion

The /var/adm/userdb directory is the system user database repository used for storing per-user security configuration information. If the configuration is modified maliciously, individual users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the directory is owned by root.
# ls -lL /var/adm/userdb

If the directory is not owned by root, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file ownership.
# chown root /var/adm/userdb
V-40448 No Change
Findings ID: GEN000000-HPUX0250 Rule ID: SV-52435r1_rule Severity: medium CCI: CCI-000366

Discussion

The /var/adm/userdb directory is the system user database repository used for storing per-user security configuration information. If the configuration is modified maliciously, individual users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the directory is group-owned by sys.
# ls -lL /var/adm/userdb

If the directory is not group-owned by sys, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file group ownership.
# chgrp sys /var/adm/userdb
V-40449 No Change
Findings ID: GEN000000-HPUX0260 Rule ID: SV-52436r1_rule Severity: medium CCI: CCI-000366

Discussion

The /var/adm/userdb directory is the system user database repository used for storing per-user security configuration information. If the configuration is modified maliciously, individual users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the directory mode.
# ls -lL /var/adm/userdb

If the directory mode is more permissive than 0700, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file mode to 0700 or less permissive.
# chmod 0700 /var/adm/userdb
V-40450 No Change
Findings ID: GEN000000-HPUX0270 Rule ID: SV-52437r1_rule Severity: medium CCI: CCI-000366

Discussion

The /var/adm/userdb directory is the system user database repository used for storing per-user security configuration information. If the configuration is modified maliciously, individual users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the directory has no extended ACL.
# ls -lL /var/adm/userdb

If the permissions include a “+”, the directory has an extended ACL, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
Remove the optional ACL from the file.
# chacl -z /var/adm/userdb
V-40451 No Change
Findings ID: GEN000000-HPUX0280 Rule ID: SV-52438r1_rule Severity: medium CCI: CCI-000366

Discussion

Unless the userdb is required, the /var/adm/userdb/USERDB.DISABLED file must be created to disable the use of per-user security attributes in the user database. Attributes in the user database override the system-wide settings configured in /etc/default/security. If the system-wide configuration is overridden maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
If the userdb is required, this check is not applicable.

Verify the file is owned by root.
# ls -lL /var/adm/userdb/USERDB.DISABLED

If the file is not owned by root, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file ownership.
# chown root /var/adm/userdb/USERDB.DISABLED
V-40452 No Change
Findings ID: GEN000000-HPUX0290 Rule ID: SV-52439r1_rule Severity: medium CCI: CCI-000366

Discussion

Unless the userdb is required, the /var/adm/userdb/USERDB.DISABLED file must be created to disable the use of per-user security attributes in the user database. Attributes in the user database override the system-wide settings configured in /etc/default/security. If the system-wide configuration is overridden maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
If the userdb is required, this check is not applicable.

Verify the file is group-owned by sys.
# ls -lL /var/adm/userdb/USERDB.DISABLED

If the file is not group-owned by sys, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file group ownership.
# chgrp sys /var/adm/userdb/USERDB.DISABLED
V-40453 No Change
Findings ID: GEN000000-HPUX0300 Rule ID: SV-52440r1_rule Severity: medium CCI: CCI-000366

Discussion

Unless the userdb is required, the /var/adm/userdb/USERDB.DISABLED file must be created to disable the use of per-user security attributes in the user database. Attributes in the user database override the system-wide settings configured in /etc/default/security. If the system-wide configuration is overridden maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
If the userdb is required, this check is not applicable.

Verify the file mode.
# ls -lL /var/adm/userdb/USERDB.DISABLED

If the file mode is more permissive than 0444, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file mode to 0444 or less permissive.
# chmod 0444 /var/adm/userdb/USERDB.DISABLED
V-40454 No Change
Findings ID: GEN000000-HPUX0310 Rule ID: SV-52441r1_rule Severity: medium CCI: CCI-000366

Discussion

Unless the userdb is required, the /var/adm/userdb/USERDB.DISABLED file must be created to disable the use of per-user security attributes in the user database. Attributes in the user database override the system-wide settings configured in /etc/default/security. If the system-wide configuration is overridden maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
If the userdb is required, this check is not applicable.

Verify the file has no extended ACL.
# ls -lL /var/adm/userdb/USERDB.DISABLED

If the permissions include a “+”, the file has an extended ACL, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
Remove the optional ACL from the file.
# chacl -z /var/adm/userdb/USERDB.DISABLED
V-40466 No Change
Findings ID: GEN000000-HPUX0320 Rule ID: SV-52454r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/security.dsc file is the system description file that contains all attributes and default values that are configurable on a per user basis in /var/adm/userdb. If the description file is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file is owned by root.
# ls -lL /etc/security.dsc

If the file is not owned by root, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file ownership.
# chown root /etc/security.dsc
V-40467 No Change
Findings ID: GEN000000-HPUX0330 Rule ID: SV-52455r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/security.dsc file is the system description file that contains all attributes and default values that are configurable on a per user basis in /var/adm/userdb. If the description file is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file is group-owned by sys.
# ls -lL /etc/security.dsc

If the file is not group-owned by sys, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file group ownership.
# chgrp sys /etc/security.dsc
V-40468 No Change
Findings ID: GEN000000-HPUX0340 Rule ID: SV-52456r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/security.dsc file is the system description file that contains all attributes and default values that are configurable on a per user basis in /var/adm/userdb. If the description file is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file mode.
# ls -lL /etc/security.dsc

If the file mode is more permissive than 0444, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file mode to 0444 or less permissive.
# chmod 0444 /etc/security.dsc
V-40470 No Change
Findings ID: GEN000000-HPUX0350 Rule ID: SV-52458r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/security.dsc file is the system description file that contains all attributes and default values that are configurable on a per user basis in /var/adm/userdb. If the description file is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file has no extended ACL.
# ls -lL /etc/security.dsc

If the permissions include a “+”, the file has an extended ACL, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
Remove the optional ACL from the file.
# chacl -z /etc/security.dsc
V-40473 No Change
Findings ID: GEN000000-HPUX0360 Rule ID: SV-52461r1_rule Severity: medium CCI: CCI-000366

Discussion

/etc/pam.conf file is the system configuration file for the Pluggable Authentication Module (PAM) architecture. It supports per user authentication, account, session, and password management. If the configuration is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file is owned by root.
# ls -lL /etc/pam.conf

If the file is not owned by root, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file ownership.
# chown root /etc/pam.conf
V-40476 No Change
Findings ID: GEN000000-HPUX0370 Rule ID: SV-52464r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/pam.conf file is the system configuration file for the Pluggable Authentication Module (PAM) architecture. It supports per user authentication, account, session, and password management. If the configuration is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file is group-owned by sys.
# ls -lL /etc/pam.conf

If the file is not group-owned by sys, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file group ownership.
# chgrp sys /etc/pam.conf
V-40478 No Change
Findings ID: GEN000000-HPUX0380 Rule ID: SV-52466r1_rule Severity: medium CCI: CCI-000366

Discussion

The /etc/pam.conf file is the system configuration file for the Pluggable Authentication Module (PAM) architecture. It supports per user authentication, account, session, and password management. If the configuration is modified maliciously, users may gain unauthorized system access. System AdministratorECLP-1

Checks

If the system is configured for Trusted Mode, this check is not applicable.

For SMSE:
Verify the file mode.
# ls -lL /etc/pam.conf

If the file mode is more permissive than 0444, this is a finding.

Fix

If the system is operating in Trusted Mode, no fix is required.

For SMSE:
As root, change the file mode to 0444 or less permissive.
# chmod 0444 /etc/pam.conf
V-40482 No Change
Findings ID: GEN000000-HPUX0390 Rule ID: SV-52471r1_