Free DISA STIG and SRG Library | Vaulted

AIX 6.1 SECURITY TECHNICAL IMPLEMENTATION GUIDE

Version 1 Release 13
2018-04-27
U_AIX_6-1_STIG_V1R13_Manual-xccdf.xml
The AIX 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 email to the following address: disa.letterkenny.FSO.mbx.stig-customer-support-mailbox@mail.mil.

Vulnerabilities (506)

The system must require authentication upon booting into single-user and maintenance modes.

Finding ID
GEN000020
Rule ID
SV-27039r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000020
CCI
CCI-000213
Target Key
(None)
Documentable
No
Discussion

If the system does not require a valid root password before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system.

Fix Text

Assign a root account password for any bootable partition.

Check Content

Ensure the root account for any bootable partitions has a password assigned in the /etc/security/passwd file.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

Direct logins must not be permitted to shared, default, application, or utility accounts.

Finding ID
GEN000280
Rule ID
SV-38668r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000280
CCI
CCI-000770
Target Key
(None)
Documentable
No
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.

Fix Text

Use the switch user (su) command from a named account login to access shared accounts. Maintain audit trails to identify the actual user of that 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. Direct login to shared or application accounts can be prevented by setting the rlogin = false in the accounts stanza of the /etc/security/user file. Additional hardening of the shared/application accounts can be done with the sugroups = in the accounts stanza of the /etc/security/user file. #chuser rlogin=false < user id >

Check Content

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> Shared or Application accounts can have direct login disabled by setting the rlogin parameter to false in the users stanza of the /etc/security/user file. #lsuser -a rlogin < user_id > If users log directly on to shared accounts, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1

All accounts on the system must have unique user or account names.

Finding ID
GEN000300
Rule ID
SV-27064r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000300
CCI
CCI-000764
Target Key
(None)
Documentable
No
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.

Fix Text

Change user account names, or delete accounts, so each account has a unique name.

Check Content

Perform the following to ensure there are no duplicate account names: # usrck -n ALL If any duplicate account names are found, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

All accounts must be assigned unique User Identification Numbers (UIDs).

Finding ID
GEN000320
Rule ID
SV-27067r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000320
CCI
CCI-000764
Target Key
(None)
Documentable
No
Discussion

Accounts that share 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.

Fix Text

Edit user accounts to provide unique UIDs for each account.

Check Content

Perform the following to ensure there are no duplicate UIDs: # usrck -n ALL If any duplicate UIDs are found, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, console login prompts.

Finding ID
GEN000400
Rule ID
SV-38932r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000400
CCI
CCI-000048
Target Key
(None)
Documentable
No
Discussion

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

Fix Text

Edit /etc/security/login.cfg and assign the herald value for the default and /dev/console stanzas to one of the DoD login banners (based on the character limitations imposed by the system). # chsec -f /etc/security/login.cfg -s default -a herald="<DoD Login Banner>" OR # vi /etc/security/login.cfg and add a herald = <DoD Login Banner> statement to the default stanza DoD Login Banners: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. " OR "I've read & consent to terms in IS user agreem't."

Check Content

Access the system console and make a logon 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."

Responsibility

System Administrator

IA Controls

ECWM-1

Successful and unsuccessful logins and logouts must be logged.

Finding ID
GEN000440
Rule ID
SV-38935r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000440
CCI
CCI-000126
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info. "auth.info /var/log/authlog" Verify service startup scripts for syslog and utmp (if present) are enabled. # vi /etc/rc.tcpip Check the syslogd service is not commented out. Refresh syslogd. #refresh -s syslogd

Check Content

Determine if successful logons are being logged. # last | more Determine if unsuccessful logons are being logged. # last -f /etc/security/failedlogin | more If the commands do not return successful and unsuccessful logins, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The system must disable accounts after three consecutive unsuccessful login attempts.

Finding ID
GEN000460
Rule ID
SV-38671r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000460
CCI
CCI-000044
Target Key
(None)
Documentable
No
Discussion

Disabling accounts after a limited number of unsuccessful login attempts improves protection against password guessing attacks.

Fix Text

Use the chsec command to configure the number of unsuccessful logins resulting in account lockout. # chsec -f /etc/security/user -s default -a loginretries=3 # chsec -f /etc/security/user -s <user id> -a loginretries=3

Check Content

# /usr/sbin/lsuser -a loginretries ALL | more Check all active accounts on the system for the maximum number of tries before the system will lock the account. If a user has values set to 0 or greater then 3, this is a finding.

Responsibility

System Administrator

IA Controls

ECLO-1, ECLO-2

The delay between login prompts following a failed login attempt must be at least 4 seconds.

Finding ID
GEN000480
Rule ID
SV-38839r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000480
CCI
CCI-002238
Target Key
(None)
Documentable
No
Discussion

Enforcing a delay between successive failed login attempts increases protection against automated password guessing attacks.

Fix Text

Use vi or the chsec command to change the login delay time period. #chsec -f /etc/security/login.cfg -s default -a logindelay=4 OR # vi /etc/security/login.cfg Add logindelay = 4 to the default stanza.

Check Content

Check the logindelay parameter. # more /etc/security/login.cfg OR #grep logindelay /etc/security/login.cfg | grep -v \* Verify the value of the logindelay variable is 4 or more in each stanza. If the value of logindelay is not 4 or more, this is a finding.

Responsibility

System Administrator

IA Controls

ECLO-1, ECLO-2

The root user must not own the logon session for an application requiring a continuous display.

Finding ID
GEN000520
Rule ID
SV-769r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000520
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

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

Check Content

If there is an application running on the system continuously in use (such as a network monitoring application), ask the SA what the name of the application is. Execute the following to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding. # ps -ef | more

Responsibility

System Administrator

IA Controls

PESL-1

The system must not have accounts configured with blank or null passwords.

Finding ID
GEN000560
Rule ID
SV-27107r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN000560
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Remove or configure a password for any account with a blank password. # passwd <user id> # smitty passwd To remove an account with a blank password. # smitty rmuser

Check Content

Verify no accounts have blank passwords. # pwdck -n ALL If any account with a blank password is found, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The root account must be the only account having an UID of 0.

Finding ID
GEN000880
Rule ID
SV-773r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000880
CCI
CCI-000366
Target Key
(None)
Documentable
No
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 guess a password for a privileged account.

Fix Text

Remove or change the UID of accounts other than root that have UID 0.

Check Content

Check the system for duplicate UID 0 assignments by listing all accounts assigned UID 0. Procedure: # grep ":0:" /etc/passwd | awk -F":" '{print$1":"$3":"}' | grep ":0:" If any accounts other than root are assigned UID 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The root user's home directory must not be the root directory (/).

Finding ID
GEN000900
Rule ID
SV-38940r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN000900
CCI
CCI-000366
Target Key
(None)
Documentable
No
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 that 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.

Fix Text

The root home directory should be something other than / (such as /root). Procedure: # mkdir /root # chown root /root # chgrp sys /root # chmod 700 /root # cp -r /.??* /root/. Then, edit the passwd file and change the root home directory to /root. 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. Must be in the "/" directory when executing the "cp" command.

Check Content

Determine if root is assigned a home directory other than / by listing its home directory. Procedure: # grep "^root" /etc/passwd | awk -F":" '{print $6}' If the root user home directory is /, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The root account's home directory (other than /) must have mode 0700.

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

Permissions greater than 0700 could allow unauthorized users access to the root home directory.

Fix Text

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 /root.

Check Content

Check the mode of the root home directory. Procedure: # grep "^root" /etc/passwd | awk -F":" '{print $6}' # ls -ld <root home directory> If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this is not applicable.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The root accounts executable search path must be the vendor default and must contain only authorized paths.

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

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

Fix Text

Edit the root user's local initialization files and remove any relative path entries that have not been documented with the ISSO. Edit the root user’s local initialization files and remove any empty entry that is defined. # cd <root's home directory> # vi .profile .cshrc If the bash shell is installed, edit these additional files. # vi .bashrc .bash_profile

Check Content

To view the root user's PATH, log in as the root user, and execute the following. # 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 begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

The root account must not have world-writable directories in its executable search path.

Finding ID
GEN000960
Rule ID
SV-777r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000960
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

For each world-writable path in root's executable search path, perform 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.

Check Content

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.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The system must prevent the root account from directly logging in except from the system console.

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

Limiting the root account direct logins to only system consoles protects the root account from direct unauthorized access from a non-console device.

Fix Text

The root account can be protected from non-console device logins by setting rlogin = false in the root: stanza of the /etc/security/user file. #chsec -f /etc/security/user -s root -a rlogin=false

Check Content

Check the remote login ability of the root account. Procedure: # lsuser -a rlogin root If the rlogin value is not false, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

Group Identifiers (GIDs) reserved for system accounts must not be assigned to non-system groups.

Finding ID
GEN000360
Rule ID
SV-39094r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000360
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 99 in general, or 499 for Linux). # smitty chuser

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

All Group Identifiers (GIDs) referenced in the /etc/passwd file must be defined in the /etc/group file.

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

If a user is assigned the GID of a group that does not exist on the system, and a group with that GID is subsequently created, the user may have unintended rights to the group.

Fix Text

Add a group to the system for each GID referenced without a corresponding group. # smitty mkgroup

Check Content

Perform the following to ensure there are no GIDs referenced in /etc/passwd not defined in /etc/group: # usrck -n ALL If GIDs referenced in /etc/passwd are not defined in /etc/group are returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must have a host-based intrusion detection tool installed.

Finding ID
GEN006480
Rule ID
SV-41526r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006480
CCI
CCI-001259
Target Key
(None)
Documentable
No
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.

Fix Text

Install a host-based intrusion detection tool.

Check Content

Ask the SA or IAO if a host-based intrusion detection application is loaded on the system. Determine if the application is loaded on the system. Procedure: # find / -name <daemon name> -print Determine if the application is active on the system. Procedure: # ps -ef | grep <daemon name> If no host-based intrusion detection system is installed on the system, this is a finding.

Responsibility

System Administrator

IA Controls

ECID-1

System security patches and updates must be installed and up-to-date.

Finding ID
GEN000120
Rule ID
SV-27060r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000120
CCI
CCI-001227
Target Key
(None)
Documentable
No
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.

Fix Text

Use a web browser to access the vendor's support web site. Download the service packs and patches. Use SMIT to apply the updates. #smitty update_all

Check Content

Obtain the list of available security patches from IBM. Verify the available patches and service packs have been installed on the system. Check the currently running TL (Technology Levels and Service Packs). #oslevel -s Perform the following to obtain a list of installed patches. # /usr/sbin/instfix -i If there are security patches available and applicable for the system that have not been installed, this is a finding.

Responsibility

System Administrator

System files and directories must not have uneven access permissions.

Finding ID
GEN001140
Rule ID
SV-784r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001140
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of files with uneven permissions so owners do not have less permission than group or world users.

Check Content

Check system directories for uneven file permissions. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /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.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

All files and directories must have a valid owner.

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

Unowned files and directories may be unintentionally inherited if a user is assigned the same UID as the UID of the unowned files.

Fix Text

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. #chown <a-valid-user> <directory>/<file>

Check Content

Check the system for files with no assigned owner. Procedure: # find / -nouser -print If any files have no assigned owner, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

All network services daemon files must have mode 0755 or less permissive.

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

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

Fix Text

Change the mode of the network services daemon. # chmod 0755 <path>

Check Content

Check the mode of network services daemons. # ls -la /usr/sbin /usr/bin 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.

Responsibility

System Administrator

IA Controls

ECLP-1

System log files must have mode 0640 or less permissive.

Finding ID
GEN001260
Rule ID
SV-787r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001260
CCI
CCI-001314
Target Key
(None)
Documentable
No
Discussion

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

Fix Text

Change the mode of the system log file(s) to 0640 or less permissive. Procedure: # chmod "0640" /path/to/system-log-file NOTE: Do not confuse system log files with audit logs. Any subsystems that require less stringent permissions must be documented.

Check Content

Check the mode of log files. Procedure: # ls -lL /var/log /var/log/syslog /var/adm If any of the log files have modes more permissive than 0640, this is a finding.

Responsibility

System Administrator

IA Controls

ECTP-1

All skeleton files (typically those in /etc/skel) must have mode 0644 or less permissive.

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

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

Fix Text

Change the mode of skeleton files with incorrect mode. # chmod 0644 /etc/security/.profile #chmod 0755 /etc/security/mkuser.sys

Check Content

Check skeleton files permissions. Procedure: # ls -l /etc/security/.profile If a skeleton file has a mode more permissive than 0644, this is a finding. Check the mkuser.sys file. The /etc/security/mkuser.sys is a script containing items used in creation of users' ~/.profile files. This script needs to be both protected from unauthorized modification, but also needs to be executable, therefore the permissions need to be at the mode of 755. #ls -l /etc/security/mkuser.sys If the mkuser.sys file has a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

NIS/NIS+/yp files must be owned by root, sys, or bin.

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

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the owner of the NIS files to root, sys, or bin. Procedure (example): # chown root < directory>/< file >

Check Content

Perform the following to check NIS file ownership. # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file ownership is not root, sys, or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

NIS/NIS+/yp files must be group-owned by sys, bin, other, or system.

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

NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.

Fix Text

Change the group owner of the NIS files to sys, bin, system, or other. Procedure: # chgrp system < directory>/< file >

Check Content

Check the group ownership of the NIS files. Procedure: # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file group owner is not sys, bin, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The NIS/NIS+/yp files must have mode 0755 or less permissive.

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

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

Fix Text

Change the mode of NIS/NIS+/yp files to 0755 or less permissive. Procedure (example): # chmod 0755 <filename>

Check Content

Perform the following to check NIS file mode # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file's mode is more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Manual page files must have mode 0644 or less permissive.

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

If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.

Fix Text

Change the mode of manual page files to 0644 or less permissive. Procedure (example): # chmod 0644 <path>/<manpage>

Check Content

Check the mode of the manual page files. Procedure: # ls -lLR /usr/share/man /usr/share/info /usr/share/infopage If any of the manual page files have a mode more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

Library files must have mode 0755 or less permissive.

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

Unauthorized access could destroy the integrity of the library files.

Fix Text

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.

Check Content

Check the mode of library files. Procedure: # ls -lLR /usr/lib /lib If any of the library files have a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

All system command files must have mode 755 or less permissive.

Finding ID
GEN001200
Rule ID
SV-794r4_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001200
CCI
CCI-001499
Target Key
(None)
Documentable
No
Discussion

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

Fix Text

Change the mode for system command files to 755 or less permissive. Procedure: # chmod 755 <filename>

Check Content

Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /usr/ucb, /sbin, and /usr/sbin. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any command file is listed and has a mode more permissive than 755, this is a finding. Note: Elevate to Severity Code I if any command file listed is world-writable.

Security Override Guidance

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

Responsibility

System Administrator

All system files, programs, and directories must be owned by a system account.

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

Restricting permissions will protect the files from unauthorized modification.

Fix Text

Change the owner of system files, programs, and directories to a system account. Procedure: # chown root /some/system/file (A different system user may be used in place of root.)

Check Content

Check the ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any of the system files, programs, or directories are not owned by a system account, this is a finding. For this check, the system-provided "ipsec" user is considered to be a system account.

Responsibility

System Administrator

IA Controls

ECLP-1

System files, programs, and directories must be group-owned by a system group.

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

Restricting permissions will protect the files from unauthorized modification.

Fix Text

Change the group owner of system files to a system group. Procedure: # chgrp sys /path/to/system/file (System groups other than sys may be used.)

Check Content

Check the group ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any system file, program, or directory is not group-owned by a system group, this is a finding. For this check, the system-provided "ipsec" group is also acceptable.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

The /etc/security/passwd 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.

Fix Text

Change the ownership of the /etc/security/passwd file. # chown root /etc/security/passwd

Check Content

Check the ownership of the /etc/security/passwd file. Procedure: # ls -lL /etc/security/passwd If the owner of this file is not root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the mode of the passwd file to 0644. Procedure: # chmod 0644 /etc/passwd Document all changes.

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/security/passwd file must have mode 0400.

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

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

