AIX 6.1 SECURITY TECHNICAL IMPLEMENTATION GUIDE

V1R6 2015-12-02       U_AIX_6-1_V1R6_Manual-xccdf.xml
V1R5 2015-09-21       U_AIX_6-1_V1R5_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: [email protected]
Comparison
All 512
No Change 501
Updated 11
Added 0
Removed 0
V-756 No Change
Findings ID: GEN000020 Rule ID: SV-27039r1_rule Severity: medium CCI: CCI-000213

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

Checks

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

Fix

Assign a root account password for any bootable partition.
V-760 No Change
Findings ID: GEN000280 Rule ID: SV-38668r1_rule Severity: medium CCI: CCI-000770

Discussion

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

Checks

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

# last <unix account>

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.

Fix

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 >
V-761 No Change
Findings ID: GEN000300 Rule ID: SV-27064r1_rule Severity: medium CCI: CCI-000764

Discussion

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

Checks

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.

Fix

Change user account names, or delete accounts, so each account has a unique name.
V-762 No Change
Findings ID: GEN000320 Rule ID: SV-27067r1_rule Severity: medium CCI: CCI-000764

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

Checks

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

Fix

Edit user accounts to provide unique UIDs for each account.
V-763 No Change
Findings ID: GEN000400 Rule ID: SV-38932r1_rule Severity: medium CCI: CCI-000048

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

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.

Fix

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
V-766 No Change
Findings ID: GEN000460 Rule ID: SV-38671r1_rule Severity: medium CCI: CCI-000044

Discussion

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

Checks

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

Fix

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
V-768 No Change
Findings ID: GEN000480 Rule ID: SV-38839r1_rule Severity: medium CCI: CCI-000043

Discussion

Enforcing a delay between successive failed login attempts increases protection against automated password guessing attacks.System AdministratorECLO-1, ECLO-2

Checks

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.

Fix

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.
V-769 No Change
Findings ID: GEN000520 Rule ID: SV-769r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

Fix

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
V-773 No Change
Findings ID: GEN000880 Rule ID: SV-773r2_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Fix

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

Discussion

Changing the root home directory to something other than / and assigning it a 0700 protection makes it more difficult for intruders to manipulate the system by reading the files 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.System AdministratorECCD-1, ECCD-2

Checks

Fix

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.
V-775 No Change
Findings ID: GEN000920 Rule ID: SV-38941r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the root home directory.

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

Fix

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

Discussion

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

Checks

Fix

Edit the root user's local initialization files. Change any found PATH variable settings to the vendor's default path for the root user. Remove any empty path entries or references to relative paths.

# cd <root's home directory>
# vi .profile .cshrc

If the bash shell is installed, edit these additional files.
# vi .bashrc .bash_profile
V-777 No Change
Findings ID: GEN000960 Rule ID: SV-777r2_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Fix

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.
V-778 No Change
Findings ID: GEN000980 Rule ID: SV-38683r1_rule Severity: medium CCI: CCI-000770

Discussion

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

Checks

Fix

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
V-780 No Change
Findings ID: GEN000360 Rule ID: SV-39094r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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

Fix

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
V-781 No Change
Findings ID: GEN000380 Rule ID: SV-27071r1_rule Severity: low CCI: CCI-000366

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

Checks

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.

Fix

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

# smitty mkgroup
V-782 No Change
Findings ID: GEN006480 Rule ID: SV-41526r2_rule Severity: medium CCI: CCI-001259

Discussion

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

Checks

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.

Fix

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

Discussion

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

Checks

Obtain the list of available security patches from 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.

Fix

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
V-784 No Change
Findings ID: GEN001140 Rule ID: SV-784r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check system directories for uneven file permissions.

Procedure:
# ls -lL /etc /bin /usr/bin /usr/lbin /usr/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.

Fix

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

Discussion

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

Checks

Check the system for files with no assigned owner.

Procedure:
# find / -nouser -print

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

Fix

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

Discussion

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

Checks

Check the mode of network services daemons.
# ls -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.

Fix

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

Discussion

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

Checks

Check the mode of log files.

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.

Fix

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.
V-788 No Change
Findings ID: GEN001800 Rule ID: SV-38735r1_rule Severity: medium CCI: CCI-000225

Discussion

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

System AdministratorECLP-1

Checks

Check skeleton files permissions.

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.

Fix

Change the mode of skeleton files with incorrect mode.
# chmod 0644 /etc/security/.profile
#chmod 0755 /etc/security/mkuser.sys
V-789 No Change
Findings ID: GEN001320 Rule ID: SV-38775r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the owner of the NIS files to root, sys, or bin.
Procedure (example):
# chown root < directory>/< file >
V-790 No Change
Findings ID: GEN001340 Rule ID: SV-38776r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the group owner of the NIS files to sys, bin, system, or other.
Procedure:
# chgrp system < directory>/< file >
V-791 No Change
Findings ID: GEN001360 Rule ID: SV-38781r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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

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

Discussion

If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

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

Procedure (example):
# chmod 0644 <path>/<manpage>
V-793 No Change
Findings ID: GEN001300 Rule ID: SV-38943r1_rule Severity: medium CCI: CCI-001499

Discussion

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

Checks

Check the mode of library files.

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

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

Fix

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

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

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

Discussion

Restricting permissions will protect system command files from unauthorized modification. System command files include files present in directories used by the operating system for storing default system executables and files present in directories included in the system's default executable search paths.Elevate to Severity Code I if any file listed is world-writable.System AdministratorECLP-1

Checks

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 0755, this is a finding.

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

Fix

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

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

Discussion

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

Checks

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

Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/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.

Fix

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.)
V-796 No Change
Findings ID: GEN001240 Rule ID: SV-39098r1_rule Severity: medium CCI: CCI-001499

Discussion

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

Checks

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

Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/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.

Fix

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.)
V-797 No Change
Findings ID: GEN001400 Rule ID: SV-38944r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Change the ownership of the /etc/security/passwd file.
# chown root /etc/security/passwd
V-798 No Change
Findings ID: GEN001380 Rule ID: SV-798r2_rule Severity: medium CCI: CCI-000225

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

Checks

Check the mode of the /etc/passwd file.

Procedure:
# ls -lL /etc/passwd

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

Fix

Change the mode of the passwd file to 0644.

Procedure:
# chmod 0644 /etc/passwd

Document all changes.
V-800 No Change
Findings ID: GEN001420 Rule ID: SV-38728r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Change the mode of the /etc/security/passwd file.
# chmod 0400 /etc/security/passwd
V-801 No Change
Findings ID: GEN002380 Rule ID: SV-801r2_rule Severity: medium CCI: CCI-000368

Discussion

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

Checks

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

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

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

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

Fix

Document the files with the setuid bit set or unset the setuid bit on the executable.
V-802 Updated
Findings ID: GEN002440 Rule ID: SV-38945r1_rule Severity: medium CCI: CCI-000368

Discussion

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

Checks

Locate all setgid files on the system.

Procedure:
# find / -perm -2000

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

Fix

All files with the sgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer. 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.
V-803 No Change
Findings ID: GEN002400 Rule ID: SV-803r2_rule Severity: medium CCI: CCI-000318

Discussion

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

Checks

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.

Fix

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
V-804 No Change
Findings ID: GEN002460 Rule ID: SV-804r2_rule Severity: medium CCI: CCI-000318

Discussion

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

Checks

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.

Fix

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
V-805 No Change
Findings ID: GEN002420 Rule ID: SV-38746r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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>
V-806 No Change
Findings ID: GEN002500 Rule ID: SV-806r2_rule Severity: low CCI: CCI-000366

Discussion

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

The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.System AdministratorECCD-1, ECCD-2

Checks

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

Procedure:
# find / -type d -perm -002 ! -perm -1000 > wwlist

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

Fix

Set the sticky bit on all public directories.

Procedure:
# chmod 1777 /tmp

(Replace /tmp with the public directory missing the sticky bit, if necessary.)
V-807 No Change
Findings ID: GEN002520 Rule ID: SV-807r2_rule Severity: medium CCI: CCI-000225

Discussion

If a public directory has the sticky bit set and is not owned by a privileged UID, unauthorized users may be able to modify files created by others.

The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.System AdministratorECLP-1

Checks

Check the ownership of all public directories.

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

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

Fix

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

Procedure:
# chown root /tmp

(Replace root with an application user and/or /tmp with another public directory as necessary.)
V-808 No Change
Findings ID: GEN002560 Rule ID: SV-39501r1_rule Severity: medium CCI: CCI-000366

Discussion

The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask can be represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0. This requirement applies to the globally configured system defaults and the user defaults for each account on the system.trueIf the default umask is 000 or does not restrict the world-writable permission, this becomes a CAT I finding.System AdministratorECCD-1, ECCD-2

Checks

Check global initialization files for the configured umask value.
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.

Fix

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

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

Checks

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.

Fix

Lock the default system account(s).
# chuser account_locked=true <user>
V-811 No Change
Findings ID: GEN002660 Rule ID: SV-38946r1_rule Severity: medium CCI: CCI-000169

Discussion

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

Checks

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

Fix

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"
V-812 No Change
Findings ID: GEN002680 Rule ID: SV-38900r1_rule Severity: medium CCI: CCI-000162

Discussion

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

Checks

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.

Fix

Change the ownership of the audit log file(s).

Procedure:
# chown root <audit log file>
V-813 No Change
Findings ID: GEN002700 Rule ID: SV-38904r1_rule Severity: medium CCI: CCI-000163

Discussion

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

Checks

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.

Fix

Change the mode of the audit log directories/files.
# chmod 0750 <audit directory>
# chmod 0640 <audit file>
V-814 No Change
Findings ID: GEN002720 Rule ID: SV-38850r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Check the system audit configuration to determine if failed attempts to access files and programs are audited.
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.

Fix

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.
V-815 No Change
Findings ID: GEN002740 Rule ID: SV-27294r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Check the system audit configuration to determine if failed attempts to access files and programs are audited.
# 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.

Fix

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.
V-816 No Change
Findings ID: GEN002760 Rule ID: SV-40138r1_rule Severity: medium CCI: CCI-000347

Discussion

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

Checks

Check the auditing configuration of the system.
# 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.

Fix

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.
V-818 No Change
Findings ID: GEN002800 Rule ID: SV-38856r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Check the system's audit configuration.
# 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.

Fix

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.
V-819 No Change
Findings ID: GEN002820 Rule ID: SV-38857r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Check the system's audit configuration.
# 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.

Fix

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.
V-821 No Change
Findings ID: GEN003720 Rule ID: SV-821r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the ownership of 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.

Fix

Change the ownership of the inetd.conf file to root or bin.

Procedure:
# chown root /etc/inetd.conf
V-822 No Change
Findings ID: GEN003740 Rule ID: SV-822r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the mode of the inetd.conf file.
# chmod 0440 /etc/inetd.conf
V-823 No Change
Findings ID: GEN003760 Rule ID: SV-823r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the ownership of the services file.

Procedure:
# ls -lL /etc/services

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

Fix

Change the ownership of the services file to root or bin.

Procedure:
# chown root /etc/services
V-824 No Change
Findings ID: GEN003780 Rule ID: SV-824r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the services file.

Procedure:
# ls -lL /etc/services

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

Fix

Change the mode of the services file to 0444 or less permissive.

Procedure:
# chmod 0444 /etc/services
V-825 No Change
Findings ID: GEN001780 Rule ID: SV-38893r1_rule Severity: low CCI: CCI-000366

Discussion

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

Checks

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

Procedure:
# grep "mesg" /etc/.login /etc/profile /etc/bashrc /etc/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.

Fix

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

Discussion

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

Checks

Look for the presence of a print service configuration file.

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.

Fix

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

Discussion

Failure to give ownership of the hosts.lpd file to root, bin, sys, or lp provides the designated owner, and possible unauthorized users, with the potential to modify the hosts.lpd file. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.System AdministratorECLP-1

Checks

Locate any print service configuration file 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.

Fix

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
V-829 No Change
Findings ID: GEN003940 Rule ID: SV-829r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Locate any print service configuration file 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.

Fix

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
V-831 No Change
Findings ID: GEN004360 Rule ID: SV-40836r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

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

Procedure:
# chown root /etc/mail/aliases
V-832 No Change
Findings ID: GEN004380 Rule ID: SV-40684r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the mode of the /etc/mail/aliases file.

Procedure:
# chmod 0644 /etc/mail/aliases
V-833 No Change
Findings ID: GEN004400 Rule ID: SV-39506r1_rule Severity: high CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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
V-834 No Change
Findings ID: GEN004420 Rule ID: SV-834r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Use the chmod command to change the access permissions for files executed from the alias file.
For example:

# chmod 0755 < filename >
V-835 No Change
Findings ID: GEN004440 Rule ID: SV-38916r1_rule Severity: low CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Edit the sendmail.conf file, locate the "O L" or LogLevel entry and change it to 9.
V-836 No Change
Findings ID: GEN004460 Rule ID: SV-39155r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

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.

Fix

Edit the syslog.conf file and add a configuration line specifying an appropriate destination for mail.crit syslogs.
V-837 No Change
Findings ID: GEN004480 Rule ID: SV-837r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

Check the mode of the SMTP service log file.

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.

Fix

Change the mode of the SMTP service log file.

Procedure:
# chmod 0644 <sendmail log file>
V-840 No Change
Findings ID: GEN004880 Rule ID: SV-28403r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Fix

Create a /etc/ftpusers file containing a list of accounts not authorized for FTP.
V-841 No Change
Findings ID: GEN004900 Rule ID: SV-28406r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the contents of the ftpusers file. 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

Fix

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

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

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

Fix

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

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

Checks

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.

Fix

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
V-846 Updated
Findings ID: GEN004820 Rule ID: SV-40086r1_rule Severity: medium CCI: CCI-001475

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.trueSystem AdministratorInformation Assurance OfficerSystem AdministratorECSC-1

Checks

Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of [email protected]). If the logon is successful, this is a finding.

Procedure:
# ftp localhost
Name: anonymous
530 Guest login not allowed on this machine.

Fix

Remove user "anonymous" from /etc/passwd.
V-847 No Change
Findings ID: GEN005080 Rule ID: SV-28420r1_rule Severity: high CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Edit /etc/tftpaccess.ctl to only contain an entry restricting access to the tftp user home directory.
V-848 No Change
Findings ID: GEN005100 Rule ID: SV-848r2_rule Severity: high CCI: CCI-000225

Discussion

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

Checks

Check the mode of the TFTP daemon.

Procedure:
# find / -name "*tftpd" -print
# ls -lL <file location>

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

Fix

Change the mode of the TFTP daemon.

Procedure:
# chmod 0755 <tftp server>
V-849 No Change
Findings ID: GEN005120 Rule ID: SV-849r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Procedure:
# grep tftp /etc/passwd

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

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

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

Fix

Create a TFTP user account if none exists.
Assign a non-login shell to the TFTP user account, such as /bin/false.
Assign a home directory to the TFTP user account.
V-850 No Change
Findings ID: GEN005160 Rule ID: SV-850r2_rule Severity: medium CCI: CCI-000297

Discussion

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

Checks

Check for .Xauthority files being utilized by looking for such files in the home directory of a user that uses X.

Procedure:
# cd ~someuser
# ls -la .Xauthority

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

Fix

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

Discussion

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

Checks

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

# ps -ef | egrep '(ypbind|ypserv)'

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

Fix

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

Discussion

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

Checks

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.

Fix

Assign a home directory to any user without one.
V-900 No Change
Findings ID: GEN001460 Rule ID: SV-27194r1_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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.
V-901 No Change
Findings ID: GEN001480 Rule ID: SV-901r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the mode of users' home directories to 0750 or less permissive.

Procedure (example):
# chmod 0750 <home directory>
V-902 No Change
Findings ID: GEN001500 Rule ID: SV-902r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the ownership of each user'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.

Fix

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

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

Discussion

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

Checks

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

Procedure:
# ls -lLd <user home directory>

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.

Fix

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.
V-904 No Change
Findings ID: GEN001860 Rule ID: SV-904r3_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

NOTE: The following commands must be run in the BASH shell.

Check the ownership of local initialization files.

Procedure (using a shell that supports ~USER as USER's home directory):
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c "ls -l ~USER/.[a-z]*"
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER find ~USER/.dt ! -fstype nfs ! -user USER -exec ls -ld {} \;

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

Fix

Change the ownership of the startup and login files in the user's directory to the user or root, as appropriate. Examine each user's home directory and verify all file names beginning with "." are owned by the owner of the directory or root. If they are not, use the chown command to change the owner to the user and research the reasons why the owners were not assigned as required.

Procedure:
# chown username .filename
Document all changes.
V-905 No Change
Findings ID: GEN001880 Rule ID: SV-905r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the modes of local initialization files.

Procedure:
# ls -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.

Fix

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

Procedure:
# chmod 0740 .filename

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

Discussion

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

Checks

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

Fix

Ensure all system startup files have mode 0755 or less permissive. Examine the rc files, all files in the rc1.d (rc2.d, and so on) directories, and in the /etc/init.d directory to ensure they are not world-writable. If 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.
V-907 No Change
Findings ID: GEN001600 Rule ID: SV-41074r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Verify run control scripts' library search paths.

Procedure:
# grep -r PATH /etc/rc*

This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.

Fix

Edit the run control script and remove the relative path entry from the executable search path variable.
V-910 No Change
Findings ID: GEN001640 Rule ID: SV-910r2_rule Severity: high CCI: CCI-000225

Discussion

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

Checks

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


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

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

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

Fix

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

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

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

Checks

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

Procedure:
# find / -name .netrc

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

Fix

Remove the .netrc file(s).

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

Discussion

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

Checks

For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory 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.

Fix

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> {} \;
V-915 No Change
Findings ID: GEN001560 Rule ID: SV-915r2_rule Severity: low CCI: CCI-000225

Discussion

Excessive permissions allow unauthorized access to user's files.
trueSystem AdministratorInformation Assurance OfficerECLP-1

Checks

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.

Fix

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

Procedure:
# chmod 0750 filename

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

Discussion

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

Checks

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.

Fix

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
V-917 No Change
Findings ID: GEN002140 Rule ID: SV-38742r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

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

Alternatively, use the SMIT to change the /etc/passwd shell entry.
V-918 No Change
Findings ID: GEN000760 Rule ID: SV-38840r1_rule Severity: medium CCI: CCI-000017

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.
trueSystem AdministratorIAAC-1

Checks

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.

Fix

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

Discussion

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

Checks

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.

Fix

Change the ownership of the shell with incorrect ownership.
# chown root < shell >
V-922 No Change
Findings ID: GEN002220 Rule ID: SV-38846r1_rule Severity: high CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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

Discussion

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

Checks

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

Fix

Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated.

Generate a list of device files.
# find / -type b -o -type c > device-file-list
V-924 No Change
Findings ID: GEN002280 Rule ID: SV-924r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Find all device 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. If any of the device files or their parent directories is world-writable, excepting device files specifically intended to be world-writable, such as /dev/null, this is a finding.

Fix

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

Procedure:
# chmod o-w <device file>

Document all changes.
V-925 Updated
Findings ID: GEN002300 Rule ID: SV-38745r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

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.
V-926 No Change
Findings ID: GEN006460 Rule ID: SV-926r2_rule Severity: medium CCI: CCI-001435

Discussion

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

Checks

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

Check the system to determine if NIS+ security level 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.

Fix

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

Discussion

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

Checks

Check the owner of the exports file.

Example:
# ls -lL /etc/exports

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

Fix

Change the owner of the exports file to root.

Example:
# chown root /etc/exports
V-929 No Change
Findings ID: GEN005760 Rule ID: SV-28447r1_rule Severity: low CCI: CCI-000225

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

Checks

Fix

# chmod 0644 /etc/exports
V-931 No Change
Findings ID: GEN005800 Rule ID: SV-931r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check for NFS 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.

Fix

Change the ownership of exported file systems not owned by root.

Procedure:
# chown root <path>
V-932 No Change
Findings ID: GEN005820 Rule ID: SV-38956r1_rule Severity: medium CCI: CCI-000062

Discussion

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

Checks

Check if the anon option is set correctly for 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.

Fix

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

# exportfs -a
V-933 No Change
Findings ID: GEN005840 Rule ID: SV-41524r1_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

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.
V-935 No Change
Findings ID: GEN005880 Rule ID: SV-935r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine if the NFS server is exporting with the root access option.

Procedure:
# exportfs -v | grep "root="

If an export with the root option is found, this is a finding.

Fix

Edit /etc/exports and remove the root= option for all exports. Re-export the file systems.
V-936 Updated
Findings ID: GEN005900 Rule ID: SV-38957r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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

Discussion

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

Checks

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

Fix

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.
V-941 No Change
Findings ID: GEN006600 Rule ID: SV-941r2_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Normally, TCPD logs to the mail facility in /etc/syslog.conf. Determine if syslog is configured to log events by TCPD.

Procedure:
# more /etc/syslog.conf

Look for entries similar to the following:
mail.debug /var/adm/maillog
mail.none /var/adm/maillog
mail.* /var/log/mail
auth.info /var/log/messages

The above entries would indicate mail alerts are being logged. If no entries for mail exist, then TCPD is not logging and this is a finding.

Fix

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

Discussion

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

Checks

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.

Fix

Ensure the Trusted Computing Base (TCB) software is implemented. TCB can only be installed at OS installation time.
V-974 No Change
Findings ID: GEN002960 Rule ID: SV-27318r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check for the existence of the cron.allow and cron.deny files.
# ls -lL /var/adm/cron/cron.allow
# ls -lL /var/adm/cron/cron.deny
If neither file exists, this is a finding.

Fix

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

Discussion

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

Checks

Check mode of the cron.allow file.

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

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

Fix

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

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

Discussion

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

Checks

List all cronjobs on the system.
Procedure:
# ls /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.

Fix

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

Discussion

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

Checks

List all cronjobs on the system.
Procedure:
# ls /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.

Fix

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

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

Discussion

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

Checks

Check the mode of the crontab files.
# ls -lL /var/spool/cron/crontabs/
If any crontab file has a mode more permissive than 0600, this is a finding.

Fix

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

Discussion

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

Checks

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

Fix

Change the mode of the crontab directory.
# chmod 0755 /var/spool/cron/crontabs
V-980 No Change
Findings ID: GEN003120 Rule ID: SV-27345r1_rule Severity: medium CCI: CCI-000225

Discussion

Incorrect ownership of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to give ownership of cron or crontab directories to root or to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Check the owner of the crontab directory.
# ls -ld /var/spool/cron/crontabs
If the owner of the crontab directory is not root or bin, this is a finding.

Fix

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

Discussion

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

Checks

Check the group owner of 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.

Fix

Change the group owner of the crontab directories to sys, system, bin, or cron.
Procedure: #
chown cron /var/spool/cron/crontabs
V-982 No Change
Findings ID: GEN003160 Rule ID: SV-27350r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

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

Fix

Enable cron logging on the system.
V-983 No Change
Findings ID: GEN003180 Rule ID: SV-27355r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

Check for the existence of at.allow and at.deny files.
# ls -lL /var/adm/cron/at.allow
# ls -lL /var/adm/cron/at.deny
If neither file exists, this is a finding.

Fix

Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon.
V-985 Updated
Findings ID: GEN003300 Rule ID: SV-27381r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

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

Fix

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

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

Checks

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

Fix

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

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

Checks

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.

Fix

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

Discussion

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

Checks

List any "at" jobs on the system.
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.

Fix

Remove the world-writable permission from directories containing programs executed by "at".

Procedure:
# chmod o-w <at program directory>
V-993 No Change
Findings ID: GEN005300 Rule ID: SV-38889r1_rule Severity: high CCI: CCI-000178

Discussion

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

Checks

Check the SNMP configuration for default passwords.

Locate and examine the SNMP configuration.
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.

Fix

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.
V-994 No Change
Findings ID: GEN005320 Rule ID: SV-38817r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the SNMP daemon configuration file.

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>

Fix

Change the mode of the SNMP daemon configuration file to 0600.

Procedure:
# chmod 0600 /etc/snmpd.conf
# chmod 0600 /etc/snmpdv3.conf
V-995 No Change
Findings ID: GEN005340 Rule ID: SV-995r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the modes for all 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.

Fix

Change the mode of MIB files to 0640.

Procedure:
# chmod 0640 <mib file>
V-1010 No Change
Findings ID: GEN002480 Rule ID: SV-1010r3_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

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.
V-1011 No Change
Findings ID: GEN003800 Rule ID: SV-38951r1_rule Severity: low CCI: CCI-000134

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

Checks

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.

Fix

Edit the inetd startup script to contain the "-d" parameter for the inetd process.

#vi /etc/rc.tcpip

# chssys -s inetd -a '-d'
V-1013 No Change
Findings ID: GEN008600 Rule ID: SV-38835r1_rule Severity: high CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Configure the system to only boot from system startup media.

# bootlist -m normal hdisk< x >

Set multi-boot to off in the SMS application.
V-1023 No Change
Findings ID: GEN006240 Rule ID: SV-1023r2_rule Severity: medium CCI: CCI-000381

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

Checks

# ps -ef | egrep "innd|nntpd"

If an INN server is running, this is a finding.

Fix

Disable the INN server.
V-1026 No Change
Findings ID: GEN006080 Rule ID: SV-1026r2_rule Severity: medium CCI: CCI-001436

Discussion

SWAT is a tool used to configure Samba. As it modifies Samba configuration, which can impact system security, it must be protected from unauthorized access. SWAT authentication may involve the root password, which must be protected by encryption when traversing the network.

Restricting access to the local host allows for the use of SSH TCP forwarding, if configured, or administration by a web browser on the local system.System AdministratorEBRP-1, ECCT-1, ECCT-2

Checks

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.

Fix

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.
V-1027 No Change
Findings ID: GEN006100 Rule ID: SV-40724r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Change the ownership of the smb.conf file.

Procedure:
# chown root /usr/lib/smb.conf
V-1028 No Change
Findings ID: GEN006140 Rule ID: SV-39229r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the smb.conf file.

Procedure:
# ls -lL /usr/lib/smb.conf

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

Fix

Change the mode of the smb.conf file to 0644 or less permissive.

Procedure:
# chmod 0644 /usr/lib/smb.conf
V-1029 No Change
Findings ID: GEN006160 Rule ID: SV-40379r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the ownership of the smbpasswd file.

# ls -l /var/private/smbpasswd

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

Fix

Change the owner of the smbpasswd file to root.

# chown root /var/private/smbpasswd
V-1030 No Change
Findings ID: GEN006220 Rule ID: SV-39237r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Examine the smb.conf file.

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

Fix

Edit the smb.conf file and set the hosts option to permit only authorized hosts to access Samba.
V-1032 No Change
Findings ID: GEN000540 Rule ID: SV-38768r1_rule Severity: medium CCI: CCI-000198

Discussion

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

Checks

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.

Fix

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
V-1046 No Change
Findings ID: GEN001100 Rule ID: SV-39097r1_rule Severity: high CCI: CCI-000197

Discussion

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

Checks

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.

Fix

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
V-1047 No Change
Findings ID: GEN001120 Rule ID: SV-38684r1_rule Severity: medium CCI: CCI-000770

Discussion

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

Checks

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.

Fix

Edit the /etc/ssh/sshd_config file and set the PermitRootLogin option to no and refresh sshd.
#kill -1 <pid of sshd>
V-1048 No Change
Findings ID: GEN002320 Rule ID: SV-27243r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

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

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

Checks

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.

Fix

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

Discussion

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

Checks

Check the group ownership of the smb.conf file.

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.

Fix

Change the group owner of the smb.conf file.
Procedure:
# chgrp system /usr/lib/smb.conf
V-1058 No Change
Findings ID: GEN006180 Rule ID: SV-39235r1_rule Severity: medium CCI: CCI-000225

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

Checks

Check smbpasswd ownership.

# ls -lL /var/private/smbpasswd

If smbpasswd is not group-owned by sys, or system, this is a finding.

Fix

Use the chgrp command to change the group owner of the smbpasswd file to system.

# chgrp system /var/private/smbpasswd
V-1059 No Change
Findings ID: GEN006200 Rule ID: SV-40725r1_rule Severity: medium CCI: CCI-000225

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

Checks

Check smbpasswd mode.

Procedure:
# ls -lL /var/private/smbpasswd

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

Fix

Change the mode of the smbpasswd file to 0600.

Procedure:
# chmod 0600 /var/private/smbpasswd
V-1061 No Change
Findings ID: GEN002360 Rule ID: SV-27253r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the group owner of the audio device.

Procedure:
# chgrp system <audio device>
V-4083 No Change
Findings ID: GEN000500 Rule ID: SV-39096r1_rule Severity: medium CCI: CCI-000057

Discussion

If graphical desktop sessions do not lock the session after 15 minutes of inactivity, requiring re-authentication to resume operations, the system or individual data could be compromised by an alert intruder who could exploit the oversight. This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices, as well as, to graphical desktop environments provided to remote systems, including thin clients.System AdministratorPESL-1

Checks

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.

Fix

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.
V-4084 No Change
Findings ID: GEN000800 Rule ID: SV-38679r1_rule Severity: medium CCI: CCI-000200

Discussion

If a user, or root, used the same password continuously or was allowed to change it back shortly after being forced to change it 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.System AdministratorIAIA-1, IAIA-2

Checks

Fix

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

Discussion

If start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to become Trojans destroying user files or otherwise 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.System AdministratorDCSW-1

Checks

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.

Fix

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

Discussion

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

Checks

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.

Fix

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

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

Checks

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.

Fix

Change the group ownership of the run control script(s) with incorrect group ownership.
Procedure:
# chgrp sys <run control script>
V-4091 No Change
Findings ID: GEN001700 Rule ID: SV-27221r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

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

Discussion

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

Checks

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.

Fix

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.
V-4247 No Change
Findings ID: GEN008640 Rule ID: SV-38837r1_rule Severity: high CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Configure the system to use a bootloader installed on fixed media.
# bootlist -m normal hdisk0
# bootlist -m service hdisk0
V-4255 No Change
Findings ID: GEN008680 Rule ID: SV-4255r2_rule Severity: high CCI: CCI-001208

Discussion

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

Checks

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

Fix

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

Discussion

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

Checks

Check the system for unnecessary user accounts.

Procedure:
# more /etc/passwd

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

Fix

Remove all unnecessary accounts, such as games, from the /etc/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>
V-4273 No Change
Findings ID: GEN006260 Rule ID: SV-39250r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the hosts.nntp file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

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.

Fix

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

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

Discussion

Excessive permissions on the hosts.nntp.nolimit file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

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

Fix

Change the mode of hosts.nntp.nolimit to 0600.
# chmod 0600 < hosts.nntp.nolimit file>
V-4275 No Change
Findings ID: GEN006300 Rule ID: SV-39255r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the nnrp.access file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

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

Fix

Change the mode of the nnrp.access file to 0600.

# chmod 0600 < nnrp.access >
V-4276 No Change
Findings ID: GEN006320 Rule ID: SV-39260r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the mode of the passwd.nntp file.

# chmod 0600 < passwd.nntp >
V-4277 No Change
Findings ID: GEN006340 Rule ID: SV-4277r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the ownership of the files in /etc/news.

Procedure:
# ls -al /etc/news

If any files are not owned by root or news, this is a finding.

Fix

Change the ownership of the files in /etc/news to root or news.

Procedure:
# chown root /etc/news/*
V-4278 No Change
Findings ID: GEN006360 Rule ID: SV-40837r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the group owner of the files in /etc/news to system or news.

Procedure:
# chgrp news /etc/news/*
V-4284 No Change
Findings ID: GEN000000-AIX00040 Rule ID: SV-4284r2_rule Severity: medium CCI: CCI-000032

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

Checks

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.

Fix

Ensure secure tcp/ip has been invoked before allowing operations on the system.
V-4287 No Change
Findings ID: GEN000000-AIX00060 Rule ID: SV-4287r2_rule Severity: medium CCI: CCI-001298

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

Checks

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.

Fix

Add tcbck command as a weekly cronjob with the output sent to the SA.
V-4295 No Change
Findings ID: GEN005500 Rule ID: SV-40862r1_rule Severity: high CCI: CCI-001436

Discussion

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

Checks

Examine the sshd configuration file.

# grep -i Protocol /etc/ssh/sshd_config

If Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding.

Fix

Edit the configuration file and modify the Protocol line.

Protocol 2

Restart sshd:

/sbin/init.d/secsh stop
/sbin/init.d/secsh start
V-4298 No Change
Findings ID: GEN001000 Rule ID: SV-27149r1_rule Severity: medium CCI: CCI-000070

Discussion

The remote console feature provides an additional means of access to the system which could allow unauthorized access if not disabled or properly secured. With virtualization technologies, remote console access is essential as there is no physical console for virtual machines. Remote console access must be protected in the same manner as any other remote privileged access method.System AdministratorECSC-1

Checks

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

Fix

Edit /etc/security/login.cfg and remove the alternate console definition.
V-4301 No Change
Findings ID: GEN000240 Rule ID: SV-38666r1_rule Severity: medium CCI: CCI-001492

Discussion

To assure the accuracy of the system clock, it must be synchronized with an authoritative time source within DoD. Many system functions, including time-based login and activity restrictions, automated reports, system logs, and audit records, depend on an accurate system clock. If there is no confidence in the correctness of the system clock, time-based functions may not operate as intended and records may be of diminished value.

Authoritative time sources include authorized time servers within the enclave 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.
System AdministratorECSC-1

Checks

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.

Fix

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
V-4304 No Change
Findings ID: GEN003640 Rule ID: SV-38909r1_rule Severity: medium CCI: CCI-000553

Discussion

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

Checks

Logging should be enabled for those types of files systems that do not turn on logging by default.

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.

Fix

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.
V-4321 No Change
Findings ID: GEN006060 Rule ID: SV-4321r2_rule Severity: medium CCI: CCI-001436

Discussion

Samba is a tool used for the sharing of files and printers between Windows and UNIX operating systems. It provides access to sensitive files and, therefore, poses a security risk if compromised.System AdministratorDCPD-1, ECSC-1

Checks

Check the system for a running Samba server.

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.

Fix

If there is no functional need for Samba and the daemon is running, disable the daemon by killing the process ID as noted from the output of ps -ef |grep smbd. The utility should also be removed or not installed if there is no functional requirement.
V-4357 No Change
Findings ID: GEN002860 Rule ID: SV-4357r2_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

Configure a cron job or other automated process to rotate the audit logs on a daily basis.
V-4358 No Change
Findings ID: GEN003200 Rule ID: SV-27360r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

If the cron.deny file is more permissive than 0600, this is a finding.

Fix

Change the mode of the cron.deny file.
# chmod 0600 /var/adm/cron/cron.deny
V-4360 No Change
Findings ID: GEN003220 Rule ID: SV-27364r1_rule Severity: low CCI: CCI-000225

Discussion

The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is often represented as a 4-digit octal number, the first digit representing special access modes is typically ignored or required to be 0.trueIf a cron program sets the umask to 000 or does not restrict the world-writable permission, this becomes a CAT I finding.System AdministratorECCD-1, ECCD-2

Checks

Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying an umask.

# ls -lL /var/spool/cron/crontabs
# cat <crontab file>
# grep umask <cron program>

If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains an umask value more permissive than 077, this is a finding.

Fix

Edit cron script files and modify the umask to 077.
V-4361 No Change
Findings ID: GEN003240 Rule ID: SV-27367r1_rule Severity: medium CCI: CCI-000225

Discussion

If the owner of the cron.allow file is not set to root, bin, or sys, the possibility exists for an unauthorized user to view or to edit sensitive information.System AdministratorECLP-1

Checks

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

If the cron.allow file is not owned by root, sys, or bin, this is a finding.

Fix

# chown root /var/adm/cron/cron.allow
V-4364 No Change
Findings ID: GEN003400 Rule ID: SV-38907r1_rule Severity: medium CCI: CCI-000225

Discussion

If the at directory has a mode more permissive than 0755, unauthorized users could be allowed to view or to edit files containing sensitive information within the at directory. Unauthorized modifications could result in Denial of Service to authorized at jobs.System AdministratorECLP-1

Checks

Check the mode of the at directory.
# ls -lLd /var/spool/cron/atjobs

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

Fix

Change the mode of the "at" directory to 0755.

Procedure:
# chmod 0755 < at directory >
V-4365 No Change
Findings ID: GEN003420 Rule ID: SV-39350r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Change the owner of the at directory to root, bin, sys, daemon, or cron.

Procedure:
# chown bin /var/spool/cron/atjobs
V-4366 No Change
Findings ID: GEN003440 Rule ID: SV-4366r2_rule Severity: medium CCI: CCI-000225

Discussion

The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is often represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0.trueSystem AdministratorInformation Assurance OfficerECCD-1, ECCD-2

Checks

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.

Fix

Edit "at" jobs or referenced scripts to remove umask commands setting umask to a value less restrictive than 077.
V-4367 No Change
Findings ID: GEN003460 Rule ID: SV-27393r1_rule Severity: medium CCI: CCI-000225

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

Checks

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

Fix

Change the owner of the at.allow file.
# chown root /var/adm/cron/at.allow
V-4368 No Change
Findings ID: GEN003480 Rule ID: SV-27397r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the owner of the at.deny file.
# chown root /var/adm/cron/at.deny
V-4369 No Change
Findings ID: GEN003960 Rule ID: SV-28393r1_rule Severity: medium CCI: CCI-000225

Discussion

If the traceroute command owner has not been set to root, an unauthorized user could use this command to obtain knowledge of the network topology inside the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

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

Fix

Change the owner of the traceroute command to root.
Example:
# chown root /usr/bin/traceroute
V-4370 No Change
Findings ID: GEN003980 Rule ID: SV-28397r1_rule Severity: medium CCI: CCI-000225

Discussion

If the group owner of the traceroute command has not been set to a system group, unauthorized users could have access to the command and use it to gain information regarding a network's topology inside of the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

Check the group ownership of the traceroute file.

Procedure:
# ls -lL /usr/bin/traceroute

If the traceroute command is not group-owned by sys, bin, or system, this is a finding.

Fix

Change the group owner of the traceroute command to sys, bin, or system.

Procedure:
# chgrp system /usr/bin/traceroute
V-4371 No Change
Findings ID: GEN004000 Rule ID: SV-28400r1_rule Severity: medium CCI: CCI-000225

Discussion

If the mode of the traceroute executable is more permissive than 0700, malicious code could be inserted by an attacker and triggered whenever the traceroute command is executed by authorized users. Additionally, if an unauthorized user is granted executable permissions to the traceroute command, it could be used to gain information about the network topology behind the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

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

Fix

Change the mode of the traceroute command.
# chmod 0700 /usr/bin/traceroute
V-4382 No Change
Findings ID: GEN004220 Rule ID: SV-4382r2_rule Severity: high CCI: CCI-000225

Discussion

If a web browser flaw is exploited while running as a privileged user, the entire system could be compromised.

Specific exceptions for local service administration should be documented in site-defined policy. These exceptions may include HTTP(S)-based tools used for the administration of the local system, services, or attached devices. Examples of possible exceptions are HP’s System Management Homepage (SMH), the CUPS administrative interface, and Sun's StorageTek Common Array Manager (CAM) when these services are running on the local system.System AdministratorECLP-1

Checks

Look in the root account home directory for a .netscape or a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO what the intent of the browsing is. Some evidence may be obtained by using the browser to view cached pages under the .netscape directory.

Fix

Enforce policy requiring administrative accounts use web browsers only for local service administration.
V-4384 No Change
Findings ID: GEN004560 Rule ID: SV-39164r1_rule Severity: low CCI: CCI-000366

Discussion

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

Checks

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

Fix

Ensure Sendmail or its equivalent has been configured to mask the version information. If necessary, change the O SmtpGreetingMessage line in the /etc/sendmail.cf file.

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b

Change it to:

O SmtpGreetingMessage= Mail Server Ready ; $b
V-4385 No Change
Findings ID: GEN004580 Rule ID: SV-4385r2_rule Severity: medium CCI: CCI-000366

Discussion

The .forward file allows users to automatically forward mail to another system. Use of .forward files could allow the unauthorized forwarding of mail and could potentially create mail loops which could degrade system performance.System AdministratorECSC-1

Checks

Search for any .forward files on the system.

# find / -name .forward -print

This is considered a finding if any .forward files are found on the system.

Fix

Remove .forward files from the system.
V-4387 No Change
Findings ID: GEN005000 Rule ID: SV-4387r2_rule Severity: high CCI: CCI-000225

Discussion

If an anonymous FTP account has been configured to use a functional shell, attackers could gain access to the shell if the account is compromised.System AdministratorECCD-1, ECCD-2

Checks

Check the shell for the anonymous FTP account.

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

Fix

Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the FTP account and replace them with non-functioning shells, such as, /dev/null.
V-4392 No Change
Findings ID: GEN005380 Rule ID: SV-4392r2_rule Severity: medium CCI: CCI-001208

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

Checks

Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.

Fix

Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.
V-4393 No Change
Findings ID: GEN005400 Rule ID: SV-4393r2_rule Severity: medium CCI: CCI-000225

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

Checks

Check /etc/syslog.conf ownership.

# ls -lL /etc/syslog.conf

If /etc/syslog.conf is not owned by root, this is a finding.

Fix

Use the chown command to set the owner to root.
# chown root /etc/syslog.conf
V-4394 No Change
Findings ID: GEN005420 Rule ID: SV-40364r1_rule Severity: medium CCI: CCI-000225

Discussion

If the group owner of /etc/syslog.conf is not root, bin, or sys, unauthorized users could be permitted to view, edit, or delete important system messages handled by the syslog facility.System AdministratorECLP-1

Checks

Check /etc/syslog.conf group ownership.

Procedure:
# ls -lL /etc/syslog.conf

If /etc/syslog.conf is not group-owned by sys, bin, or system, this is a finding.

Fix

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

Procedure:
# chgrp system /etc/syslog.conf
V-4395 No Change
Findings ID: GEN005460 Rule ID: SV-4395r2_rule Severity: medium CCI: CCI-000366

Discussion

If a remote log host is in use and it has not been justified and documented with the IAO, sensitive information could be obtained by unauthorized users without the SA's knowledge. A remote log host is any host to which the system is sending syslog messages over a network.trueSystem AdministratorInformation Assurance OfficerECSC-1

Checks

Examine the syslog.conf file for any references to remote log hosts.
# 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.

Fix

Remove, replace, or document the referenced undocumented log host.
V-4397 No Change
Findings ID: GEN005560 Rule ID: SV-39217r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Check the system for an IPv4 default route.

Procedure:
# netstat -r |grep default

If a default route is not defined, this is a finding.

Fix

Set a default gateway for IPv4.

# smitty route

OR

# route add 0 < ip address of gateway >
V-4398 No Change
Findings ID: GEN005580 Rule ID: SV-4398r2_rule Severity: medium CCI: CCI-001208

Discussion

Installing extraneous software on a system designated as a dedicated router poses a security threat to the system and the network. Should an attacker gain access to the router through the unauthorized software, the entire network is susceptible to malicious activity.System AdministratorDCSP-1

Checks

Ask the SA if the system is a designated router. If it is not, this is not applicable.

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.

Fix

Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.
V-4399 No Change
Findings ID: GEN006380 Rule ID: SV-4399r2_rule Severity: high CCI: CCI-001436

Discussion

Implementing NIS or NIS+ under UDP may make the system more susceptible to a Denial of Service attack and does not provide the same quality of service as TCP.System AdministratorECSC-1

Checks

If the system does not use NIS or NIS+, this is not applicable.

Check if NIS or NIS+ is implemented using UDP.

Procedure:
# rpcinfo -p | grep yp | grep udp

If NIS or NIS+ is implemented using UDP, this is a finding.

Fix

Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.
V-4427 No Change
Findings ID: GEN002020 Rule ID: SV-4427r2_rule Severity: medium CCI: CCI-000366

Discussion

If these files are not properly configured, they could allow malicious access by unknown malicious users from untrusted hosts who could compromise the system.G614. The only allowable use of a’ +’ character in a hosts.equiv and .rhosts files is to allow NIS+ netgroups access to the system.System AdministratorECCD-1, ECCD-2

Checks

Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files.

Procedure:
# find / -name .rhosts
# more /<directorylocation>/.rhosts

# find / -name .shosts
# more /<directorylocation>/.shosts

# find / -name hosts.equiv
# more /<directorylocation>/hosts.equiv

# find / -name shosts.equiv
# more /<directorylocation>/shosts.equiv

If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.

Fix

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.
V-4428 No Change
Findings ID: GEN002060 Rule ID: SV-39502r1_rule Severity: medium CCI: CCI-000225

Discussion

If these files are accessible by users other than root or the owner, they could be used by a malicious user to set up a system compromise.System AdministratorECLP-1

Checks

# find / -type f -name .rhosts
# ls -alL /<directorylocation>/.rhosts

# find / -type f -name .shosts
# ls -alL /<directorylocation>/.shosts

# find / -type f -name hosts.equiv
# ls -lL /<directorylocation>/hosts.equiv

# find / -type f -name shosts.equiv
# ls -lL /<directorylocation>/shosts.equiv

If the .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 700, this is a finding.

Fix

Ensure the permission for these files is set at 700 or less and the owner is the owner of the home directory that it is in. These files, outside of home directories (other than hosts.equiv which is in /etc and owned by root), have no meaning.
V-4430 No Change
Findings ID: GEN003260 Rule ID: SV-27372r1_rule Severity: medium CCI: CCI-000225

Discussion

Cron daemon control files restrict the scheduling of automated tasks and must be protected.
System AdministratorECLP-1

Checks

# ls -lL /var/adm/cron/cron.deny

If the cron.deny file is not owned by root, sys, or bin, this is a finding.

Fix

# chown root /var/adm/cron/cron.deny
V-4687 No Change
Findings ID: GEN003820 Rule ID: SV-27434r1_rule Severity: high CCI: CCI-000068

Discussion

The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
System AdministratorInformation Assurance OfficerEBRU-1

Checks

# grep -v "^#" /etc/inetd.conf |grep rshd
If rshd is found to be enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the rshd service. Restart the inetd service.
V-4688 Updated
Findings ID: GEN003840 Rule ID: SV-38878r1_rule Severity: high CCI: CCI-001435

Discussion

The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.trueSystem AdministratorInformation Assurance OfficerSystem AdministratorEBRP-1, ECSC-1

Checks

# grep -v "^#" /etc/inetd.conf |grep rexec

If any results are returned, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the line for the rexec service.
Refresh the inetd daemon.
# refresh -s inetd
V-4689 No Change
Findings ID: GEN004600 Rule ID: SV-38917r1_rule Severity: high CCI: CCI-001230

Discussion

The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.System AdministratorVIVM-1

Checks

Determine the version of the SMTP service software.

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.

Fix

Obtain and install a newer version of Sendmail from the operating system vendor or from http://www.sendmail.org or ftp://ftp.cs.berkeley.edu/ucb/sendmail.
V-4690 No Change
Findings ID: GEN004620 Rule ID: SV-4690r2_rule Severity: high CCI: CCI-000366

Discussion

Debug mode is a feature present in older versions of Sendmail which, if not disabled, may allow an attacker to gain access to a system through the Sendmail service.System AdministratorECSC-1

Checks

Check for an enabled debug command provided by the SMTP service.

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.

Fix

Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.
V-4691 No Change
Findings ID: GEN004640 Rule ID: SV-4691r2_rule Severity: high CCI: CCI-001230

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

Checks

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.

Fix

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
V-4692 No Change
Findings ID: GEN004660 Rule ID: SV-28402r1_rule Severity: low CCI: CCI-000366

Discussion

The SMTP EXPN function allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. EXPN may also provide additional information concerning users on the system, such as the full names of account owners.False positives may occur with the SMTP EXPN check. According to RFC821, it is acceptable for a server to respond with a 250 (success) or 550 (failure) when the server supports the EXPN command. For example, some servers return "550 EXPN command not available," meaning the command is not supported and the machine is not vulnerable. However, a result of "550 That is a mailing list, not a user" would be a failure code, but not an indication of an error, and the machine would be vulnerable. If a false positive is suspected, check the log file for the response from the server.System AdministratorECSC-1

Checks

Perform the following to determine if EXPN is disabled:

# telnet localhost 25
expn root

If the command does not return a 500 error code 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.

Fix

Edit the sendmail.cf file and add or edit the following line:
O PrivacyOptions=goaway
Restart the Sendmail service.
V-4693 No Change
Findings ID: GEN004680 Rule ID: SV-39171r1_rule Severity: low CCI: CCI-000366

Discussion

The VRFY (Verify) command allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. VRFY may provide additional information about users on the system, such as the full names of account owners.System AdministratorECSC-1

Checks

Determine if VRFY is disabled.
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.

Fix

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.
V-4694 No Change
Findings ID: GEN004700 Rule ID: SV-4694r2_rule Severity: low CCI: CCI-000366

Discussion

Very old installations of the Sendmail mailing system contained a feature whereby a remote user connecting to the SMTP port can enter the WIZ command and be given an interactive shell with root privileges.System AdministratorECSC-1

Checks

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.

Fix

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.
V-4695 No Change
Findings ID: GEN005140 Rule ID: SV-39193r1_rule Severity: high CCI: CCI-000225

Discussion

TFTP is a file transfer protocol often used by embedded systems to obtain configuration data or software. The service is unencrypted and does not require authentication of requests. Data available using this service may be subject to unauthorized access or interception.System AdministratorInformation Assurance OfficerDCSW-1

Checks

Determine if the TFTP daemon is active.
# grep -v "^#" /etc/inetd.conf |grep tftp
If TFTP is found enabled, it is a finding if it is not documented using site-defined procedures.

Fix

Disable the TFTP daemon.
Edit /etc/inetd.conf and comment out the tftp line.

Restart the inetd service.
# refresh -s inetd
V-4696 No Change
Findings ID: GEN005280 Rule ID: SV-28427r1_rule Severity: medium CCI: CCI-001436

Discussion

The UUCP utility is designed to assist in transferring files, executing remote commands, and sending e-mail between UNIX systems over phone lines and direct connections between systems. The UUCP utility is a primitive and arcane system with many security issues. There are alternate data transfer utilities/products that can be configured to more securely transfer data by providing for authentication as well as encryption.System AdministratorECSC-1

Checks

# grep uucp /etc/inetd.conf
If uucp is found enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the uucp service. Restart the inetd service.
V-4697 No Change
Findings ID: GEN005200 Rule ID: SV-4697r2_rule Severity: high CCI: CCI-000225

Discussion

Open X displays allow an attacker to capture keystrokes and to execute commands remotely. Many users have their X Server set to xhost +, permitting access to the X Server by anyone, from anywhere.System AdministratorECSC-1

Checks

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.

Fix

If using an xhost-type authentication the xhost - command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with xhost + commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred. Refer to your X11 server's documentation for further security information.
V-4701 No Change
Findings ID: GEN003860 Rule ID: SV-27440r1_rule Severity: low CCI: CCI-001551

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.
System AdministratorDCPP-1, EBRU-1

Checks

# grep -v "^#" /etc/inetd.conf |grep finger
If the finger service is not disabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the finger service line. Restart the inetd service.
V-4702 No Change
Findings ID: GEN004840 Rule ID: SV-4702r2_rule Severity: medium CCI: CCI-000787

Discussion

Anonymous FTP is a public data service which is only permitted in a server capacity when located on the DMZ network.System AdministratorInformation Assurance OfficerEBBD-1, EBBD-2, EBBD-3, ECSC-1

Checks

Use the command ftp to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of [email protected]). If the logon is not successful, this check is not applicable.

Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.