Fix Text

Change the mode of the /etc/security/passwd file. # chmod 0400 /etc/security/passwd

Check Content

Check the mode of the /etc/security/passwd file. Procedure: # ls -lL /etc/security/passwd If the mode of this file is more permissive than 0400, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The owner, group owner, mode, ACL, and location of files with the setuid bit set must be documented using site-defined procedures.

Finding ID
GEN002380
Rule ID
SV-801r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002380
CCI
CCI-000368
Target Key
(None)
Documentable
Yes
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.

Fix Text

Document the files with the setuid bit set or unset the setuid bit on the executable.

Check Content

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 setuid bit set have been documented. If any undocumented file has its setuid bit set, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

The owner, group owner, mode, ACL, and location of files with the setgid bit set must be documented using site-defined procedures.

Finding ID
GEN002440
Rule ID
SV-38945r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002440
CCI
CCI-000368
Target Key
(None)
Documentable
Yes
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.

Fix Text

All files with the sgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer. Locate all sgid files with the following command: #find / -perm -2000 -exec ls -lL {} \; # find / -perm -2000 -exec aclget {} \; 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.

Check Content

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.

Responsibility

Information Assurance Officer

IA Controls

ECPA-1

The system must be checked weekly for unauthorized setuid files, as well as, unauthorized modification to authorized setuid files.

Finding ID
GEN002400
Rule ID
SV-803r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002400
CCI
CCI-000318
Target Key
(None)
Documentable
No
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.

Fix Text

Establish a weekly automated or manual process to generate a list of setuid files on the system and compare it with the prior list. To create a list of setuid files use the following command. # find / -perm -4000 > setuid-file-list

Check Content

Determine if a weekly automated or manual process is used to generate a list of setuid files on the system and compare it with the prior list. If no such process is in place, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

The system must be checked weekly for unauthorized setgid files, as well as, unauthorized modification to authorized setgid files.

Finding ID
GEN002460
Rule ID
SV-804r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002460
CCI
CCI-000318
Target Key
(None)
Documentable
No
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.

Fix Text

Establish a weekly automated or manual process to generate a list of setgid files on the system and compare it with the prior list. To create a list of setgid files use the following command. # find / -perm -2000 > setgid-file-list

Check Content

Determine if a weekly automated or manual process is used to generate a list of setgid files on the system and compare it with the prior list. If no such process is in place, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

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

Finding ID
GEN002420
Rule ID
SV-38746r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002420
CCI
CCI-000225
Target Key
(None)
Documentable
No
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 not containing approved setuid files, increases the opportunity for unprivileged users to attain unauthorized administrative access.

Fix Text

Edit /etc/filesystems and add the options = nosuid to the stanza of file system mounted from removable media or network shares, and any file system not containing approved setuid or setgid files. OR Add the nosuid option with the chfs command. # chfs -a options=nosuid <filesystem>

Check Content

Check /etc/filesystems 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 stanza must contain a device special file and may additionally contain all of the following fields type = , options = , and check = . # more /etc/filesystems # lsfs If any of these files systems do not mount with the nosuid option, it is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The sticky bit must be set on all public directories.

Finding ID
GEN002500
Rule ID
SV-806r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002500
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Set the sticky bit on all public directories. Procedure: # chmod 1777 /tmp (Replace /tmp with the public directory missing the sticky bit, if necessary.)

Check Content

Verify all world-writable directories have the sticky bit set. Procedure: # find / -type d -perm -002 ! -perm -1000 > wwlist If the sticky bit is not set on a world-writable directory, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

Finding ID
GEN002520
Rule ID
SV-807r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002520
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of public directories to root or an application account. Procedure: # chown root /tmp (Replace root with an application user and/or /tmp with another public directory as necessary.)

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

The system and user default umask must be 077.

Finding ID
GEN002560
Rule ID
SV-39501r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002560
CCI
CCI-000366
Target Key
(None)
Documentable
Yes
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.

Fix Text

Edit local and global initialization files that contain "umask" and change them to use 077 instead of the current value.

Check Content

Check global initialization files for the configured umask value. Procedure: # grep umask /etc/* 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.

Security Override Guidance

If the default umask is 000 or does not restrict the world-writable permission, this becomes a CAT I finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

Default system accounts must be disabled or removed.

Finding ID
GEN002640
Rule ID
SV-38897r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002640
CCI
CCI-000178
Target Key
(None)
Documentable
No
Discussion

Vendor accounts and software may contain backdoors allowing unauthorized access to the system. These backdoors are common knowledge and present a threat to system security if the account is not disabled.

Fix Text

Lock the default system account(s). # chuser account_locked=true <user>

Check Content

Determine if default system accounts (such as those for guest, sys, bin, uucp, nuucp, daemon, smtp, and lpd) have been disabled. Procedure: # lsuser -a account_locked ALL If there are any unlocked default system accounts, this is a finding.

Responsibility

System Administrator

IA Controls

IAAC-1

Auditing must be implemented.

Finding ID
GEN002660
Rule ID
SV-38946r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002660
CCI
CCI-000169
Target Key
(None)
Documentable
No
Discussion

Without auditing, individual system accesses cannot be tracked and malicious activity cannot be detected and traced back to an individual account.

Fix Text

Use SMIT or command line to enable auditing on the system. #audit start Additionally, make sure auditing subsystem starts on system startup. #mkitab -i cron "audit:2:once:/usr/sbin/audit start 2>&1 > /dev/console"

Check Content

Determine if auditing is enabled. # /usr/sbin/audit query | head -1 If the response Auditing On is not returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

System audit logs must be owned by root.

Finding ID
GEN002680
Rule ID
SV-38900r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002680
CCI
CCI-000162
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the audit log file(s). Procedure: # chown root <audit log file>

Check Content

Perform the following to determine the location of audit logs and then check the ownership. Procedure: # grep -p bin: /etc/security/audit/config Directories to search will be listed under the bin stanza. # ls -la <audit directories> If any audit log file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECTP-1

System audit logs must have mode 0640 or less permissive.

Finding ID
GEN002700
Rule ID
SV-38904r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002700
CCI
CCI-000163
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the audit log directories/files. # chmod 0750 <audit directory> # chmod 0640 <audit file>

Check Content

Perform the following to determine the location of audit logs and then check the mode of the files. Procedure: # grep -p bin: /etc/security/audit/config Directories to search will be listed under the bin stanza. # ls -la <audit directories> If any audit log file has a mode more permissive than 0640, this is a finding.

Responsibility

System Administrator

IA Controls

ECTP-1

The audit system must be configured to audit failed attempts to access files and programs.

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

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

Fix Text

Edit /etc/security/audit/events and add the FILE_Open event to the list of audited events. Edit /etc/security/audit/config and add the FILE_Open audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes that have the FILE_Open event to the users listed in the users: stanza.

Check Content

Check the system audit configuration to determine if failed attempts to access files and programs are audited. Check system activities (events) to audit are listed in the /etc/security/audit/events file. Procedure: # more /etc/security/audit/events If the FILE_Open event is not configured, this is a finding. Check the FILE_Open audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) that the FILE_Open event is associated with. If the FILE_Open event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the FILE_Open event is(/are) not associated with the default user and all the system users in the users: stanza, this is a finding. Supplementary Information: Successful setup of AIX auditing requires several files and stanza's to be correctly configured. 1. The /etc/security/audit/events must have the system call defined. 2. The /etc/security/audit/config has 2 stanzas that need to be configured a. "classes:" stanza. Each entry in this stanza defines two things. The first is the name of a class to group the events to be audited on. The class is linked to users of the system for auditing. The second is the event(s) to be audited in this class: stanza. Example: classes: DISA_CLASS = FILE_Open, File_Unlink, FS_Rmdir b. "users:" stanza. There are two options of specifying what users audit on. The first is to explicitly spell out user names. EXAMPLE: users: root = DISA_CLASS The second is to specify a default catching all users not listed elsewhere in the users: stanza EXAMPLE users: root = DISA_CLASS default = DISA_CLASS 3. An approach to setup auditing to meet STIG requirements would be to create class stanza with all audit events that are required. The users: stanza would then be populated with the root user, any other user ids with special requirements and finally a default user. 4. The /usr/lib/security/mkuser.default file can have under the users: stanza an entry auditclasses = class(es) of events to be audited for each new user added to the system.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The audit system must be configured to audit file deletions.

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

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

Fix Text

Edit /etc/security/audit/events and add the FILE_Unlink or FS_Rmdir events to the list of audited events. Edit /etc/security/audit/config and add the FILE_Unlink and FS_Rmdir audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes containing the FILE_Unlink and FS_Rmdir events to the all users listed in the users: stanza.

Check Content

Check the system audit configuration to determine if failed attempts to access files and programs are audited. # more /etc/security/audit/events If auditing of the FILE_Unlink or FS_Rmdir events is not configured, this is a finding. If no results are returned, this is a finding. Check the FILE_Unlink and FS_Rmdir audit event(s) are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) that the File_Unlink and FS_Rmdir events are associated with. If the FILE_Unlink and FS_Rmdir events are not associated with any audit classes in the classes: stanza this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) that the FILE_Unlink and FS_Rmdir events are not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The audit system must be configured to audit all administrative, privileged, and security actions.

Finding ID
GEN002760
Rule ID
SV-40138r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002760
CCI
CCI-000347
Target Key
(None)
Documentable
No
Discussion

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

Fix Text

Edit /etc/security/audit/events and add the following events to the list of audited events: ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv. Edit /etc/security/audit/config and add the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events to the all users listed in the users: stanza.

Check Content

Check the auditing configuration of the system. # more /etc/security/audit/events Verify the following events are configured. ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv If any of these events are missing from the configuration, this is a finding. Check the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv audit events are defined in the audit classes' stanza 'classes:' of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) that the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are associated with. If the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) that the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime,PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIds, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are not associated with the default user and all the system users in the 'users:' stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The audit system must be configured to audit login, logout, and session initiation.

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

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

Fix Text

Edit /etc/security/audit/events and add the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events to the list of audited events. Edit /etc/security/audit/config and add the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events to the all users listed in the users: stanza.

Check Content

Check the system's audit configuration. # more /etc/security/audit/events Confirm the following events are configured: USER_Login, USER_Logout, INIT_Start, INIT_End and USER_SU. If any of these events are not present, this is a finding. Check the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU audit events are defined in the audit classes' stanza 'classes:' of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are associated with. If the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The audit system must be configured to audit all discretionary access control permission modifications.

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

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

Fix Text

Edit /etc/security/audit/events and add the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events to the list of audited events. Edit /etc/security/audit/config and add the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events to the all users listed in the users: stanza.

Check Content

Check the system's audit configuration. # more /etc/security/audit/events Confirm the following events are configured: FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner. If any of these events are not configured, this is a finding. Check the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner audit events are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are associated with. If the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. If the class(es) the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be owned by root or bin.

Finding ID
GEN003720
Rule ID
SV-821r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003720
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the inetd.conf file to root or bin. Procedure: # chown root /etc/inetd.conf

Check Content

Check the ownership of inetd.conf file. Procedure: # ls -lL /etc/inetd.conf This is a finding if any of the above files or directories are not owned by root or bin.

Responsibility

System Administrator

IA Controls

ECLP-1

The inetd.conf and xinetd.conf files must have mode 0440 or less permissive.

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

The Internet service daemon configuration files must be protected as malicious modification could cause Denial of Service or increase the attack surface of the system.

Fix Text

Change the mode of the inetd.conf file. # chmod 0440 /etc/inetd.conf

Check Content

Check the mode of inetd.conf file. # ls -lL /etc/inetd.conf If the mode of the file(s) is more permissive than 0440, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The services file must be owned by root or bin.

Finding ID
GEN003760
Rule ID
SV-823r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003760
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the services file to root or bin. Procedure: # chown root /etc/services

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

The services file must have mode 0444 or less permissive.

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

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

Fix Text

Change the mode of the services file to 0444 or less permissive. Procedure: # chmod 0444 /etc/services

Check Content

Check the mode of the services file. Procedure: # ls -lL /etc/services If the services file has a mode more permissive than 0444, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Global initialization files must contain the mesg -n or mesg n commands.

Finding ID
GEN001780
Rule ID
SV-38893r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001780
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/profile or another global initialization script and add the mesg -n command.

Check Content

Check global initialization files for the presence of mesg -n or mesg n. Procedure: # grep "mesg" /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If no global initialization files contain mesg -n or mesg n, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The hosts.lpd file (or equivalent) must not contain a "+" character.

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

Having the "+" character in the hosts.lpd (or equivalent) file allows all hosts to use local system print resources.

Fix Text

Remove the "+" entries from the hosts.lpd (or equivalent) file.

Check Content

Look for the presence of a print service configuration file. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print # find /etc -name printers.conf If none of the files are found, this check should be marked not applicable. Otherwise, examine the configuration file. Procedure: # more <print service file> Check for entries containing a "+" character by itself on any line. If any are found, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The hosts.lpd (or equivalent) file must be owned by root, bin, sys, or lp.

Finding ID
GEN003920
Rule ID
SV-828r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003920
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of the /etc/hosts.lpd file (or equivalent, such as /etc/lp/Systems) to root, lp, or another privileged UID. Consult vendor documentation to determine the name and location of print service configuration files. Procedure: # chown root /etc/hosts.lpd

Check Content

Locate any print service configuration file on the system. Consult vendor documentation to verify the names and locations of print service configuration files on the system. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print If no print service configuration file is found, this is not applicable. Check the ownership of the print service configuration file(s). Procedure: # ls -lL <print service file> If the owner of the file is not root, sys, bin, or lp, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The hosts.lpd (or equivalent) must have mode 0644 or less permissive.

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

Excessive permissions on the hosts.lpd (or equivalent) file may permit unauthorized modification. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.

Fix Text

Change the mode of the /etc/hosts.lpd file (or equivalent, such as /etc/lp/Systems) to 0644 or less permissive. Consult vendor documentation for the name and location of print service configuration files. Procedure: # chmod 0644 /etc/hosts.lpd

Check Content

Locate any print service configuration file on the system. Consult vendor documentation for the name and location of print service configuration files. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print If no print service configuration file is found, this is not applicable. Check the mode of the print service configuration file. Procedure: # ls -lL <print service file> If the mode of the print service configuration file is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The alias file must be owned by root.

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

If the alias file is not owned by root, an unauthorized user may modify the file to add aliases to run malicious code or redirect email.

Fix Text

Change the owner of the /etc/mail/aliases file (or equivalent, such as /usr/lib/aliases) to root. Procedure: # chown root /etc/mail/aliases

Check Content

Check the ownership of the alias file. Procedure: # ls -lL /etc/mail/aliases If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The alias file must have mode 0644 or less permissive.

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

Excessive permissions on the aliases file may permit unauthorized modification. If the alias file is modified by an unauthorized user, they may modify the file to run malicious code or redirect email.

Fix Text

Change the mode of the /etc/mail/aliases file. Procedure: # chmod 0644 /etc/mail/aliases

Check Content

Check the mode of the alias file. Procedure: # ls -lL /etc/mail/aliases If the alias file has a mode more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Files executed through a mail aliases file must be owned by root and must reside within a directory owned and writable only by root.

Finding ID
GEN004400
Rule ID
SV-39506r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN004400
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Edit the /etc/mail/aliases file (alternatively, /usr/lib/sendmail.cf). Locate the entries executing a program. They will appear similar to the following line. Aliasname: : /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. Procedure: # chown root filename

Check Content

Find the aliases file on the system. Procedure: # find / -name aliases -depth -print # more < aliases file location > Examine the aliases file for any directories or paths that may be utilized. Procedure: # ls -lL < path > Check if the file or parent directory is owned by root. If not, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Files executed through a mail aliases file must have mode 0755 or less permissive.

Finding ID
GEN004420
Rule ID
SV-834r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004420
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Use the chmod command to change the access permissions for files executed from the alias file. For example: # chmod 0755 < filename >

Check Content

Find the aliases file on the system. Procedure: # find / -name aliases -depth -print Examine the aliases file for any directories or paths that may be utilized. Procedure: # more <aliases file location> Check the permissions for any paths referenced. Procedure: # ls -lL <path> If any file referenced from the aliases file has a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Sendmail logging must not be set to less than nine in the sendmail.cf file.

Finding ID
GEN004440
Rule ID
SV-38916r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN004440
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Edit the sendmail.conf file, locate the "O L" or LogLevel entry and change it to 9.

Check Content

Check if Sendmail logging is set to level 9. Procedure: # grep "O L" /etc/mail/sendmail.cf OR # grep LogLevel /etc/mail/sendmail.cf If logging is set to less than 9, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The system syslog service must log informational and more severe SMTP service messages.

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

If informational and more severe SMTP service messages are not logged, malicious activity on the system may go unnoticed.

Fix Text

Edit the syslog.conf file and add a configuration line specifying an appropriate destination for mail.crit syslogs.

Check Content

Check the syslog configuration file for mail.crit logging configuration. The syslog.conf file critical mail logging option line will typically appear as one of the following examples: mail.crit /var/log/syslog *.crit /var/log/syslog mail.* /var/log/syslog Procedure: # more /etc/syslog.conf If syslog is not configured to log critical Sendmail messages, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service log file must be owned by root.

Finding ID
GEN004480
Rule ID
SV-837r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004480
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the Sendmail log file. # chown root <sendmail log file>

Check Content

Locate any mail log files by checking the syslog configuration file. Procedure: # more /etc/syslog.conf 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. Procedure: # ls -lL <file location> If any mail log file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The SMTP service log file must have mode 0644 or less permissive.

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

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

Fix Text

Change the mode of the SMTP service log file. Procedure: # chmod 0644 <sendmail log file>

Check Content

Check the mode of the SMTP service log file. Procedure: # more /etc/syslog.conf Check the configuration to determine which log files contain logs for mail.crit, mail.debug, or *.crit. Procedure: # ls -lL <file location> If the log file permissions are greater than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The ftpusers file must exist.

Finding ID
GEN004880
Rule ID
SV-28403r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004880
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Create a /etc/ftpusers file containing a list of accounts not authorized for FTP.

Check Content

Check for the existence of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file does not exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The ftpusers file must contain account names not allowed to use FTP.

Finding ID
GEN004900
Rule ID
SV-28406r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004900
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Add accounts not allowed to use FTP to the /etc/ftpusers file.

Check Content

Check the contents of the ftpusers file. If the system has accounts not allowed to use FTP and are not listed in the ftpusers file, this is a finding. # more /etc/ftpusers

Responsibility

System Administrator

The ftpusers file must be owned by root.

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

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

Fix Text

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

Check Content

Check the ownership of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The ftpusers file must have mode 0640 or less permissive.

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

Excessive permissions on the ftpusers file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized users to access the FTP service.

Fix Text

Change the mode of the ftpusers file to 0640. # chmod 0640 /etc/ftpusers

Check Content

Check the permissions of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file has a mode more permissive than 0640, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The FTP daemon must be configured for logging or verbose mode.

Finding ID
GEN004980
Rule ID
SV-38991r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN004980
CCI
CCI-000130
Target Key
(None)
Documentable
No
Discussion

The -l option allows logging of connections. 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.

Fix Text

Edit the /etc/inetd.conf file and add the -l argument to the ftpd service line. # vi /etc/inetd.conf Restart inetd.conf # refresh -s inetd Add daemon.info or *.info to the /etc/syslog.conf file. #vi /etc/syslog.conf *.info /var/log/syslog Restart the syslog daemon. # refresh -s syslogd

Check Content

Perform: # grep ftpd /etc/inetd.conf, Check the line for ftpd to check if the -l argument. If the ftpd is invoked without the -l argument, this is a finding. Check the /etc/syslog.conf file for daemon.info or *.info. # more /etc/syslog.conf If daemon.info or *.info is not being logged, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

Anonymous FTP must not be active on the system unless authorized.

Finding ID
GEN004820
Rule ID
SV-40086r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004820
CCI
CCI-001475
Target Key
(None)
Documentable
Yes
Discussion

Due to the numerous vulnerabilities inherent in anonymous FTP, it is recommended that it not be used. If anonymous FTP must be used on a system, the requirement must be authorized and approved in the system accreditation package.

Fix Text

Remove user "anonymous" from /etc/passwd.

Check Content

Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is successful, this is a finding. Procedure: # ftp localhost Name: anonymous 530 Guest login not allowed on this machine.

Responsibility

Information Assurance Officer

IA Controls

ECSC-1

The TFTP daemon must operate in "secure mode" which provides access only to a single directory on the host file system.

Finding ID
GEN005080
Rule ID
SV-28420r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005080
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/tftpaccess.ctl to only contain an entry restricting access to the tftp user home directory.

Check Content

If the system is not running tftp, this is not applicable. Determine if tftpd is running in secure mode. # more /etc/tftpaccess.ctl If the file does not exist, this is a finding. If the file does not contain an entry restricting access to the tftp user home directory, this is a finding. If other configuration is in the file, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The TFTP daemon must have mode 0755 or less permissive.

Finding ID
GEN005100
Rule ID
SV-848r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005100
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the TFTP daemon. Procedure: # chmod 0755 <tftp server>

Check Content

Check the mode of the TFTP daemon. Procedure: # find / -name "*tftpd" -print # ls -lL <file location> If the mode of the file is more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

The TFTP daemon must be configured to vendor specifications, including a dedicated TFTP user account, a non-login shell, such as /bin/false, and a home directory owned by the TFTP user.

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

If TFTP has a valid shell, it increases the likelihood of someone logging to the TFTP account and compromising the system.

Fix Text

Create a TFTP user account if none exists. Assign a non-login shell to the TFTP user account, such as /bin/false. Assign a home directory to the TFTP user account.

Check Content

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.

Responsibility

System Administrator

IA Controls

ECSC-1

The Network Information System (NIS) protocol must not be used.

Finding ID
GEN006400
Rule ID
SV-867r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006400
CCI
CCI-001435
Target Key
(None)
Documentable
No
Discussion

Due to numerous security vulnerabilities existing within NIS, it must not be used. Possible alternative directory services are NIS+ and LDAP.

Fix Text

Disable the use of NIS. Possible replacements are NIS+ and LDAP.

Check Content

Perform the following to determine if NIS is active on the system. # ps -ef | egrep '(ypbind|ypserv)' If NIS is found active on the system, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All interactive users must be assigned a home directory in the /etc/passwd file.

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

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

Fix Text

Assign a home directory to any user without one.

Check Content

Use usrck to verify home directory assignments are present. Procedure: # usrck -n ALL If any user is not assigned a home directory, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All interactive user home directories defined in the /etc/passwd file must exist.

Finding ID
GEN001460
Rule ID
SV-27194r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001460
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

If a user has no home directory, determine why. If possible, delete accounts with no home directory. If the account is valid, then create the home directory using the appropriate system administration utility or manually create, i.e., mkdir <directory name>; copy the skeleton files into the directory; chown <user name> <directory name> for the new directory and the skeleton files. Document all changes.

Check Content

Use pwck to check that assigned home directories exist. Procedure: # usrck -n ALL If any user's assigned home directory does not exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All users' home directories must have mode 0750 or less permissive.

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

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

Fix Text

Change the mode of users' home directories to 0750 or less permissive. Procedure (example): # chmod 0750 <home directory>

Check Content

Check the home directory mode of each user in /etc/passwd. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more If a user's home directory's mode is more permissive than 0750, this is a finding. NOTE: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.

Responsibility

System Administrator

IA Controls

ECLP-1

All interactive users' home directories must be owned by their respective users.

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

If users do not own their home directories, unauthorized users could access user files.

Fix Text

Change the owner of a user's home directory to its assigned user. Procedure: # chown <user> <home directory>

Check Content

Check the ownership of each user's home directory listed in the /etc/passwd file. Procedure: # ls -lLd <user home directory> If any user's home directory is not owned by the assigned user, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All interactive users' home directories must be group-owned by the home directory owner's primary group.

Finding ID
GEN001520
Rule ID
SV-903r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001520
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the group owner for user's 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.

Check Content

Check the group ownership for each user in the /etc/passwd file. Procedure: # ls -lLd <user home directory> If any user's 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.

Responsibility

System Administrator

IA Controls

ECLP-1

All local initialization files must have mode 0740 or less permissive.

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

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

Fix Text

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.

Check Content

Check the modes of local initialization files. Procedure: # ls -al /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile (permissions should be 0755) # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.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 or the .dtprofile file is more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All run control scripts must have mode 0755 or less permissive.

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

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

Fix Text

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 the files are world-writable, use the chmod command to correct the vulnerability and research why they are world-writable. Procedure: # chmod 755 startupfile Document all changes.

Check Content

Check run control script modes. # cd /etc # find rc* -ls If any run control script has a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Edit the run control script and remove the relative path entries 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.

Check Content

Verify run control scripts' library search paths. Procedure: # grep -r PATH /etc/rc* This variable is formatted as a colon-separated list of directories. Relative path entries must be document with the ISSO. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

Run control scripts must not execute world-writable programs or scripts.

Finding ID
GEN001640
Rule ID
SV-910r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN001640
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

World-writable files could be modified accidentally or maliciously to compromise system integrity.

Fix Text

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>

Check Content

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.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

There must be no .netrc files on the system.

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

Unencrypted passwords for remote FTP servers may be stored in .netrc files. Policy requires passwords be encrypted in storage and not used in access scripts.

Fix Text

Remove the .netrc file(s). Procedure: # rm .netrc

Check Content

Check the system for the existence of any .netrc files. Procedure: # find / -name .netrc If any .netrc file exists, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

All files and directories contained in interactive user's home directories must be owned by the home directory's owner.

Finding ID
GEN001540
Rule ID
SV-914r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001540
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
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.

Fix Text

Change the ownership of files and directories in user's home directories to the owner of the home directory. Procedure: # chown accountowner filename OR # 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 chown <username> {} \;

Check Content

For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory not owned by the home directory owner. Procedure: # 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 {} \; If user's home directories contain files or directories not owned by the home directory owner, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

All files and directories contained in user's home directories must have mode 0750 or less permissive.

Finding ID
GEN001560
Rule ID
SV-915r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN001560
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
Discussion

Excessive permissions allow unauthorized access to user's files.

Fix Text

Change the mode of files and directories within user's home directories to 0750. Procedure: # chmod 0750 filename Document all changes.

Check Content

For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. Procedure: # find /<usershomedirectory> ! -fstype nfs ! \( -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 \) \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \; If user's home directories contain files or directories more permissive than 0750, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/shells (or equivalent) file must exist.

Finding ID
GEN002120
Rule ID
SV-38741r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002120
CCI
CCI-000366
Target Key
(None)
Documentable
No
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 shell that may not be secure.

Fix Text

Edit the /etc/security/login.cfg file and add a shells stanza containing a list of valid shells. #chsec -f /etc/security/login.cfg -s usw -a shells=<list of approved shells> Create the /etc/shells file. #vi /etc/shells

Check Content

Check /etc/security/login.cfg for a shells stanza. Procedure: # grep -p usw: /etc/security/login.cfg | grep "shells =" If no such stanza exists, this is a finding. Check the /etc/shells file. Procedure: # more /etc/shells If the /etc/shells file does not exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All shells referenced in /etc/passwd must be listed in the /etc/shells file, except any shells specified for the purpose of preventing logins.

Finding ID
GEN002140
Rule ID
SV-38742r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002140
CCI
CCI-000366
Target Key
(None)
Documentable
No
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 shell that may not be secure.

Fix Text

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 SMIT to change the /etc/passwd shell entry.

Check Content

Confirm the login shells referenced in the /etc/passwd file are listed in the /etc/security/login.cfg file's shells =variable in the usw stanza. # more /etc/security/login.cfg # more /etc/shells The /usr/bin/false, /bin/false, /dev/null, /sbin/nologin, (and equivalents), and sdshell will be considered valid shells for use in the /etc/passwd file, but will not be listed in the shells stanza. If a shell referenced in /etc/passwd is not listed in the shells stanza, excluding the above mentioned shells, then this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Accounts must be locked upon 35 days of inactivity.

Finding ID
GEN000760
Rule ID
SV-38840r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000760
CCI
CCI-000017
Target Key
(None)
Documentable
Yes
Discussion

On some systems, accounts with disabled passwords still allow access using rcp, remsh, or rlogin through equivalent remote hosts. All that is required is the remote host name and the user name match an entry in a hosts.equiv file and have a .rhosts file in the user directory. Using a shell called /bin/false or /dev/null (or an equivalent) will add a layered defense. Non-interactive accounts on the system, such as application accounts, may be documented exceptions.

Fix Text

All inactive accounts will have /bin/false, /usr/bin/false, or /dev/null as the default shell in the /etc/passwd file and have the password disabled. Disable the inactive accounts. Examine the inactive accounts using the last command. Note the date of last login for each account. If any (other than system and application accounts) exceed 35 days, then disable them by placing a shell of /bin/false or /dev/null in the shell field of the passwd file entry for that account. An alternative, and preferable method, is to disable the account using SMIT or the chsec command. Change the accounts login shell. #chsh <account> /bin/false Lock the account in /etc/security/user file. #chuser account_locked=true < user id > OR # smitty chuser

Check Content

Indications of inactive accounts are those without entries in the last log. Check the date in the last log to verify it is within the last 35 days. If an inactive account is not disabled via an invalid login shell /bin/false entry in the shell field of the /etc/passwd file or account_locked = true in /etc/security/user file, this is a finding.

Responsibility

System Administrator

IA Controls

IAAC-1

All shell files must be owned by root or bin.

Finding ID
GEN002200
Rule ID
SV-38847r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002200
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the shell with incorrect ownership. # chown root < shell >

Check Content

Obtain a list of system shells from /etc/security/login.cfg and check the ownership of these shells. Procedure: #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding. Obtain a list of system shells from /etc/shells and check the ownership of these shells. Procedure: #cat /etc/shells | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All shell files must have mode 0755 or less permissive.

Finding ID
GEN002220
Rule ID
SV-38846r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN002220
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

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

Fix Text

Change the mode of the shell. # chmod 0755 < shell >

Check Content

Obtain a list of system shells from /etc/security/login.cfg and check the permissions of these shells. Procedure: #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell has a mode more permissive than 0755, this is a finding. Obtain a list of system shells from /etc/shells and check the ownership of these shells. Procedure: #cat /etc/shells | xargs -n1 ls -l If any shell has a mode more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must be checked for extraneous device files at least weekly.

Finding ID
GEN002260
Rule ID
SV-923r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN002260
CCI
CCI-000318
Target Key
(None)
Documentable
No
Discussion

If an unauthorized device is allowed to exist on the system, there is the possibility the system may perform unauthorized operations.

Fix Text

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. Generate a list of device files. # find / -type b -o -type c > device-file-list

Check Content

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.

Responsibility

System Administrator

IA Controls

ECSC-1

Device files and directories must only be writable by users with a system account or as configured by the vendor.

Finding ID
GEN002280
Rule ID
SV-924r3_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002280
CCI
CCI-000225
Target Key
(None)
Documentable
No
Discussion

System device files in writable directories could be modified, removed, or used by an unprivileged user to control system hardware.

Fix Text

Remove the world-writable permission from the device file(s). Procedure: # chmod o-w <device file> Document all changes.

Check Content

Find all device files existing anywhere on the system. Procedure: # find / -type b -print > devicelist # find / -type c -print >> devicelist Check the permissions on the directories above subdirectories containing device files. The following list of device files are intended to be world-writable and if present are not a finding. /dev/arp /dev/conslog /dev/crypto /dev/dtrace/dtrace /dev/dtrace/helper /dev/dtrace/provider/fasttrap /dev/fd/* /dev/kstat /dev/null /dev/poll /dev/pool /dev/ptmx /dev/sad/user /dev/tcp /dev/tcp6 /dev/ticlts /dev/ticots /dev/ticotsord /dev/tty /dev/udp /dev/udp6 /dev/zero /dev/zfs If any device file or their parent directory is world-writable and it is not intended to be world-writable, this is a finding.