Fix

Move the system to a DMZ network.
V-11940 No Change
Findings ID: GEN000100 Rule ID: SV-27052r1_rule Severity: high CCI: CCI-001230

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

Checks

# oslevel
Vendor supported versions are 5.3 and later at the time of writing.

AIX 5.3 End of support 30 April 2012
AIX 5.2 End of support 30 April 2009
AIX 5.1 End of support 1 April 2006

If the release is not supported, this is a finding.

Fix

Upgrade to a supported version of the operating system.
V-11941 No Change
Findings ID: GEN000140 Rule ID: SV-38784r1_rule Severity: medium CCI: CCI-000293

Discussion

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

Checks

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.

Fix

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 >
V-11945 No Change
Findings ID: GEN000220 Rule ID: SV-28610r2_rule Severity: medium CCI: CCI-001069

Discussion

Changes in system libraries and binaries can indicate compromise or significant system events, such as patching needing to be checked by automated processes and the results reviewed by the SA.

NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.System AdministratorDCSL-1

Checks

Determine if there is a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries.

Procedure:
# crontab -l

If there is no cron job meeting these requirements, this is a finding.

NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Fix

Create a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries.

NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
V-11946 No Change
Findings ID: GEN000340 Rule ID: SV-38669r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Check the UID assignments of all accounts.

# more /etc/passwd

Confirm all accounts with a UID of 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.

Fix

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
V-11947 No Change
Findings ID: GEN000580 Rule ID: SV-38936r2_rule Severity: medium CCI: CCI-000205

Discussion

The use of longer passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques by increasing the password search space.System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

Change the minimum password length to 15 or more.

# chsec -f /etc/security/user -s default -a minlen=15
# chuser minlen=15 <user id>
V-11973 No Change
Findings ID: GEN000640 Rule ID: SV-39503r1_rule Severity: medium CCI: CCI-001619

Discussion

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

Checks

Fix

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 >
V-11975 No Change
Findings ID: GEN000680 Rule ID: SV-38675r1_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

Use the chsec command to set maxrepeats to 3.

# chsec -f /etc/security/user -s default -a maxrepeats=3

# chuser maxrepeats=3 < user id >
V-11976 No Change
Findings ID: GEN000700 Rule ID: SV-38939r1_rule Severity: medium CCI: CCI-000180

Discussion

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

Checks

Fix

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 >
V-11977 No Change
Findings ID: GEN000740 Rule ID: SV-38676r1_rule Severity: medium CCI: CCI-000199

Discussion

Limiting the lifespan of authenticators limits the period of time an unauthorized user has access to the system while using compromised credentials and reduces the period of time available for password-guessing attacks to run against a single password. Locking the password for non-interactive and automated processing accounts is preferred as it removes the possibility of accessing the account by a password. On some systems, locking the passwords of these accounts may prevent the account from functioning properly. Passwords for non-interactive/automated processing accounts must not be used for direct logon to the system.System AdministratorIAIA-1, IAIA-2

Checks

NOTE: This will always require a manual review. This is a local policy issue/question. Ask the 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>));'

Fix

Implement or establish procedures to change the passwords of automated processing accounts at least once per year.
#passwd account
V-11979 No Change
Findings ID: GEN001020 Rule ID: SV-40787r1_rule Severity: medium CCI: CCI-000770

Discussion

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

Checks

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.

Fix

Enforce policy requiring all root account access is attained by first logging into a user account and then becoming root (using su, for example).
V-11980 No Change
Findings ID: GEN001060 Rule ID: SV-27154r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Check the following log files to determine if access 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.

Fix

Troubleshoot the system logging configuration to provide for logging of root account login attempts.
V-11981 No Change
Findings ID: GEN001720 Rule ID: SV-38882r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check global initialization files permissions:

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

Fix

Change the mode of the global initialization file(s) to 0444.
# chmod 0444 <global initialization file>
V-11982 No Change
Findings ID: GEN001740 Rule ID: SV-38884r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the ownership of global initialization files with incorrect ownership.

Procedure:
# chown bin <global initialization files>
V-11983 No Change
Findings ID: GEN001760 Rule ID: SV-38892r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of global initialization files.

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.

Fix

Change the group ownership of the global initialization file(s) with incorrect group ownership.

Procedure:
# chgrp system <global initialization file>
V-11984 No Change
Findings ID: GEN001820 Rule ID: SV-38737r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the ownership of skeleton files with incorrect mode.

# chown root /etc/security/.profile /etc/security/mkuser.sys
V-11985 No Change
Findings ID: GEN001840 Rule ID: SV-12486r2_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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 (/), this is a relative path, and this is a finding.

Fix

Edit the global initialization file(s) with PATH variables containing relative paths. Edit the file and remove the relative path from the PATH variable.
V-11986 No Change
Findings ID: GEN001900 Rule ID: SV-12487r3_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

NOTE: The following must be done in the BASH shell.

Examine the PATH variable contained in any user's local initialization files to ensure the use of only absolute paths, 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.

An empty entry is defined by a leading/trailing colon or two consecutive colons.

A relative path is defined as an entry beginning with a character other than a slash (/).

If an empty or relative path is defined in the PATH variable, this is a finding.

Fix

Edit the local initialization file(s) and remove the relative path entry from the PATH variable.
V-11987 No Change
Findings ID: GEN001980 Rule ID: SV-38740r2_rule Severity: medium CCI: CCI-000366

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

Checks

Check system configuration files for plus (+) entries.

Procedure:
# find / -name .rhosts
# cat /<directorylocation>/.rhosts | grep -v "^#" | grep "\+"

# find / -name .shosts
# cat /<directorylocation>/.shosts | grep -v "^#" | grep "\+"

# find / -name hosts.equiv
# cat /<directorylocation>/hosts.equiv | grep -v "^#" | grep "\+"

# find / -name shosts.equiv
# cat /<directorylocation>/shosts.equiv | grep -v "^#" | grep "\+"

# cat /etc/passwd | grep -v "^#" | grep "\+"
# cat /etc/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.

Fix

Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/security/passwd, and/or /etc/group files and remove entries containing a plus (+).
V-11988 No Change
Findings ID: GEN002040 Rule ID: SV-12489r2_rule Severity: high CCI: CCI-000366

Discussion

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

Checks

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.


Fix

Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.
V-11989 Updated
Findings ID: GEN002100 Rule ID: SV-38845r1_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.
V-11990 No Change
Findings ID: GEN002540 Rule ID: SV-40066r1_rule Severity: medium CCI: CCI-000225

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

Checks

Check the group ownership of public directories.

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

If any public directory is not group-owned by system, sys, bin, or an application group, this is a finding.

Fix

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.)
V-11994 No Change
Findings ID: GEN003040 Rule ID: SV-27333r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

If any crontab is not owned by root or the creating user, this is a finding.

Fix

Change the crontab owner to root or the crontab creator.
# chown root <crontab file>
V-11995 No Change
Findings ID: GEN003060 Rule ID: SV-27336r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the cron.allow and cron.deny files for the system.
# more /var/adm/cron/cron.allow
# more /var/adm/cron/cron.deny

If a default system account (such as bin, sys, adm, or 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.

Fix

Remove default system accounts (such as bin, sys, adm, or others) from the cron.allow file if it exists, or add those accounts to the cron.deny file.
V-11996 No Change
Findings ID: GEN003500 Rule ID: SV-27402r1_rule Severity: low CCI: CCI-000366

Discussion

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

Checks

# lsuser -a core ALL

If any user does not have a value of core = 0, this is a finding.

Fix

# chsec -f /etc/security/limits -s default -a core=0
V-11997 No Change
Findings ID: GEN003520 Rule ID: SV-38861r1_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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
V-11999 No Change
Findings ID: GEN003540 Rule ID: SV-39504r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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

Fix

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.
V-12002 No Change
Findings ID: GEN003600 Rule ID: SV-38948r1_rule Severity: medium CCI: CCI-001551

Discussion

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

Checks

# /usr/sbin/no -o ipsrcrouteforward
If the returned value is not 0, this is a finding.

Fix

# /usr/sbin/no -po "ipsrcrouteforward=0"
V-12003 No Change
Findings ID: GEN003620 Rule ID: SV-38870r1_rule Severity: low CCI: CCI-001208

Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.trueSystem AdministratorECSC-1

Checks

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.

Fix

Migrate the /home (or equivalent) path onto a separate file system.
V-12004 No Change
Findings ID: GEN003660 Rule ID: SV-12505r2_rule Severity: medium CCI: CCI-000126

Discussion

Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system.System AdministratorECAR-1, ECAR-2, ECAR-3

Checks

Check /etc/syslog.conf and verify the auth facility is logging both the notice and info 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.

Fix

Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info.
V-12005 No Change
Findings ID: GEN003700 Rule ID: SV-12506r2_rule Severity: medium CCI: CCI-000305

Discussion

Unnecessary services should be disabled to decrease the attack surface of the system.System AdministratorECSC-1

Checks

First, determine if 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.

Fix

Remove or disable the inetd startup scripts and kill the service.
V-12006 No Change
Findings ID: GEN004540 Rule ID: SV-38885r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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

Fix

To disable the SMTP HELP command create an empty Sendmail help file.

# > /etc/mail/help
V-12010 No Change
Findings ID: GEN004800 Rule ID: SV-39176r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Determine if unencrypted ftp 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.

Fix

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
V-12011 No Change
Findings ID: GEN005040 Rule ID: SV-38813r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

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
V-12014 No Change
Findings ID: GEN005180 Rule ID: SV-12515r2_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the mode of the .Xauthority files.

Procedure:
# chmod 0600 .Xauthority
V-12016 No Change
Findings ID: GEN005220 Rule ID: SV-12517r2_rule Severity: medium CCI: CCI-000297

Discussion

If access to the X server is not restricted, a user's X session may be compromised.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

Create an X*.hosts file, where * is a display number that may be used to limit X window connections. Add the list of authorized X clients to the file.
V-12017 No Change
Findings ID: GEN005240 Rule ID: SV-12518r2_rule Severity: medium CCI: CCI-000225

Discussion

If unauthorized clients are permitted access to the X server, a user's X session may be compromised.System AdministratorECCD-1, ECCD-2

Checks

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.

Fix

Remove unauthorized clients from the xauth configuration.
# xauth remove <display name>
V-12018 No Change
Findings ID: GEN005260 Rule ID: SV-38954r1_rule Severity: medium CCI: CCI-001436

Discussion

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

Checks

Determine if the X Window system is running.

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.

Fix

Disable the X Windows server on the system.
Comment out /etc/rc.dt out of /etc/inittab
V-12019 No Change
Findings ID: GEN005360 Rule ID: SV-38920r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the owner of the snmpd.conf file to bin.

Procedure:
# chown bin <snmpd.conf file>
V-12020 No Change
Findings ID: GEN005440 Rule ID: SV-39205r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

NOTE: This will virtually always require a manual review. Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.

Fix

Configure the hosts outside of the local enclave to not log to this system.
V-12021 No Change
Findings ID: GEN005480 Rule ID: SV-38894r1_rule Severity: medium CCI: CCI-000366

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

Checks

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.

Fix

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
V-12022 No Change
Findings ID: GEN005540 Rule ID: SV-38955r1_rule Severity: medium CCI: CCI-000366

Discussion

The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.System AdministratorECSC-1, ECWM-1

Checks

Check the TCP wrappers configuration files to determine if SSHD is configured to use TCP wrappers.

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.

Fix

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.
V-12023 No Change
Findings ID: GEN005600 Rule ID: SV-38821r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

#no -o ipforwarding
If the value returned is not 0, this is a finding.

Fix

Disable IPv4 forwarding on the system.
#no -p -o ipforwarding=0
V-12024 No Change
Findings ID: GEN006000 Rule ID: SV-41525r1_rule Severity: medium CCI: CCI-000366

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

Checks

If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.

Fix

Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
V-12025 No Change
Findings ID: GEN006040 Rule ID: SV-12526r2_rule Severity: medium CCI: CCI-001436

Discussion

Peer-to-peer file-sharing software can result in the unintentional exfiltration of information. There are also many legal issues associated with these types of utilities including copyright infringement or other intellectual property issues. The ASD Memo "Use of Peer-to-Peer (P2P) File-Sharing Applications across the DoD" states the following:

“P2P file-sharing applications are authorized for use on DoD networks with approval by the appropriate Designated Approval Authority (DAA). Documented requirements, security architecture, configuration management process, and a training program for users are all requirements within the approval process. The unauthorized use of application or services, including P2P applications, is prohibited, and such applications or services must be eliminated.”

P2P applications include, but are not limited to, the following:

-Napster,
-Kazaa,
-ARES,
-Limewire,
-IRC Chat Relay, and
-BitTorrent.System AdministratorDesignated Approving AuthorityDCPD-1, ECSC-1

Checks

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.

Fix

Uninstall the peer-to-peer file sharing application(s) from the system.
V-12026 No Change
Findings ID: GEN006420 Rule ID: SV-12527r2_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Check the domain name for NIS maps.

Procedure:
# domainname

If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.

Fix

Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.
V-12028 Updated
Findings ID: GEN006560 Rule ID: SV-41530r1_rule Severity: medium CCI: CCI-000366

Discussion

Timely notifications of potential security compromises minimize the potential damage.

Minimally, the system must log these events and the SA and the IAO will receive the notifications during the daily system log review. If feasible, active alerting (such as email or paging) should be employed consistent with the site’s established operations management systems and procedures.
System AdministratorInformation Assurance OfficerSystem AdministratorECAT-1, ECAT-2

Checks

For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.

Fix

Configure the security tools on the system to notify the IAO and SA when any security issues are detected.
V-12030 No Change
Findings ID: GEN006620 Rule ID: SV-41532r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Fix

Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.
V-12035 No Change
Findings ID: GEN000000-AIX00080 Rule ID: SV-12536r2_rule Severity: high CCI: CCI-000225

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.

System AdministratorIAIA-1, IAIA-2

Checks

Examine the /etc/security/user file.

# grep SYSTEM /etc/security/user

If the line contains SYSTEM=NONE, this is a finding.

Fix

Edit /etc/security/user and change any SYSTEM=NONE settings to a valid authentication setting.
V-12049 No Change
Findings ID: GEN003865 Rule ID: SV-38880r1_rule Severity: medium CCI: CCI-000305

Discussion

Network analysis tools allow for the capture of network traffic visible to the system.System AdministratorDCPA-1

Checks

Determine if any network analysis tools are installed.

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.

Fix

Remove the network analysis tool binary from the system.

Procedure:
# rm /usr/sbin/tcpdump
V-12765 No Change
Findings ID: GEN006640 Rule ID: SV-40067r1_rule Severity: medium CCI: CCI-001668

Discussion

Virus scanning software can be used to protect a system from penetration by computer viruses and to limit their spread through intermediate systems. Virus scanning software is available to DoD on the JTF-GNO web site.

The virus scanning software should be configured to perform scans dynamically on accessed files. If this capability is not available, the system must be configured to scan, at a minimum, all altered files on the system on a daily basis.

If the system processes inbound SMTP mail, the virus scanner must be configured to scan all received mail.
System AdministratorECVP-1

Checks

Check for the existence of the McAfee command line scan tool to be executed daily in the cron file. Additional tools specific for each operating system are also available and will have to be manually reviewed if installed. In addition, the definitions file should not be older than 14 days.

Check if uvscan is scheduled to run:
# grep uvscan /var/spool/cron/crontabs/*

Perform the following command to ensure the virus definition signature files are not older than 14 days.

# ls -la clean.dat names.dat scan.dat

If a virus scanner is not being run daily or the virus definitions are older than 14 days, this is a finding.

Fix

Install McAfee command line virus scan tool, or an appropriate alternative from https://www.jtfgno.mil. Ensure the virus signature definition files are no older than 14 days. Updates are also available from https://www.jtfgno.mil. Ensure the command line virus scan tool is run on a regular basis using a utility, such as cron.
V-22290 No Change
Findings ID: GEN000241 Rule ID: SV-39091r1_rule Severity: medium CCI: CCI-000366

Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. Internal system clocks tend to drift and require periodic resynchronization to ensure their accuracy. Software, such as ntpd, can be used to continuously synchronize the system clock with authoritative sources. Alternatively, the system may be synchronized periodically, with a maximum of one day between synchronizations.

If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.System AdministratorECSC-1

Checks

Check the root crontab for ntpdate jobs running at least daily.

# crontab -l | grep ntpdate

Columns 3, 4, and 5 must be an asterisk (*) for the job to be run daily.
If this job exists, this is not a finding.

OR

Verify the auto-startup of 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.

Fix

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.
V-22291 No Change
Findings ID: GEN000242 Rule ID: SV-39092r1_rule Severity: medium CCI: CCI-000160

Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. For redundancy, two time sources are required so synchronization continues to function if one source fails.

If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.

NOTE: For the Network Time Protocol (NTP), the requirement is two servers, but it is recommended to configure at least four distinct time servers which allow NTP to effectively exclude a time source not consistent with the others. The system's local clock must be excluded from the count of time sources.System AdministratorECSC-1

Checks

Check the system for a running NTP daemon.
# ps -ef | grep ntp

Verify the auto-startup of 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.

Fix

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.
V-22292 No Change
Findings ID: GEN000244 Rule ID: SV-28718r1_rule Severity: low CCI: CCI-000160

Discussion

A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. The network architecture should provide multiple time servers within an enclave providing local service to the enclave and synchronize with time sources outside of the enclave.

If this server is an enclave time server, this requirement is not applicable.

If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.System AdministratorECSC-1

Checks

Check the root crontab for ntpdate entries.
# crontab -l | grep ntpdate
If the ntpdate command is invoked with NTP servers outside of the enclave, this is a finding.

Check the NTP daemon configuration.
# grep '^server' ntp.conf
If an NTP server is listed outside of the enclave, this is a finding.

Fix

If using ntpdate, remove NTP servers external to the enclave from the cron job running ntpdate.

If using the NTP daemon, remove the server line from ntp.conf for each NTP server external to the enclave.
V-22294 No Change
Findings ID: GEN000250 Rule ID: SV-40383r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine the owner of the ntp.conf file.

# ls -l /etc/ntp.conf

If the owner is not root, this is a finding.

Fix

Change the owner of the ntp.conf file.

# chown root ntp.conf
V-22295 No Change
Findings ID: GEN000251 Rule ID: SV-39093r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the NTP configuration file.

Procedure:
# ls -lL /etc/ntp.conf

If the group owner is not bin, sys, or system, this is a finding.

Fix

Change the group owner of the NTP configuration file.

Procedure:
# chgrp system /etc/ntp.conf
V-22296 No Change
Findings ID: GEN000252 Rule ID: SV-40384r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the mode of the ntp.conf file to 0640 or less permissive.

# chmod 0640 /etc/ntp.conf
V-22297 No Change
Findings ID: GEN000253 Rule ID: SV-38667r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check for an extended ACL on the NTP configuration file.
# aclget /etc/ntp.conf
If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the ntp.conf file.
#acledit /etc/ntp.conf
V-22298 No Change
Findings ID: GEN000450 Rule ID: SV-38670r2_rule Severity: low CCI: CCI-000054

Discussion

Limiting simultaneous user logins can insulate the system from Denial of Service problems caused by excessive logins. Automated login processes operating improperly or maliciously may result in an exceptional number of simultaneous login sessions.

If the defined value of 10 logins does not meet operational requirements, the site may define the permitted number of simultaneous login sessions based on operational requirements.

This limit is for the number of simultaneous login sessions for EACH user account. This is NOT a limit on the total number of simultaneous login sessions on the system.trueSystem AdministratorECSC-1

Checks

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

Fix

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
V-22299 No Change
Findings ID: GEN000452 Rule ID: SV-39095r1_rule Severity: low CCI: CCI-000052

Discussion

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

Checks

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.

Fix

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>
V-22301 No Change
Findings ID: GEN000510 Rule ID: SV-25948r1_rule Severity: low CCI: CCI-000061

Discussion

To protect the on-screen content of a session, it must be replaced with a publicly-viewable pattern upon session lock. Examples of publicly viewable patterns include screen saver patterns, photographic images, solid colors, or a blank screen, so long as none of those patterns convey sensitive information.

This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices, as well as, to graphical desktop environments provided to remote systems using remote access protocols.System AdministratorPESL-1

Checks

Determine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding.

Fix

Configure the system to display a publicly-viewable pattern during a session lock.
V-22302 No Change
Findings ID: GEN000585 Rule ID: SV-38769r1_rule Severity: medium CCI: CCI-000205

Discussion

Some common password hashing schemes only process the first eight characters of a user's password, which reduces the effective strength of the password.
System AdministratorIAIA-1, IAIA-2

Checks

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.

Fix

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
V-22303 No Change
Findings ID: GEN000590 Rule ID: SV-38938r1_rule Severity: medium CCI: CCI-000803

Discussion

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

Checks

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.

Fix

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
V-22304 No Change
Findings ID: GEN000595 Rule ID: SV-38672r1_rule Severity: medium CCI: CCI-000196

Discussion

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

Checks

Fix

Change the passwords for all accounts using non-compliant password hashes.

# passwd account
OR
# smitty passwd

(This requires that GEN000590 is already met.)
V-22306 No Change
Findings ID: GEN000750 Rule ID: SV-38677r2_rule Severity: medium CCI: CCI-000195

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

Checks

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.

Fix

Use the chsec command to change mindiff to 8.

# chsec -f /etc/security/user -s default -a mindiff=8

# chuser mindiff=8 < user id >
V-22307 No Change
Findings ID: GEN000790 Rule ID: SV-38678r1_rule Severity: medium CCI: CCI-000189

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

Checks

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.

Fix

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
V-22308 No Change
Findings ID: GEN000850 Rule ID: SV-38680r1_rule Severity: low CCI: CCI-000009

Discussion

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

Checks

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.

Fix

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

V-22309 No Change
Findings ID: GEN000930 Rule ID: SV-38690r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the root account's home directory has no extended ACL.

Procedure:
# aclget ~root
If extended permissions are enabled, the directory has an extended ACL, and this is a finding.

Fix

Remove the extended ACL from the root account's home directory.
#acledit ~root
Change extended attributes to disabled.
V-22310 No Change
Findings ID: GEN000945 Rule ID: SV-38770r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Edit the root user's initialization files and remove any definition of LD_LIBRARY_PATH and LIBPATH.
V-22311 No Change
Findings ID: GEN000950 Rule ID: SV-38772r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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

Fix

Edit the root user's initialization files and remove any definition of LDR_PRELOAD.
V-22312 No Change
Findings ID: GEN001170 Rule ID: SV-40084r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

Change the group owner for each file without a valid group owner.
# chgrp <a-valid-group> /tmp/a-file-without-a-valid-group-owner
V-22313 No Change
Findings ID: GEN001190 Rule ID: SV-38685r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the extended ACL(s) from the network service daemon file(s).
#acledit < directory >/< network service daemon >
Disable extended permissions.
V-22314 No Change
Findings ID: GEN001210 Rule ID: SV-38686r1_rule Severity: medium CCI: CCI-001499

Discussion

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

Checks

Verify all system command files have no extended ACLs.

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

Fix

Remove the extended ACL(s) from the system command file(s) and set the extended permissions to disabled.

#acledit < command path >/< command file>
V-22315 No Change
Findings ID: GEN001270 Rule ID: SV-38687r1_rule Severity: medium CCI: CCI-001314

Discussion

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

Checks

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>

Fix

Remove the extended ACL(s) from the system log file(s) and disable extended permissions.

# acledit < directory >/< file>
V-22316 No Change
Findings ID: GEN001290 Rule ID: SV-38688r1_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the extended ACLs from system manual page file(s) and disable extended permissions.

#acledit < directory >/< file >
V-22317 No Change
Findings ID: GEN001310 Rule ID: SV-38689r1_rule Severity: medium CCI: CCI-001499

Discussion

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

Checks

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 >

Fix

Remove the extended ACL(s) from the system library file(s) and disable extended permissions.

#acledit < directory >/< file >
V-22318 No Change
Findings ID: GEN001361 Rule ID: SV-38691r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the extended ACL from the NS/NIS+/yp command file(s) and disable extended permissions.

#acledit < directory >/< file >
V-22319 No Change
Findings ID: GEN001362 Rule ID: SV-26395r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the /etc/resolv.conf file is owned by root.

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

Fix

Change the owner of the /etc/resolv.conf file to root.
# chown root /etc/resolv.conf
V-22320 No Change
Findings ID: GEN001363 Rule ID: SV-39099r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the resolv.conf file.

Procedure:
# ls -lL /etc/resolv.conf

If the file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/resolv.conf file to bin, sys, or system.

Procedure:
# chgrp system /etc/resolv.conf
V-22321 No Change
Findings ID: GEN001364 Rule ID: SV-26397r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the /etc/resolv.conf file.

Procedure:
# ls -l /etc/resolv.conf
If the file mode is more permissive than 0644, this is a finding.

Fix

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

# chmod 0644 /etc/resolv.conf
V-22322 No Change
Findings ID: GEN001365 Rule ID: SV-38692r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify /etc/resolv.conf has no extended ACL.
Check if extended permissions are disabled.

Procedure:

#aclget /etc/resolv.conf
If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from /etc/resolv.conf file and disable extended permissions.

#acledit /etc/resolv.conf
V-22323 Updated
Findings ID: GEN001366 Rule ID: SV-26410r12_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the /etc/hosts file is owned by root.

Procedure:
# ls -l
L /etc/hosts
If the file is not owned by root, this is a finding.

Fix

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

# chown root /etc/hosts
V-22324 No Change
Findings ID: GEN001367 Rule ID: SV-39100r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the /etc/hosts file's group ownership.

Procedure:
# ls -lL /etc/hosts

If the file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/hosts file to sys, bin, or system.

Procedure:
# chgrp system /etc/hosts
V-22325 No Change
Findings ID: GEN001368 Rule ID: SV-26412r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the /etc/hosts file.

Procedure:
# ls -l /etc/hosts
If the file mode is more permissive than 0644, this is a finding.

Fix

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

# chmod 0644 /etc/hosts
V-22326 No Change
Findings ID: GEN001369 Rule ID: SV-38693r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Remove the extended ACL from the /etc/hosts file and disable extended permissions.

#acledit /etc/hosts
V-22327 No Change
Findings ID: GEN001371 Rule ID: SV-39330r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the /etc/nsswitch.conf file is owned by root.

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.

Fix

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

# chown root /etc/nsswitch.conf
V-22328 No Change
Findings ID: GEN001372 Rule ID: SV-39101r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the nsswitch.conf file.

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.

Fix

Change the group owner of the /etc/nsswitch.conf file to root, bin, sys, or system.

Procedure:
# chgrp system /etc/nsswitch.conf
V-22329 No Change
Findings ID: GEN001373 Rule ID: SV-39332r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the /etc/nsswitch.conf file.

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.

Fix

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

# chmod 0644 /etc/nsswitch.conf
V-22330 No Change
Findings ID: GEN001374 Rule ID: SV-39334r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify /etc/nsswitch.conf has no extended ACL.

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.

Fix

Remove the extended ACL from the /etc/nsswitch.conf file.

# acledit /etc/nsswitch.conf
V-22332 No Change
Findings ID: GEN001378 Rule ID: SV-26425r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the /etc/passwd file is owned by root.

Procedure:
# ls -l /etc/passwd
If the file is not owned by root, this is a finding.

Fix

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

# chown root /etc/passwd
V-22333 No Change
Findings ID: GEN001379 Rule ID: SV-38723r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the password file.

Procedure:
# ls -lL /etc/passwd

If the file is not group-owned by security, bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/passwd file to security, bin, sys, or system.

Procedure:
# chgrp security /etc/passwd
V-22334 No Change
Findings ID: GEN001390 Rule ID: SV-38724r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Remove the extended ACL from the /etc/passwd file and disable extended permissions.

#acledit /etc/passwd
V-22335 No Change
Findings ID: GEN001391 Rule ID: SV-26431r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify the /etc/group file is owned by root.

Procedure:
# ls -l /etc/group
If the file is not owned by root, this is a finding.

Fix

Change the owner of the /etc/group file to root.

# chown root /etc/group
V-22336 No Change
Findings ID: GEN001392 Rule ID: SV-38725r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the /etc/group file.

Procedure:
# ls -lL /etc/group

If the file is not group-owned by security, bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/group file to security, bin, sys, or system.

# chgrp security /etc/group
V-22337 No Change
Findings ID: GEN001393 Rule ID: SV-26433r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the mode of the /etc/group file.

Procedure:
# ls -l /etc/group
If the file mode is more permissive than 0644, this is a finding.

Fix

Change the mode of the /etc/group file to 0644 or less permissive.
# chmod 0644 /etc/group
V-22338 No Change
Findings ID: GEN001394 Rule ID: SV-38726r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Remove the extended ACL from the /etc/group file and disable extended permissions.

#acledit /etc/group
V-22339 No Change
Findings ID: GEN001410 Rule ID: SV-38727r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Change the group owner of the /etc/security/passwd file to security, bin, sys, or system.

Procedure:
# chgrp security /etc/security/passwd
V-22340 No Change
Findings ID: GEN001430 Rule ID: SV-38729r1_rule Severity: medium CCI: CCI-000225

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

Checks

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.

Fix

Remove the extended ACL from the /etc/security/passwd file
and disable extended permissions.

#acledit /etc/security/passwd
V-22348 No Change
Findings ID: GEN001475 Rule ID: SV-26447r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the /etc/group file for password hashes.
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.

Fix

Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.
V-22350 No Change
Findings ID: GEN001490 Rule ID: SV-38730r1_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

Verify user home directories have no extended ACLs.

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.

Fix

Remove the extended ACL from the user home directory and disable extended permissions.

#acledit <directory>/<file>
V-22351 No Change
Findings ID: GEN001550 Rule ID: SV-26453r1_rule Severity: medium CCI: CCI-000225

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

Checks

Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member.

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.

Fix

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]
V-22352 No Change
Findings ID: GEN001570 Rule ID: SV-38731r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the contents of user home directories for files with extended ACLs.

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.