Responsibility

System Administrator

Device files used for backup must only be readable and/or writable by root or the backup user.

Finding ID
GEN002300
Rule ID
SV-38745r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002300
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
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.

Fix Text

Use the chmod command to remove the world-writable bit from the backup device files. Procedure: # chmod o-w <back device filename> Document all changes.

Check Content

Check the system for world-writable device files. Procedure: # find / -perm -2 -a \( -type b -o -type c \) -exec ls -ld {} \; If any device file(s) used for backup are writable by users other than root, this is a finding (Typical backup devices for tape are/dev/rmt* and cd/dvd writers are /dev/cd*).

Responsibility

Information Assurance Officer

IA Controls

ECCD-1, ECCD-2

Any NIS+ server must be operating at security level 2.

Finding ID
GEN006460
Rule ID
SV-926r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006460
CCI
CCI-001435
Target Key
(None)
Documentable
No
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.

Fix Text

Configure the NIS+ server to use security level 2.

Check Content

If the system is not using NIS+, this is not applicable. Check the system to determine if NIS+ security level 2 is implemented. Procedure: # niscat cred.org_dir If the second column does not contain DES, the system is not using NIS+ security level 2, and this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The NFS export configuration file must be owned by root.

Finding ID
GEN005740
Rule ID
SV-28445r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005740
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of the exports file to root. Example: # chown root /etc/exports

Check Content

Check the owner of the exports file. Example: # ls -lL /etc/exports If the export configuration file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The NFS export configuration file must have mode 0644 or less permissive.

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

Excessive permissions on the NFS export configuration file could allow unauthorized modification of the file, which could result in Denial of Service to authorized NFS exports and the creation of additional unauthorized exports.

Fix Text

# chmod 0644 /etc/exports

Check Content

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

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2, ECLP-1

All NFS-exported system files and system directories must be owned by root.

Finding ID
GEN005800
Rule ID
SV-931r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005800
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of exported file systems not owned by root. Procedure: # chown root <path>

Check Content

Check for NFS exported file systems. Procedure: # exportfs -v This will display all of the exported file systems. For each file system displayed, check the ownership. Procedure: # ls -lLa <exported file system path> If the files and directories are not owned by root, this is a finding.

Responsibility

System Administrator

The NFS anonymous UID and GID must be configured to values without permissions.

Finding ID
GEN005820
Rule ID
SV-38956r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005820
CCI
CCI-000062
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/exports and set the anon=-1 option for exported file systems without it. Re-export the file systems. # exportfs -a

Check Content

Check if the anon option is set correctly for exported file systems. List exported file systems. # exportfs -v Each of the exported file systems should include an entry for the 'anon=' option set to -1 or an equivalent (60001, 60002, 65534, or 65535). If an appropriate 'anon=' setting is not present for an exported file system, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The NFS server must be configured to restrict file system access to local hosts.

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

The NFS access option limits user access to the specified level. This assists in protecting exported file systems. If access is not restricted, unauthorized hosts may be able to access the system's NFS exports.

Fix Text

Edit /etc/exports and add ro and/or rw options (as appropriate) specifying a list of hosts or networks which are permitted access. Re-export the file systems.

Check Content

Check the permissions on exported NFS file systems. Procedure: # exportfs -v If the exported file systems do not contain the rw or ro options specifying a list of hosts or networks, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The nosuid option must be enabled on all NFS client mounts.

Finding ID
GEN005900
Rule ID
SV-38957r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005900
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/filesystems and add the nosuid option for all NFS file systems. Remount the NFS file systems to make the change take effect.

Check Content

Check the system for NFS mounts not using the nosuid option. Procedure: # lsfs -v nfs If the mounted file systems do not have the nosuid option, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECPA-1

The system must use an access control program.

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

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

Fix Text

Edit /etc/inetd.conf and use tcpd to wrap services. Use SMIT to install TCP Wrappers from the AIX Expansion pack media as fileset netsec.options.tcpwrappers.

Check Content

Determine if TCP_WRAPPERS is being used. # grep tcpd /etc/inetd.conf If no services are listed, this is a finding.

Responsibility

System Administrator

IA Controls

EBRU-1

AIX Trusted Computing Base (TCB) software must be implemented.

Finding ID
GEN000000-AIX00020
Rule ID
SV-969r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000000-AIX00020
CCI
CCI-000633
Target Key
(None)
Documentable
No
Discussion

The AIX Trusted Computing Base (TCB) software provides protection from the unauthorized modification of core system files.

Fix Text

Ensure the Trusted Computing Base (TCB) software is implemented. TCB can only be installed at OS installation time.

Check Content

Perform: # /bin/tcbck If TCB is not installed, the output will show an error code of 3001-101 and/or a text message indicating TCB is not installed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Access to the cron utility must be controlled using the cron.allow and/or cron.deny file(s).

Finding ID
GEN002960
Rule ID
SV-27318r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002960
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Create /var/adm/cron/cron.allow and/or /var/adm/cron/cron.deny with appropriate content.

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

The cron.allow file must have mode 0600 or less permissive.

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

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

Fix Text

Change the mode of the cron.allow file to 0600. Procedure: # chmod 0600 /var/adm/cron/cron.allow

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron must not execute group-writable or world-writable programs.

Finding ID
GEN003000
Rule ID
SV-27329r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003000
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Remove the world-writable and group-writable permissions from the cron program file(s) identified. # chmod go-w <cron program file>

Check Content

List all cronjobs on the system. Procedure: # ls /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 -la <cron program file> If cron executes group-writable or world-writable files, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

Cron must not execute programs in, or subordinate to, world-writable directories.

Finding ID
GEN003020
Rule ID
SV-38947r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003020
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Remove the world-writable permission from the cron program directories identified. Procedure: # chmod o-w <cron program directory>

Check Content

List all cronjobs on the system. Procedure: # ls /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 -ld <cron program directory> If cron executes programs in world-writable directories, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

Crontab files must have mode 0600 or less permissive.

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

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

Fix Text

Change the mode of the crontab files. # chmod 0600 /var/spool/cron/crontabs/*

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron and crontab directories must have mode 0755 or less permissive.

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

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

Fix Text

Change the mode of the crontab directory. # chmod 0755 /var/spool/cron/crontabs

Check Content

Check the mode of the crontab directory. # ls -ld /var/spool/cron/crontabs If the mode of the crontab directory is more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron and crontab directories must be owned by root or bin.

Finding ID
GEN003120
Rule ID
SV-27345r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003120
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of the crontab directory. # chown root /var/spool/cron/crontabs

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron and crontab directories must be group-owned by system, sys, bin, or cron.

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

To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. 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.

Fix Text

Change the group owner of the crontab directories to sys, system, bin, or cron. Procedure: # chown cron /var/spool/cron/crontabs

Check Content

Check the group owner of cron and crontab directories. Procedure: # ls -ld /var/spool/cron/crontabs If a cron or crontab directory is not group-owned by sys, system, bin, or cron, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron logging must be implemented.

Finding ID
GEN003160
Rule ID
SV-27350r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003160
CCI
CCI-000126
Target Key
(None)
Documentable
No
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.

Fix Text

Enable cron logging on the system.

Check Content

# ls -lL /var/adm/cron/log If this file does not exist or is older than the last cron job, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The cronlog file must have mode 0600 or less permissive.

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

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

Fix Text

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

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1, ECTP-1

Access to the at utility must be controlled via the at.allow and/or at.deny file(s).

Finding ID
GEN003280
Rule ID
SV-27377r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003280
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon.

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

The at.deny file must not be empty if it exists.

Finding ID
GEN003300
Rule ID
SV-27381r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003300
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
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.

Fix Text

Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.

Check Content

# more /var/adm/cron/at.deny If the at.deny file exists and is empty, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECLP-1

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

Finding ID
GEN003320
Rule ID
SV-27385r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003320
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Remove the default accounts (such as bin, sys, adm, and others) from the at.allow file.

Check Content

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

Responsibility

System Administrator

IA Controls

ECPA-1

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

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

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

Fix Text

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

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

The at daemon must not execute group-writable or world-writable programs.

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

If the at facility executes world-writable or group-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.

Fix Text

Remove group-write and world-write permissions from files executed by "at" jobs. Procedure: # chmod go-w <file>

Check Content

List the "at" jobs on the system. Procedure: # ls -la /var/spool/cron/atjobs /var/spool/atjobs For each "at" job file, determine which programs are executed. Procedure: # more <at job file> Check each program executed by "at" for group- or world-writable permissions. Procedure: # ls -la <at program file> If "at" executes group- or world-writable programs, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

The "at" daemon must not execute programs in, or subordinate to, world-writable directories.

Finding ID
GEN003380
Rule ID
SV-989r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003380
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Remove the world-writable permission from directories containing programs executed by "at". Procedure: # chmod o-w <at program directory>

Check Content

List any "at" jobs on the system. Procedure: # ls /var/spool/cron/atjobs /var/spool/atjobs For each "at" job, determine which programs are executed. Procedure: # more <at job file> Check the directory containing each program executed by "at" for world-writable permissions. Procedure: # ls -la <at program file directory> If "at" executes programs in world-writable directories, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

SNMP communities, users, and passphrases must be changed from the default.

Finding ID
GEN005300
Rule ID
SV-38889r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005300
CCI
CCI-000178
Target Key
(None)
Documentable
No
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 and use the information to potentially compromise the integrity of the system or network(s).

Fix Text

Change the default passwords. To change them, locate the file /etc/snmpd.conf or the file /etc/snmpd3.conf. Edit the 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 that read 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 is not a password, but the name of a host.

Check Content

Check the SNMP configuration for default passwords. Locate and examine the SNMP configuration. Procedure: # find / -name "snmp*.conf" -print # more <snmpd.conf> 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.

Responsibility

System Administrator

IA Controls

IAAC-1

The snmpd.conf file must have mode 0600 or less permissive.

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

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.

Fix Text

Change the mode of the SNMP daemon configuration file to 0600. Procedure: # chmod 0600 /etc/snmpd.conf # chmod 0600 /etc/snmpdv3.conf

Check Content

Check the mode of the SNMP daemon configuration file. Locate the SNMP daemon configuration file. Consult vendor documentation to verify the name and location of the file. Procedure: # find / -name "snmpd*.conf" Check the mode of the SNMP daemon configuration file. Procedure: # ls -lL <snmpd conf>

Responsibility

System Administrator

IA Controls

ECLP-1

Management Information Base (MIB) files must have mode 0640 or less permissive.

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

The ability to read the MIB file could impart special knowledge to an intruder or malicious user about the ability to extract compromising information about the system or network.

Fix Text

Change the mode of MIB files to 0640. Procedure: # chmod 0640 <mib file>

Check Content

Check the modes for all Management Information Base (MIB) files on the system. Procedure: # find / -name *.mib -print # ls -lL <mib file> If any file is returned that does not have mode 0640 or less permissive, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Public directories must be the only world-writable directories and world-writable files must be located only in public directories.

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

World-writable files and directories make it easy for a malicious user to place potentially compromising files on the system. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.

Fix Text

Remove or change the mode for any world-writable file or directory on the system that is not required to be world-writable. Procedure: # chmod o-w <file/directory> Document all changes.

Check Content

Check the system for world-writable files and directories. Procedure: # find / -perm -2 -a \( -type d -o -type f \) -exec ls -ld {} \; If any world-writable files or directories are located, except those required for proper system or application operation, such as /tmp and /dev/null, this is a finding.

Responsibility

System Administrator

Inetd or xinetd logging/tracing must be enabled.

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

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

Fix Text

Edit the inetd startup script to contain the "-d" parameter for the inetd process. #vi /etc/rc.tcpip # chssys -s inetd -a '-d'

Check Content

Determine if inetd or xinetd has logging or tracing enabled. # ps -ef |grep inetd |grep -e "-d" If no results are returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Configure the system to only boot from system startup media. # bootlist -m normal hdisk< x > Set multi-boot to off in the SMS application.

Check Content

Determine if the system is configured to boot from devices other than the system startup media. # bootlist -m normal -o The returned values should be hdisk{x}. If the system is setup to boot from a non-hard disk device, this is a finding. Additionally, ask the SA if the machine is setup for multi-boot in the SMS application. If multi-boot is enabled, the firmware will stop at boot time and request which image to boot from the user. If multi-boot is enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Disable the INN server.

Check Content

# ps -ef | egrep "innd|nntpd" If an INN server is running, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Disable SWAT (e.g., remove the "swat" line from inetd.conf or equivalent, and restart the service) or configure SSL protection for the SWAT service.

Check Content

Check the system for an enabled SWAT service. # grep -i swat /etc/inetd.conf If SWAT is found enabled, it must be utilized with SSL to ensure a secure connection between the client and the server. Ask the SA to identify the method used to provide SSL protection for the SWAT service. Verify (or ask the SA to demonstrate) this configuration is effective by accessing SWAT using an HTTPS connection from a web browser. If SWAT is found enabled and has no SSL protection, this is a finding.

Responsibility

System Administrator

IA Controls

EBRP-1

The /usr/lib/smb.conf file must be owned by root.

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

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

Fix Text

Change the ownership of the smb.conf file. Procedure: # chown root /usr/lib/smb.conf

Check Content

Check the ownership of the /usr/lib/smb.conf file. Procedure: # ls -l /usr/lib/smb.conf If an smb.conf file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /usr/lib/smb.conf file must have mode 0644 or less permissive.

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

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

Fix Text

Change the mode of the smb.conf file to 0644 or less permissive. Procedure: # chmod 0644 /usr/lib/smb.conf

Check Content

Check the mode of the smb.conf file. Procedure: # ls -lL /usr/lib/smb.conf If the smb.conf has a mode more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /var/private/smbpasswd file must be owned by root.

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

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

Fix Text

Change the owner of the smbpasswd file to root. # chown root /var/private/smbpasswd

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Edit the smb.conf file and set the hosts option to permit only authorized hosts to access Samba.

Check Content

Examine the smb.conf file. # more /usr/lib/smb.conf If the hosts option is not present to restrict access to a list of authorized hosts and networks, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Use SMIT or the chsec command to set the minimum password age to 1 week. # chsec -f /etc/security/user -s default -a minage=1 # chsec -f /etc/security/user -s <user id> -a minage=1 OR # smitty chuser

Check Content

Check the minage field for each user. # /usr/sbin/lsuser -a minage ALL If the minage field is less than 1 for any user, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Install OpenSSH from AIX installation media or AIX Expansion Pack. #smitty installp Enable SSH on the system and use it for all remote connections used to attain root access. Disable direct root login. # chsec -f /etc/security/user -s root -a rlogin=false

Check Content

Determine if root has logged in over an unencrypted network connection. First, determine if root has logged in over a network. Procedure: # last | grep "^root " | egrep -v "reboot|console" | more Next, determine if the SSH daemon is running. Procedure: # ps -ef |grep sshd If root has logged in over the network and SSHD is not running, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

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

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

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

Fix Text

Edit the /etc/ssh/sshd_config file and set the PermitRootLogin option to no and refresh sshd. #kill -1 <pid of sshd>

Check Content

Determine if the SSH daemon is configured to permit root logins. Procedure: # find / -name sshd_config -ls # grep -v "^#" <sshd_config path and file> | grep -i permitrootlogin If the PermitRootLogin entry is not found or is not set to no, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

Audio devices must have mode 0660 or less permissive.

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

Audio and video devices that are globally accessible have proven to be another security hazard. There is software that can activate 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 to a bugging device.

Fix Text

Change the mode of audio devices. # chmod o-w <audio device>

Check Content

Check the mode of audio devices. # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the mode of audio devices are more permissive than 0660, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Audio devices must be owned by root.

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

Audio and video devices that are globally accessible have proven to be another security hazard. There is software that can activate 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 to a bugging device.

Fix Text

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

Check Content

Check the owner of audio devices. Procedure: # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the owner of any audio device file is not root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the group owner of the smb.conf file. Procedure: # chgrp system /usr/lib/smb.conf

Check Content

Check the group ownership of the smb.conf file. Procedure: # ls -l /usr/lib/smb.conf If an smb.conf file is not group-owned by bin, sys, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /var/private/smbpasswd file must be group-owned by sys or system.

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

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

Fix Text

Use the chgrp command to change the group owner of the smbpasswd file to system. # chgrp system /var/private/smbpasswd

Check Content

Check smbpasswd ownership. # ls -lL /var/private/smbpasswd If smbpasswd is not group-owned by sys, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /var/private/smbpasswd file must have mode 0600 or less permissive.

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

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

Fix Text

Change the mode of the smbpasswd file to 0600. Procedure: # chmod 0600 /var/private/smbpasswd

Check Content

Check smbpasswd mode. Procedure: # ls -lL /var/private/smbpasswd If smbpasswd has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Check the group owner of audio devices. Procedure: # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the group owner of an audio device is not root, sys, bin, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Graphical desktop environments provided by the system must automatically lock after 15 minutes of inactivity and the system must require users to re-authenticate to unlock the environment.

Finding ID
GEN000500
Rule ID
SV-39096r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000500
CCI
CCI-000057
Target Key
(None)
Documentable
No
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.

Fix Text

Consult vendor documentation to determine the settings required for the system to lock graphical desktop environments. Configure the system to lock graphical desktop environments after 15 minutes of inactivity and require re-authentication to resume operations.

Check Content

Log into a graphical desktop environment provided by the system. Allow the session to remain idle for 15 minutes. If the desktop session is not automatically locked after 15 minutes, or does not require re-authentication to resume operations, this is a finding.

Responsibility

System Administrator

IA Controls

PESL-1

The system must prohibit the reuse of passwords within five iterations.

Finding ID
GEN000800
Rule ID
SV-38679r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000800
CCI
CCI-000200
Target Key
(None)
Documentable
No
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 to something else, it would provide a potential intruder with the opportunity to keep guessing at one user's password until it was guessed correctly.

Fix Text

Use the chsec command to configure the system to prohibit the reuse of passwords within five iterations. # chsec -f /etc/security/user -s default -a histsize=5 # chuser histsize=5 < user id >

Check Content

Procedure: #lsuser -a histsize ALL If the returned histsize for any user is less than 5, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

User start-up files must not execute world-writable programs.

Finding ID
GEN001940
Rule ID
SV-4087r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001940
CCI
CCI-000225
Target Key
(None)
Documentable
No
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 compromising the system at the user, or higher, level. If the system is compromised at the user level, it is much easier to eventually compromise the system at the root and network level.

Fix Text

Remove the world-writable permission of files referenced by local initialization scripts, or remove the references to these files in the local initialization scripts.

Check Content

Check local initialization files for any executed world-writable programs or scripts. Procedure: # more /<usershomedirectory>/.* # ls -al <program or script> If any local initialization file executes a world-writable program or script, this is a finding.

Responsibility

System Administrator

IA Controls

DCSW-1

All system start-up files must be owned by root.

Finding ID
GEN001660
Rule ID
SV-27209r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001660
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the ownership of the run control script(s) with incorrect ownership. # chown root <run control script>

Check Content

Check the run control scripts' ownership. Procedure: # ls -lL /etc/rc* If any run control script is not owned by root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All system start-up files must be group-owned by sys, bin, other, or system.

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

If system start-up files do not have a group owner of a system group, the files may be modified by malicious users or intruders.

Fix Text

Change the group ownership of the run control script(s) with incorrect group ownership. Procedure: # chgrp sys <run control script>

Check Content

Check run control scripts' group ownership. Procedure: # ls -lL /etc/rc* If any run control script is not group-owned by sys, bin, other, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

System start-up files must only execute programs owned by a privileged UID or an application.

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

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

Fix Text

Change the ownership of the file executed from system startup scripts to root, bin, sys, or other. # chown root <executed file>

Check Content

Check the ownership of any files executed from system startup scripts. If any of these files are not owned by root, bin, sys, or other, this is a finding.

Responsibility

System Administrator

IA Controls

DCSL-1

System BIOS or system controllers supporting password protection must have administrator accounts/passwords configured, and no others.

Finding ID
GEN008620
Rule ID
SV-38836r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN008620
CCI
CCI-000213
Target Key
(None)
Documentable
No
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.

Fix Text

Access the system's service processor. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set.

Check Content

Ask the SA if a password has been given to the Service processors ADMIN account. If a password has not been assigned to the service processor, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not use removable media as the boot loader.

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

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

Fix Text

Configure the system to use a bootloader installed on fixed media. # bootlist -m normal hdisk0 # bootlist -m service hdisk0

Check Content

Check the servers boot lists for the normal, service, both, or prevboot modes. # bootlist -m <mode> -o Ensure hdisk{x} is the only devices listed. If boot devices, such as cd{x}, fd{x}. rmt{x}, ent{x} are used, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

If the system boots from removable media, it must be stored in a safe or similarly secured container.

Finding ID
GEN008680
Rule ID
SV-4255r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN008680
CCI
CCI-001208
Target Key
(None)
Documentable
No
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.

Fix Text

Store the system boot media in a secure container when not in use.

Check Content

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.

Responsibility

System Administrator

IA Controls

PESS-1

The system must not have unnecessary accounts.

Finding ID
GEN000290
Rule ID
SV-38767r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000290
CCI
CCI-000012
Target Key
(None)
Documentable
No
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.

Fix Text

Remove all unnecessary accounts, such as games, from the /etc/passwd file before connecting a system to the network. Other accounts, such as news and gopher, that are associated with a service not in use should also be removed. # rmuser -p <username>

Check Content

Check the system for unnecessary user accounts. Procedure: # more /etc/passwd Some examples of unnecessary accounts includes guest, uucp, games, news, gopher, ftp, and lp. If any unnecessary accounts are found, this is a finding.

Responsibility

System Administrator

IA Controls

IAAC-1

The /etc/news/hosts.nntp (or equivalent) must have mode 0600 or less permissive.

Finding ID
GEN006260
Rule ID
SV-39250r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006260
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the hosts.nntp file to 0600. # chmod 0600 < hosts.nntp file>

Check Content

Check /etc/news/hosts.nntp permissions. # find / -name hosts.nntp # ls -lL < hosts.nntp file > If /etc/news/hosts.nntp has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/hosts.nntp.nolimit (or equivalent) must have mode 0600 or less permissive.

Finding ID
GEN006280
Rule ID
SV-39252r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006280
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of hosts.nntp.nolimit to 0600. # chmod 0600 < hosts.nntp.nolimit file>

Check Content

Check /etc/news/hosts.nntp.nolimit permissions. # find / -name hosts.nntp.nolimit # ls -lL < hosts.nntp.nolimit file > If hosts.nntp.nolimit has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/nnrp.access (or equivalent) must have mode 0600 or less permissive.

Finding ID
GEN006300
Rule ID
SV-39255r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006300
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the nnrp.access file to 0600. # chmod 0600 < nnrp.access >

Check Content

Check /etc/news/nnrp.access permissions. # find / -name nnrp.access # ls -lL < nnrp.access > If /etc/news/nnrp.access has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The /etc/news/passwd.nntp file (or equivalent) must have mode 0600 or less permissive.

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

File permissions more permissive than 0600 for /etc/news/passwd.nntp may allow access to privileged information by system intruders or malicious users.

Fix Text

Change the mode of the passwd.nntp file. # chmod 0600 < passwd.nntp >

Check Content

Check /etc/news/passwd.nntp permissions. # find / -name passwd.nntp # ls -lL < passwd.nntp > If passwd.nntp has a mode more permissive than 0600, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Files in /etc/news must be owned by root or news.

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

If critical system files are not owned by a privileged user, system integrity could be compromised.

Fix Text

Change the ownership of the files in /etc/news to root or news. Procedure: # chown root /etc/news/*

Check Content

Check the ownership of the files in /etc/news. Procedure: # ls -al /etc/news If any files are not owned by root or news, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The files in /etc/news must be group-owned by system or news.

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

If critical system files do not have a privileged group owner, system integrity could be compromised.

Fix Text

Change the group owner of the files in /etc/news to system or news. Procedure: # chgrp news /etc/news/*

Check Content

Check /etc/news files group ownership. Procedure: # ls -al /etc/news If /etc/news files are not group-owned by system or news, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The securetcpip command must be used.

Finding ID
GEN000000-AIX00040
Rule ID
SV-4284r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000000-AIX00040
CCI
CCI-000032
Target Key
(None)
Documentable
No
Discussion

The AIX securetcpip command disables insecure network utilities, such as rcp, rlogin, rlogind, rsh, rshd, tftp, tftpd, and trpt/d. These services increase the attack surface of the system.

Fix Text

Ensure secure tcp/ip has been invoked before allowing operations on the system.

Check Content

The securetcpip command is in /etc. If it is not there, this is a finding. Perform: more /etc/security/config If the stanza below is not there, this is a finding. tcpip: netrc = ftp, rexec The stanza indicates the securetcpip command, which disables all the unsafe tcpip commands, (e.g., rsh, rlogin, tftp) has been executed.

Responsibility

System Administrator

IA Controls

ECSC-1

A baseline of AIX files with the TCB bit set must be checked weekly.

Finding ID
GEN000000-AIX00060
Rule ID
SV-4287r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000000-AIX00060
CCI
CCI-001298
Target Key
(None)
Documentable
No
Discussion

If a baseline of files with the TCB bit set is not kept and checked weekly, the system could be compromised without the knowledge of any authority.

Fix Text

Add tcbck command as a weekly cronjob with the output sent to the SA.

Check Content

Perform the following command with no parameters to ensure the system is in trusted mode. # /bin/tcbck If TCB is not installed, the output will show an error code of 3001-101 and/or a text message indicating TCB is not installed. If the output from the command indicates it is not in trusted mode, this is not reviewed. Otherwise, check the root crontab to verify tcbck is executed weekly. If it is not in the crontab, ask the SA if the check is run manually and to see the results of the check.

Responsibility

System Administrator

IA Controls

DCSL-1

The SSH daemon must be configured to only use the SSHv2 protocol.

Finding ID
GEN005500
Rule ID
SV-40862r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005500
CCI
CCI-001436
Target Key
(None)
Documentable
No
Discussion

SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH daemon could provide immediate root access to the system.

Fix Text

Edit the configuration file and modify the Protocol line. Protocol 2 Restart sshd: /sbin/init.d/secsh stop /sbin/init.d/secsh start

Check Content

Examine the sshd configuration file. # cat /etc/ssh/sshd_config | grep -i "Protocol 2" If the value of "Protocol" is not set to 2, or is commented out, this is a finding.

Responsibility

System Administrator

Remote consoles must be disabled or protected from unauthorized access.

Finding ID
GEN001000
Rule ID
SV-27149r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN001000
CCI
CCI-000070
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/security/login.cfg and remove the alternate console definition.

Check Content

Check /etc/security/login.cfg # more /etc/security/login.cfg If an alternate console is defined, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system clock must be synchronized to an authoritative DoD time source.

Finding ID
GEN000240
Rule ID
SV-38666r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000240
CCI
CCI-001492
Target Key
(None)
Documentable
No
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 synchronizing 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.

Fix Text

Use a local authoritative time server that synchronizes 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 (x)ntp/(x)ntpd man page(s). # man xntpd Create/edit the /etc/ntp.conf file, delete any non-local and/or non-US/DoD sources and insert the local or an authoritative US/DoD source. Start or restart the NTP service. # refresh -s xntpd OR # stopsrc -s xntpd # startsrc -s xntpd

Check Content

Verify if NTP running. # lssrc -s xntpd or # ps -ef | egrep "xntpd|ntpd" or # ntpq -p Verify xntpd is started at boot time and scheduled to run. #grep xntpd /etc/rc.tcpip | grep -v \# If NTP is running use the following command. # more /etc/ntp.conf and # ntpq -p Confirm the servers and peers or multicastclient (as applicable) are local or an authoritative U.S. DoD source. If a non-local/non-authoritative (U.S. DoD source) time-server is used, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The root file system must employ journaling or another mechanism ensuring file system consistency.

Finding ID
GEN003640
Rule ID
SV-38909r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003640
CCI
CCI-000553
Target Key
(None)
Documentable
No
Discussion

File system journaling, or logging, can allow reconstruction of file system data after a system crash, thus, preserving the integrity of data that may have otherwise been lost. Journaling file systems typically do not require consistency checks upon booting after a crash, which can improve system availability. Some file systems employ other mechanisms to ensure consistency which also satisfy this requirement.

Fix Text

Implement file system journaling for the root file system, or use a file system using other mechanisms to ensure consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure consistency, a migration to a different file system will be necessary.

Check Content

Logging should be enabled for those types of files systems that do not turn on logging by default. Procedure: # mount #lsfs JFS, JFS2, 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 system types, if the root file system does not have the logging option, this is a finding. If the nolog option or the log=NULL option is set on the root file system, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

The system must not run Samba unless needed.

Finding ID
GEN006060
Rule ID
SV-4321r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN006060
CCI
CCI-001436
Target Key
(None)
Documentable
No
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.

Fix Text

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.

Check Content

Check the system for a running Samba server. Procedure: # ps -ef |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.

Responsibility

System Administrator

IA Controls

ECSC-1

Audit logs must be rotated daily.

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

Rotate audit logs daily to preserve audit file system space and to conform to the DoD/DISA 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.

Fix Text

Configure a cron job or other automated process to rotate the audit logs on a daily basis.

Check Content

Check for any crontab entries that rotate audit logs. Procedure: # crontab -l If such a cron job is found, this is not a finding. Otherwise, query the SA. If there is a process automatically rotating 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.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

If file permissions for cron.deny are more permissive than 0600, sensitive information could be viewed or edited by unauthorized users.

Fix Text

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

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

Cron programs must not set the umask to a value less restrictive than 077.

Finding ID
GEN003220
Rule ID
SV-27364r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003220
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
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.

Fix Text

Edit cron script files and modify the umask to 077.

Check Content

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.

Security Override Guidance

If a cron program sets the umask to 000 or does not restrict the world-writable permission, this becomes a CAT I finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

Finding ID
GEN003240
Rule ID
SV-27367r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003240
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

# chown root /var/adm/cron/cron.allow

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

The at directory must have mode 0755 or less permissive.

Finding ID
GEN003400
Rule ID
SV-38907r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003400
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the "at" directory to 0755. Procedure: # chmod 0755 < at directory >

Check Content

Check the mode of the at directory. # ls -lLd /var/spool/cron/atjobs If the directory mode is more permissive than 0755, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The at directory must be owned by root, bin, sys, daemon, or cron.

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

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

Fix Text

Change the owner of the at directory to root, bin, sys, daemon, or cron. Procedure: # chown bin /var/spool/cron/atjobs

Check Content

Check the ownership of the at directory. Procedure: # ls -ld /var/spool/cron/atjobs If the directory is not owned by root, bin, sys, daemon, or cron, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

"At" jobs must not set the umask to a value less restrictive than 077.

Finding ID
GEN003440
Rule ID
SV-4366r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003440
CCI
CCI-000225
Target Key
(None)
Documentable
Yes
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.

Fix Text

Edit "at" jobs or referenced scripts to remove umask commands setting umask to a value less restrictive than 077.

Check Content

Determine what "at" jobs exist on the system. Procedure: # ls /var/spool/cron/atjobs /var/spool/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 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.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

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

If the owner of the at.allow file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit sensitive information contained within the file.

Fix Text

Change the owner of the at.allow file. # chown root /var/adm/cron/at.allow

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

Finding ID
GEN003480
Rule ID
SV-27397r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003480
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of the at.deny file. # chown root /var/adm/cron/at.deny

Check Content

# ls -lL /var/adm/cron/at.deny If the at.deny file is not owned by root, sys, or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The traceroute command owner must be root.