Fix

Remove the extended ACL(s) from the files and directories in user home directories and disable extended permissions.

#acledit <directory>/<file>
V-22353 No Change
Findings ID: GEN001590 Rule ID: SV-38733r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Verify run control scripts have no extended ACLs.
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.

Fix

Remove the extended ACL from the run control script(s) and disable extended permissions.

#acledit <directory>/<file>
V-22354 No Change
Findings ID: GEN001605 Rule ID: SV-38879r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Verify run control scripts' library search paths.

Procedure:
# grep -r LIBPATH /etc/rc*

The variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.

Fix

Edit run control scripts' library search path variables. Remove empty entries or entries that are not absolute paths.
V-22355 No Change
Findings ID: GEN001610 Rule ID: SV-38881r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Verify run control scripts' library preload list. This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
# grep -r LDR_PRELOAD /etc/rc*

Fix

Edit the run control scripts' library preload list and remove relative paths.
V-22356 No Change
Findings ID: GEN001730 Rule ID: SV-38734r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check global initialization files for extended ACLs.

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.

Fix

Remove the extended ACL from the global initialization file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22357 No Change
Findings ID: GEN001810 Rule ID: SV-38736r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check skeleton files for extended ACLs.

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.

Fix

Remove the extended ACL from the skeleton file(s) and disable extended permissions.

#acledit /etc/security/.profile
#acledit /etc/security/mkuser.sys
V-22358 No Change
Findings ID: GEN001830 Rule ID: SV-38738r1_rule Severity: medium CCI: CCI-000225

Discussion

If the skeleton files are not protected, unauthorized personnel could change user start-up parameters and possibly jeopardize user files.System AdministratorECLP-1

Checks

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.

Fix

Change the group owner of the skeleton file to security.

Procedure:
# chgrp security /etc/security/.profile /etc/security/mkuser.sys
V-22359 No Change
Findings ID: GEN001845 Rule ID: SV-38842r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Check the global initialization files' library search paths.

#egrep '(LD_LIBRARY_PATH|LIBPATH)' /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ

The LIBPATH or LD_LIBRARY_PATH variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.

Fix

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
V-22360 No Change
Findings ID: GEN001850 Rule ID: SV-38843r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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 (/), this is a relative path, and this is a finding.

Fix

Edit the global initialization files and remove the relative path entry from the library preload list variable 'LDR_PRELOAD'.
V-22361 No Change
Findings ID: GEN001870 Rule ID: SV-26481r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check user home directories for local initialization files group-owned by a group other than the user's primary group or root.

1. List user accounts and their primary GID.
# 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.

Fix

Change the group owner of the local initialization file to the user's primary group, or root.
# chgrp [USER's primary GID] ~USER/[local initialization file]
V-22362 No Change
Findings ID: GEN001890 Rule ID: SV-38739r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check user home directories for local initialization files with extended ACLs.

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.

Fix

Remove the extended ACL from the local initialization file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22363 No Change
Findings ID: GEN001901 Rule ID: SV-38844r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Verify local initialization files have library search path containing only absolute 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 (/), this is a relative path, and this is a finding.

Fix

Edit the local initialization file(s) and remove the relative path entry from the library search path.
V-22364 No Change
Findings ID: GEN001902 Rule ID: SV-39102r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

Verify local initialization files have library preload list containing only absolute 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 (/), this is a finding.

Fix

Edit the local initialization file and remove the relative path entry from the library preload variable LDR_PRELOAD.
V-22365 No Change
Findings ID: GEN002210 Rule ID: SV-38848r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Change the group owner of the shell to root, bin, sys, or system.

# chgrp system < shell >
V-22366 No Change
Findings ID: GEN002230 Rule ID: SV-38744r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the extended ACL from the shell file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22367 No Change
Findings ID: GEN002330 Rule ID: SV-38743r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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.

Fix

Remove the extended ACL from the audio device file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22368 No Change
Findings ID: GEN002430 Rule ID: SV-38747r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

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.

Fix

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.
V-22369 No Change
Findings ID: GEN002710 Rule ID: SV-38748r1_rule Severity: medium CCI: CCI-000163

Discussion

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

Checks

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.

Fix

Remove the extended ACL from the system audit file(s) and disable extended permissions.

#acledit <directory>/<file> and disable extended permissions
V-22370 No Change
Findings ID: GEN002715 Rule ID: SV-38749r1_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

Change the owner of the system audit tool executables to root.
#chown root <system audit tool executable>
V-22371 No Change
Findings ID: GEN002716 Rule ID: SV-38906r1_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

Change the group owner of system audit tool executables to root, bin, sys, or system.

Procedure:
# chgrp system < system audit tool executable>
V-22372 No Change
Findings ID: GEN002717 Rule ID: SV-38778r1_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

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.
V-22373 No Change
Findings ID: GEN002718 Rule ID: SV-38779r1_rule Severity: low CCI: CCI-001493

Discussion

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

Checks

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.

Fix

Remove the extended ACL from the system audit tool executable(s) and disable extended permissions.

#acledit <system audit tool executable>
V-22376 No Change
Findings ID: GEN002750 Rule ID: SV-38851r1_rule Severity: low CCI: CCI-000018

Discussion

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

Checks

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.

Fix

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.
V-22377 No Change
Findings ID: GEN002751 Rule ID: SV-38852r1_rule Severity: low CCI: CCI-001403

Discussion

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

Checks

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.

Fix

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.
V-22378 No Change
Findings ID: GEN002752 Rule ID: SV-38853r1_rule Severity: low CCI: CCI-001404

Discussion

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

Checks

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.

Fix

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.
V-22382 No Change
Findings ID: GEN002753 Rule ID: SV-38854r1_rule Severity: low CCI: CCI-001405

Discussion

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

Checks

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.

Fix

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.
V-22383 No Change
Findings ID: GEN002825 Rule ID: SV-38858r1_rule Severity: medium CCI: CCI-000126

Discussion

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

Checks

Determine if the system is configured to audit the loading and unloading of dynamic kernel modules.

Check the system's audit configuration.
# more /etc/security/audit/events
Confirm the following events are configured:
DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove.
If any of these events are not configured, this is a finding.

Check the File DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove. 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 DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events are associated with.

If the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove 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 DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events are not associated with the default user and all the system users in the users: stanza, this is a finding.

Fix

Configure the system to audit the loading and unloading of dynamic kernel modules.

Edit /etc/security/audit/events and add the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events to the list of audited events.

Edit /etc/security/audit/config and add the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove audit events to an audit class in the classes: stanza.

Edit the /etc/security/audit/config and assign the audit classes that has the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure and DEV_Remove events to the all users listed in the 'users:' stanza.
V-22384 No Change
Findings ID: GEN002990 Rule ID: SV-38780r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the cron.allow file.

#aclget /var/adm/cron/cron.allow
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the cron.allow file and disable extended permissions.

#acledit /var/adm/cron/cron.allow
V-22385 No Change
Findings ID: GEN003050 Rule ID: SV-39866r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the group owner of the crontab file to system, cron, or the crontab's primary group.
Procedure:
# chgrp cron [crontab file]
V-22386 No Change
Findings ID: GEN003090 Rule ID: SV-38782r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the crontab files.
Get a listing of crontab files.
# ls /var/spool/cron/crontabs

Check all of the crontabs listed for an extended ACL.
# aclget <directory>/<file>
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the crontab file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22387 No Change
Findings ID: GEN003110 Rule ID: SV-39103r1_rule Severity: medium CCI: CCI-000225

Discussion

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

System AdministratorECLP-1

Checks

Check the permissions of the crontab directories.

# ls -lL /var/spool/cron/crontabs
# aclget < crontab >
# aclget /var/spool/cron

Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the crontab file(s) and disable extended permissions.

#acledit <directory>/<file>
V-22388 No Change
Findings ID: GEN003190 Rule ID: SV-38783r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

#aclget /var/adm/cron/log
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the cronlog file and disable extended permissions.

#acledit /var/adm/cron/log
V-22389 No Change
Findings ID: GEN003210 Rule ID: SV-38785r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

#aclget /var/adm/cron/cron.deny

Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the cron.deny file and disable extended permissions.

#acledit /var/adm/cron/cron.deny
V-22390 No Change
Findings ID: GEN003245 Rule ID: SV-38786r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

#aclget /var/adm/cron/at.allow
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the at.allow file and disable extended permissions.

#acledit /var/adm/cron/at.allow
V-22391 No Change
Findings ID: GEN003250 Rule ID: SV-39346r1_rule Severity: medium CCI: CCI-000225

Discussion

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

System AdministratorECLP-1

Checks

Determine the group owner of the cron.allow file.
Procedure:
# ls -lL /var/adm/cron/cron.allow
If the group owner is not bin, sys, system, or cron, this is a finding.

Fix

Change the group owner of the cron.allow file to bin, sys, system, or cron.
Procedure:
# chgrp cron /var/adm/cron/cron.allow
V-22392 No Change
Findings ID: GEN003252 Rule ID: SV-38787r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

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

Fix

Change the mode of the at.deny file to 0640.
# chmod 0640 /var/adm/cron/at.deny
V-22393 No Change
Findings ID: GEN003255 Rule ID: SV-38788r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine if the at.deny file has an extended ACL.

#aclget /var/adm/cron/at.deny
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the at.deny file and disable extended permissions.
#acledit /var/adm/cron/at.deny
V-22394 No Change
Findings ID: GEN003270 Rule ID: SV-38789r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine the cron.deny file's group owner.

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

If the file is not group-owned by system, bin, sys, or cron, this is a finding.

Fix

Change the group owner of the cron.deny file to sys, system, bin, or cron.

Procedure:
# chgrp cron /var/adm/cron/cron.deny
V-22395 No Change
Findings ID: GEN003410 Rule ID: SV-38790r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the file.
#aclget /var/spool/cron/atjobs
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the at directory and disable extended permissions.

#acledit /var/spool/cron/atjobs
V-22396 No Change
Findings ID: GEN003430 Rule ID: SV-39352r1_rule Severity: medium CCI: CCI-000225

Discussion

If the group of the "at" directory is not system, bin, sys, or cron, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.System AdministratorECLP-1

Checks

Check the group ownership of the file.

Procedure:
# ls -ld /var/spool/cron/atjobs

If the file is not group-owned by bin, sys, system, or cron, this is a finding.

Fix

Change the group ownership of the file to bin, sys, system, or cron.

Procedure:
# chgrp cron /var/spool/cron/atjobs
V-22397 No Change
Findings ID: GEN003470 Rule ID: SV-39354r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine the group owner of the at.allow file.
Procedure:
# ls -lL /var/adm/cron/at.allow
If the group-owner is not bin, sys, system, or cron, this is a finding.

Fix

Change the group owner of the at.allow file to sys, system, bin, or cron.
Procedure:
# chgrp cron /var/adm/cron/at.allow
V-22398 No Change
Findings ID: GEN003490 Rule ID: SV-39356r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine the group owner of the at.deny file.
Procedure:
# ls -lL /var/adm/cron/at.deny
If the group owner is not bin, sys, system, or cron, this is a finding.

Fix

Change the group owner of the at.deny file to bin, sys, system, or cron.
Procedure:
# chgrp cron /var/adm/cron/at.deny
V-22404 No Change
Findings ID: GEN003510 Rule ID: SV-38860r1_rule Severity: medium CCI: CCI-000366

Discussion

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

System AdministratorECSC-1

Checks

Determine if kernel core dumps are enabled on the system.

#sysdumpdev -l

Look at both the primary and secondary dump devices. If either the primary or secondary dump device is not /dev/sysdumpnull, this is a finding.

Fix

Disable kernel core dumps on the system by setting primary and secondary dump devices to sysdumpnull.

#sysdumpdev -P -p /dev/sysdumpnull

#sysdumpdev -P -s /dev/sysdumpnull
V-22405 No Change
Findings ID: GEN003521 Rule ID: SV-38862r1_rule Severity: low CCI: CCI-000225

Discussion

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

Checks

Determine the core file copy location.
#sysdumpdev -l | grep -i "core dir"

Determine the group owner of the kernel core dump data directory.
# ls -lLd < directory >
If the group owner is not bin, sys, or system, this is a finding.

Fix