Finding ID
GEN003960
Rule ID
SV-28393r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003960
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the owner of the traceroute command to root. Example: # chown root /usr/bin/traceroute

Check Content

# ls -lL /usr/bin/traceroute If the traceroute command is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The traceroute command must be group-owned by sys, bin, or system.

Finding ID
GEN003980
Rule ID
SV-28397r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN003980
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the group owner of the traceroute command to sys, bin, or system. Procedure: # chgrp system /usr/bin/traceroute

Check Content

Check the group ownership of the traceroute file. Procedure: # ls -lL /usr/bin/traceroute If the traceroute command is not group-owned by sys, bin, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The traceroute file must have mode 0700 or less permissive.

Finding ID
GEN004000
Rule ID
SV-28400r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004000
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the mode of the traceroute command. # chmod 0700 /usr/bin/traceroute

Check Content

# ls -lL /usr/bin/traceroute If the traceroute command has a mode more permissive than 0700, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Administrative accounts must not run a web browser, except as needed for local service administration.

Finding ID
GEN004220
Rule ID
SV-4382r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN004220
CCI
CCI-000225
Target Key
(None)
Documentable
No
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 CUPS administrative interface, and Sun's StorageTek Common Array Manager (CAM) when these services are running on the local system.

Fix Text

Enforce policy requiring administrative accounts use web browsers only for local service administration.

Check Content

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.

Responsibility

System Administrator

IA Controls

ECLP-1

The SMTP service's SMTP greeting must not provide version information.

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

The version of the SMTP service can be used by attackers to plan an attack based on vulnerabilities present in the specific version.

Fix Text

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. O SmtpGreetingMessage=$j Sendmail $v/$Z; $b Change it to: O SmtpGreetingMessage= Mail Server Ready ; $b

Check Content

Check for the Sendmail version being displayed in the greeting. # telnet localhost 25 If a version number is displayed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not use .forward files.

Finding ID
GEN004580
Rule ID
SV-4385r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004580
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Remove .forward files from the system.

Check Content

Search for any .forward files on the system. # find / -name .forward -print This is considered a finding if any .forward files are found on the system.

Responsibility

System Administrator

IA Controls

ECSC-1

Anonymous FTP accounts must not have a functional shell.

Finding ID
GEN005000
Rule ID
SV-4387r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005000
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

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.

Check Content

Check the shell for the anonymous FTP account. Procedure: # grep "^ftp" /etc/passwd This is a finding if the seventh field is empty (the entry ends with a ':') or if the seventh field does not contain one of the following. /bin/false /dev/null /usr/bin/false /bin/true /sbin/nologin

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

If the system is a Network Management System (NMS) server, it must only run the NMS and any software required by the NMS.

Finding ID
GEN005380
Rule ID
SV-4392r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005380
CCI
CCI-001208
Target Key
(None)
Documentable
No
Discussion

Installing extraneous software on a system designated as a dedicated Network Management System (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.

Fix Text

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.

Check Content

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.

Responsibility

System Administrator

IA Controls

DCPA-1

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

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

If the /etc/syslog.conf file is not owned by root, unauthorized users could be allowed to view, edit, or delete important system messages handled by the syslog facility.

Fix Text

Use the chown command to set the owner to root. # chown root /etc/syslog.conf

Check Content

Check /etc/syslog.conf ownership. # ls -lL /etc/syslog.conf If /etc/syslog.conf is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

Finding ID
GEN005420
Rule ID
SV-40364r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005420
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Change the group owner of the /etc/syslog.conf file to bin, sys, or system. Procedure: # chgrp system /etc/syslog.conf

Check Content

Check /etc/syslog.conf group ownership. Procedure: # ls -lL /etc/syslog.conf If /etc/syslog.conf is not group-owned by sys, bin, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must only use remote syslog servers (log hosts) justified and documented using site-defined procedures.

Finding ID
GEN005460
Rule ID
SV-4395r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005460
CCI
CCI-000366
Target Key
(None)
Documentable
Yes
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.

Fix Text

Remove, replace, or document the referenced undocumented log host.

Check Content

Examine the syslog.conf file for any references to remote log hosts. # grep -v "^#" /etc/syslog.conf | grep '@' Destination locations beginning with an @ represent log hosts. If the log host name is a local alias, such as log host, 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.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must be configured with a default gateway for IPv4 if the system uses IPv4, unless the system is a router.

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

If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.

Fix Text

Set a default gateway for IPv4. # smitty route OR # route add 0 < ip address of gateway >

Check Content

Check the system for an IPv4 default route. Procedure: # netstat -r |grep default If a default route is not defined, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

A system used for routing must not run other network services or applications.

Finding ID
GEN005580
Rule ID
SV-4398r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005580
CCI
CCI-001208
Target Key
(None)
Documentable
No
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.

Fix Text

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.

Check Content

Ask the SA if the system is a designated router. If it is not, this is not applicable. Check the system for non-routing network services. Procedure: # 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.

Responsibility

System Administrator

IA Controls

DCSP-1

The system must not use UDP for NIS/NIS+.

Finding ID
GEN006380
Rule ID
SV-4399r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN006380
CCI
CCI-001436
Target Key
(None)
Documentable
No
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.

Fix Text

Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.

Check Content

If the system does not use NIS or NIS+, this is not applicable. Check if NIS or NIS+ is implemented using UDP. Procedure: # rpcinfo -p | grep yp | grep udp If NIS or NIS+ is implemented using UDP, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All .rhosts, .shosts, or host.equiv files must only contain trusted host-user pairs.

Finding ID
GEN002020
Rule ID
SV-4427r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002020
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

If possible, remove the .rhosts, .shosts, hosts.equiv, and shosts.equiv files. If the files are required, remove any content from the files except for necessary host-user pairs.

Check Content

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 other than host-user pairs, this is a finding.

Responsibility

System Administrator

Mitigations

G614

Mitigation Control

. The only allowable use of a’ +’ character in a hosts.equiv and .rhosts files is to allow NIS+ netgroups access to the system.

IA Controls

ECCD-1, ECCD-2

All .rhosts, .shosts, .netrc, or hosts.equiv files must be accessible by only root or the owner.

Finding ID
GEN002060
Rule ID
SV-39502r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN002060
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

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.

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

Cron daemon control files restrict the scheduling of automated tasks and must be protected.

Fix Text

# chown root /var/adm/cron/cron.deny

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

The rsh daemon must not be running.

Finding ID
GEN003820
Rule ID
SV-27434r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN003820
CCI
CCI-000068
Target Key
(None)
Documentable
No
Discussion

The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Edit /etc/inetd.conf and comment out the rshd service. Restart the inetd service.

Check Content

# grep -v "^#" /etc/inetd.conf |grep rshd If rshd is found to be enabled, this is a finding.

Responsibility

System Administrator

IA Controls

EBRU-1

The rexec daemon must not be running.

Finding ID
GEN003840
Rule ID
SV-38878r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN003840
CCI
CCI-001435
Target Key
(None)
Documentable
Yes
Discussion

The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.

Fix Text

Edit /etc/inetd.conf and comment out the line for the rexec service. Refresh the inetd daemon. # refresh -s inetd

Check Content

# grep -v "^#" /etc/inetd.conf |grep rexec If any results are returned, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECSC-1

The SMTP service must be an up-to-date version.

Finding ID
GEN004600
Rule ID
SV-38917r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN004600
CCI
CCI-001230
Target Key
(None)
Documentable
No
Discussion

The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.

Fix Text

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.

Check Content

Determine the version of the SMTP service software. Locate the sendmail daemon. Procedure: # find / -name sendmail Obtain version information for the Sendmail daemon. Procedure: # what < file location > OR # strings < file location > | grep version OR # echo \$Z | sendmail -d0 Version 8.14.5 is the latest released version. If the Sendmail version is not at least 8.14.5 or the vendor's latest version, this is a finding.

Responsibility

System Administrator

IA Controls

VIVM-1

The Sendmail server must have the debug feature disabled.

Finding ID
GEN004620
Rule ID
SV-4690r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN004620
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.

Check Content

Check for an enabled debug command provided by the SMTP service. Procedure: # telnet localhost 25 debug If the command does not return a 500 error code of command unrecognized, this is a finding. If telnet is unavailable for testing, check the version of sendmail installed on the system. # echo \$Z | /usr/sbin/sendmail -bt -d0 If the sendmail reported version is less than 8.6, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service must not have a uudecode alias active.

Finding ID
GEN004640
Rule ID
SV-4691r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN004640
CCI
CCI-001230
Target Key
(None)
Documentable
No
Discussion

A common configuration for older Mail Transfer Agents (MTAs) includes 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 decode or 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.

Fix Text

Disable mail aliases for decode and uudecode. If the /etc/aliases or /usr/lib/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 the examples below: # decode: |/usr/bin/uudecode # uudecode: |/usr/bin/uuencode -d

Check Content

Check the SMTP service for an active decode command. Procedure: # telnet localhost 25 decode If the command does not return a 500 error code of command unrecognized, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service must not have the EXPN feature active.

Finding ID
GEN004660
Rule ID
SV-28402r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN004660
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

Edit the sendmail.cf file and add or edit the following line: O PrivacyOptions=goaway Restart the Sendmail service.

Check Content

Perform the following to determine if EXPN is disabled: # telnet localhost 25 expn root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file by: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i privacyoptions 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.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service must not have the VRFY feature active.

Finding ID
GEN004680
Rule ID
SV-39171r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN004680
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

If you are running Sendmail, add the line Opnovrfy to your Sendmail configuration file, usually located in /etc/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.

Check Content

Determine if VRFY is disabled. Procedure: # telnet localhost 25 vrfy root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file. Procedure: # find / -name sendmail.cf -print # grep -v "^#" |grep -i vrfy 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.

Responsibility

System Administrator

IA Controls

ECSC-1

The Sendmail service must not have the wizard backdoor active.

Finding ID
GEN004700
Rule ID
SV-4694r2_rule
Severity
Cat III
CCE
(None)
Group Title
GEN004700
CCI
CCI-000366
Target Key
(None)
Documentable
No
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.

Fix Text

If the WIZ command is enabled on Sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (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.

Check Content

Locate the sendmail.cf configuration file and check for wiz configuration. Procedure: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i wiz If an entry is found for wiz, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Any active TFTP daemon must be authorized and approved in the system accreditation package.

Finding ID
GEN005140
Rule ID
SV-39193r1_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005140
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

Disable the TFTP daemon. Edit /etc/inetd.conf and comment out the tftp line. Restart the inetd service. # refresh -s inetd

Check Content

Determine if the TFTP daemon is active. # grep -v "^#" /etc/inetd.conf |grep tftp If TFTP is found enabled, it is a finding if it is not documented using site-defined procedures.

Responsibility

System Administrator

IA Controls

DCSW-1

The system must not have the UUCP service active.

Finding ID
GEN005280
Rule ID
SV-28427r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN005280
CCI
CCI-001436
Target Key
(None)
Documentable
No
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.

Fix Text

Edit /etc/inetd.conf and comment out the uucp service. Restart the inetd service.

Check Content

# grep uucp /etc/inetd.conf If uucp is found enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

X displays must not be exported to the world.

Finding ID
GEN005200
Rule ID
SV-4697r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN005200
CCI
CCI-000225
Target Key
(None)
Documentable
No
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.

Fix Text

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. Refer to your X11 server's documentation for further security information.

Check Content

If X Windows is not used on the system, this is not applicable. Check the output of the xhost command from an X terminal. Procedure: $ 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. NOTE: It may be necessary to define the display if the command reports it cannot open the display. Procedure: $ DISPLAY=MachineName:0.0; export DISPLAY MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not have the finger service active.

Finding ID
GEN003860
Rule ID
SV-27440r1_rule
Severity
Cat III
CCE
(None)
Group Title
GEN003860
CCI
CCI-001551
Target Key
(None)
Documentable
No
Discussion

The finger service provides information about the system's users to network clients. This information could expose information that could be used in subsequent attacks.

Fix Text

Edit /etc/inetd.conf and comment out the finger service line. Restart the inetd service.

Check Content

# grep -v "^#" /etc/inetd.conf |grep finger If the finger service is not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

DCPP-1

If the system is an anonymous FTP server, it must be isolated to the DMZ network.

Finding ID
GEN004840
Rule ID
SV-4702r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN004840
CCI
CCI-000787
Target Key
(None)
Documentable
No
Discussion

Anonymous FTP is a public data service which is only permitted in a server capacity when located on the DMZ network.

Fix Text

Move the system to a DMZ network.

Check Content

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 guest@mail.com). If the logon is not successful, this check is not applicable. 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.

Responsibility

System Administrator

IA Controls

ECSC-1

The operating system must be a supported release.

Finding ID
GEN000100
Rule ID
SV-27052r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN000100
CCI
CCI-001230
Target Key
(None)
Documentable
No
Discussion

An operating system release is considered "supported" if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software.

Fix Text

Upgrade to a supported version of the operating system.

Check Content

# oslevel Vendor-supported versions are 7.1 and later at the time of writing. AIX 6.1 End of Support: 30 April 2017 If the release is not supported, this is a finding.

Security Override Guidance

If an extended support agreement providing security patches for the unsupported product is procured from the vendor, this finding may be downgraded to a CAT III.

Responsibility

System Administrator

A file integrity baseline must be created and maintained.

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

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

Fix Text

Create a file integrity baseline, including cryptographic hashes, for the system. # find / -depth -print | tee Baseline Open the above file and either manually execute md5sum, csum, or the chksum command on each file. Alternatively, write a script to perform the above. NOTE: For security purposes, "md5sum" is preferred over "chksum". The md5sum command can be loaded from the Linux Tool Kit for AIX. Alternatively, OpenSSL can be used to create hashes. #openssl dgst -md5 < file >

Check Content

Determine if a file integrity baseline, which includes cryptographic hashes, has been created and maintained for the system. 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 (has not been updated to be consistent with the latest approved system configuration changes), this is a finding.

Responsibility

System Administrator

IA Controls

DCSW-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

Using the usermod command, change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 128). # usermod -u <uid> login Alternatively, smit can be used for this same purpose. #smitty users

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Change the minimum password length to 15 or more. # chsec -f /etc/security/user -s default -a minlen=15 # chuser minlen=15 <user id>

Check Content

Check the system password length setting. # /usr/sbin/lsuser -a minlen ALL If minlen is not set to 15 or more, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

Use the chsec command to set the minother setting to 1. # chsec -f /etc/security/user -s default -a minother=1 # chuser minother=1 < user id >

Check Content

Check the minother setting. Procedure: # grep minother /etc/security/user OR # lsuser -a minother ALL If the minother setting is less than 1, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The system must require passwords to contain no more than three consecutive repeating characters.

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

To enforce the use of complex passwords, the number of consecutive repeating characters is limited. Passwords with excessive repeated characters may be more vulnerable to password-guessing attacks.

Fix Text

Use the chsec command to set maxrepeats to 3. # chsec -f /etc/security/user -s default -a maxrepeats=3 # chuser maxrepeats=3 < user id >

Check Content

Check the maxrepeats setting. Procedure: # grep -i maxrepeats /etc/security/user OR # lsuser -a maxrepeats ALL If the maxrepeats setting is greater than 3, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

User passwords must be changed at least every 60 days.

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

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

Fix Text

Use the chsec command to set the maxage field to 8 for each user. # chsec -f /etc/security/user -s default -a maxage=8 # chuser maxage=8 < user id >

Check Content

Check the maxage field for each user. The field represents the number of weeks a password is valid. Procedure: # /usr/sbin/lsuser -a maxage ALL If the maxage field is 0 or greater than 8 for any user, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

All non-interactive/automated processing account passwords must be changed at least once per year or be locked.

Finding ID
GEN000740
Rule ID
SV-38676r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000740
CCI
CCI-000199
Target Key
(None)
Documentable
No
Discussion

Limiting the lifespan of authenticators limits the period of time an unauthorized user has access to the system while using compromised credentials and reduces the period of time available for password-guessing attacks to run against a single password. 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.

Fix Text

Implement or establish procedures to change the passwords of automated processing accounts at least once per year. #passwd account

Check Content

NOTE: This will always require a manual review. This is a local policy issue/question. Ask the SA if there are any automated processing accounts on the system. If there are automated processing accounts on the system, ask the SA if the passwords for those automated accounts are changed at least once a year. If the SA indicates passwords for automated processing accounts are not changed once per year, this is a finding. Procedure: Go to last password change date for the system account. # grep -p <account_name> /etc/security/passwd | grep lastupdate To examine the time a password was last changed, the following perl script has been provided. Put the lastupdate value in the <lastupdate>. #perl -e 'use POSIX; print strftime("%c\n" , localtime(<lastupdate>));'

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

The root account must not be used for direct logins.

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

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

Fix Text

Enforce policy requiring all root account access is attained by first logging into a user account and then becoming root (using su, for example).

Check Content

Check if the root is used for direct logins. Procedure: # last root | grep -v reboot If any direct login records for root exist, this is a finding.

Responsibility

System Administrator

IA Controls

ECPA-1

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

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

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

Fix Text

Troubleshoot the system logging configuration to provide for logging of root account login attempts.

Check Content

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

Responsibility

System Administrator

IA Controls

ECAR-1, ECAR-2, ECAR-3

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

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

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

Fix Text

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

Check Content

Check global initialization files permissions: # ls -l /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If global initialization files are more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All global initialization files must be owned by root.

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

All global initialization files must be group-owned by sys, bin, system, or security.

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the ownership of skeleton files with incorrect mode. # chown root /etc/security/.profile /etc/security/mkuser.sys

Check Content

Check skeleton files ownership. Procedure: # ls -l /etc/security/.profile /etc/security/mkuser.sys If a skeleton file is not owned by root or bin, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

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

Check Content

NOTE: The following must be done in the BASH shell. Examine the PATH variable contained in any user's local initialization files using a command shell that supports the use of ~USER as USER's home directory. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -i PATH ~USER/.*' The PATH variable is a colon-delimited directory list. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

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

Check Content

Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts # cat /<directorylocation>/.rhosts | grep -v "^#" | grep "\+" # find / -name .shosts # cat /<directorylocation>/.shosts | grep -v "^#" | grep "\+" # find / -name hosts.equiv # cat /<directorylocation>/hosts.equiv | grep -v "^#" | grep "\+" # find / -name shosts.equiv # cat /<directorylocation>/shosts.equiv | grep -v "^#" | grep "\+" # cat /etc/passwd | grep -v "^#" | grep "\+" # cat /etc/security/passwd | 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 or LDAP netgroups, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

The .rhosts file must not be supported in PAM.

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

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

Fix Text

Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.

Check Content

Check the PAM configuration for rhosts_auth. Procedure: # grep rhosts_auth /etc/pam.conf |grep -v \# If a rhosts_auth entry is found, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECCD-1, ECCD-2

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

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

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

Fix Text

Change the group ownership of the public directory. Procedure: # chgrp system /tmp (Replace system with a different system group and/or /tmp with a different public directory as necessary.)

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

Crontabs must be owned by root or the crontab creator.

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

DCSL-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECPA-1

Process core dumps must be disabled unless needed.

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

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

Fix Text

# chsec -f /etc/security/limits -s default -a core=0

Check Content

# lsuser -a core ALL If any user does not have a value of core = 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

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

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

Fix Text

Change the owner of the kernel core dump data directory to root. # chown root /var/adm/ras Supplementary Information: The location of the kernel dump area should be moved out of /var/adm/ras. This directory may be world read/writeable. A suggestion would be to create /var/adm/kcore; chown root:sys /var/adm/kcore; chmod 700 /var/adm/kcore. Change where the system copies its kernel core files to. sysdumpdev -d /var/adm/kcore

Check Content

Determine the core file copy location. #sysdumpdev -l | grep -i "core dir" Check the ownership of the kernel core dump data directory. # ls -ld < dump file location > If the kernel core dump data directory is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The system must implement non-executable program stacks.

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

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

Fix Text

Change the sed_config setting to disable stack execution for all processes. # chdev -l sys0 -a sed_config=all To assess the impact of updating sed_config, the "all+monitor" setting may be used temporarily. This temporary update does not mitigate the finding. Reboot the system for the new setting to take effect.

Check Content

On 64-bit systems, verify the sed_config (Stack Execution Disable) setting is "all". # lsattr -El sys0 -a sed_config If the second field is not "all", this is a finding. (32-bit systems do not support sed_config. This is a permanent finding on 32-bit AIX systems.)

Responsibility

System Administrator

IA Controls

ECSC-1

The system must not forward IPv4 source-routed packets.

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

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

Fix Text

# /usr/sbin/no -po "ipsrcrouteforward=0"

Check Content

# /usr/sbin/no -o ipsrcrouteforward If the returned value is not 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

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

Check Content

Determine if the /home path is a separate file system. #df -k /home If /home is not on its own file system, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The system must log authentication informational data.

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

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

Fix Text

Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info.

Check Content

Check /etc/syslog.conf and verify the auth facility is logging both the notice and info level messages by using one of the procedures below. # grep "auth.notice" /etc/syslog.conf # grep "auth.info" /etc/syslog.conf OR # grep 'auth.*' /etc/syslog.conf If auth.* is not found, and either auth.notice or auth.info is not found, this is a finding.

Responsibility

System Administrator

IA Controls

ECAR-2, ECAR-3

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

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

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

Fix Text

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

Check Content

First, determine if inetd/xinetd is running. # ps -ef |grep inetd If inetd is not running, this is not a finding. # grep -v "^#" /etc/inetd.conf If no active services are found, yet the inetd daemon is running, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SMTP service HELP command must not be enabled.

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

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

Fix Text

To disable the SMTP HELP command create an empty Sendmail help file. # > /etc/mail/help

Check Content

Check to see if help is disabled in Sendmail. Procedure: # telnet <host> 25 help If the help command returns any Sendmail version information, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

Unencrypted FTP must not be used on the system.

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

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

Fix Text

Edit /etc/inetd.conf and comment out or remove the ftp and telnet service lines. # vi /etc/inetd.conf Restart the inetd service. # refresh -s inetd

Check Content

Determine if unencrypted ftp or telnet are enabled. Procedure: # grep ftp /etc/inetd.conf # grep telnet /etc/inetd.conf If either of these services are found, and are active, ask the SA if they encrypted. If they are not, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All FTP users must have a default umask of 077.

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

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

Fix Text

Add the arguments -u077 to the ftpd on the /etc/inetd.conf and refresh inetd. #vi /etc/inetd.conf #refresh -s inetd Change the umask of the ftp user. #chuser umask=077 ftp

Check Content

Check the umask setting for the "ftp" user. Procedure: # lsuser -a umask ftp If the umask value does not return 077 or 77, this is a finding. Check the default umask that the ftpd daemon is running with # grep ftpd /etc/inetd.conf If there is not a -u077 argument on the ftpd, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

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

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

Fix Text

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

Check Content

Check the file permissions for the .Xauthority files in the home directories of users of X. Procedure: # cd ~<X user> # ls -lL .Xauthority If the file mode is more permissive than 0600, this is finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Determine if the X server is running. Procedure: # ps -ef |grep X Determine if xauth is being used. Procedure: # 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, where * is a display number that may be used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding. If both xauth and X*.hosts files are not being used, this is a finding.

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECCD-1, ECCD-2

X Window System connections not required must be disabled.

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

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

Fix Text

Disable the X Windows server on the system. Comment out /etc/rc.dt out of /etc/inittab

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

The snmpd.conf file must be owned by root.

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

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

Fix Text

Change the owner of the snmpd.conf file to bin. Procedure: # chown bin <snmpd.conf file>

Check Content

Determine the owner of the SNMP configuration file. Consult vendor documentation to determine the location and name of the file. Procedure: # find / -name "snmpd*.conf" # ls -lL <snmpd.conf> If the snmpd.conf file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

NOTE: This will virtually always require a manual review. Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Change the syslogd arguments in the src subsystem control and restart the syslogd daemon. # chssys -s syslogd -a '-R' # stopsrc -s syslogd # startsrc -s syslogd

Check Content

Verify syslogd is running with the -R option. #ps -ef | grep syslogd | grep -v grep If the -R option is not present, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SSH daemon must be configured for IP filtering.

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

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

Fix Text

Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files. TCP Wrappers can be installed using SMIT from the AIX expansion pack as fileset netsec.options.tcpwrappers.

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Disable IPv4 forwarding on the system. #no -p -o ipforwarding=0

Check Content

#no -o ipforwarding If the value returned is not 0, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

Public Instant Messaging (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 email 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 used to access internal or DoD-controlled IM services are permitted.

Fix Text

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

Check Content

If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.

Responsibility

System Administrator

IA Controls

ECIM-1

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

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

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

Fix Text

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

Check Content

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, and - BitTorrent. If any of these applications are installed, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

NIS maps must be protected through hard-to-guess domain names.

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

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

Fix Text

Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

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

Check Content

For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.

Responsibility

Information Assurance Officer

IA Controls

ECAT-1, ECAT-2

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

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

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

Fix Text

Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.

Check Content

Check for the existence of the /etc/hosts.allow and /etc/hosts.deny files. Procedure: # ls -la /etc/hosts.allow # ls -la /etc/hosts.deny If either file does not exist, this is a finding. Check for the presence of a default deny entry. Procedure: # grep "ALL: ALL" /etc/hosts.deny If the "ALL: ALL" entry is not present in the /etc/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 /etc/hosts.deny, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

The SYSTEM attribute must not be set to NONE for any account.

Finding ID
GEN000000-AIX00080
Rule ID
SV-12536r2_rule
Severity
Cat I
CCE
(None)
Group Title
GEN000000-AIX00080
CCI
CCI-000764
Target Key
(None)
Documentable
No
Discussion

The SYSTEM attribute in /etc/security/user defines the mechanisms used to authenticate specific user accounts. If the value is set to NONE, other attributes will be used to determine the authentication mechanisms, but if these attributes are not present, no authentication will be performed. To ensure authentication is always used for the system's accounts, the SYSTEM attribute must always be set to a valid setting other than NONE.

Fix Text

Edit /etc/security/user and change any SYSTEM=NONE settings to a valid authentication setting.

Check Content

Examine the /etc/security/user file. # grep SYSTEM /etc/security/user If the line contains SYSTEM=NONE, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

Network analysis tools must not be installed.

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

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

Fix Text

Remove the network analysis tool binary from the system. Procedure: # rm /usr/sbin/tcpdump

Check Content

Determine if any network analysis tools are installed. Procedure: # find / -name ethereal # find / -name wireshark # find / -name tshark # find / -name netcat # find / -name tcpdump # find / -name snoop If any network analysis tools are found, this is a finding. Additional Information: The binary tcpdump is provided in the bos.net.tcp.server fileset and this fileset cannot be uninstalled.

Responsibility

System Administrator

IA Controls

DCPA-1

The system must use a virus scan program.

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

Virus scanning software can be used to protect a system from penetration by computer viruses and to limit their spread through intermediate systems.

Fix Text

The operator will ensure that anti-virus software is installed and operating.

Check Content

The operator will ensure that anti-virus software is installed and operating. If the operator is unable to provide a documented configuration for an installed anti-virus software system or if not properly used, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

Enable the NTP daemon for continuous synchronization. Edit /etc/rc.tcpip and enable xntpd daemon. Edit /etc/ntp.conf and add the ntp server entry. # startsrc -s xntpd 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 xntpd, the accuracy using ntpdate is limited. The process of passively listening for NTP broadcasts (i.e., placing the line broadcastclient yes in the /etc/ntp.conf file) is preferred over any procedural form of direct server polling for a large network with many nodes needing to be time synchronized. This method is preferred because it significantly reduces the network traffic load related to NTP.

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

The system must use time sources local to the enclave.

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Change the owner of the ntp.conf file. # chown root ntp.conf

Check Content

Determine the owner of the ntp.conf file. # ls -l /etc/ntp.conf If the owner is not root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the ntp.conf file. #acledit /etc/ntp.conf

Check Content

Check for an extended ACL on the NTP configuration file. # aclget /etc/ntp.conf If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Configure the system to limit the number of simultaneous logins for user accounts with the chsec command. # chsec -f /etc/security/user -s default -a maxulogs=10 # chsec -f /etc/security/user –s [user] -a maxulogs=10

Check Content

#grep maxulogs /etc/security/user | grep -v \* If no values are returned, or any value returned is not between 1 and 10, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

Configure the system to display the date and time of the last successful login upon logging in. Consult OS documentation for the configuration procedure. Enable PrintLastLog in the SSH daemon. To enable PrintLastLog in the SSH daemon, remove any comment disabling this option from /etc/ssh/sshd_config. The line should look like: "PrintLastLog yes". Restart sshd. # kill -1 <PID of sshd>

Check Content

Determine if the system displays the date and time of the last successful login upon logging in. This can be accomplished by logging into the system and verifying whether or not the necessary information is displayed. If the system does not provide this information upon login, this is a finding. Verify the SSH daemon is configured to display last login information. # cat /etc/ssh/sshd_config | grep -i PrintLastLog If PrintLastLog is disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

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

Check Content

Determine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding.

Responsibility

System Administrator

IA Controls

PESL-1

The system must enforce the entire password during authentication.

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

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

Fix Text

Configure the system to enforce the correctness of the entire password during authentication. Configure the system to use sha password hashing. #chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256

Check Content

Verify no password hashes in /etc/passwd. # cat /etc/passwd | cut -f2,2 -d":" If there are password hashes present, this is a finding. Verify no password hashes in the /etc/security/passwd file begin with the characters other than {ssha256} or {ssha512} #cat /etc/security/passwd | grep password If there are password hashes that do not begin with {ssha256} or {ssha512}, this is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

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

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

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

Fix Text

Configure the system to use a FIPS 140-2 approved cryptographic hash algorithm for creating password hashes. # chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256

Check Content

Determine if the system creates password hashes using a FIPS 140-2 approved cryptographic hashing algorithm by verifying the value of pwd_algorithm in /etc/security/login.cfg. # grep pwd_algorithm /etc/security/login.cfg If the system is not configured to generate password hashes using a FIPS 140-2 approved algorithm, such as SHA256 or a successor, this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1, IAIA-1, IAIA-2

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

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

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

Fix Text

Change the passwords for all accounts using non-compliant password hashes. # passwd account OR # smitty passwd (This requires that GEN000590 is already met.)

Check Content

Verify no password hashes in /etc/passwd. # cat /etc/passwd | cut -f2,2 -d":" If there are password hashes present, this is a finding. Verify all password hashes in /etc/security/passwd begin with {ssha256} or {ssha512}. Procedure: # cat /etc/passwd | cut -f2,2 -d ":" # cat /etc/security/passwd | grep password If any password hashes are present not beginning with {ssha256} or {ssha512}, this is a finding.

Responsibility

System Administrator

IA Controls

DCNR-1, IAIA-1, IAIA-2

The system must require at least eight characters be changed between the old and new passwords during a password change.

Finding ID
GEN000750
Rule ID
SV-38677r2_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000750
CCI
CCI-000195
Target Key
(None)
Documentable
No
Discussion

To ensure password changes are effective in their goals, the system must ensure old and new passwords have significant differences. Without significant changes, new passwords may be easily guessed based on the value of a previously compromised password.

Fix Text

Use the chsec command to change mindiff to 8. # chsec -f /etc/security/user -s default -a mindiff=8 # chuser mindiff=8 < user id >

Check Content

Check the value of the mindiff parameter. Procedure: #lsuser -a mindiff ALL If any user's mindiff is less than 8, this is a finding.

Responsibility

System Administrator

The system must prevent the use of dictionary words for passwords.

Finding ID
GEN000790
Rule ID
SV-38678r1_rule
Severity
Cat II
CCE
(None)
Group Title
GEN000790
CCI
CCI-000189
Target Key
(None)
Documentable
No
Discussion

An easily guessable password provides an open door to any external or internal malicious intruder. Many computer compromises occur as the result of account name and password guessing. This is generally done by someone with an automated script using repeated logon attempts until the correct account and password pair is guessed. Utilities, such as cracklib, can be used to validate that passwords are not dictionary words and meet other criteria during password changes.

Fix Text

Install the default dictionary of words from the 'bos.data' fileset with smitty or installp. # smitty installp #installp bos.data Customize or modify the dictionary in /usr/share/dict/words as necessary. #vi /usr/share/dict/words Add a dictionary list to /etc/security/user file with the chsec command. #chsec -f /etc/security/user -s default -a dictionlist=/usr/share/dict/words

Check Content

Procedure: #lsuser -a dictionlist ALL If the dictionlist is blank or not listed, the system is not checking against a dictionary of words that are not to be used for passwords. This is a finding.

Responsibility

System Administrator

IA Controls

IAIA-1, IAIA-2

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

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

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

Fix Text

Use the chsec command to only allow users in the adm group to su to root. #chsec -f /etc/security/user -s root -a sugroups=adm

Check Content

Examine the sugroups of the root user. Generally only users in the adm group should have su to root capacity. Procedure: #lsuser -a sugroups root If this is blank or ALL, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the root account's home directory. #acledit ~root Change extended attributes to disabled.

Check Content

Verify the root account's home directory has no extended ACL. Procedure: # aclget ~root If extended permissions are enabled, the directory has an extended ACL, and this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

The library search path environment variable(s) 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, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.

Fix Text

Edit the root user's initialization files and remove any definition of LD_LIBRARY_PATH and LIBPATH.

Check Content

Verify the LIBPATH and LD_LIBRARY_PATH variables are empty or not defined for the root user. # echo $LD_LIBRARY_PATH # echo $LIBPATH If a path list is returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

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

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

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

Fix Text

Edit the root user's initialization files and remove any definition of LDR_PRELOAD.

Check Content

Verify the LDR_PRELOAD environment variable is empty or not defined for the root user. # env | grep LDR_PRELOAD If a path is returned, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All files and directories must have a valid group owner.

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

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

Fix Text

Change the group owner for each file without a valid group owner. # chgrp <a-valid-group> /tmp/a-file-without-a-valid-group-owner

Check Content

Determine if any file on the system does not have a valid group owner. # find / -nogroup -print If any such files are found, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All network services daemon files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL(s) from the network service daemon file(s). #acledit < directory >/< network service daemon > Disable extended permissions.

Check Content

Verify network services daemon files have no extended ACLs. # aclget <directory>/<network service daemon> NOTE: Network daemons that may not reside in these directories (such as httpd or sshd) must also be checked for extended ACLs. If any of the service daemons have extended attributes enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All system command files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL(s) from the system command file(s) and set the extended permissions to disabled. #acledit < command path >/< command file>

Check Content

Verify all system command files have no extended ACLs. # aclget /etc # aclget /bin # aclget /usr/bin # aclget /usr/lbin # aclget /usr/ucb # aclget /sbin # aclget /usr/sbin If any of the command files have extended permissions enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL(s) from the system log file(s) and disable extended permissions. # acledit < directory >/< file>

Check Content

Determine if any system log 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 that provides access beyond the needs of authorized software, this is a finding. Check to see if extended permissions are disabled. #aclget <directory>/<file>

Responsibility

System Administrator

IA Controls

ECLP-1, ECTP-1

All manual page files must not have extended ACLs.

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

If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.

Fix Text

Remove the extended ACLs from system manual page file(s) and disable extended permissions. #acledit < directory >/< file >

Check Content

Determine if any manual page files on the system have extended ACLs. Check to see if extended permissions are disabled. #aclget < directory >/< file > If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All library files must not have extended ACLs.

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

Unauthorized access could destroy the integrity of the library files.

Fix Text

Remove the extended ACL(s) from the system library file(s) and disable extended permissions. #acledit < directory >/< file >

Check Content

Determine if any system library file has an extended ACL. If so, this is a finding. Check to see if extended permissions are disabled. If extended permissions are not disabled, this is a finding. #aclget < directory >/< file >

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the NS/NIS+/yp command file(s) and disable extended permissions. #acledit < directory >/< file >

Check Content

Determine if any NIS/NIS+/yp command files have an extended ACL. Check if extended permissions are disabled. Procedure: # aclget /var/nis # aclget /var/yp If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from /etc/resolv.conf file and disable extended permissions. #acledit /etc/resolv.conf

Check Content

Verify /etc/resolv.conf has no extended ACL. Check if extended permissions are disabled. Procedure: #aclget /etc/resolv.conf If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the /etc/hosts file and disable extended permissions. #acledit /etc/hosts

Check Content

Verify /etc/hosts has no extended ACL. Check to see if extended permissions are disabled. Procedure: #aclget /etc/hosts If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Verify the /etc/nsswitch.conf file is owned by root. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -l /etc/nsswitch.conf If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Check the group ownership of the nsswitch.conf file. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -lL /etc/nsswitch.conf If the file is not group-owned by root, bin, sys, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Check the mode of the /etc/nsswitch.conf file. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -l /etc/nsswitch.conf If the file mode is more permissive than 0644, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the /etc/nsswitch.conf file. # acledit /etc/nsswitch.conf

Check Content

Verify /etc/nsswitch.conf has no extended ACL. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # aclget /etc/nsswitch.conf If extended permissions are enabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the /etc/passwd file and disable extended permissions. #acledit /etc/passwd

Check Content

Verify the /etc/passwd file has no extended ACL. Procedure: #aclget /etc/passwd Check to see if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Verify the /etc/group file is owned by root. Procedure: # ls -l /etc/group If the file is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the group owner of the /etc/group file to security, bin, sys, or system. # chgrp security /etc/group

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the /etc/group file and disable extended permissions. #acledit /etc/group

Check Content

Verify the /etc/group file has no extended ACL. Procedure: #aclget /etc/group Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Remove the extended ACL from the /etc/security/passwd file and disable extended permissions. #acledit /etc/security/passwd

Check Content

Verify the /etc/security/passwd file has no extended ACL and check if extended permissions are disabled. Procedure: #aclget /etc/security/passwd If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.

Check Content

Check the /etc/group file for password hashes. Procedure: # cut -d : -f 2 /etc/group | egrep -v '^(x|!)$' If any password hashes are returned, this is a finding. If no password hashes are returned, there is no finding.

Responsibility

System Administrator

IA Controls

ECLP-1

User home directories must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the user home directory and disable extended permissions. #acledit <directory>/<file>

Check Content

Verify user home directories have no extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 aclget Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the group of a file not group-owned by a group where the home directory's owner is a member. # chgrp [user's primary group] [file with bad group ownership]