Change the group owner of the kernel core dump data directory to bin, sys, or system.
# chgrp sys < directory >
V-22406 No Change
Findings ID: GEN003522 Rule ID: SV-38863r1_rule Severity: low CCI: CCI-000225

Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the mode of the kernel core dump data directory is more permissive than 0700, unauthorized users may be able to view or to modify kernel core dump data files.System AdministratorECLP-1

Checks

Determine the core file copy location.

# sysdumpdev -l | grep "core dir"

Determine the mode of the kernel core dump data directory.
# ls -lLd < directory >

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

Fix

Change the mode of the kernel core dump data directory to 0700.

# chmod 0700 < directory >
V-22407 No Change
Findings ID: GEN003523 Rule ID: SV-38864r1_rule Severity: low CCI: CCI-000225

Discussion

Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If there is an extended ACL for the kernel core dump data directory, unauthorized users may be able to view or to modify kernel core dump data files.System AdministratorECLP-1

Checks

Determine the core file copy location from the sysdumpdev command.

#sysdumpdev -l | grep -I "core dir"

Determine if the kernel core dump data directory has an extended ACL.

#aclget < directory >
Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the kernel core dump data directory and disable extended permissions.

#acledit < directory >
V-22409 No Change
Findings ID: GEN003602 Rule ID: SV-38866r1_rule Severity: low CCI: CCI-001551

Discussion

The processing of Internet Control Message Protocol (ICMP) timestamp requests increases the attack surface of the system.System AdministratorECSC-1

Checks

Determine if the system is configured to respond to ICMP Timestamp requests.

#lsfilt

If there is no rule blocking ICMP packet type of 13 and ICMP packet type of 14, this is a finding.

Fix

Use SMIT or genfilt commands to configure the system firewall to block ICMP packet types 13, and 14.
V-22410 No Change
Findings ID: GEN003603 Rule ID: SV-38797r1_rule Severity: medium CCI: CCI-001551

Discussion