Check Content

Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member. 1. List the user accounts. # cut -d : -f 1/etc/passwd 2. For each user account, get a list of GIDs for files in the user's home directory. # find < users home directory > -exec ls -lLd 3. Obtain the list of GIDs associated with the user's account. # id < user name > 4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

Excessive permissions allow unauthorized access to user files.

Fix Text

Remove the extended ACL(s) from the files and directories in user home directories and disable extended permissions. #acledit <directory>/<file>

Check Content

Check the contents of user home directories for files with extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 -IDIR aclget DIR OR #aclget <directory>/<file> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All run control scripts must have no extended ACLs.

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

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

Fix Text

Remove the extended ACL from the run control script(s) and disable extended permissions. #acledit <directory>/<file>

Check Content

Verify run control scripts have no extended ACLs. Check if extended permissions are disabled. # ls -l /etc/rc* # aclget /etc/rc* # aclget /etc/init.d If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

Verify run control scripts' library search paths. Procedure: # grep -r LIBPATH /etc/rc* This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

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

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

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

Fix Text

Edit the run control scripts' library preload list and remove relative paths that have not been documented with the ISSO. Edit the run control script and remove any empty entry that is defined.

Check Content

Verify run control scripts' library preload list. # grep -r LDR_PRELOAD /etc/rc* This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Responsibility

System Administrator

All global initialization files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the global initialization file(s) and disable extended permissions. #acledit <directory>/<file>

Check Content

Check global initialization files for extended ACLs. Procedure: #aclget /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ /etc/security/.profile Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Skeleton files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the skeleton file(s) and disable extended permissions. #acledit /etc/security/.profile #acledit /etc/security/mkuser.sys

Check Content

Check skeleton files for extended ACLs. Procedure: #aclget /etc/security/.profile #aclget /etc/security/mkuser.sys Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All skeleton files (typically in /etc/skel) must be group-owned by security.

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

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

Fix Text

Change the group owner of the skeleton file to security. Procedure: # chgrp security /etc/security/.profile /etc/security/mkuser.sys

Check Content

Verify the skeleton files are group-owned by security. Procedure: # ls -alL /etc/security/.profile /etc/security/mkuser.sys If a skeleton file is not group-owned by security, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Edit the global initialization files /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ and remove relative entries from the library search path variables. #vi /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ

Check Content

Edit the global initialization files /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ and remove relative entries from the library search path that have not been documented with the ISSO. Edit the run control script and remove any empty entry that is defined. #vi /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ

Responsibility

System Administrator

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

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

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

Fix Text

Edit the global initialization files and remove any relative path entries from the library preload list variable "LDR_PRELOAD" that have not been documented with the ISSO. Edit the run control script and remove any empty entry that is defined.

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

IA Controls

ECLP-1

Local initialization files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the local initialization file(s) and disable extended permissions. #acledit <directory>/<file>

Check Content

Check user home directories for local initialization files with extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 -IDIR ls -le DIR/.login DIR/.cshrc DIR/.logout DIR/.profile DIR/.bash_profile DIR/.bashrc DIR/.bash_logout DIR/.env DIR/.dtprofile DIR/.dispatch DIR/.emacs DIR/.exrc Procedure: #aclget <directory>/<file> and check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

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

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

Edit the local initialization file and remove any relative path entries from the library preload variable "LDR_PRELOAD" that have not been documented with the ISSO. Edit the local initialization file and remove any empty entry that is defined for the “LDR_PRELOAD” variable.

Check Content

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

Responsibility

System Administrator

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

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

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

Fix Text

Change the group owner of the shell to root, bin, sys, or system. # chgrp system < shell >

Check Content

Check the group ownership of each shell referenced. Procedure: # cat /etc/shells | xargs -n1 ls -l If any shell is not group owned by root, bin, sys, or system, this is a finding. #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell is not group owned by root, bin, sys, or system, this is a finding. Otherwise, check any shells found on the system. Procedure: # find / -name "*sh" | xargs -n1 ls -l If a shell is not group-owned by root, bin, sys, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

All shell files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the shell file(s) and disable extended permissions. #acledit <directory>/<file>

Check Content

Check the permissions of each shell referenced in /etc/shells. Procedure: # cat /etc/shells For each shell listed, run aclget <shell path> #aclget <shell> Check the permissions of each shell referenced in /etc/security/login.cfg. Procedure: #grep shells /etc/security/login.cfg For each shell listed, run aclget <shell path> # aclget <shell> Otherwise, check any shells found on the system. # find / -name "*sh #aclget <directory>/<file> If extended permissions are enabled on any shell, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

Audio devices must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the audio device file(s) and disable extended permissions. #acledit <directory>/<file>

Check Content

Determine the audio device files for the system. Procedure: # /usr/sbin/lsdev -C | grep -i audio #aclget /dev/*aud0 Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Edit /etc/filesystems and add the options = nodev to all entries for remote or removable media file systems, and file systems containing no approved device files.

Check Content

If the system does not support a nodev option, this is not applicable. Check /etc/filesystems and verify the nodev mount option (options = ) is used on any file systems mounted from removable media or network shares, or file systems not containing any approved device files. If any such file system is not using the nodev option, this is a finding.

Responsibility

System Administrator

IA Controls

ECSC-1

All system audit files must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the system audit file(s) and disable extended permissions. #acledit <directory>/<file> and disable extended permissions

Check Content

Procedure: # grep -p bin: /etc/security/audit/config Directories and files to search will be listed under the bin stanza. #aclget <directory>/<file> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECTP-1

System audit tool executables must be owned by root.

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

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

Fix Text

Change the owner of the system audit tool executables to root. #chown root <system audit tool executable>

Check Content

Determine if the system audit tool executables are owned by root. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: ls -lL `which <audit tool executable>` If any system audit tool executable is not owned by root, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Change the group owner of system audit tool executables to root, bin, sys, or system. Procedure: # chgrp system < system audit tool executable>

Check Content

Determine the group ownership of system audit tool executables. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: # ls -lL `which <audit tool executable>` If any system audit tool executable is not group-owned by bin, sys, or system, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

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

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

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

Fix Text

Many audit tools have SUID bit set. Before changing permissions on system audit tool executables, check the file permissions for SUID bits. Change the mode of system audit tool executables to 0750. #chmod 0750 or 4750 <system audit tool executable> Document all changes made.

Check Content

Determine if system audit tool executables have a mode more permissive than 0750. If any do, this is a finding. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge.

Responsibility

System Administrator

IA Controls

ECLP-1

System audit tool executables must not have extended ACLs.

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

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

Fix Text

Remove the extended ACL from the system audit tool executable(s) and disable extended permissions. #acledit <system audit tool executable>

Check Content

Determine if system audit tool executables have extended ACLs Audit tools include, but are not limited to audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: #aclget <system audit tool executable> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Responsibility

System Administrator

IA Controls

ECLP-1

The audit system must be configured to audit account creation.

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

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

Fix Text

Configure the audit system to audit account creation. Edit /etc/security/audit/events and add the User_Create event to the list of audited events. Edit /etc/security/audit/config and add the USER_Create audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Create event to the all users listed in the users: stanza.

Check Content

Determine if the audit system is configured to audit account creation. Procedure: # more /etc/security/audit/events If auditing of the USER_Create event is not configured, check the USER_Create audit event is defined in the audit classes' stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class the USER_Create event is associated with. If the USER_Create event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Create event is not associated with the default user and all the system users in the 'users:' stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account modification.

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

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

Fix Text

Configure the system to audit account modification. Edit /etc/security/audit/events and add the USER_Change event to the list of audited events. Edit /etc/security/audit/config and add the USER_Change audit event to an audit class in the classes: stanza. Edit /etc/security/audit/config and assign the audit classes with the USER_Change event to the all users listed in the users: stanza.

Check Content

Determine if the audit system is configured to audit account modification. Procedure: # more /etc/security/audit/events If auditing of the USER_Change event is not configured, this is a finding. Verify the USER_Change audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Change event is associated with. If the USER_Change event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Change event is not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account disabling.

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

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

Fix Text

Configure the system to audit account disabling. Edit /etc/security/audit/events and add the USER_Change and USER_Locked events to the list of audited events. Edit /etc/security/audit/config and add the USER_Change and USER_Locked audits event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Change and USER_Locked events to the all users listed in the users: stanza.

Check Content

Determine if the system is configured to audit account disabling. Procedure: # more /etc/security/audit/events If auditing of the USER_Change and USER_Locked events are not configured, this is a finding. Check the USER_Change and USER_Locked audit event(s) are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Change and USER_Locked events are associated with. If the USER_Change and USER_Locked events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Change and USER_Locked events are not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

The audit system must be configured to audit account termination.

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

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

Fix Text

Configure the system to audit account termination. Edit /etc/security/audit/events and add the USER_Remove event to the list of audited events Edit /etc/security/audit/config and add the USER_Remove audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Remove event to the all users listed in the users: stanza.

Check Content

Determine if the system is configured to audit account termination. Procedure: # more /etc/security/audit/events If auditing of the USER_Remove event is not configured, this is a finding. Verify the USER_Remove audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Remove event is associated with. If the USER_Remove event is not associated with any audit classes in the classes: stanza, this is a finding. Verify that the audit class is associated with the default user and all other user ids listed in the 'users:' stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) that the USER_Remove event is not associated with the default user and all the system users in the users: stanza, this is a finding.

Responsibility

System Administrator

IA Controls

ECAT-1

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

Finding ID
GEN002825