Responding to broadcast Internet Control Message Protocol (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.System AdministratorECSC-1

Checks

# /usr/sbin/no -o bcastping
If the value returned is not 0, this is a finding.

Fix

Configure the system to ignore ICMP ECHO_REQUESTs sent to broadcast addresses.

# no -po bcastping=0
V-22411 No Change
Findings ID: GEN003604 Rule ID: SV-38798r1_rule Severity: medium CCI: CCI-001551

Discussion

The processing of Internet Control Message Protocol (ICMP) timestamp requests increases the attack surface of the system. Responding to broadcast ICMP timestamp requests facilitates network mapping and provides a vector for amplification attacks.System AdministratorECSC-1

Checks

# /usr/sbin/no -o bcastping
If the value returned is not 0, this is a finding.

Fix

Configure the system to ignore ICMP Timestamp requests sent to broadcast addresses.
#no -po bcastping=0
V-22412 No Change
Findings ID: GEN003605 Rule ID: SV-38799r1_rule Severity: medium CCI: CCI-001551

Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.System AdministratorECSC-1

Checks

Determine if the system is configured to apply reverse source routing to TCP responses to source-routed packets.
# /usr/sbin/no -p nonlocsrcroute
If the value is not 0, this is a finding.

Fix

Configure the system to not apply reverse source routing to TCP responses to source-routed packets.
# /usr/sbin/no -po nonlocsrcroute=0
V-22413 No Change
Findings ID: GEN003606 Rule ID: SV-38949r1_rule Severity: medium CCI: CCI-001551

Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.System AdministratorECSC-1

Checks

# /usr/sbin/no -o ipsrcroutesend
If the result is not 0, this is a finding.

Fix

# /usr/sbin/no -po "ipsrcroutesend=0"
V-22414 No Change
Findings ID: GEN003607 Rule ID: SV-38800r1_rule Severity: medium CCI: CCI-001551

Discussion

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

Checks

# /usr/sbin/no -o ipsrcrouterecv
If the result is not 0, this is a finding.

Fix

Configure the system to not accept source-routed IPv4 packets.
#/usr/sbin/no -p -o ipsrcrouterecv=0
V-22415 No Change
Findings ID: GEN003608 Rule ID: SV-38867r1_rule Severity: medium CCI: CCI-001551

Discussion

Proxy ARP allows a system to respond to ARP requests on one interface on behalf of hosts connected to another interface. If this function is enabled when not required, addressing information may be leaked between the attached network segments.System AdministratorECSC-1

Checks

Determine if the system has proxy ARP enabled.

Check Content:
Check the system for non-local published ARP entries.
# arp -a
If any entries are listed as published, this is a finding.

Fix

Remove any non-local published ARP entries.
# arp -d < host >

Check system initialization scripts for any commands configuring published ARP entries (such as "arp -s <host> <addr> pub") and remove them.
V-22416 No Change
Findings ID: GEN003609 Rule ID: SV-38801r1_rule Severity: medium CCI: CCI-001503

Discussion

ICMP redirect messages are used by routers to inform hosts a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.

System AdministratorECSC-1

Checks

# /usr/sbin/no -o ipignoreredirects
If the value returned is not 1, this is a finding.

Fix

Configure the system to ignore IPv4 ICMP redirect messages.
#/usr/sbin/no -p -o ipignoreredirects=1
V-22417 No Change
Findings ID: GEN003610 Rule ID: SV-38802r1_rule Severity: medium CCI: CCI-001551

Discussion

ICMP redirect messages are used by routers to inform hosts a more direct route exists for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.System AdministratorECSC-1

Checks

# /usr/sbin/no -o ipsendredirects
If the value is not 0, this is a finding.

Fix


#/usr/sbin/no -p -o ipsendredirects=0
V-22418 No Change
Findings ID: GEN003611 Rule ID: SV-38868r1_rule Severity: low CCI: CCI-000126

Discussion

Martian packets are packets containing addresses known by the system to be invalid. Logging these messages allows the SA to identify misconfigurations or attacks in progress.System AdministratorECAT-1

Checks

Determine if the system is configured to log martian packets. Examine the IPF rules on the system.

# lsfilt -a

There must be rules to log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. If no such rules exist, this is a finding.

Fix

Configure the system to log martian packets.

Add rules to log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets.

For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255.
Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection.
Use the smit utility or genfilt command to add logging of martian packets (packets with a source address of 192.168.1.10 and 192.168.1.255).

# smitty ipsec4

OR

# genfilt -v4 -a P -s 192.168.1.10 -m 0.0.0.0 -d 0.0.0.0 -M -0.0.0.0 -c all -o any -O any -p 0 -P 0 -w I -l y -i en0
# genfilt -v4 -a P -s 192.168.1.255 -m 0.0.0.0 -d 0.0.0.0 -M -0.0.0.0 -c all -o any -O any -p 0 -P 0 -w I -l y -i en0
V-22419 No Change
Findings ID: GEN003612 Rule ID: SV-38803r1_rule Severity: medium CCI: CCI-001092

Discussion

A TCP SYN flood attack can cause Denial of Service by filling a system's TCP connection table with connections in the SYN_RCVD state. Syncookies are a mechanism used to not track a connection until a subsequent ACK is received, verifying the initiator is attempting a valid connection and is not a flood source. This technique does not operate in a fully standards-compliant manner, but is only activated when a flood condition is detected, and allows defense of the system while continuing to service valid requests.System AdministratorECSC-1

Checks

# /usr/sbin/no -o clean_partial_conns
If the value returned is not 1, this is a finding.

Fix


#/usr/sbin/no -p -o clean_partial_conns=1
V-22422 No Change
Findings ID: GEN003650 Rule ID: SV-39105r1_rule Severity: low CCI: CCI-000553

Discussion

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

Checks

Determine if the local file systems employ journaling or another mechanism ensuring file system consistency.

Procedure:
List all local file system mount points.
#df -l
#lsfs < each file system returned>

If any file systems are not jfs or jfs2, this is a finding.

Fix

Convert local file systems to use journaling or another mechanism ensuring file system consistency.
V-22423 No Change
Findings ID: GEN003730 Rule ID: SV-40385r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of sensitive files or utilities to system groups may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Check the group ownership of the inetd and xinetd configuration files, and xinetd directory.

Procedure:
# ls -alL /etc/inetd.conf /etc/xinetd.conf /etc/xinetd.d

If a file or directory is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group ownership of the inetd configuration file.

Procedure:
# chgrp system /etc/inetd.conf
V-22424 No Change
Findings ID: GEN003745 Rule ID: SV-38805r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the inetd configuration file.
#aclget /etc/inetd.conf
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the /etc/inetd.conf file and disable extended permissions.

#acledit /etc/inetd.conf
V-22427 No Change
Findings ID: GEN003770 Rule ID: SV-39112r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give ownership of system configuration files to root or a system group provides the designated owner and unauthorized users with the potential to change the system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Check the group ownership of the services file.

Procedure:
# ls -lL /etc/services

If the file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the services file.

Procedure:
# chgrp system /etc/services
V-22428 No Change
Findings ID: GEN003790 Rule ID: SV-38950r1_rule Severity: medium CCI: CCI-000225

Discussion

The services file is critical to the proper operation of network services and must be protected from unauthorized modification. If the services file has an extended ACL, it may be possible for unauthorized users to modify the file. Unauthorized modification could result in the failure of network services.System AdministratorECLP-1

Checks

Check the permissions of the /etc/services file.

#aclget /etc/services
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the services file and disable extended permissions.

#acledit /etc/services
V-22429 No Change
Findings ID: GEN003810 Rule ID: SV-38874r1_rule Severity: medium CCI: CCI-001436

Discussion

The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using Remote Procedure Calls (RPCs).System AdministratorECSC-1

Checks

If the portmap service is required for system operations, this is not a finding.

Determine if the portmap service is running.
#ps -ef|grep portmap
If portmap is running, this is a finding.

Fix

Disable the portmap service from auto starting by commenting out portmap from /etc/rc.tcpip.

# vi /etc/rc.tcpip

Shutdown the portmap service.
# ps -ef | grep portmap
# kill <pid of portmap>
V-22430 No Change
Findings ID: GEN003815 Rule ID: SV-38952r1_rule Severity: medium CCI: CCI-000305

Discussion

The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using Remote Procedure Calls (RPCs).System AdministratorECSC-1

Checks

If the system needs the portmap service to operate, this is not applicable. Consult vendor documentation to determine the name and location of the portmap service.

The portmap executable is part of fileset bos.net.tcp.client and is not removable, so this will always be a finding.

Fix

If the portmap or rpcbind service is part of a removable package, consult vendor documentation for the procedure to remove the package. If the service cannot be removed, prevent service activation by removing all permissions from the executable.

Procedure:
# chmod 0000 /usr/sbin/portmap
V-22432 No Change
Findings ID: GEN003830 Rule ID: SV-38876r1_rule Severity: medium CCI: CCI-000068

Discussion

The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.System AdministratorDCPP-1

Checks

Determine if the rlogind service is running. If it is, this is a finding.
# grep -v "^#" /etc/inetd.conf |grep rlogin
If any results are returned, this is a finding

Fix

Disable the rlogind service out of the '/etc/inetd.conf' file.
# vi /etc/inetd.conf
Comment out the rlogind service. Restart the inetd service.
# refresh -s inetd
V-22435 No Change
Findings ID: GEN003930 Rule ID: SV-39875r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give group ownership of the hosts.lpd file to bin, sys, or system provides the members of the owning group and possible unauthorized users, with the potential to modify the hosts.lpd file. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.System AdministratorECLP-1

Checks

Check the group ownership of the /etc/hosts.lpd file.

Procedure:
# ls -lL /etc/hosts.lpd

If the file is not group owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the hosts.lpd file.

Procedure:
# chgrp sys /etc/hosts.lpd
V-22436 No Change
Findings ID: GEN003950 Rule ID: SV-38807r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the /etc/hosts.lpd file.
#aclget /etc/hosts.lpd
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the hosts.lpd file and disable extended permissions.

#acledit /etc/hosts.lpd
V-22437 No Change
Findings ID: GEN004010 Rule ID: SV-38808r1_rule Severity: medium CCI: CCI-000225

Discussion

If an extended ACL exists on the traceroute executable file, it may provide unauthorized users with access to the file. Malicious code could be inserted by an attacker and triggered whenever the traceroute command is executed by authorized users. Additionally, if an unauthorized user is granted executable permissions to the traceroute command, it could be used to gain information about the network topology behind the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.System AdministratorECLP-1

Checks

Check the permissions of the /usr/sbin/traceroute file.
#aclget /usr/sbin/traceroute
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the traceroute file and disable extended permissions.

#acledit /usr/sbin/traceroute
V-22438 No Change
Findings ID: GEN004370 Rule ID: SV-40683r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the /etc/mail/aliases file.

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

If the file is not group-owned by sys, bin, or system, this is a finding.

Fix

Change the group owner of the /etc/mail/aliases file.

Procedure:
# chgrp system /etc/mail/aliases
V-22439 No Change
Findings ID: GEN004390 Rule ID: SV-38809r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the aliases file may permit unauthorized modification. If the alias file is modified by an unauthorized user, they may modify the file to run malicious code or redirect e-mail.System AdministratorECLP-1

Checks

Check the permissions of the /etc/mail/aliases file.

#aclget /etc/mail/aliases

Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the alias file and disable extended permissions.

#acledit /etc/mail/aliases
V-22440 No Change
Findings ID: GEN004410 Rule ID: SV-38373r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Examine the contents of the /etc/mail/aliases file.
# cat /etc/mail/aliases | cut -f 2,2 -d ":" | grep "|"

For each file referenced, check the group ownership of the file.
# ls -lL <file referenced from aliases>

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

Fix

Change the group ownership of the file referenced from /etc/mail/aliases.
# chgrp root <file referenced from aliases>
V-22441 No Change
Findings ID: GEN004430 Rule ID: SV-38810r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on files executed through a mail alias file could result in modification by an unauthorized user, execution of malicious code, and/or system compromise.System AdministratorECLP-1

Checks

Examine the contents of the /etc/mail/aliases file.
For each file referenced, check the permissions of the file.

#aclget [File referenced from alias]

Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the file(s) referenced from the aliases file and disable extended permissions.

#acledit [File referenced from aliases]
V-22442 No Change
Findings ID: GEN004510 Rule ID: SV-38811r1_rule Severity: medium CCI: CCI-000225

Discussion

If the SMTP service log file has an extended ACL, unauthorized users may be allowed to access or to modify the log file.System AdministratorECLP-1

Checks

Examine /etc/syslog.conf and determine the log file(s) receiving logs for mail.crit, mail.debug, mail.*, or *.crit.
Check the permissions on these log files.
#aclget [log file]
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the SMTP service log file and disable extended permissions.

#acledit [ log file ]
V-22444 No Change
Findings ID: GEN004930 Rule ID: SV-39180r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the ftpusers file.

Procedure:
# ls -lL /etc/ftpusers
If the file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the ftpusers file.

Procedure:
# chgrp system /etc/ftpusers
V-22445 No Change
Findings ID: GEN004950 Rule ID: SV-38812r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the permissions of the /etc/ftpusers file.
#aclget /etc/ftpusers
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the ftpusers file and disable extended permissions.

#acledit /etc/ftpusers
V-22446 No Change
Findings ID: GEN005190 Rule ID: SV-38814r1_rule Severity: medium CCI: CCI-000225

Discussion

.Xauthority files ensure the user is authorized to access that specific X Windows host. Extended ACLs may permit unauthorized modification of these files, which could lead to Denial of Service to authorized access or allow unauthorized access to be obtained.System AdministratorECLP-1

Checks

Get a list of (non-system account) users and the associated home directories.
# cat /etc/passwd | cut -f 1,6 -d ":"
Check the file permissions for the user .Xauthority files.

#aclget .Xauthority
Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the .Xauthority file(s) and disable extended permissions.

#acledit .Xauthority
V-22447 No Change
Findings ID: GEN005305 Rule ID: SV-38816r1_rule Severity: medium CCI: CCI-001435

Discussion

SNMP Versions 1 and 2 are not considered secure. Without the strong authentication and privacy provided by the SNMP Version 3 User-based Security Model (USM), an attacker or other unauthorized users may gain access to detailed system management information and use the information to launch attacks against the system.System AdministratorDCPP-1

Checks

Determine if the system's SNMP service only uses SNMPv3 or its successors. Consult vendor documentation to determine if earlier versions of SNMP are supported and what configuration is necessary to enable or disable the protocols. Snmpd version 1 was the only version available in AIX versions prior to AIX 5.2.

#which snmpd
#ls -l <path to snmpd>
If the results are not /usr/sbin/snmpdv3e or /usr/sbin/snpdv3ne this is an earlier version of the protocol used by the service, this is a finding.

Fix

Configure the system's SNMP service to only use SNMPv3 with encryption or its successors. The SNMP version supporting encryption is an installable fileset on the expansion cd as fileset 'snmp.crypto'.

Enable snmpv3 with encryption.

# snmpv3_ssw -e
V-22448 No Change
Findings ID: GEN005306 Rule ID: SV-38890r1_rule Severity: medium CCI: CCI-001453

Discussion

The SNMP service must use SHA-1 or a FIPS 140-2 approved successor for authentication and integrity.System AdministratorDCNR-1

Checks

Check all SNMPv3 users for configured authentication protocols.

# grep USM_USER /etc/snmpdv3.conf

The 4th field contains the hash used in the authentication protocol. If an entry exists that does not use HMAC-SHA for the authentication protocol, this is a finding.

Fix

Edit the /etc/snmpdv3.conf file. Change any instances of the HMAC-MD5 authentication protocol in USM_USER entries to HMAC-SHA. For all changed USM_USER entries, regenerate authentication keys using the "pwtokey" command and replace the keys in the /etc/snmpdv3.conf file.
V-22450 No Change
Findings ID: GEN005350 Rule ID: SV-38818r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the file permissions for the MIB files.
# find / -name *.mib -print
# aclget [mib file]
If the extended attributes are not disabled, this is a finding.

Fix

Remove the extended ACL from the MIB file(s) and change extended attributes to disabled.

#acledit [mib file]
V-22451 No Change
Findings ID: GEN005365 Rule ID: SV-38921r1_rule Severity: medium CCI: CCI-000225

Discussion

The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification. If the file is not group-owned by a system group, it may be subject to access and modification from unauthorized users.System AdministratorECLP-1

Checks

Determine the group owner of the SNMP configuration files.

Procedure:
# ls -lL /etc/snmpd.conf /etc/snmpdv3.conf

If the file is not group owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the SNMP configuration files.

Procedure:
# chgrp system /etc/snmpd.conf
# chgrp system /etc/snmpdv3.conf
V-22452 No Change
Findings ID: GEN005375 Rule ID: SV-38819r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Determine if the snmpd.conf file or equivalent has an extended ACL.

Procedure:

# find / -name "snmpd*.conf"
# aclget < snmpd conf >
If the extended attributes are not disabled, this is a finding.

Fix

Remove the extended ACL from the snmpd.conf file (or equivalent) and change extended attributes to disabled.

#acledit < snmpd conf >
V-22453 No Change
Findings ID: GEN005390 Rule ID: SV-26740r1_rule Severity: medium CCI: CCI-000225

Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.System AdministratorECLP-1

Checks

Check the permissions of the syslog configuration file.
# ls -lL /etc/syslog.conf
If the mode of the file is more permissive than 0640, this is a finding.

Fix

Change the permissions of the syslog configuration file.
# chmod 0640 /etc/syslog.conf
V-22454 No Change
Findings ID: GEN005395 Rule ID: SV-38820r1_rule Severity: medium CCI: CCI-000225

Discussion

Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.System AdministratorECLP-1

Checks

Check the permissions of the syslog configuration file.
# aclget /etc/syslog.conf
If the extended attributes are not disabled, this is a finding

Fix

Remove the extended ACL from the syslog.conf file and change extended attributes to disabled.

#acledit /etc/syslog.conf
V-22455 No Change
Findings ID: GEN005450 Rule ID: SV-26745r1_rule Severity: medium CCI: CCI-000136

Discussion

A syslog server (log host) receives syslog messages from one or more systems. This data can be used as an authoritative log source in the event a system is compromised and its local logs are suspect.System AdministratorECAT-1

Checks

Check the syslog configuration file for remote syslog servers.
# grep '@' /etc/syslog.conf | grep -v '^#'
If no line is returned, this is a finding.

Fix

Edit the syslog configuration file and add an appropriate remote syslog server.
V-22456 No Change
Findings ID: GEN005501 Rule ID: SV-39209r1_rule Severity: medium CCI: CCI-001436

Discussion

SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH client could provide access to the system with the privileges of the user running the client.System AdministratorDCPP-1

Checks

Check the SSH client configuration for allowed protocol versions.

# grep -i protocol /etc/ssh/ssh_config | grep -v '^#'

If the variables Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding.

If the SSH client is F-Secure, the variable name for SSH 1 compatibility is Ssh1Compatibility, not protocol. If the variable Ssh1Compatiblity is set to yes, this is a finding.

Fix

Edit the /etc/ssh/ssh_config file and add or edit a Protocol configuration line that does not allow versions less than 2.
V-22457 No Change
Findings ID: GEN005504 Rule ID: SV-26750r1_rule Severity: medium CCI: CCI-000069

Discussion

The SSH daemon should only listen on network addresses designated for management traffic. If the system has multiple network interfaces and SSH listens on addresses not designated for management traffic, the SSH service could be subject to unauthorized access. If SSH is used for purposes other than management, such as providing an SFTP service, the list of approved listening addresses may be documented.trueSystem AdministratorECSC-1

Checks

Check the SSH daemon configuration for listening network addresses.
# grep -i Listen /etc/ssh/sshd_config | grep -v '^#'
If no configuration is returned, or if a returned Listen configuration contains addresses not designated for management traffic, this is a finding.

Fix

Edit the SSH daemon configuration to specify listening network addresses designated for management traffic.
V-22458 No Change
Findings ID: GEN005505 Rule ID: SV-26751r1_rule Severity: medium CCI: CCI-000068

Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.System AdministratorDCNR-1

Checks

Check the SSH daemon configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, or the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.

Fix

Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage.

Restart the SSH daemon.
V-22459 No Change
Findings ID: GEN005506 Rule ID: SV-26752r2_rule Severity: medium CCI: CCI-000366

Discussion

The Cipher-Block Chaining (CBC) mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plain text attacks and must not be used.

System AdministratorECSC-1

Checks

Check the SSH daemon configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.

Fix

Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage.

Restart the SSH daemon.
V-22460 Updated
Findings ID: GEN005507 Rule ID: SV-26753r12_rule Severity: medium CCI: CCI-001453

Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.System AdministratorDCNR-1

Checks

Check the SSH daemon configuration for allowed MACs.

Procedure:
# grep -i macs /etc/ssh/sshd_config | grep -v '^#'

If no lines are returned, or the returned MACs list contains any MAC
other than hmac-sha1that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Fix

Edit the SSH daemon configuration and remove any MACs other than hmac-sha1. at are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
V-22461 No Change
Findings ID: GEN005510 Rule ID: SV-26754r1_rule Severity: medium CCI: CCI-000068

Discussion

DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.System AdministratorDCNR-1

Checks

Check the SSH client configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.

Fix

Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
V-22462 No Change
Findings ID: GEN005511 Rule ID: SV-26755r1_rule Severity: medium CCI: CCI-000366

Discussion

The Cipher-Block Chaining (CBC) mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plain text attacks and must not be used.
System AdministratorECSC-1

Checks

Check the SSH client configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.

Fix

Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
V-22463 Updated
Findings ID: GEN005512 Rule ID: SV-26756r12_rule Severity: medium CCI: CCI-001453

Discussion

DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.System AdministratorDCNR-1

Checks

Check the SSH client configuration for allowed MACs.

Procedure:

# grep -i macs /etc/ssh/ssh_config | grep -v '^#'

If no lines are returned, or the returned MACs list contains any MAC other than hmac-sha1that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Fix

Edit the SSH client configuration and remove any MACs other than hmac-sha1. at are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
V-22470 No Change
Findings ID: GEN005521 Rule ID: SV-26763r1_rule Severity: medium CCI: CCI-000225

Discussion

Restricting SSH logins to a limited group of users, such as system administrators, prevents password-guessing and other SSH attacks from reaching system accounts and other accounts not authorized for SSH access.System AdministratorECLP-1

Checks

Check the SSH daemon configuration for the AllowGroups setting.
# grep -i AllowGroups /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, this is a finding.

Fix

Edit the SSH daemon configuration and add an AllowGroups directive.
V-22471 No Change
Findings ID: GEN005522 Rule ID: SV-26764r1_rule Severity: medium CCI: CCI-000225

Discussion

If a public host key file is modified by an unauthorized user, the SSH service may be compromised.System AdministratorECLP-1

Checks

Check the permissions for SSH public host key files.
# ls -lL /etc/ssh/*key.pub
If any file has a mode more permissive than 0644, this is a finding.

Fix

Change the permissions for the SSH public host key files.
# chmod 0644 /etc/ssh/*key.pub
V-22472 No Change
Findings ID: GEN005523 Rule ID: SV-26765r1_rule Severity: medium CCI: CCI-000225

Discussion

If an unauthorized user obtains the private SSH host key file, the host could be impersonated.System AdministratorECLP-1

Checks

Check the permissions for SSH private host key files.
# ls -lL /etc/ssh/*key
If any file has a mode more permissive than 0600, this is a finding.

Fix

Change the permissions for the SSH private host key files.
# chmod 0600 /etc/ssh/*key
V-22473 No Change
Findings ID: GEN005524 Rule ID: SV-40714r1_rule Severity: low CCI: CCI-000366

Discussion

GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.System AdministratorECSC-1

Checks

Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable.

Check the SSH daemon configuration for the GSSAPI authentication setting.

# grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.

Fix

Edit /etc/ssh/sshd_config and remove the GSSAPIAuthentication setting or change the value to "no".
V-22474 No Change
Findings ID: GEN005525 Rule ID: SV-40715r1_rule Severity: low CCI: CCI-000366

Discussion

GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.System AdministratorECSC-1

Checks

Check the SSH clients configuration for the GSSAPI authentication setting.

# grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#'

If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.

Fix

Edit the /etc/ssh/ssh_config file and remove the GSSAPIAuthentication setting or change the GSSAPIAuthentication setting to "no".
V-22475 No Change
Findings ID: GEN005526 Rule ID: SV-40716r1_rule Severity: low CCI: CCI-000366

Discussion

Kerberos authentication for SSH is often implemented using GSSAPI. If Kerberos is enabled through SSH, the SSH daemon provides a means of access to the system's Kerberos implementation. Vulnerabilities in the system's Kerberos implementation may then be subject to exploitation. To reduce the attack surface of the system, the Kerberos authentication mechanism within SSH must be disabled for systems not using this capability.
System AdministratorECSC-1

Checks

Ask the SA if Kerberos authentication is used by the system. If it is, this is not applicable.

Check the SSH daemon configuration for the Kerberos authentication setting.

# grep -i KerberosAuthentication /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "yes", this is a finding. If the setting is missing or set to "no", this is not a finding.

Fix

Edit the /etc/ssh/sshd_config file and remove the KerberosAuthentication setting or change the value of the setting to "no".
V-22482 No Change
Findings ID: GEN005533 Rule ID: SV-26776r1_rule Severity: low CCI: CCI-000054

Discussion

The SSH protocol has the ability to provide multiple sessions over a single connection without reauthentication. A compromised client could use this feature to establish additional sessions to a system without consent or knowledge of the user.

Alternate per-connection session limits may be documented if needed for a valid mission requirement. Greater limits are expected to be necessary in situations where TCP or X11 forwarding are used.trueSystem AdministratorECSC-1

Checks

Check the SSH daemon configuration for the MaxSessions setting.
# grep -i MaxSessions /etc/ssh/sshd_config | grep -v '^#'
If the setting is not present, or not set to 1, this is a finding.

Fix

Edit the SSH daemon configuration and add or edit the MaxSessions setting value to 1.
V-22485 No Change
Findings ID: GEN005536 Rule ID: SV-40720r1_rule Severity: medium CCI: CCI-000225

Discussion

If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.System AdministratorECLP-1

Checks

Check the SSH daemon configuration for the StrictModes setting.

# grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "no", this is a finding. If the setting is not present or is set to "yes", this is not a finding.

Fix

Edit the /etc/sshd/sshd_config file and remove the StrictModes setting or change the value of the StrictModes setting to "yes".
V-22486 No Change
Findings ID: GEN005537 Rule ID: SV-40721r1_rule Severity: medium CCI: CCI-000225

Discussion

SSH daemon privilege separation causes the SSH process to drop root privileges when not needed, which would decrease the impact of software vulnerabilities in the unprivileged section.System AdministratorECLP-1

Checks

Check the SSH daemon configuration for the UsePrivilegeSeparation setting.

# grep -i UsePrivilegeSeparation /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "no", this is a finding. If the setting is not present or is set to "yes", this is not a finding.

Fix

Edit the /etc/ssh/sshd_config file and remove the UsePrivilegeSeparation setting or change the value of the UsePrivilegeSeparation setting to "yes".
V-22487 No Change
Findings ID: GEN005538 Rule ID: SV-40722r1_rule Severity: medium CCI: CCI-000366

Discussion

If SSH permits rhosts RSA authentication, a user may be able to log in based on the keys of the host originating the request and not any user-specific authentication.System AdministratorECSC-1

Checks

Check the SSH daemon configuration for the RhostsRSAAuthentication setting.

# grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.

Fix

Edit the /etc/ssh/sshd_config file and remove the RhostsRSAAuthentication setting or change the value of the RhostsRSAAuthentication setting to "no".
V-22488 No Change
Findings ID: GEN005539 Rule ID: SV-40723r1_rule Severity: medium CCI: CCI-000366

Discussion

If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.System AdministratorECSC-1

Checks

Check the SSH daemon configuration for the Compression setting.

# grep -i Compression /etc/ssh/sshd_config | grep -v '^#'

If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no" or "delayed", this is not a finding.

Fix

Edit the /etc/ssh/sshd_config file and remove the Compression setting or set the Compression setting to "delayed" or "no".
V-22489 No Change
Findings ID: GEN005550 Rule ID: SV-26802r1_rule Severity: medium CCI: CCI-000048

Discussion

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

The SSH service must be configured to display the DoD logon warning banner either through the SSH configuration or a wrapper program, such as TCP_WRAPPERS.

The SSH daemon may also be used to provide SFTP service. The warning banner configuration for SSH will apply to SFTP.System AdministratorECWM-1

Checks

Verify the SSH daemon is configured for logon warning banners.
# grep -i banner /etc/ssh/sshd_config | grep -v '^#'
# cat [banner file]
Verify the banner configuration line is present and the file it references contains a logon warning banner.

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

If the SSH daemon is not configured to display the logon warning banner, this is a finding.

Fix

Edit the SSH daemon configuration and add (or edit) a banner setting referencing a file containing a logon warning banner.

DoD Login Banners:

"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.

By using this IS (which includes any device attached to this IS), you consent to the following conditions:

-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.

-At any time, the USG may inspect and seize data stored on this IS.

-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.

-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.

-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."

OR

"I've read & consent to terms in IS user agreem't."
V-22490 No Change
Findings ID: GEN005570 Rule ID: SV-39215r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

If the system is a router, this is not applicable.
If the system does not use IPv6, this is not applicable. Determine if the system has a default route configured for IPv6.

# netstat -r | grep default
If a default route is not defined, this is a finding.

Fix

Configure an IPv6 default route on the system.

# smitty route
V-22491 No Change
Findings ID: GEN005610 Rule ID: SV-38822r1_rule Severity: medium CCI: CCI-000366

Discussion

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

Checks

# /usr/sbin/no -o ip6forwarding
If the value returned is 1, this is a finding.

Fix

Disable IPv6 forwarding on the system.
# /usr/sbin/no -p -o ip6forwarding=0
V-22492 No Change
Findings ID: GEN005750 Rule ID: SV-40861r1_rule Severity: medium CCI: CCI-000225

Discussion

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

Checks

Check the group ownership of the NFS export configuration file.

Procedure:
# ls -lL /etc/exports

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

Fix

Change the group ownership of the NFS export configuration file to root, bin, sys, or system.
Procedure:
# chgrp root /etc/exports
V-22493 No Change
Findings ID: GEN005770 Rule ID: SV-38823r1_rule Severity: low CCI: CCI-000225

Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the NFS export configuration file could allow unauthorized modification of the file, which could result in Denial of Service to authorized NFS exports and the creation of additional unauthorized exports.System AdministratorECLP-1

Checks


# aclget /etc/exports
If the extended attributes are not disabled, this is a finding.

Fix

Remove the extended ACL from the NFS export configuration file and change extended attributes to disabled.

#acledit /etc/exports
V-22496 No Change
Findings ID: GEN005810 Rule ID: SV-26171r1_rule Severity: medium CCI: CCI-000225

Discussion

Failure to give group ownership of sensitive files or directories to root provides the members of the owning group with the potential to access sensitive information or change system configuration which could weaken the system's security posture.System AdministratorECLP-1

Checks

Determine if the NFS exported directories on the system are group-owned by root. If any are not, this is a finding.

Fix

Change the group owner of NFS exported directories to root.
V-22497 No Change
Findings ID: GEN006150 Rule ID: SV-38824r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions could endanger the security of the Samba configuration file and, ultimately, the system and network.System AdministratorECLP-1

Checks

Check the group ownership of the Samba configuration file.
# aclget /usr/lib/smb.conf

If the extended attributes are not disabled, this is a finding.

Fix

Remove the extended ACL from the /usr/lib/smb.conf file and change extended attributes to disabled.

#acledit /usr/lib/smb.conf
V-22498 No Change
Findings ID: GEN006210 Rule ID: SV-38928r1_rule Severity: medium CCI: CCI-000225

Discussion

If the permissions of the smbpasswd file are too permissive, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.System AdministratorECLP-1

Checks

Check the group ownership of the Samba configuration file.
# aclget /var/private/smbpasswd
If the extended attributes are not disabled, this is a finding.

Fix

Remove the extended ACL from the /var/private/smbpasswd file.

# acledit /var/private/smbpasswd
V-22499 No Change
Findings ID: GEN006225 Rule ID: SV-39239r1_rule Severity: medium CCI: CCI-000366

Discussion

Samba share authentication does not provide for individual user identification and must not be used.System AdministratorECSC-1

Checks

Check the security mode of the Samba configuration.
# grep -i security /usr/lib/smb.conf
If the security mode is share, this is a finding.

Fix

Edit the /usr/lib/smb.conf file and change the security setting to user or another valid setting other than share.

# vi /usr/lib/smb.conf
V-22500 No Change
Findings ID: GEN006230 Rule ID: SV-39241r1_rule Severity: medium CCI: CCI-000366

Discussion

Samba must be configured to protect authenticators. If Samba passwords are not encrypted for storage, plain-text user passwords may be read by those with access to the Samba password file.System AdministratorIAIA-1, IAIA-2

Checks

Check the encryption setting the Samba configuration.

# grep -i 'encrypt passwords' /usr/lib/smb.conf
If the setting is not present, or not set to yes, this is a finding.

Fix

Edit the smb.conf file and change the encrypt passwords setting to yes.

# vi /usr/lib/smb.conf
V-22501 No Change
Findings ID: GEN006235 Rule ID: SV-39245r1_rule Severity: medium CCI: CCI-000366

Discussion

Guest access to shares permits anonymous access and is not permitted.System AdministratorECSC-1

Checks

Check the encryption setting the Samba configuration.
# grep -i 'guest ok' /usr/lib/smb.conf
If the setting exists and is set to yes, this is a finding.

Fix

Edit the smb.conf file and change the guest ok setting to no.

# vi /usr/lib/smb.conf
V-22502 No Change
Findings ID: GEN006270 Rule ID: SV-38898r1_rule Severity: medium CCI: CCI-000225

Discussion

File system extended ACLs provide access to files beyond what is allowed by the numbers of the files. Excessive permissions on the hosts.nntp file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

Check the permissions of the hosts.nntp file.
# find / -type f -name hosts.nntp
# aclget < hosts.nntp file >
If extended permissions are enabled, the file has an extended ACL, this is a finding.

Fix

Remove the extended ACL from the hosts.nntp file.
#acledit < hosts.nntp file >
V-22503 No Change
Findings ID: GEN006290 Rule ID: SV-38899r1_rule Severity: medium CCI: CCI-000225

Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the hosts.nntp.nolimit file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

Check the permissions of the file.

# find / -name hosts.nntp.nolimit

# aclget < hosts.nntp.nolimit >
If the extended permissions are enabled the file has an extended ACL, this is a finding.

Fix

Remove the extended ACL from the hosts.nntp.nolimit file.

# acledit < hosts.nntp.nolimit >

Set the extended permissions to disabled.
V-22504 No Change
Findings ID: GEN006310 Rule ID: SV-39258r1_rule Severity: medium CCI: CCI-000225

Discussion

File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the nnrp.access file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.System AdministratorECLP-1

Checks

Check the permissions of the file.

# find / -name nnrp.access
# ls -lL < nnrp.access >
If extended permissions are enabled, this is a finding.

Fix

Remove the extended ACL from the nnrp.access file.

# acledit < nnrp.access >
V-22505 No Change
Findings ID: GEN006330 Rule ID: SV-39262r1_rule Severity: medium CCI: CCI-000225

Discussion

Extended ACLs may provide excessive permissions on the /etc/news/passwd.nntp file, which may permit unauthorized access or modification to the NNTP configuration.System AdministratorECLP-1

Checks

Check the permissions of the file.

# find / -name passwd.nntp
# ls -lL < passwd.nntp >
If extended permissions are enabled, this is a finding.

Fix

Remove the extended ACL from the passwd.nntp file.

# acledit < passwd.nntp >
V-22506 No Change
Findings ID: GEN006565 Rule ID: SV-38958r1_rule Severity: medium CCI: CCI-000366

Discussion

Verification using the system package management tool can be used to determine that system software has not been tampered with.

This requirement is not applicable to systems that do not use package management tools.System AdministratorECAT-1

Checks

Check the root crontab for a job invoking the system package management tool to verify the integrity of installed packages.

# crontab -l | grep lppchk

If no such job exists, this is a finding.

Fix

Add a job to the root crontab invoking the system package management tool to verify the integrity of installed packages.

# lppchk -c
V-22507 No Change
Findings ID: GEN006570 Rule ID: SV-26858r1_rule Severity: low CCI: CCI-001297

Discussion

ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.System AdministratorECAT-1

Checks

If using AIDE, verify the configuration contains the acl option for all monitored files and directories. Here is an example AIDE configuration fragment.

SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule

If the acl option is not present, this is a finding.

If using a different file integrity tool, check the configuration per tool documentation.

Fix

If using AIDE, edit the configuration and add the acl option for all monitored files and directories.

If using a different file integrity tool, configure ACL checking per the tool's documentation.
V-22508 No Change
Findings ID: GEN006571 Rule ID: SV-26860r1_rule Severity: low CCI: CCI-001297

Discussion

Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.System AdministratorECAT-1

Checks

If using AIDE, verify the configuration contains the xattrs option for all monitored files and directories. Here is an example AIDE configuration fragment.

SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule

If the xattrs option is not present, this is a finding.

If using a different file integrity tool, check the configuration per tool documentation.

Fix

If using AIDE, edit the configuration and add the xattrs option for all monitored files and directories.

If using a different file integrity tool, configure extended attributes checking per the tool's documentation.
V-22509 No Change
Findings ID: GEN006575 Rule ID: SV-26861r1_rule Severity: low CCI: CCI-001297

Discussion

File integrity tools often use cryptographic hashes for verifying that file contents have not been altered. These hashes must be FIPS 140-2 approved.System AdministratorECSC-1

Checks

If using AIDE, verify the configuration contains the sha256 or sha512 options for all monitored files and directories. Here is an example AIDE configuration fragment.

SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule

If either the sha256 or sha512 option is not present, this is a finding.

If using a different file integrity tool, check the configuration per tool documentation.

Fix

If using AIDE, edit the configuration and add the sha256 or sha512 option for all monitored files and directories.

If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.
V-22511 No Change
Findings ID: GEN007020 Rule ID: SV-38960r1_rule Severity: medium CCI: CCI-000382

Discussion

The Stream Control Transmission Protocol (SCTP) is an IETF-standardized transport layer protocol. This protocol is not yet widely used. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.System AdministratorECSC-1

Checks

Check the system to determine if SCTP is installed.

# lslpp -L bos.net.\*

If the bos.net.sctp fileset is not listed, SCTP is not installed, and this is not a finding.

If the bos.net.sctp fileset is installed, ask the SA if SCTP is required for the system. If it is not, this is a finding.

Fix

If SCTP is installed and not required, unload it from the kernel and uninstall it from the system.

# sctpctrl unload

Use SMIT to uninstall the bos.net.sctp fileset.
V-22530 No Change
Findings ID: GEN007480 Rule ID: SV-38913r1_rule Severity: medium CCI: CCI-000382

Discussion

The Reliable Datagram Sockets (RDS) protocol is a relatively new protocol developed by Oracle for communication between the nodes of a cluster. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.System AdministratorECSC-1

Checks

AIX has RDS protocol installed as part of the 'bos.net.tcp.client' fileset. The RDS protocol in primarily used for communication on INFI-Band interfaces. The protocol is manually loaded with the bypassctrl command.

Determine if RDS is currently loaded.
#genkex | grep rds

If the RDS protocol is loaded, ask the SA if RDS is required by application software running on the system. If so, this is not applicable.

If the RDS protocol is loaded and the protocol is not used by application software, this is a finding.

Fix

Configure the system to not automatically load the RDS protocol handler.

Check startup scripts for 'bypassctrl load rds' and comment out the bypassctrl commands.

Unload the driver from the kernel.
# bypassctrl unload rds
V-22541 No Change
Findings ID: GEN007700 Rule ID: SV-38918r1_rule Severity: medium CCI: CCI-001551

Discussion

IPv6 is the next version of the Internet protocol. Binding this protocol to the network stack increases the attack surface of the host.System AdministratorECSC-1

Checks

AIX comes with IPv6 protocol handler installed and active. The only configured IPv6 address is the loopback localhost adapter.

Check if any other interfaces have IPv6 addresses active.

# ifconfig -a

If any IPv6 addresses are configured on any network interfaces other than loopback and IPv6 is not needed, this is a finding.

Fix

Unbind the IPv6 protocol handler from the network stack.

Edit /etc/rc.tcpip and comment out autoconf6 to prevent IPv6 from auto starting.

Unconfigure IPv6 addresses from interfaces not used with smit.

#smit chinet6
V-22542 No Change
Findings ID: GEN007720 Rule ID: SV-38922r1_rule Severity: medium CCI: CCI-001551

Discussion

IPv6 is the next generation of the Internet protocol. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.System AdministratorECSC-1

Checks

Determine if the IPv6 protocol handler is prevented from dynamic loading.

AIX comes with IPv6 protocol handler installed and active.

The only IPv6 address configured by default is the loopback localhost adapter.

#ifconfig -a

If there is any unneeded IPv6 addresses on network interfaces, this is a finding.

Fix

There is not an option to not load IPv6.

Remove unnecessary IPv6 addresses from network interfaces via smit.

#smit chinet6
V-22544 No Change
Findings ID: GEN007760 Rule ID: SV-38925r1_rule Severity: medium CCI: CCI-001551

Discussion

Proxy Neighbor Discovery Protocol (NDP) allows a system to respond to NDP requests on one interface on behalf of hosts connected to another interface. If this function is enabled when not required, addressing information may be leaked between the attached network segments.System AdministratorECSC-1

Checks

If the system does not support proxy NDP, this is not applicable.
Determine if the system has proxy NDP enabled.

If IPv6 is enabled, determine if any non-local published NDP entries exist on the system.
# ndp -a

If any NDP entries contain non-local published entries, this is a finding.

Fix

Remove non-local published NDP entries from the system.

# ndp -d <host>

Check system startup scripts for commands publishing NDP entries (such as "ndp -s <int> <host> <hwaddr> pub") and remove them.
V-22545 No Change
Findings ID: GEN007780 Rule ID: SV-38926r1_rule Severity: medium CCI: CCI-001551

Discussion

6to4 is an IPv6 transition mechanism involving tunneling IPv6 packets encapsulated in IPv4 packets on an ad-hoc basis. This is not a preferred transition strategy and increases the attack surface of the system.System AdministratorECSC-1

Checks

Determine if there are any 6to4 tunnels configured on the system.

#ifconfig -a

If there are any sit or cit adapters in the ifconfig listing, this is a finding.

Fix

Remove the configuration for any 6to4 tunnels on the system.
#ifconfig sit0 detach
#rmdev -dl sit0

#ifconfig cit0 detach
#rmdev -dl cit0

Set the startup script /etc/rc.net to call autoconf6 with the -6 argument to prevent setting up 6 to 4 tunnels.

V-22547 No Change
Findings ID: GEN007820 Rule ID: SV-38929r1_rule Severity: medium CCI: CCI-001551

Discussion

IP tunneling mechanisms can be used to bypass network filtering.System AdministratorECSC-1

Checks

Determine if any IP tunnels are configured on the system.
Check for IP tunnels.
# lstun -a
# ifconfig -a | grep -e gre -e gif -e cti -e sit
If any tunnels are listed, this is a finding.

Fix

Remove the configuration for any IP tunnels from the system.

Remove tunnels listed with the lstun command.
#rmtun -t <Tunnel id> -d

Remove the tunneled IP interfaces.
#ifconfig <if name> detach
#rmdev -Rdl <if name>
V-22548 No Change
Findings ID: GEN007840 Rule ID: SV-38931r1_rule Severity: medium CCI: CCI-000366

Discussion

DHCP allows for the unauthenticated configuration of network parameters on the system by exchanging information with a DHCP server.System AdministratorECSC-1

Checks

If the DHCP client is needed by the system, this is not applicable.

Determine if the DHCP client is disabled.
# ps -ef |grep dhcpcd
If dhcpcd is running, this is a finding.

Fix

Disable the system's DHCP client.

Edit /etc/rc.tcpip, comment out the line starting dhcpcd. Reboot the system to ensure the DHCP client has been disabled fully. Configure a static IP for the system, if network connectivity is required.
V-22549 No Change
Findings ID: GEN007850 Rule ID: SV-38963r1_rule Severity: medium CCI: CCI-000366

Discussion

Dynamic DNS updates transmit unencrypted information about a system including its name and address and should not be used unless needed.System AdministratorECSC-1

Checks

Determine if the system's DHCP client is configured to send dynamic DNS updates.

#grep "^updateDNS" /etc/dhcpc.opt /etc/dhcpcd.ini

If any lines are returned, this is a finding.

Fix

Configure the system's DHCP client to not send dynamic DNS updates.

Remove / comment updateDNS lines from the /etc/dhcpcd.ini and /etc/dhcpc.opt files.
V-22550 No Change
Findings ID: GEN007860 Rule ID: SV-38825r1_rule Severity: medium CCI: CCI-001551

Discussion

ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.System AdministratorECSC-1

Checks

Determine if the system is configured to ignore IPv6 ICMP redirect messages. If it is not, this is a finding.
# /usr/sbin/no -o ipignoreredirects
If the value returned is not 1, this is a finding.

Fix

Configure the system to ignore IPv6 ICMP redirect messages.
# /usr/sbin/no -p -o ipignoreredirects=1
V-22551 No Change
Findings ID: GEN007880 Rule ID: SV-38826r1_rule Severity: medium CCI: CCI-001551

Discussion

ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table that could reveal portions of the network topology.System AdministratorECSC-1

Checks

# /usr/sbin/no -o ipsendredirects
If the value returned is not 0, this is a finding.

Fix

Configure the system to not send IPv6 ICMP redirects.
# /usr/sbin/no -p -o ipsendredirects=0
V-22552 No Change
Findings ID: GEN007900 Rule ID: SV-38964r1_rule Severity: medium CCI: CCI-001551

Discussion

Reverse-path filtering provides protection against spoofed source addresses by causing the system to discard packets that have source addresses for which the system has no route or if the route does not point towards the interface on which the packet arrived. Depending on the role of the system, reverse-path filtering may cause legitimate traffic to be discarded and, therefore, should be used with a more permissive mode or filter, or not at all. Whenever possible, reverse-path filtering should be used.System AdministratorECSC-1

Checks

Determine if the system is configured to use reverse-path filtering.
Examine the IPSec rules on the system.
# lsfilt -a
All systems must block inbound traffic destined to the loopback address from other network interfaces.

Additionally, if the system is multihomed and the attached networks are isolated or perform symmetric routing, traffic with source addresses expected on one interface must be blocked when received on another interface.

If filtering is not configured on the system, this is a finding.

Fix

Configure the system to use reverse-path filtering using IP Sec filters.

Add rules to block traffic with loopback network source addresses from being received on interfaces other than the loopback, such as other ethernet interfaces.

Use smitty or genfilt command to block loopback address from network interfaces.
# smitty ipsec6
# genfilt -v6 -a D -s <source address> -m <source netmask> -d <destination address> -M <Destination mask> -c all -o any -O any -p 0 -P 0 -w I -l y -a en0

If the system is multihomed and the attached networks are isolated or perform symmetric routing, add rules to block traffic with source addresses expected on one interface when received on another interface.

# smitty ipsec6
V-22553 No Change
Findings ID: GEN007920 Rule ID: SV-38827r1_rule Severity: medium CCI: CCI-001551

Discussion

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

Checks

# /usr/sbin/no -o ip6srcrouteforward
If the value returned is not 0, this is a finding.

Fix

Configure the system so it does not forward IPv6 source-routed packets.
# /usr/sbin/no -p -o ip6srcrouteforward=0
V-22554 No Change
Findings ID: GEN007940 Rule ID: SV-38828r1_rule Severity: medium CCI: CCI-001551

Discussion

Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the handling of source-routed traffic destined to the system itself, not to traffic forwarded by the system to another, such as when IPv6 forwarding is enabled and the system is functioning as a router.System AdministratorECSC-1

Checks

# /usr/sbin/no -o ipsrcrouterecv
If the value returned is not 0, this is a finding.

Fix

Configure the system to not accept source-routed IPv6 packets.
# /usr/sbin/no -p -o ipsrcrouterecv=0
V-22556 No Change
Findings ID: GEN008000 Rule ID: SV-38830r1_rule Severity: medium CCI: CCI-000185

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. Communication between an LDAP server and a host using LDAP requires authentication.System AdministratorDCNR-1

Checks

Check if the system is using LDAP authentication.

#grep LDAP /etc/security/user
If no lines are returned, this vulnerability is not applicable.

Check if the useSSL option is enabled.
#grep '^useSSL' /etc/security/ldap/ldap.cfg
If yes is not the returned value, this is a finding.

Verify a certificate is used for client authentication to the server.
#grep -I '^ldapsslkeyf' /etc/security/ldap/ldap.cfg
If no line is found, this is a finding.

List the certificate issuer with IBM GSK.
#gsk7cmd -cert -list CA -db <certificate keyfile.kdb> -pw <Password>

Make note of the client Key Label.
#gsk7cmd -cert -details -showOID -db <certificate key.kdb> -pw <Password> -label <Key Label>

If the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding.

Fix

Create a key database with DoD PKI or DoD-approved certificate.

#gsk7cmd
OR
#ikeyman

Edit /etc/security/ldap/ldap.conf and add or edit the ldapsslkeyf setting to reference a file containing a client certificate issued by DoD PKI or a DoD-approved external PKI.
V-22557 No Change
Findings ID: GEN008020 Rule ID: SV-38966r1_rule Severity: medium CCI: CCI-000185

Discussion

The NSS LDAP service provides user mappings which are a vital component of system security. Communication between an LDAP server and a host using LDAP for NSS require authentication.System AdministratorDCNR-1

Checks

Check if the system is using LDAP authentication.
#grep LDAP /etc/security/user
If no lines are returned, this vulnerability is not applicable.

Verify SSL is enabled.
#grep '^useSSL' /etc/security/ldap/ldap.cfg
If yes is not the returned value, this is a finding.

Verify a server certificate is required and verified by the LDAP configuration.
#grep -I '^ldapsslkeyf' /etc/security/ldap/ldap.cfg
Make note of the key database file location.

#gsk7cmd -cert -list CA -db <certificate keyfile.kdb> -pw <Password>
Make note of the Key Label.
#gsk7cmd -cert -details -showOID -db <certificate key.kdb> -pw <Password> -label <Key Label>

THE IBM GSK Database should only have certificates for the client system and for the LDAP server.
If more certificates are in the key database than the LDAP server and the client, this is a finding.

Fix

Install a certificate signed by a DoD PKI or a DoD-approved external PKI.

#gsk7cmd < or > ikeyman

Remove un-needed CA certificates.
#gsk7cmd < or > ikeyman
V-22559 No Change
Findings ID: GEN008060 Rule ID: SV-38969r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Check the permissions of the /etc/security/ldap/ldap.cfg file.
# ls -lL /etc/security/ldap/ldap.cfg

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

Fix

Change the permissions of the /etc/security/ldap/ldap.cfg file to 0644 or less permissive.

# chmod 0644 /etc/security/ldap/ldap.cfg
V-22560 No Change
Findings ID: GEN008080 Rule ID: SV-38970r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Check the ownership of the /etc/security/ldap/ldap.cfg file.
# ls -lL /etc/security/ldap/ldap.cfg

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

Fix

Change the owner of the /etc/security/ldap/ldap.cfg file.

# chown root /etc/security/ldap/ldap.cfg
V-22561 No Change
Findings ID: GEN008100 Rule ID: SV-38971r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Check the group ownership of the ldap.cfg file.

Procedure:
# ls -lL /etc/security/ldap/ldap.cfg

If the file is not group-owned by bin, security, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/security/ldap/ldap.cfg file to security, bin, sys, or system.

Procedure:
# chgrp security /etc/security/ldap/ldap.cfg
V-22562 No Change
Findings ID: GEN008120 Rule ID: SV-38972r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Check the permissions of the /etc/security/ldap/ldap.cfg file.

Procedure:
# aclget /etc/security/ldap/ldap.cfg
Check to see if extended permissions are enabled.
If extended permissions are enabled, this is a finding.

Fix

Remove the extended ACL from the /etc/security/ldap/ldap.cfg file.

# acledit /etc/security/ldap/ldap.cfg
Disable extended file permissions.
V-22563 No Change
Findings ID: GEN008140 Rule ID: SV-38973r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Determine the SSL Certificate database file and/or directory.

# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg

For each file or directory returned, check the ownership.
# ls -lLd <certpath>

If the owner of any file or directory is not root, this is a finding.

Fix

Change the ownership of the SSL key database file or directory.

# chown root <certpath>
V-22564 No Change
Findings ID: GEN008160 Rule ID: SV-38974r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Check the group ownership of the SSL key database file.

Determine the location of the SSL key database.
# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg

Check the group ownership of the SSL key database file.
# ls -lLa <ldap certificate file(s) or directories>

If a certificate file or directory is not group-owned by root, bin, security, sys, or system, this is a finding.

Fix

Change the group ownership of LDAP client SSL certificate database file to root, security, bin, sys, or system.

Procedure:
# chgrp system < certificate file >
V-22565 No Change
Findings ID: GEN008180 Rule ID: SV-38975r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Determine the SSL certificate key database file and/or directory.

Procedure:
# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg
For each file or directory returned, check the permissions.

Procedure:
# ls -lLd <certpath>

If the mode of the file is more permissive than 0644 (or 0755 for directories), this is a finding.

Fix

Change the mode of the file to 0644 or the directory to 0755 or less permissive.

File Procedure:
# chmod 0644 < SSL key database certpath >

Directory Procedure:
# chmod 0755 < SSL key database certpath >
V-22566 No Change
Findings ID: GEN008200 Rule ID: SV-38976r1_rule Severity: medium CCI: CCI-000225

Discussion

LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.System AdministratorECLP-1

Checks

Determine the SSL certificate key database file and/or directory.

# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg

For each file or directory returned, check the permissions.

# aclget < certpath >
# aclget < certpath >/< certfile >
If extended file permissions are enabled, this is a finding.

Fix

Remove the extended ACL from the SSL certificate key database file.

# acledit < certpath >
# acledit < certpath >/<certfile >
Disable the extended file permissions.
V-22575 No Change
Findings ID: GEN008380 Rule ID: SV-26250r1_rule Severity: medium CCI: CCI-001199

Discussion

Root kits are software packages designed to conceal the compromise of a system from the SA. Root kit checking tools examine a system for evidence that a root kit is installed. Dedicated root kit detection software or root kit detection capabilities included in anti-virus packages may be used to satisfy this requirement.System AdministratorDCSL-1

Checks

Ask the SA if a root kit check tool is run on the system weekly. If this is not performed, this is a finding.

Fix

Create an automated job or establish a site-defined procedure to check the system weekly with a root kit check tool.
V-22576 No Change
Findings ID: GEN008420 Rule ID: SV-38831r1_rule Severity: low CCI: CCI-000366

Discussion

Successful exploitation of buffer overflow vulnerabilities relies in some measure to having a predictable address structure of the executing program. Address randomization techniques reduce the probability of a successful exploit.System AdministratorECSC-1

Checks

Running the sedmgr command without any options will show the settings currently in effect.

#sedmgr

If the value returned for the sedmgr mode is off, this is a finding.

Fix

Configure the system to use any available memory address randomization techniques. Recommended settings are either to enable stack execution disablement for all suid files or select system executables.

Set sedmgr to enforce on selected files and terminate processes violating stack execution boundaries.
# sedmgr -m select -o off

OR

Set sedmgr to enforce on setid files and terminate processes violating stack execution boundaries.
# sedmgr -m setidfiles -o off

After a global system change to the sed, the system should be rebooted.
# shutdown -Fr
V-22577 No Change
Findings ID: GEN008440 Rule ID: SV-38832r1_rule Severity: low CCI: CCI-000366

Discussion

Automated file system mounting tools may provide unprivileged users with the ability to access local media and network shares. If this access is not necessary for the system’s operation, it must be disabled to reduce the risk of unauthorized access to these resources.System AdministratorECSC-1

Checks

Determine if the system uses automated file system mounting tools (such as autofs or automount). AIX can use automount facility.

#ps -ef | grep -v grep | grep automount

If the automount process is running, this is a finding.

Fix

Disable the automated file system mounting tools.
Empty the /etc/auto_master file

kill automount
kill < pid of automount >
V-22578 No Change
Findings ID: GEN008460 Rule ID: SV-38833r1_rule Severity: low CCI: CCI-000366

Discussion

USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.trueSystem AdministratorECSC-1

Checks

AIX has server USB drivers installed, such as keyboard, mount, and mass media drivers.

Determine if the system has USB enabled.
# lsdev -C | grep usb
# lslpp -l | grep usb

If usb filesets are installed on the system, USB is enabled and this is a finding.

Fix

Disable USB devices on the system. Use SMIT to remove the following filesets.

devices.usbif.*

# smitty remove
V-22579 No Change
Findings ID: GEN008480 Rule ID: SV-38834r1_rule Severity: low CCI: CCI-000366

Discussion

USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.trueSystem AdministratorECSC-1

Checks

If the system uses USB mass storage, this is not applicable.
# lslpp -l | grep -e devices.usbif.010100 -e devices.usbif.08025 -e devices.usbif.080400
If these filesets are installed on the system, USB mass storage is enabled and this is a finding.

Fix

Disable USB mass storage on the system by using SMIT to remove the following filesets.
devices.usbif.010100
devices.usbif.08025002
devices.usbif.080400

# smitty remove
V-22582 No Change
Findings ID: GEN008520 Rule ID: SV-38961r1_rule Severity: medium CCI: CCI-001118

Discussion

A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.System AdministratorECSC-1

Checks

Determine if the system is using a local firewall.

# lsfilt
# smitty ipsec4

If local firewall is not configured and running, this is a finding.

Fix

Configure the system to use a local firewall.
Use SMIT to load the IPSEC filesets.
#smit install

Use SMIT to configure filters.
#smit ipsec4
V-22583 No Change
Findings ID: GEN008540 Rule ID: SV-38985r1_rule Severity: medium CCI: CCI-001109

Discussion

A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.System AdministratorECSC-1

Checks

Determine if the system's local firewall implements a deny-all, allow-by-exception policy.

View the firewall (filter rules) with smit or lsfilt commands.

# smitty ipsec4

# lsfilt

If there is not a deny-all, allow-by-exception policy, this is a finding.

Fix

Configure the system's local firewall to implement a deny-all,
allow-by-exception policy.

Firewall rules can be added and activated with SMIT ipsec4 or genfilt command.

#smitty ipsec4

V-22665 No Change
Findings ID: GEN005590 Rule ID: SV-38923r1_rule Severity: medium CCI: CCI-000366

Discussion

Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this software is used when not required, system network information may be unnecessarily transmitted across the network.System AdministratorECSC-1

Checks

Check for any running routing protocol daemons.
# ps -ef | egrep '(ospf|route|bgp|zebra|quagga|gate)'
If any routing protocol daemons are listed, this is a finding.

Fix

Disable any routing protocol daemons.
V-22702 No Change
Findings ID: GEN002690 Rule ID: SV-38902r1_rule Severity: medium CCI: CCI-000162

Discussion

Sensitive system and user information could provide a malicious user with enough information to penetrate further into the system.System AdministratorECLP-1, ECTP-1

Checks

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 group-owned by bin, sys, or system, this is a finding.

Fix

Change the group ownership of the audit log file(s). Procedure:

# chgrp system < audit log file >
V-23732 No Change
Findings ID: GEN000410 Rule ID: SV-38934r1_rule Severity: medium CCI: CCI-000048

Discussion

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

NOTE: SFTP and FTPS are encrypted alternatives to FTP and should be used in place of FTP. SFTP is implemented by the SSH service and uses its banner configuration.System AdministratorECWM-1

Checks

FTP to the system.
# ftp localhost
Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the system does not run the FTP service, this is not applicable.

DoD Login Banners:

"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.

By using this IS (which includes any device attached to this IS), you consent to the following conditions:

-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.

-At any time, the USG may inspect and seize data stored on this IS.

-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.

-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.

-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."

OR

"I've read & consent to terms in IS user agreem't."

Fix

Configure the system to display one of the DoD login banners (based on the character limitations imposed by the system) prior to any FTP login attempt.

Add a banner file to the system with the DoD login banner.

#vi /etc/herald
<Add DoD banner to file>
#chmod 644 /etc/herald
#chown root:system /etc/herald

Add a herald line to the /etc/ftpaccess.ctl file.
#vi /etc/ftpaccess.ctl
<add/update line in /etc/ftpaccess.ctl> herald: /etc/herald
#chown root:system /etc/ftpaccess.ctl
#chmod 640 /etc/ftpaccess.ctl

DoD Login Banners:

"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.

By using this IS (which includes any device attached to this IS), you consent to the following conditions:

-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.

-At any time, the USG may inspect and seize data stored on this IS.

-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.

-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.

-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."

OR

"I've read & consent to terms in IS user agreem't."
V-23736 No Change
Findings ID: GEN003621 Rule ID: SV-38871r1_rule Severity: low CCI: CCI-001208

Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.System AdministratorECSC-1

Checks

Determine if the /var path is a separate file system.
# df -k /var
If /var is not on its own file system, this is a finding.

Fix

Migrate the /var path onto a separate file system.
V-23738 No Change
Findings ID: GEN003623 Rule ID: SV-38872r1_rule Severity: low CCI: CCI-001208

Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.System AdministratorECSC-1

Checks

Determine the location of the audit data path.

#more /etc/security/audit/config
Make note of the binfile and trail location.
(The best practice is to have the audit data and trails sent to /audit.)

# cd < audit path >
#df -k .

If the system audit data path is not on a separate file system, this is a finding.

Fix

Migrate the system audit data path onto a separate file system.

Update the /etc/security/audit/config file as necessary to reflect the location of the audit data.
V-23739 No Change
Findings ID: GEN003624 Rule ID: SV-39505r1_rule Severity: low CCI: CCI-001208

Discussion

The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.System AdministratorECSC-1

Checks

Determine if the /tmp path is a separate file system.

# df -k /tmp

If /tmp is not its own file system, this is a finding.

Fix

Migrate the /tmp path onto a separate file system.
V-23741 No Change
Findings ID: GEN003601 Rule ID: SV-38796r1_rule Severity: medium CCI: CCI-000366

Discussion

To provide some mitigation to TCP DoS attacks, the clear_partial_conns parameter must be enabled.System AdministratorECSC-1

Checks

# /usr/sbin/no -o clean_partial_conns
If the value returned is 0, this is a finding.

Fix


# /usr/sbin/no -po clean_partial_conns=1
V-23952 No Change
Findings ID: GEN004710 Rule ID: SV-38919r1_rule Severity: medium CCI: CCI-001305

Discussion

If unrestricted mail relaying is permitted, unauthorized senders could use this host as a mail relay for the purpose of sending SPAM or other unauthorized activity.System AdministratorECSC-1

Checks

If the system uses Sendmail, locate the sendmail.cf file.
Procedure:
# find / -name sendmail.cf

Determine if Sendmail only binds to loopback addresses by examining the DaemonPortOptions configuration options.
Procedure:
# grep -i "O DaemonPortOptions" /etc/mail/sendmail.cf

If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding.

Otherwise, determine if Sendmail is configured to allow open relay operation.
Procedure:
# find / -name sendmail.mc
# grep -i promiscuous_relay </path/to/sendmail.mc>

If the promiscuous relay feature is enabled, this is a finding.

If the system uses Postfix, locate the main.cf file.
Procedure:
# find / -name main.cf

Determine if Postfix only binds to loopback addresses by examining the inet_interfaces line.
Procedure:
# grep inet_interfaces </path/to/main.cf>

If inet_interfaces is set to loopback-only or contains only loopback addresses such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, and this is not a finding.

Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the smtpd_client_restrictions line.
Procedure:
# grep smtpd_client_restrictions </path/to/main.cf>

If the smtpd_client_restrictions line is missing, or does not contain reject, this is a finding. If the line contains permit before reject, this is a finding.

If the system is using other SMTP software, consult the software's documentation for procedures to verify that mail relaying is restricted.

Fix

If the system uses Sendmail, edit the sendmail.mc file and remove the promiscuous_relay configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1, Port=smtp, Name=MTA") and remove lines containing non-loopback addresses. Restart the service.

If the system uses Postfix, edit the main.cf file and add or edit the smtpd_client_restrictions line to have contents permit mynetworks, reject or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the inet_interfaces line to have contents loopback-only or a set of loopback addresses for the system. Restart the service.

If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.
V-23953 No Change
Findings ID: GEN007960 Rule ID: SV-28909r1_rule Severity: medium CCI: CCI-000305

Discussion

The ldd command provides a list of dependent libraries needed by a given binary, which is useful for troubleshooting software. Instead of parsing the binary file, some ldd implementations invoke the program with a special environment variable set, which causes the system dynamic linker to display the list of libraries. Specially crafted binaries can specify an alternate dynamic linker which may cause a program to be executed instead of examined. If the program is from an untrusted source, such as in a user home directory, or a file suspected of involvement in a system compromise, unauthorized software may be executed with the rights of the user running ldd.

Some ldd implementations include protections preventing the execution of untrusted files. If such protections exist, this requirement is not applicable.

An acceptable method of disabling ldd is changing its mode to 0000. The SA may conduct troubleshooting by temporarily changing the mode to allow execution and running the ldd command as an unprivileged user upon trusted system binaries.System AdministratorECSC-1

Checks

Consult vendor documentation concerning the ldd command. If the command provides protection from the execution of untrusted executables, this is not a finding.

Determine the location of the system's ldd command.
Procedure:
# find / -name ldd
If no file exists, this is not a finding.

Check the permissions of the found ldd file.
# ls -lL <path to ldd>

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

Fix

Disable the ldd command by removing its permissions.

Procedure:
# chmod 0000 <path to ldd>
V-23972 No Change
Findings ID: GEN007950 Rule ID: SV-38829r1_rule Severity: medium CCI: CCI-000366

Discussion

Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.System AdministratorECSC-1

Checks

# /usr/sbin/no -o bcastping
If the value returned is not 0, this is a finding.

Fix

Configure the system to not respond to IPv6 multicast ICMP ECHO_REQUESTs.
# /usr/sbin/no -p -o bcastping=0
V-24331 No Change
Findings ID: GEN000402 Rule ID: SV-38933r1_rule Severity: medium CCI: CCI-000048

Discussion

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

This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices, as well as, to graphical desktop environments provided to remote systems, including thin clients.System AdministratorECWM-1

Checks

Access the graphical desktop environment(s) provided by the system and attempt to logon. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding.

"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.

By using this IS (which includes any device attached to this IS), you consent to the following conditions:

-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.

-At any time, the USG may inspect and seize data stored on this IS.

-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.

-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.

-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. "

OR

"I've read & consent to terms in IS user agreem't."

Fix

Edit the Xresources file to configure the system to display one of the DoD login banners (based on the character limitations imposed by the system) prior to, or as part of, the graphical desktop environment login process.

For Dt login, change the variable Dtlogin*greeting.labelString: in Xresources file.
#cp /usr/dt/config/C/Xresources /etc/dt/config/C/Xresources
#vi /etc/dt/config/C/Xresources

For XDM login, change the variable Xlogin*greeting in the Xresources file.
#vi /usr/lpp/X11/lib/X11/xdm/Xresources.

DoD Login Banners:

"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.

By using this IS (which includes any device attached to this IS), you consent to the following conditions:

-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.

-At any time, the USG may inspect and seize data stored on this IS.

-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.

-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.

-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. "

OR

"I've read & consent to terms in IS user agreem't."
V-24347 No Change
Findings ID: GEN009120 Rule ID: SV-39317r2_rule Severity: medium CCI: CCI-000768

Discussion

In accordance with CTO 07-015, PKI authentication is required. This provides stronger, two-factor authentication than using a username/password.

NOTE: The following are exempt from this; however, they must meet all password requirements and must be documented with the IAO:

- Stand-alone systems.
- Application Accounts.
- Students or unpaid employees (such as interns) who are not eligible to receive or not in receipt of a CAC, PIV, or ALT.
- Warfighters and support personnel located at operational tactical locations conducting wartime operations that are not “collocated” with RAPIDS workstations to issue CAC, are not eligible for CAC, or do not have the capability to use ALT.
- Test systems with an Interim Approval to Test (IATT) and provide protection via separate VPN, firewall, or security measures preventing access to network and system components from outside the protection boundary documented in the IATT.System AdministratorIAIA-1, IAIA-2

Checks

Consult vendor documentation to determine if the system is capable of CAC authentication. If it is not, this is not applicable.

Interview the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.

Fix

Consult IBM documentation to determine the procedures necessary for configuring CAC authentication through PKI. Configure all accounts required by policy to use CAC authentication.
V-24357 No Change
Findings ID: GEN002870 Rule ID: SV-38859r1_rule Severity: low CCI: CCI-000136

Discussion

Audit records contain evidence that can be used in the investigation of compromised systems. To prevent this evidence from compromise, it must be sent to a separate system continuously. Methods for sending audit records include, but are not limited to, system audit tools used to send logs directly to another host or through the system's syslog service to another host.
System AdministratorECTB-1

Checks

Ask the SA to provide information on the remote logging of audit records. Verify the configuration described is functioning. If no method of remote logging of audit records is in place or functioning, this is a finding.

Methods of remote audit record logging will be site-specific and may depend on the use of third-party tools. One possible method with AIX is the use of the audit streams facility such as:

Verify "streammode = on" in /etc/security/audit/config.

Check that /etc/security/audit/streamcmds sends stream logs to the syslog facility with an entry such as:
/usr/sbin/auditstream | auditpr -v | /usr/bin/logger -p local7.info &

Check that the /etc/syslog.conf file is configured to send local7.info to a remote server with an entry such as:
local7.info @logserver

Fix

Configure the system to send audit records to a remote system. The actual method is left to site discretion and may involve the use of third-party products.

One method for performing remote audit logging involves streaming audit records to syslog and using syslog to send the records to another system.

Enable stream mode by editing the /etc/security/audit/config and set streammode = on.

Edit /etc/security/audit/streamcmds to send stream logs to the syslog facility with an entry such as:
/usr/sbin/auditstream | auditpr -v | /usr/bin/logger -p local7.info &

Edit the /etc/syslog.conf file to configure syslog to send local7.info to a remote server with an entry such as:
Local7.info @logserver
V-24384 No Change
Findings ID: GEN008050 Rule ID: SV-38968r1_rule Severity: medium CCI: CCI-000196

Discussion

The authentication of automated LDAP connections between systems must not use passwords since more secure methods are available, such as PKI and Kerberos. Additionally, the storage of unencrypted passwords on the system is not permitted.System AdministratorIAIA-1, IAIA-2

Checks

Examine the LDAP configuration file(s).

#grep bindpwd: /etc/security/ldap/ldap.cfg
If the returned entry has an unencrypted password (not like "bindpwd:{DES}"), this is a finding.
If the LDAP configuration file contains an encrypted password accessible by regular users on the system, this is a finding.
#ls -l /etc/security/ldap/ldap.cfg

Check for unencrypted SSL keyfile password.
#grep '^ldapsslkeypwd' /etc/security/ldap/ldap.cfg
If the returned entry has an unencrypted password (not like "ldapsslkeypwd:{DES}"), this is a finding.

Fix

Remove any passwords from LDAP configuration files.

The bindpw (bind password) can be encrypted with the mksecldap command.
#mksecldap

Stash the SSL key database file with the gsk7cmd or ikeyman commands.
#gsk7cmd < or > ikeyman

Comment out the ldapsslpwd line to use stashed password. The password stash file must reside in the same directory as the SSL key database, and must have the same name as the key database, but with an extension of .sth instead of .kdb.
V-24386 No Change
Findings ID: GEN003850 Rule ID: SV-38953r1_rule Severity: high CCI: CCI-000197

Discussion

The telnet daemon provides a typically unencrypted remote access service which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to log on using this service, the privileged user password could be compromised.GEN003850If an enabled telnet daemon is configured to only allow encrypted sessions, such as with Kerberos or the use of encrypted network tunnels, the risk of exposing sensitive information is mitigated, and this is not a finding.System AdministratorDCPP-1

Checks

Consult vendor documentation to determine the method for determining if the telnet daemon is running. If the system uses inetd, use the following procedure.
# grep -v '^#' /etc/inetd.conf | grep telnet
If an entry is returned, the telnet daemon is running.

If the telnet daemon is running, this is a finding.

Fix

Edit the /etc/inetd.conf file and comment out the telnet line.

Reload the inetd process.
# refresh -s inetd
V-29491 No Change
Findings ID: GEN000000-AIX0085 Rule ID: SV-38695r1_rule Severity: medium CCI: CCI-000225

Discussion

The /etc/netsvc.conf file is used to specify the ordering of name resolution for the sendmail command, alias resolution for the sendmail command, and host name resolution routines. Malicious changes could prevent the system from functioning correctly or compromise system security.System AdministratorECLP-1

Checks

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

Fix

Change the owner of the /etc/netsvc.conf file to root.

# chown root /etc/netsvc.conf
V-29492 No Change
Findings ID: GEN000000-AIX0090 Rule ID: SV-38696r1_rule Severity: medium CCI: CCI-000225

Discussion

The /etc/netsvc.conf file is used to specify the ordering of name resolution for the sendmail command, alias resolution for the sendmail command, and host name resolution routines. Malicious changes could prevent the system from functioning correctly or compromise system security.System AdministratorECLP-1

Checks

Check the group ownership of the /etc/netcsvc.conf file.

Procedure:
# ls -lL /etc/netsvc.conf

If the file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/netsvc.conf file to bin, sys, or system.

Procedure:
# chgrp system /etc/netsvc.conf
V-29493 No Change
Findings ID: GEN000000-AIX0100 Rule ID: SV-38697r1_rule Severity: medium CCI: CCI-000225

Discussion

The /etc/netsvc.conf file is used to specify the ordering of name resolution for the sendmail command, alias resolution for the sendmail command, and host name resolution routines. Malicious changes could prevent the system from functioning correctly or compromise system security.System AdministratorECLP-1

Checks

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

Fix

Change the mode of the /etc/netsvc.conf file to 0644 or less permissive.
# chmod 0644 /etc/netsvc.conf
V-29494 No Change
Findings ID: GEN000000-AIX0110 Rule ID: SV-38698r1_rule Severity: medium CCI: CCI-000225

Discussion

The /etc/netsvc.conf file is used to specify the ordering of name resolution for the sendmail command, alias resolution for the sendmail command, and host name resolution routines. Malicious changes could prevent the system from functioning correctly or compromise system security.System AdministratorECLP-1

Checks

Verify there is no extended ACL on the /etc/netsvc.conf file.
# aclget /etc/netsvc.conf
If extended permissions are enabled, this is a finding.

Fix

Remove the extended ACL from the /etc/nsswitch.conf file and disable extended permissions.

#acledit /etc/netsvc.conf
V-29495 No Change
Findings ID: GEN000000-AIX0200 Rule ID: SV-38699r1_rule Severity: medium CCI: CCI-000032

Discussion

Disabling directed broadcast prevents packets directed to a gateway to be broadcasted on a remote network.System AdministratorECSC-1

Checks

Check the directed_broadcast option.

# /usr/sbin/no -o directed_broadcast

If the value returned is not 0, this is a finding.

Fix

Configure directed_broadcast to 0.

# /usr/sbin/no -p -o directed_broadcast=0
V-29496 No Change
Findings ID: GEN000000-AIX0210 Rule ID: SV-38700r1_rule Severity: medium CCI: CCI-000032

Discussion

The ICMP attacks may be of the form of ICMP source quench attacks and Path MTU Discovery (PMTUD) attacks. If this network option tcp_icmpsecure is turned on, the system does not react to ICMP source quench messages. This will protect against ICMP source quench attacks. The payload of the ICMP message is tested to determine if the sequence number of the TCP header portion of the payload is within the range of acceptable sequence numbers. This will mitigate PMTUD attacks to a large extent.
System AdministratorECSC-1

Checks

Check the value of the tcp_icmpsecure parameter.

# /usr/sbin/no -o tcp_icmpsecure

If the value returned is not 1, this is a finding.

Fix

Set the tcp_icmpsecure parameter to 1.

# /usr/sbin/no -p -o tcp_icmpsecure=1
V-29497 No Change
Findings ID: GEN000000-AIX0220 Rule ID: SV-38701r1_rule Severity: medium CCI: CCI-000032

Discussion

The tcp_tcpsecure parameter provides protection for TCP connections from fake SYN's, fake RST, and data injections on established connections. The first vulnerability involves sending a fake SYN to an established connection to abort the connection. The second vulnerability involves sending a fake RST to an established connection to abort the connection. The third vulnerability involves injecting fake data in an established TCP connection.System AdministratorECSC-1

Checks

Check the value of the tcp_tcpsecure parameter.

# /usr/sbin/no -o tcp_tcpsecure

If the value returned is not 7, this is a finding.

Fix

Set the tcp_tcpsecure parameter to 7.

# /usr/sbin/no -p -o tcp_tcpsecure=7
V-29498 No Change
Findings ID: GEN000000-AIX0230 Rule ID: SV-38702r1_rule Severity: medium CCI: CCI-000032

Discussion

The parameter ip_nfrag provides an additional layer of protection against IP fragmentation attacks. The value the ip_nfrag specifies is the maximum number of fragments of an IP packet that can be kept in the IP reassembly queue at any time. The default value of this network option is 200. This is a reasonable value for most environments and offers protection from IP fragmentation attacks. System AdministratorECSC-1

Checks

Check the value of the ip_nfrag parameter.

# /usr/sbin/no -o ip_nfrag

If the result returned is less than 200, this is a finding.

Fix

Set the ip_nfrag parameter to 200.

# /usr/sbin/no -p -o ip_nfrag=200
V-29499 No Change
Findings ID: GEN000000-AIX0300 Rule ID: SV-38703r1_rule Severity: medium CCI: CCI-000032

Discussion

The bootp service is used for Network Installation Management (NIM) and remote booting of systems. The bootp service should not be active unless it is needed for NIM servers or booting remote systems. Running unnecessary services increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active bootp service.

# grep bootp /etc/inetd.conf |grep -v \#

If the bootp service is not disabled, this is a finding.

Fix

Disable the bootp service from /etc/inetd.conf.

Edit /etc/inetd.conf and comment out bootp service line.

Restart the inetd service.
#refresh -s inetd
V-29500 No Change
Findings ID: GEN009140 Rule ID: SV-38704r1_rule Severity: medium CCI: CCI-001436

Discussion

When contacted, chargen responds with some random characters. When contacted via UDP, it
will respond with a single UDP packet. When contacted via TCP, it will continue spewing characters until the client closes the connection. An easy attack is 'ping-pong' in which an attacker spoofs a packet between two machines running chargen. This will cause them to spew characters at each other, slowing the machines down and saturating the network.
The chargen service is unnecessary and provides an opportunity for Denial of Service attack. System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active TCP and UDP chargen service entries.

# grep chargen /etc/inetd.conf |grep -v \#

If the chargen service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the chargen service line for both udp and tcp protocols.

Restart the inetd service.
#refresh -s inetd
V-29501 No Change
Findings ID: GEN009160 Rule ID: SV-38705r1_rule Severity: medium CCI: CCI-001436

Discussion

The CMSD service for CDE is an unnecessary process that runs a root and increases attack vector of the system. Buffer overflow attacks against the CMSD process can potentially give access to the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active CMSD service.

# grep 'rpc\.cmsd' /etc/inetd.conf |grep -v \#

If the CMSD service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the CMSD service.

Restart the inetd service.
# refresh -s inetd
V-29502 No Change
Findings ID: GEN009180 Rule ID: SV-38706r1_rule Severity: medium CCI: CCI-001436

Discussion

The ttdbserver service for CDE is an unnecessary service that runs as root and might be compromised.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active ttdbserver service.

# grep 'rpc\.ttdbserver' /etc/inetd.conf |grep -v \#

If the ttdbserver service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out ttdbserver service line.

Restart the inetd service.
# refresh -s inetd
V-29503 No Change
Findings ID: GEN009190 Rule ID: SV-38707r1_rule Severity: medium CCI: CCI-001436

Discussion

The comsat daemon notifies users on incoming email. This is an unnecessary service and is vulnerable to a flood attack. Running unnecessary services increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active comsat service.

#grep comsat /etc/inetd.conf | grep -v \#

If the comsat service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out comsat service line. Restart the inetd service.
# refresh -s inetd
V-29504 No Change
Findings ID: GEN009200 Rule ID: SV-38708r1_rule Severity: medium CCI: CCI-001436

Discussion

The daytime service runs as root from the inetd daemon and can provide an opportunity for Denial of Service PING or PING-PONG attacks. The daytime service is unnecessary and it increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for TCP and UDP daytime service.

#grep daytime /etc/inetd.conf | grep -v \#

If the daytime service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out daytime service lines for both TCP and UDP protocols.
Restart the inetd service.
# refresh -s inetd
V-29505 No Change
Findings ID: GEN009210 Rule ID: SV-38709r1_rule Severity: medium CCI: CCI-001436

Discussion

The discard service runs as root from the inetd server and can be used in Denial of Service attacks. The discard service is unnecessary and it increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for TCP and UDP discard service entries.

#grep discard /etc/inetd.conf | grep -v \#

If the discard service is active, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the discard service line for both TCP and UDP protocols.
Restart the inetd service.
#refresh -s inetd
V-29506 No Change
Findings ID: GEN009220 Rule ID: SV-38710r1_rule Severity: medium CCI: CCI-001436

Discussion

This service is started automatically by the inetd daemon with root permission in response to a CDE client requesting a process to be started on the daemon’s host system. Running the dtscp service is unnecessary and it increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf for the dtspc service.

#grep dtspcd /etc/inetd.conf | grep -v \#

If the dtspc service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out dtspc service line.

Restart the inetd service.
# refresh -s inetd
V-29507 No Change
Findings ID: GEN009230 Rule ID: SV-38711r1_rule Severity: medium CCI: CCI-001436

Discussion

The echo service can be used in Denial of Service or SMURF attacks. It can also used at someone else to get through a firewall or start a data storm. The echo service is unnecessary and it increases the attack vector of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf for TCP and UDP echo service entries.

#grep echo /etc/inetd.conf | grep -v \#

If the echo service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the echo service lines for both TCP and UDP.

Restart the inetd service.
# refresh -s inetd
V-29508 No Change
Findings ID: GEN009240 Rule ID: SV-38712r1_rule Severity: medium CCI: CCI-001436

Discussion

The IMAP service should not be running unless the system is acting as a mail server for client connections. Running unnecessary services increases the attack vector on the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active IMAP service.

#grep imapd /etc/inetd.conf | grep -v \#

If the IMAP service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the imap2 service line.

Restart the inetd service.
# refresh -s inetd
V-29509 No Change
Findings ID: GEN009250 Rule ID: SV-38713r1_rule Severity: medium CCI: CCI-001436

Discussion

The POP3 service is only needed if the server is acting as a mail server and clients are using applications that only support POP3. Users' ids and passwords are sent in plain text to the POP3 service. If mail client access is needed, consider using IMAP or SSL enabled POP3.System AdministratorECSC-1

Checks

Check the '/etc/inetd.conf' file for active POP3 service.

#grep pop3 /etc/inetd.conf | grep -v \#

If the POP3 service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out POP3 the service line. Restart the inetd service.
# refresh -s inetd
V-29510 No Change
Findings ID: GEN009260 Rule ID: SV-38714r1_rule Severity: medium CCI: CCI-001436

Discussion

The talk and ntalk commands allow users on the same or different systems on converse. The talk daemons are started from the inetd process and run as root. These unnecessary processes increase the attack vector of the system and may cause Denial of Service by scrambling the users display. System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for talk and ntalk services.

#grep talk /etc/inetd.conf | grep -v \#

If any TCP or UDP talk or ntalk services are enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out TCP and UDP for the talk service.
Edit /etc/inetd.conf and comment out TCP and UDP for the ntalk service.

Restart the inetd service.
# refresh -s inetd
V-29511 No Change
Findings ID: GEN009270 Rule ID: SV-38715r1_rule Severity: medium CCI: CCI-001436

Discussion

The netstat service can potentially give out network information on active connections if it is running. The information given out can aid in an attack and weaken the systems defensive posture.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf for active netstat service.

grep netstat /etc/inetd.conf | grep -v \#

If the netstat service is active, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the netstat service line.

Restart the inetd service.
# refresh -s inetd
V-29512 No Change
Findings ID: GEN009280 Rule ID: SV-38716r1_rule Severity: medium CCI: CCI-001436

Discussion

The PCNFS service predates Microsoft’s SMB specifications. If a similar service is needed to share files from a Windows based OS to a UNIX based OS, consider SAMBA.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active PCNFS service.

#grep pcnfsd /etc/inetd.conf | grep -v \#

If the PCNFS service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out the PCNFS service line. Restart the inetd service.
# refresh -s inetd
V-29513 No Change
Findings ID: GEN009290 Rule ID: SV-38717r1_rule Severity: medium CCI: CCI-001436

Discussion

The systat daemon allows remote users to see the running process and who is running them. This may aid in information collection for an attack and weaken the security posture of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active systat service.

#grep systat /etc/inetd.conf | grep -v \#

If the systat service is enabled, this is a finding.

Fix

Edit /etc/inetd.conf and comment out systat the service line.

Restart the inetd service.

# refresh -s inetd
V-29514 No Change
Findings ID: GEN009300 Rule ID: SV-38718r1_rule Severity: medium CCI: CCI-001436

Discussion

The time service is an internal inetd function is used by the rdate command. This service is sometimes used to synchronize clocks at boot time. The service is outdated. Use the ntpdate command instead.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for TCP and UDP time service.

grep time /etc/inetd.conf | grep -v daytime | grep -v \#

If the time service is enabled, this is a finding.

Fix

Edit the /etc/inetd.conf file and comment out the time service line.

Restart the inetd service.
# refresh -s inetd
V-29515 No Change
Findings ID: GEN009310 Rule ID: SV-38719r1_rule Severity: medium CCI: CCI-001436

Discussion

The rusersd daemon gives out a list of current uses on the system. The rusersd daemon is unnecessary and it increases the attack vector of the system by providing information on the current users of the system.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active rusersd service.

#grep rusersd /etc/inetd.conf | grep -v \#

If the rusersd service is enabled, this is a finding.

Fix

Edit the /etc/inetd.conf file and comment out the rusersd service line.

Restart the inetd service.

# refresh -s inetd
V-29516 No Change
Findings ID: GEN009320 Rule ID: SV-38720r1_rule Severity: medium CCI: CCI-001436

Discussion

The sprayd service is sometimes used for network and nfs troubleshooting. The spray service can be used for both buffer overflow and Denial of Service attacks by saturating the network. The sprayd daemon is an unnecessary service.System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active sprayd service.

# grep sprayd /etc/inetd.conf | grep -v \#

If the sprayd service is enabled, this is a finding.

Fix

Edit the /etc/inetd.conf file and comment out the sprayd service line.

Restart the inetd service.

# refresh -s inetd
V-29517 No Change
Findings ID: GEN009330 Rule ID: SV-38721r1_rule Severity: medium CCI: CCI-001436

Discussion

The rstatd can give out information on the running system, such as the CPU usage, the system uptime, its network usage, and other system information that could potentially aid in an attack. The rstatd service is unnecessary and it weakens the defensive posture of the system. If systems monitoring is needed, use a third party tool or SNMP. System AdministratorECSC-1

Checks

Check the /etc/inetd.conf file for active rstatd service.

#grep rstatd /etc/inetd.conf | grep -v \#

If the rstatd service is enabled, this is a finding.

Fix

Edit the /etc/inetd.conf file and comment out the rstatd service line.

Restart the inetd service.

# refresh -s inetd
V-29518 No Change
Findings ID: GEN009340 Rule ID: SV-38722r1_rule Severity: medium CCI: CCI-001436

Discussion

Running Xservers and X-login managers when not needed for X11 session management increases the attack vector of the system by running unnecessary services.System AdministratorECSC-1

Checks

Check to see if X display login managers are running.

#cat /etc/inittab | grep -e /etc/rc.dt -e xdm

If any X server login managers are running, ask the SA if they are necessary for the operation of the system.

If there is unnecessary X server login managers running, this is a finding.

Fix

Comment out or remove the X login servers from the /etc/inittab file.

#vi /etc/inittab

Refresh the init process.

# init q
V-29519 No Change
Findings ID: GEN000000-AIX0310 Rule ID: SV-38750r1_rule Severity: medium CCI: CCI-000032

Discussion

The ftpaccess.ctl file contains options for the ftp daemon, such as herald, motd, user access, and permissions to files and directories. If the ftpaccess.ctl file does not exist, the ftpd process will not display any warning banners, and permissions will only be enforced using basic UNIX permissions. System AdministratorECSC-1

Checks

Check for the existence of the /etc/ftpaccess.ctl file.

# ls -l /etc/ftpaccess.ctl

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

Fix

Create a /etc/ftpaccess.ctl file.
#touch /etc/ftpaccess.ctl

Add at least the herald: /path to login banner to the /etc/ftpaccess.ctl file.

#vi /etc/ftpaccess.ctl
V-29520 No Change
Findings ID: GEN000000-AIX0320 Rule ID: SV-38751r1_rule Severity: medium CCI: CCI-000225

Discussion

If the ftpaccess.ctl file is not owned by root, an unauthorized user may modify the file to allow unauthorized access to change the file. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized access to system information.

System AdministratorECLP-1

Checks

Check the ownership of the /etc/ftpaccess.ctl file.

# ls -l /etc/ftpaccess.ctl

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

Fix

Change the owner of the ftpaccess.ctl file to root.

# chown root /etc/ftpaccess.ctl
V-29521 No Change
Findings ID: GEN000000-AIX0330 Rule ID: SV-38752r1_rule Severity: medium CCI: CCI-000225

Discussion

If the ftpaccess.ctl file is not group-owned by a system group, an unauthorized user may modify the file to allow unauthorized access to modify the file. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized access to system information.System AdministratorECLP-1

Checks

Check the group ownership of the ftpaccess.ctl file.

# ls -lL /etc/ftpaccess.ctl

If the /etc/ftpaccess.ctl file is not group-owned by bin, sys, or system, this is a finding.

Fix

Change the group owner of the /etc/ftpaccess.ctl file.

# chgrp system /etc/ftpaccess.ctl
V-29522 No Change
Findings ID: GEN000000-AIX0340 Rule ID: SV-38753r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the ftpaccess.ctl file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized access to system information.System AdministratorECLP-1

Checks

Check the permissions of the /etc/ftpaccess.ctl file.

# ls -l /etc/ftpaccess.ctl

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

Fix

Change the mode of the /etc/ftpaccess.ctl file to 0640.

# chmod 0640 /etc/ftpaccess.ctl
V-29523 No Change
Findings ID: GEN000000-AIX0350 Rule ID: SV-38754r1_rule Severity: medium CCI: CCI-000225

Discussion

Excessive permissions on the ftpaccess.ctl file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized access to system information.System AdministratorECLP-1

Checks

Check the permissions of the /etc/ftpaccess.ctl file.

#aclget /etc/ftpaccess.ctl

Check if extended permissions are disabled.

If extended permissions are not disabled, this is a finding.

Fix

Remove the extended ACL from the /etc/ftpaccess.ctl file.

#acledit /etc/ftpaccess.ctl
Disable extended permissions.